/* One shared workspace theme. Public Editorial pages and editor canvas keep their original layout. */
.portal,.portal-editor{--p-accent:var(--site-accent,#f56a6a);--p-tint:color-mix(in srgb,var(--p-accent) 9%,white);--p-ink:#303c43;--p-muted:#69777e;--p-line:#e5e9eb;--p-bg:#f5f7f8;--p-dark:#26373e;--p-radius:14px;--p-link:color-mix(in srgb,var(--p-accent) 65%,#3d1820);font:400 14px/1.65 'Open Sans',sans-serif;color:var(--p-ink);background:var(--p-bg);margin:0}
.portal *{box-sizing:border-box}.portal [hidden]{display:none!important}.portal h1,.portal h2,.portal h3,.portal h4{color:var(--p-ink);letter-spacing:-.035em;line-height:1.3}.portal h1{font-size:32px;margin:0 0 12px}.portal h2{font-size:19px;margin:0 0 18px}.portal h3{font-size:16px;margin:0 0 8px}.portal p{margin:0 0 16px}.portal a{color:var(--p-link);border:0;text-decoration:none}.portal a:hover{text-decoration:none;color:var(--p-ink)}.portal svg{vertical-align:middle}.portal .portal-icon{width:20px;height:20px;flex:none}.portal :is(button,input,select,textarea){font:inherit}.portal button{cursor:pointer}.portal :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--p-link);outline-offset:3px}.portal :is(.app-area,.planning-area,.account-area){max-width:none}
.portal-skip{position:fixed;left:16px;top:-100px;z-index:20000;background:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 20px #0002}.portal-skip:focus{top:16px}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--p-dark);color:#d8e1e5;display:flex;flex-direction:column;z-index:900;box-shadow:5px 0 30px #283c4105}.portal-sidebar-head{padding:28px 23px 20px}.portal-brand{display:flex;align-items:center;gap:11px;line-height:1.35}.portal-brand>span:last-child{min-width:0}.portal-brand strong{display:block;font-size:16px;color:#fff;letter-spacing:-.6px}.portal-brand small{display:block;color:#b1c1c8;font-size:10px;letter-spacing:.025em;margin-top:5px}.portal-brand-mark{position:relative;display:grid;place-items:center;width:35px;height:43px;border-radius:9px 9px 18px 9px;background:var(--p-accent);color:#302a2b;font:700 29px/1 'Roboto Slab',serif;flex:none}.portal-brand-mark>span{font-size:20px;position:absolute;right:2px;bottom:0}.portal-brand img{width:42px;height:42px;object-fit:contain;background:white;border-radius:8px;padding:3px}
.portal-navigation{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:0 15px 20px;scrollbar-width:thin;scrollbar-color:#53676f transparent}.portal-nav-group{margin-top:23px}.portal-nav-group>p{margin:0 13px 9px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#9db1b9;font-weight:600}.portal-nav-group>a{display:flex;align-items:center;gap:12px;min-height:41px;padding:10px 13px;margin:3px 0;border-radius:7px;color:#d9e2e5;font-size:12px;line-height:1.5;position:relative}.portal-nav-group .portal-icon{width:17px;height:17px;color:#a4b8c0}.portal-nav-group>a:hover{background:#ffffff0b;color:white}.portal-nav-group>a[aria-current=page]{background:color-mix(in srgb,var(--p-accent) 13%,var(--p-dark));color:#fff}.portal-nav-group>a[aria-current=page]::before{content:'';position:absolute;left:0;width:3px;height:20px;border-radius:3px;background:var(--p-accent)}.portal-nav-group>a[aria-current=page] .portal-icon{color:var(--p-accent)}.portal-sidebar :focus-visible{outline-color:var(--p-accent)}
.portal-sidebar-foot{padding:12px 20px 20px;border-top:1px solid #ffffff12}.portal-website-link{display:flex;gap:10px;align-items:center;font-size:11px;color:#c9d5db!important;margin:3px 0 19px}.portal-website-link .portal-icon{width:15px}.portal-website-link .portal-icon:last-child{margin-left:auto;width:14px}.portal-profile{display:flex;align-items:center;gap:10px;color:#fff!important}.portal-profile>span:nth-child(2){flex:1;min-width:0}.portal-profile strong{color:#fff;display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile small{display:block;color:#aabdc5;font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-avatar{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;flex:none;background:#fae6e3;color:#664440!important;font-size:12px;font-weight:600;text-decoration:none!important}.portal-profile .portal-icon{width:16px;color:#aabdc5}
.portal-workspace{margin-left:252px;min-height:100dvh;min-width:0}.portal-topbar{height:76px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffed;border-bottom:1px solid var(--p-line);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.portal-breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;min-width:0}.portal-breadcrumb>span{color:var(--p-muted)}.portal-breadcrumb>b{color:#c9d0d4;font-weight:400}.portal-breadcrumb>strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-topbar-actions{display:flex;align-items:center;gap:20px}.portal button.portal-icon-button,.portal a.portal-icon-button{width:38px;height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--p-line);border-radius:9px;background:white;box-shadow:none;color:var(--p-ink)!important;letter-spacing:0;line-height:1}.portal .portal-icon-button:hover{background:var(--p-bg)}.portal button.portal-search-open{display:flex;gap:10px;align-items:center;padding:9px 12px;background:var(--p-bg);box-shadow:none;border:1px solid var(--p-line);border-radius:8px;min-width:210px;height:38px;font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--p-muted)!important}.portal-search-open .portal-icon{width:15px;height:15px}.portal-search-open kbd{font:10px 'Open Sans',sans-serif;margin-left:auto;background:#fff;border:1px solid var(--p-line);padding:0 5px;border-radius:4px}.portal .portal-nav-toggle,.portal .portal-nav-close{display:none!important}
#portal-main{max-width:1540px;margin:auto;padding:32px 38px 0;outline:none}.portal-context{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.portal-eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted)}.portal-date{font-size:11px;color:var(--p-muted);white-space:nowrap}.portal-page>section,.portal-page>.app-area{margin:0;padding:0;border:0}.portal-page .main{margin-bottom:16px}.portal-page>.app-area>nav.app-actions{margin:0;position:absolute;right:38px;top:158px}.portal-page>.app-area>nav.app-actions a{display:none}.portal-page>.app-area>nav.app-actions button{font-size:10px;padding:7px 11px;min-height:32px}.portal-page .app-area>header.main{padding-right:105px}.portal-page .app-area>p[role=status]:empty{display:none}.portal-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--p-line);margin-top:36px;padding:22px 0;color:#78858d;font-size:10px}.portal-footer>span:first-child{font-weight:600}
.portal :is(.app-area,.account-area,.planning-area,.cohort-area,.users-workspace,dialog) :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:7px;background:white;border:1px solid #d5dde0;border-radius:8px;box-shadow:none;font:600 12px/1.4 'Open Sans',sans-serif;color:var(--p-ink)!important;letter-spacing:0;text-transform:none;height:auto;min-height:40px;padding:10px 16px;white-space:normal;max-width:100%;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.portal :is(.app-area,.account-area,.planning-area,.cohort-area,.users-workspace,dialog) :is(button,.button):hover{background:#f8fafb;border-color:#a7b7bf}.portal :is(.app-area,.account-area,.planning-area,.cohort-area,.users-workspace,dialog) :is(button,.button).primary{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-on-accent,#302125)!important}.portal :is(.app-area,.account-area,.planning-area,.cohort-area,.users-workspace,dialog) .primary:hover{background:color-mix(in srgb,var(--p-accent) 86%,white);box-shadow:0 3px 10px #c15b5720}.portal :is(.app-area,.account-area,.planning-area,.cohort-area,.users-workspace,dialog) .button.small{font-size:11px;min-height:34px;padding:8px 12px}.portal button:disabled{opacity:.48;cursor:not-allowed}.portal :is(.app-actions,.planning-actions,.lesson-actions){gap:9px}.portal .app-actions{margin:16px 0}.portal .app-row .app-actions{margin:0;flex:none}
.portal :is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=hidden]),select,textarea){display:block;width:100%;min-width:0;border:1px solid #d9e0e4;border-radius:8px;background:#fcfdfd;color:var(--p-ink);font:400 13px/1.5 'Open Sans',sans-serif;padding:10px 12px;box-shadow:0 1px 2px #18263102;outline-offset:2px;max-width:100%}.portal input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=hidden]),.portal select{height:42px}.portal input[type=file]{height:auto;min-height:44px;white-space:normal}.portal :is(input,select,textarea):focus{border-color:var(--p-accent);box-shadow:0 0 0 3px var(--p-tint)}.portal input::placeholder,.portal textarea::placeholder{color:#8b979e}.portal input[type=checkbox],.portal input[type=radio]{accent-color:var(--p-link)}.portal label{font:600 12px/1.6 'Open Sans',sans-serif;color:#4a5a63;letter-spacing:0;margin:14px 0 6px}.portal label>input,.portal label>select{margin-top:6px}.portal fieldset{border:1px solid var(--p-line);border-radius:9px;padding:18px;margin:18px 0}.portal legend{font-weight:600;padding:0 6px;font-size:12px}.portal .app-fields{gap:16px;margin:18px 0}.portal .app-fields label{margin-top:0}.portal .app-help,.portal .planning-help,.portal .field-help,.portal .field-note{font-size:11px;color:var(--p-muted);line-height:1.7}.portal summary{cursor:pointer}.portal .app-toolbar h2{margin:0}.portal .app-toolbar{gap:14px}
.portal :is(.app-card,.lesson-item,.setup-grid>details,.account-details,.analytics-panel){background:#fff;border:1px solid var(--p-line);border-radius:var(--p-radius);padding:23px;box-shadow:0 3px 8px #27383d02}.portal .app-grid{gap:20px;margin:20px 0}.portal .app-card p{color:var(--p-muted);font-size:12px;margin:8px 0;line-height:1.8}.portal .app-card p.app-error{color:#a82727}.portal .app-empty,.portal .admin-empty,.portal .planning-empty{border:1px dashed #d9e1e5;border-radius:10px;padding:26px;background:#fafcfc;color:var(--p-muted);font-size:12px;text-align:center}.portal .app-empty{margin:0;min-height:110px;display:grid;place-items:center}.portal .app-row{padding:18px 0;border-color:#eef1f3;gap:18px;align-items:center}.portal .app-row h3{font:600 13px/1.6 'Open Sans',sans-serif;letter-spacing:0}.portal .app-row p{font-size:11px;color:var(--p-muted);margin:4px 0}.portal .app-row:last-child{border-bottom:0}.portal :is(.app-tabs,.planning-tabs){padding:5px;gap:5px;border:1px solid var(--p-line);border-radius:10px;background:#eef2f4;margin:24px 0;display:flex;flex-wrap:wrap}.portal :is(.app-tabs,.planning-tabs) button{min-height:37px;padding:9px 17px;background:transparent;border-color:transparent;border-radius:7px;box-shadow:none;font-size:12px}.portal :is(.app-tabs,.planning-tabs) button[aria-selected=true],.portal .app-tabs button[aria-current=page]{background:#fff;color:var(--p-link)!important;border-color:#e3e8eb;box-shadow:0 2px 5px #26373e08}.portal progress{height:6px;accent-color:var(--p-accent);border-radius:10px;overflow:hidden}.portal progress::-webkit-progress-bar{background:#edf1f3;border-radius:10px}.portal progress::-webkit-progress-value{background:var(--p-accent);border-radius:10px}.portal progress::-moz-progress-bar{background:var(--p-accent);border-radius:10px}
.portal :is(.admin-stats,.summary-cards,.analytics-cards){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:24px 0}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric){padding:22px;background:white;border:1px solid var(--p-line);border-radius:12px;min-width:0;position:relative;overflow:hidden}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric)::before{content:'';display:block;width:26px;height:4px;background:var(--p-accent);border-radius:4px;margin-bottom:19px}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric):nth-child(2)::before{background:#7a9a8a}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric):nth-child(3)::before{background:#87a3b8}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric):nth-child(4)::before{background:#b5a1c2}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric) strong{display:block;font:700 32px/1.2 'Roboto Slab',serif;letter-spacing:-1px;color:var(--p-ink);margin-bottom:10px;overflow-wrap:anywhere}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric) :is(span,small){font-size:11px;line-height:1.6;color:var(--p-muted)}
.portal #admin-welcome{color:var(--p-muted);font-size:13px;margin-top:-4px}.portal .admin-overview-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}.portal .admin-overview-grid>section,.portal .admin-directory-panel{padding:24px;background:white;border:1px solid var(--p-line);border-radius:14px;margin:0;min-width:0}.portal .admin-overview-grid .app-fields{grid-template-columns:1fr 1fr;gap:12px}.portal .admin-overview-grid .app-fields>label:last-child{grid-column:1/-1}.portal .admin-agenda-intro{font-size:11px;color:var(--p-muted)}.portal #admin-task-list,.portal #admin-agenda{max-height:520px;overflow-y:auto;padding-right:5px;scrollbar-width:thin}.portal #admin-task-list .app-row{align-items:flex-start}.portal #admin-task-list .app-actions{flex-wrap:wrap;max-width:95px}.portal #admin-agenda .app-row{position:relative;padding-left:17px;flex-wrap:wrap}.portal #admin-agenda .app-row::before{content:'';position:absolute;left:0;top:27px;width:6px;height:6px;background:var(--p-accent);border-radius:50%}.portal #admin-agenda .app-row .button{margin-left:auto;font-size:10px;min-height:30px}.portal .admin-directory-panel{margin:22px 0!important}.portal .admin-modules-section{margin:28px 0!important}.portal #admin-modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal #admin-modules .app-card{padding:18px}.portal #admin-modules h3{font-size:14px}.portal #admin-modules p{min-height:42px;line-height:1.6;font-size:11px}.portal #admin-modules a{font-size:10px;min-height:30px}.portal #admin-backup{display:grid;grid-template-columns:auto 1fr;gap:3px 20px;padding:18px 22px;margin:22px 0;background:#f0f6f3;border-color:#dce9e1}.portal #admin-backup h2{font:600 12px 'Open Sans',sans-serif;margin:0;grid-row:1/3;align-self:center;color:#326d50}.portal #admin-backup p{margin:0;font-size:10px;color:#527561}.portal #admin-backup.admin-task-urgent{background:#fff5ec;border-color:#f0daca}.portal .admin-badge,.portal .lesson-status{background:#eef3f5;border-radius:5px;padding:4px 8px;font-size:10px}
.portal .learning-journey{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;position:relative;isolation:isolate;overflow:hidden;background:var(--p-dark);color:#fff;border-radius:16px;margin:22px 0 26px;padding:28px 30px}.portal .learning-journey::after{content:'';position:absolute;z-index:-1;width:230px;height:230px;border:1px solid #ffffff14;border-radius:50%;right:-50px;top:-105px;box-shadow:0 0 0 32px #ffffff04,0 0 0 64px #ffffff04}.portal .learning-journey h2{color:white;font-size:23px;margin:7px 0 8px}.portal .learning-journey p{color:#c1d1d8;font-size:12px;max-width:570px}.portal .learning-journey .portal-eyebrow{color:#e6b7b3}.portal .journey-metrics{display:flex;gap:30px;align-items:flex-end;grid-column:1/-1;padding-top:18px;border-top:1px solid #ffffff18}.portal .journey-metrics strong{font:700 23px 'Roboto Slab',serif;color:#fff;display:block}.portal .journey-metrics span{font-size:10px;color:#bdcdd4}.portal .journey-action{align-self:center;max-width:220px}.portal .learning-journey .journey-action p{font-size:10px;margin:9px 0 0}.portal .learning-area #learning-welcome{font-size:13px;color:var(--p-muted)}.portal #course-list{align-items:start}.portal .course-card{padding:0;overflow:hidden}.portal .course-heading{padding:23px 24px 20px;background:linear-gradient(115deg,var(--p-tint),#fff 90%);border-bottom:1px solid var(--p-line)}.portal .course-heading .course-category{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--p-link);margin:0 0 10px}.portal .course-heading h3{font-size:21px;margin:0 0 10px}.portal .course-heading p{font-size:12px;line-height:1.8}.portal .course-body{padding:22px 24px}.portal .course-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--p-muted);margin-bottom:8px}.portal .course-progress-label strong{color:var(--p-ink)}.portal .course-body>progress{width:100%;display:block;margin-bottom:18px}.portal .course-resume{width:100%;margin-bottom:16px}.portal .course-outline{border-top:1px solid var(--p-line);padding-top:15px}.portal .course-outline>summary{font-size:12px;font-weight:600;color:var(--p-ink);margin-bottom:8px}.portal .course-lessons{margin:0}.portal .course-lessons li{padding:9px 0;gap:8px;border-color:#edf1f3}.portal .course-lessons button{background:none;border:0;text-align:left;justify-content:flex-start;padding:3px;min-height:35px;font-size:11px;line-height:1.6;font-weight:400}.portal .course-lessons li button:nth-child(2){font-size:10px;color:var(--p-link)!important;flex:none}.portal .course-body>.app-actions{padding-top:10px}.portal .course-body>.app-actions .button{font-size:10px;padding:7px 10px;min-height:32px}.portal .course-body .app-row{align-items:flex-start;flex-wrap:wrap}.portal .course-body .app-row strong{font-size:12px}.portal .course-empty-illustration{display:block;font-size:30px;color:var(--p-accent);margin:0 auto 12px}.portal #lesson-reader{width:min(980px,calc(100vw - 32px));padding:32px}.portal #reader-content{font-size:15px;line-height:1.95;max-width:76ch;margin:0 auto 24px}.portal #reader-content h2{font-size:23px}.portal #reader-media video{display:block;width:100%;max-height:65vh;border-radius:10px;background:#17292f}.portal #attempt-timer{border:1px solid var(--p-line);background:var(--p-tint);padding:7px 12px;border-radius:8px;font-size:13px}.portal .exam-question .app-check{padding:14px;border-radius:9px;border-color:var(--p-line)}.portal .exam-question .app-check:has(input:checked){border-color:var(--p-accent);background:var(--p-tint)}
.portal .planning-top{gap:14px}.portal .planning-top>a{display:none}.portal .planning-form,.portal .setup-grid>details{background:white;border:1px solid var(--p-line);padding:24px;border-radius:12px}.portal .lesson-item{padding:22px;margin:14px 0;border-left:3px solid var(--p-accent)}.portal .lesson-item h3{font-size:16px}.portal .lesson-item p{font-size:12px;color:var(--p-muted)}.portal .lesson-item .lesson-actions{align-self:center}.portal .setup-grid{gap:20px}.portal .progress-row{grid-template-columns:minmax(140px,1fr) 2fr 120px;font-size:12px}.portal .planning-area .summary-card strong{font-size:29px}.portal #planning-status:empty{display:none}.portal .planning-notices{padding:20px;border:1px solid var(--p-line);background:#fff;border-radius:12px}.portal .planning-list-row{font-size:12px;gap:15px}
.portal dialog{border:1px solid var(--p-line);border-radius:16px;padding:28px;color:var(--p-ink);background:#fff;box-shadow:0 25px 100px #182d3940;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto}.portal dialog::backdrop{background:#142c3a80;backdrop-filter:blur(4px)}.portal dialog h2{font-size:23px}.portal dialog .app-dialog-error:empty{display:none}.portal dialog .app-dialog-error:not(:empty){padding:12px;background:#fff0ee;border:1px solid #ecc7c0;border-radius:8px;margin-top:14px;font-size:12px}.portal .app-dialog,.portal .planning-dialog{width:min(710px,calc(100vw - 32px))}.portal .app-wide{width:min(1000px,calc(100vw - 32px))}.portal dialog label{margin-top:15px}.portal dialog .app-fields label{margin-top:0}.portal dialog .app-actions{margin-top:23px}.portal .users-workspace{padding:0;max-width:none;margin:0}.portal .portal-page>.topbar{display:none}.portal .users-title{align-items:center;margin:8px 0 24px}.portal .users-title h1{font-family:'Roboto Slab',serif}.portal .users-title p{font-size:13px;color:var(--p-muted)}.portal .users-filters{padding:20px;background:white;border:1px solid var(--p-line);border-radius:12px;margin:20px 0}.portal .users-table-scroll{border:1px solid var(--p-line);border-radius:12px;background:#fff}.portal table{font-size:12px;margin:0}.portal table th{font:600 10px 'Open Sans',sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#73828b;background:#f9fbfc;padding:16px}.portal table td{padding:16px;border-color:var(--p-line)}.portal table tbody tr{background:white;border-color:var(--p-line)}.portal table tbody tr:hover{background:#fcfdfd}.portal .role-badge{font-size:10px;background:#eef3f5}.portal .audit-panel{border:1px solid var(--p-line);border-radius:12px;padding:22px;background:#fff}.portal #member-dialog{width:min(700px,calc(100vw - 32px))}.portal .portal-secondary-logout{font-size:11px!important}.portal .account-links{gap:10px}.portal .account-details{margin:16px 0}.portal .account-details>summary{margin-bottom:0;font-size:15px}.portal .account-details[open]>summary{margin-bottom:20px}.portal #account-home>h2{margin:24px 0 16px}.portal #admin-links{padding:24px;background:#fff;border:1px solid var(--p-line);border-radius:12px}.portal #account-home{max-width:1000px}.portal .account-area #auth-status:empty{display:none}.portal #my-access{font-size:12px}.portal .account-area #recovery-list{background:#f1f5f6;border-radius:9px}.portal .account-area .auth-form>button{margin:14px 6px 12px 0}
.portal .mailbox-layout{gap:22px}.portal .mailbox-thread{border-radius:10px;border-color:var(--p-line);padding:16px}.portal .mailbox-message{border-radius:10px;border-color:var(--p-line)}.portal .mailbox-message pre{background:#f8fafb;border-radius:8px}.portal .account-notifications{position:fixed;right:24px;bottom:22px;z-index:60;max-width:calc(100vw - 48px);padding:15px 20px;border:1px solid #ead4ce;border-left:4px solid var(--p-accent);border-radius:11px;background:#fff9f6;box-shadow:0 8px 35px #283b4218;font:12px/1.6 'Open Sans',sans-serif;color:var(--p-ink)}.portal .account-notifications a{color:var(--p-link);font-weight:600;margin-left:12px}
.portal #portal-search{width:560px;padding:25px}.portal-search-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.portal #portal-search h2{font-size:19px;margin:0}.portal #portal-search label{margin-top:23px}.portal-search-results{display:grid;gap:4px;margin-top:16px;max-height:55vh;overflow:auto}.portal-search-results>a{display:flex;align-items:center;gap:14px;padding:13px 12px;border-radius:8px;color:var(--p-ink);font-size:13px}.portal-search-results>a:hover{background:var(--p-tint)}.portal-search-results>a .portal-icon:first-child{color:var(--p-muted);width:17px}.portal-search-results>a .portal-icon:last-child{margin-left:auto;width:15px;color:#9ba9b0}.portal #portal-search-empty{padding:20px 0 0;font-size:12px;color:var(--p-muted)}
.portal-auth{background:#fff}.portal-auth-brand{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;border-bottom:1px solid var(--p-line);gap:20px}.portal-auth-brand .portal-brand strong{color:var(--p-ink)}.portal-auth-brand .portal-brand small{color:var(--p-muted)}.portal-auth-brand>a{font-size:11px;color:var(--p-muted)}.portal-auth-brand>a .portal-icon{width:15px;margin-left:7px}.portal-auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100dvh - 100px);max-width:1500px!important;padding:0!important;margin:0 auto!important}.portal-auth-story{padding:70px 5vw;background:#edf2f3;overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:flex-start}.portal-auth-story h1{font-size:clamp(28px,3.1vw,48px);margin:20px 0 22px;letter-spacing:-2px;line-height:1.3}.portal-auth-story>p{font-size:13px;line-height:1.9;max-width:360px;color:#65767f}.portal-auth-note{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:11px;color:#60727b}.portal-auth-note .portal-icon{width:16px}.portal-road{height:230px;position:relative;width:100%;overflow:hidden;margin:35px 0 25px}.portal-road::before{content:'';position:absolute;width:340px;height:230px;border:42px solid #d9e3e6;border-bottom:0;border-radius:240px 240px 0 0;left:30px;top:40px;transform:rotate(-20deg)}.portal-road>span{position:absolute;display:block;width:34px;height:34px;left:65px;top:110px;border-radius:50%;background:var(--p-accent);box-shadow:0 0 0 10px #ffffff80}.portal-road>i{position:absolute;display:block;width:12px;height:12px;background:#7e9b8b;left:265px;top:38px;border-radius:50%}.portal-road>b{position:absolute;display:block;width:48px;height:32px;background:var(--p-dark);border-radius:12px;left:220px;top:70px;transform:rotate(19deg);border:8px solid #304852}.portal-auth-form{padding:50px 5vw!important;align-self:center;min-width:0}.portal-auth-form>.account-area{max-width:450px;margin:auto}.portal-auth-form header.main h1{font-size:25px;letter-spacing:-1px}.portal-auth-form .account-area>p:first-of-type{font-size:12px;color:var(--p-muted);margin-bottom:26px}.portal-auth-form .auth-form h2{font-size:19px;margin:0 0 14px}.portal-auth-form .auth-form p{font-size:12px;color:var(--p-muted)}.portal-auth-form .auth-form>button.primary{width:100%;margin:22px 0 12px}.portal-auth-form .auth-form input{margin-bottom:15px}.portal-auth-form .auth-form label{margin-top:14px}
/* The page builder is a focused editing tool, with the same brand and typography. */
.portal-editor .portal-editor-back{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#edf2f3;border-radius:8px;color:var(--p-ink)}.portal-editor .portal-icon{width:18px;height:18px}.portal-editor .brand-mark{background:var(--p-accent);color:var(--p-on-accent,#302125);border-radius:8px}.portal-editor .primary,.portal-editor .add-full{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-on-accent,#302125)}.portal-editor .primary:hover{background:color-mix(in srgb,var(--p-accent) 85%,white)}.portal-editor button{border-radius:7px}.portal-editor .topbar{border-bottom-color:var(--p-line)}.portal-editor .canvas-toolbar,.portal-editor .canvas-footer{background:#f4f7f8}.portal-editor :is(button,a,input,select,textarea):focus-visible{outline-color:var(--p-link)}
@media(min-width:1650px){.portal-topbar{padding-left:max(38px,calc((100vw - 252px - 1464px)/2));padding-right:max(38px,calc((100vw - 252px - 1464px)/2))}}
@media(max-width:1250px){.portal-topbar{padding:0 26px}.portal #portal-main{padding:26px 26px 0}.portal-page>.app-area>nav.app-actions{right:26px;top:150px}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric){padding:17px}.portal #admin-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.portal .admin-overview-grid{grid-template-columns:1fr}.portal .admin-overview-grid>section:last-child #admin-agenda{max-height:350px}}
@media(max-width:1100px){.portal-sidebar{transform:translateX(-100%);visibility:hidden;transition:transform .2s;width:274px}.portal-menu-open .portal-sidebar{transform:translateX(0);visibility:visible}.portal-workspace{margin-left:0}.portal .portal-nav-toggle,.portal .portal-nav-close{display:inline-flex!important}.portal .portal-nav-close{position:absolute;right:12px;top:13px;width:25px;min-height:25px;height:25px;background:transparent;color:#c2d1d7!important;border-color:#ffffff30}.portal .portal-nav-close .portal-icon{width:14px;height:14px}.portal-sidebar-head{padding-right:30px}.portal-topbar{gap:14px}.portal-breadcrumb{margin-right:auto}.portal-menu-open{overflow:hidden}.portal .portal-scrim{position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#142c3a80;backdrop-filter:blur(3px);z-index:899}.portal .admin-overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.portal .admin-overview-grid>section:last-child #admin-agenda{max-height:520px}}
@media(max-width:800px){.portal .admin-overview-grid{grid-template-columns:1fr}.portal .portal-topbar-actions{gap:10px}.portal button.portal-search-open{min-width:38px;width:38px;padding:10px}.portal-search-open>span,.portal-search-open>kbd{display:none}.portal :is(.admin-stats,.summary-cards,.analytics-cards){grid-template-columns:repeat(2,minmax(0,1fr))}.portal .app-grid{grid-template-columns:1fr}.portal .learning-journey{grid-template-columns:1fr;padding:25px}.portal .journey-action{max-width:none}.portal .journey-action button{width:100%}.portal .journey-action p{margin-top:8px}.portal-auth-layout{grid-template-columns:1fr}.portal-auth-story{display:none}.portal-auth-form{padding:40px 7vw!important;align-self:start}.portal-auth-form>.account-area{max-width:520px}.portal .progress-row{grid-template-columns:1fr}.portal .portal-date{display:none}.portal .portal-context{margin-bottom:12px}.portal .app-fields,.portal .planning-two{grid-template-columns:1fr}.portal .app-row{align-items:flex-start}.portal .app-row .app-actions{flex-wrap:wrap}.portal .admin-overview-grid .app-fields{grid-template-columns:1fr 1fr}.portal #admin-backup{grid-template-columns:1fr;gap:7px}.portal #admin-backup h2{grid-row:auto}}
@media(max-width:520px){.portal{font-size:13px}.portal .portal-topbar{height:64px;padding:0 17px;gap:10px}.portal .portal-breadcrumb{font-size:11px;gap:7px}.portal-breadcrumb>span,.portal-breadcrumb>b{display:none}.portal .portal-topbar-actions{gap:8px}.portal .portal-topbar-actions>.portal-avatar{display:none}.portal #portal-main{padding:23px 18px 0}.portal .portal-eyebrow{font-size:8px;letter-spacing:.1em}.portal h1{font-size:26px}.portal h2{font-size:18px}.portal-page>.app-area>nav.app-actions{top:122px;right:18px}.portal .app-area>header.main{padding-right:85px}.portal .portal-page>.app-area>nav.app-actions button{font-size:9px;padding:6px 8px;min-height:29px}.portal .admin-stats,.portal .summary-cards,.portal .analytics-cards{gap:10px;margin:20px 0}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric){padding:17px 15px}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric) strong{font-size:28px}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric)::before{margin-bottom:15px;width:22px}.portal :is(.admin-stat,.summary-card,.analytics-stat,.analytics-metric) :is(span,small){font-size:10px}.portal .admin-overview-grid>section,.portal .admin-directory-panel{padding:19px}.portal .admin-overview-grid .app-fields{grid-template-columns:1fr}.portal .admin-overview-grid .app-fields>label:last-child{grid-column:auto}.portal #admin-modules{grid-template-columns:1fr}.portal #admin-modules .app-card p{min-height:0}.portal #admin-task-list .app-row{flex-direction:column;gap:9px}.portal #admin-task-list .app-actions{max-width:none}.portal .app-toolbar{align-items:flex-start}.portal :is(.app-tabs,.planning-tabs){gap:4px}.portal :is(.app-tabs,.planning-tabs) button{font-size:11px;padding:8px 11px;min-height:36px}.portal .learning-journey{padding:23px 21px}.portal .learning-journey h2{font-size:22px}.portal .journey-metrics{gap:22px}.portal .journey-metrics strong{font-size:23px}.portal .journey-metrics span{font-size:9px}.portal .course-heading,.portal .course-body{padding:21px}.portal .course-heading h3{font-size:20px}.portal .app-dialog,.portal .planning-dialog,.portal dialog,.portal #lesson-reader{padding:22px 18px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.portal dialog h2{font-size:21px}.portal .users-title{flex-wrap:wrap;gap:12px}.portal .users-filters{padding:17px}.portal .users-filters{grid-template-columns:1fr}.portal .lesson-item{padding:18px}.portal .lesson-actions{width:100%}.portal .lesson-actions>.button{flex:1}.portal .portal-footer{font-size:9px;margin-top:28px}.portal .account-notifications{right:12px;bottom:12px;max-width:calc(100vw - 24px);font-size:11px;padding:12px}.portal .account-details{padding:20px}.portal-auth-brand{padding:20px 23px}.portal-auth-brand .portal-brand strong{font-size:14px}.portal-auth-brand>a{font-size:0}.portal-auth-brand>a .portal-icon{font-size:initial;width:18px}.portal-auth-form{padding:32px 23px!important}.portal-auth-form .account-area>p:first-of-type{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.portal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.portal .portal-page>.app-area>nav.app-actions:has(button~button){position:static;justify-content:flex-end;margin:0 0 16px}.portal .cohort-card{padding:24px;background:#fff;border:1px solid var(--p-line);border-radius:var(--p-radius)}.portal .cohort-card p{font-size:12px;color:var(--p-muted)}.portal .cohort-badge{font-size:10px;padding:5px 10px}.portal .cohort-toolbar{padding:20px;background:#fff;border:1px solid var(--p-line);border-radius:12px;margin:20px 0}.portal .cohort-area>.cohort-actions{gap:9px}.portal .cohort-area>.cohort-actions>a:not([href="/opleiding/startgroepen"]){display:none}.portal .analytics-line{stroke:var(--p-accent)}.portal .analytics-point,.portal .analytics-area-fill{fill:var(--p-accent)}.portal .analytics-area-fill{fill-opacity:.09}.portal .analytics-bar span{background:var(--p-accent)}.portal .analytics-metric p{font-size:11px;line-height:1.6;color:var(--p-muted)}.portal .analytics-page-link{border:0!important;justify-content:flex-start!important}.portal .analytics-scroll{background:white;border:1px solid var(--p-line);border-radius:10px}

.portal #site-form>section,.portal #registration-settings-form{background:white;border:1px solid var(--p-line);border-radius:14px;padding:25px;max-width:1000px}.portal .site-settings>form>button[type=submit]{margin-top:20px}.portal .cohort-dialog{width:min(710px,calc(100vw - 32px))}@media(max-width:520px){.portal #site-form>section,.portal #registration-settings-form{padding:19px}}

.portal .app-card.course-card{padding:0}.portal .app-area .app-tabs button.primary{background:transparent;border-color:transparent;color:var(--p-ink)!important}.portal .app-area .app-tabs button[aria-selected=true]{background:white;border-color:#e3e8eb;color:var(--p-link)!important;box-shadow:0 2px 5px #26373e08}

.portal .account-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.portal .account-shortcuts>p{margin:0;display:flex;gap:10px;flex-wrap:wrap}.portal .account-area .account-shortcuts a.button{flex:1;justify-content:flex-start;background:white;border:1px solid var(--p-line);border-left:3px solid var(--p-accent);padding:18px 20px;color:var(--p-ink)!important;font-size:12px;border-radius:10px}.portal #account-roles{font-size:11px;color:var(--p-muted)}@media(max-width:520px){.portal .account-shortcuts{grid-template-columns:1fr}}

.portal input[type=checkbox],.portal input[type=radio]{appearance:auto;position:relative;z-index:0;left:auto;float:none;opacity:1;display:inline-block;margin:0 .45em 0 0;width:18px;height:18px;flex:none;accent-color:var(--p-link)}

.portal .admin-task-filters{margin:18px 0 6px;border-bottom:1px solid var(--p-line);padding-bottom:14px}.portal .admin-task-filters>summary{font-size:11px;font-weight:600;color:var(--p-muted)}.portal .admin-task-filters[open]>summary{color:var(--p-link)}
