:root{
  --navy:#12335c;
  --navy-2:#0d2749;
  --blue:#2767c8;
  --red:#c62828;
  --green:#198754;
  --orange:#f59e0b;
  --grey-900:#1f2937;
  --grey-700:#4b5563;
  --grey-500:#6b7280;
  --grey-300:#d1d5db;
  --grey-200:#e5e7eb;
  --grey-100:#f3f4f6;
  --surface:#ffffff;
  --bg:#f5f7fb;
  --shadow:0 8px 24px rgba(15,23,42,.08);
  --radius:16px;
  --sidebar:280px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--grey-900);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
.mobile-menu-toggle{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid var(--grey-200);border-radius:11px;background:white;color:var(--navy);cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.05);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}
.mobile-menu-toggle:hover{border-color:#9db7df;background:#f7faff;box-shadow:0 5px 14px rgba(15,23,42,.09)}
.mobile-menu-toggle:active{transform:scale(.96)}
.sidebar-toggle-icon{width:21px;height:21px;transition:transform .24s ease}
.app{min-height:100vh;display:flex}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy-2),var(--navy));color:white;padding:18px 14px;overflow-y:auto;z-index:20;transition:transform .24s cubic-bezier(.4,0,.2,1),box-shadow .24s ease}
.brand{display:flex;gap:12px;align-items:center;padding:8px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-logo{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--navy);font-weight:800;font-size:12px;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.brand-title{font-weight:800;font-size:15px;line-height:1.2}.brand-sub{font-size:11px;opacity:.72;margin-top:4px}
.nav-section{margin-top:18px}.nav-label{padding:0 10px 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.56}
.nav-item,.nav-toggle{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;margin:3px 0;color:rgba(255,255,255,.86);cursor:pointer}
.nav-item:hover,.nav-toggle:hover{background:rgba(255,255,255,.08)}
.nav-item.active{background:white;color:var(--navy);font-weight:700}
.nav-icon{width:20px;text-align:center}
.submenu{padding-left:26px}.submenu .nav-item{font-size:13px;padding:9px 10px}
.sidebar-footer{margin-top:26px;padding:12px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;opacity:.68}
.main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh;transition:margin-left .24s cubic-bezier(.4,0,.2,1),width .24s cubic-bezier(.4,0,.2,1)}
.topbar{height:72px;background:white;border-bottom:1px solid var(--grey-200);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}
.breadcrumb{font-size:12px;color:var(--grey-500)}.page-title{font-size:20px;font-weight:800;margin-top:3px}
.userbox{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--navy);color:white;font-weight:700;cursor:pointer;box-shadow:0 0 0 3px white,0 0 0 4px var(--grey-200);transition:box-shadow .2s ease,transform .2s ease}.avatar:hover{box-shadow:0 0 0 3px white,0 0 0 5px #9db7df;transform:translateY(-1px)}.avatar img{width:100%;height:100%;object-fit:cover}.header-date{display:flex;flex-direction:column;font-size:11px}.header-date span{color:var(--grey-500);margin-top:2px}.launcher-link{font-size:12px;font-weight:800;color:var(--navy)}
.content{padding:24px}
.grid{display:grid;gap:18px}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--grey-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.kpi{position:relative;overflow:hidden}.kpi-label{font-size:12px;color:var(--grey-500)}.kpi-value{font-size:30px;font-weight:800;margin-top:8px}.kpi-note{font-size:11px;color:var(--grey-500);margin-top:6px}
.section-title{font-size:15px;font-weight:800;margin-bottom:14px}.muted{color:var(--grey-500)}
.split-70{display:grid;grid-template-columns:2.15fr 1fr;gap:18px;margin-top:18px}.split-60{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:18px}
.map{height:430px;border-radius:12px;overflow:hidden}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--grey-200);text-align:left;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-500)}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.badge.green{background:#e8f5ee;color:#14783d}.badge.orange{background:#fff4dd;color:#9a6400}.badge.red{background:#fdeaea;color:#b42318}.badge.blue{background:#eaf2ff;color:#235bb2}
.progress{height:8px;background:var(--grey-200);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--blue);border-radius:99px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn-primary{background:var(--navy);color:white}.btn-light{background:var(--grey-100);color:var(--navy)}.btn-red{background:var(--red);color:white}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.control{background:white;border:1px solid var(--grey-300);border-radius:10px;padding:9px 11px;min-width:150px}
.course-card h3{margin:0 0 8px;font-size:16px}.course-card .meta{font-size:12px;color:var(--grey-500);margin-bottom:12px}
.list{display:flex;flex-direction:column;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--grey-200);padding:10px 0}.list-item:last-child{border-bottom:none}
.tabs{display:flex;gap:8px;border-bottom:1px solid var(--grey-200);margin-bottom:16px}.tab{padding:11px 13px;font-size:13px;color:var(--grey-500);cursor:pointer}.tab.active{color:var(--navy);font-weight:800;border-bottom:3px solid var(--navy)}
.hero{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:white;border-radius:20px;padding:24px;margin-bottom:18px}.hero h1{margin:0 0 8px;font-size:28px}.hero p{margin:0;opacity:.8}
.alert{padding:12px 14px;border-radius:12px;background:#fff8e7;border:1px solid #f5d893;font-size:13px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.login-visual{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:white;padding:64px;display:flex;flex-direction:column;justify-content:center}.login-visual h1{font-size:46px;max-width:700px;margin:0 0 16px}.login-visual p{font-size:18px;opacity:.82;max-width:680px;line-height:1.55}
.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(440px,100%);background:white;border:1px solid var(--grey-200);box-shadow:var(--shadow);border-radius:22px;padding:28px}.form-row{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.form-row label{font-size:12px;font-weight:700}.form-row input,.form-row select{border:1px solid var(--grey-300);border-radius:10px;padding:11px 12px}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;opacity:.72}.eyebrow.dark{color:var(--blue);opacity:1}.login-mark{width:132px;height:154px;margin:24px 0 18px;display:grid;place-items:center}.login-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}.login-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.login-pill-row span{border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:8px 12px;font-size:12px}.login-card h2{font-size:28px;margin:0 0 6px}.login-brand-mobile{display:none;align-items:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--navy);margin-bottom:20px}.login-brand-mobile img{width:42px;height:50px;object-fit:contain}.input-action{display:flex;border:1px solid var(--grey-300);border-radius:10px;overflow:hidden;background:white}.input-action input{border:0!important;outline:0;flex:1;min-width:0}.input-action button{border:0;background:white;padding:0 12px;color:var(--blue);font-size:12px;font-weight:800;cursor:pointer}.field-error{min-height:14px;color:var(--red)}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;margin:2px 0 16px}.form-alert{padding:10px 12px;margin-bottom:12px;border-radius:9px;background:#fdeaea;color:#9f1d1d;font-size:12px}.login-submit{width:100%;min-height:46px}.prototype-note{display:flex;flex-direction:column;gap:3px;margin-top:18px;padding:12px;background:var(--grey-100);border-radius:10px;font-size:11px;color:var(--grey-500)}
.workspace-chip{display:flex;align-items:center;gap:9px;margin:14px 4px 0;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06)}.workspace-code{min-width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:10px;font-weight:900}.workspace-chip b{display:block;font-size:11px;line-height:1.25;max-width:160px}.workspace-chip small{display:block;margin-top:3px;font-size:9px;opacity:.6}
.launcher-body{background:#eef2f7;min-height:100vh}.launcher-header{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--grey-200)}.launcher-brand{display:flex;align-items:center;gap:11px}.launcher-brand>span:last-child{display:flex;flex-direction:column}.launcher-brand small{font-size:9px;letter-spacing:.13em;color:var(--grey-500);margin-top:2px}.launcher-logo,.workspace-monogram{display:grid;place-items:center;background:var(--navy);color:white;font-weight:900}.launcher-logo{width:42px;height:42px;border-radius:13px}.launcher-user{display:flex;align-items:center;gap:18px;font-size:12px}.launcher-user span{font-weight:800}.launcher-user a{color:var(--red);font-weight:800}.launcher-main{max-width:1240px;margin:auto;padding:44px 24px}.launcher-intro{display:flex;justify-content:space-between;gap:24px;align-items:end}.launcher-intro h1{font-size:38px;margin:8px 0}.launcher-intro p{margin:0;color:var(--grey-500)}.access-summary{display:flex;align-items:baseline;gap:8px;padding:15px 18px;border-radius:14px;background:white;border:1px solid var(--grey-200)}.access-summary b{font-size:28px;color:var(--navy)}.access-summary span{font-size:12px;color:var(--grey-500)}.launcher-toolbar{margin:30px 0 18px}.launcher-toolbar input{min-width:300px}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.workspace-card{display:flex;flex-direction:column;justify-content:space-between;min-height:245px;background:white;border:1px solid var(--grey-200);border-radius:18px;padding:20px;box-shadow:0 6px 20px rgba(15,23,42,.05)}.workspace-card:hover{border-color:#9db7df;transform:translateY(-2px)}.workspace-card-top{display:flex;justify-content:space-between;align-items:center}.workspace-monogram{width:44px;height:44px;border-radius:12px}.workspace-type{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800;margin-top:20px}.workspace-card h2{font-size:18px;margin:6px 0}.workspace-card p{font-size:12px;color:var(--grey-500)}.workspace-card .btn{align-self:flex-start}.shared-services{margin-top:38px}.service-card{display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid var(--grey-200);background:white;border-radius:14px;padding:16px;cursor:pointer}.service-card>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:900}.service-card small{color:var(--grey-500)}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px;background:white;border:1px dashed var(--grey-300);border-radius:16px;color:var(--grey-500)}
.page-actions{display:flex;gap:10px;align-items:center}.stat-note{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--grey-500);margin-top:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.wizard-shell{display:grid;grid-template-columns:240px 1fr;gap:20px}.wizard-steps{padding:8px}.wizard-step{display:flex;gap:10px;padding:13px;border-radius:10px;color:var(--grey-500);font-size:12px}.wizard-step span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--grey-100);font-weight:800}.wizard-step.active{background:#eaf2ff;color:var(--navy);font-weight:800}.wizard-step.active span,.wizard-step.done span{background:var(--navy);color:white}.wizard-panel h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.module-option{display:flex;gap:9px;align-items:flex-start;padding:13px;border:1px solid var(--grey-200);border-radius:11px;font-size:12px}.module-option b{display:block;margin-bottom:3px}.module-option small{color:var(--grey-500)}.wizard-footer{display:flex;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid var(--grey-200)}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-item{padding:12px;background:var(--grey-100);border-radius:10px}.review-item small{display:block;color:var(--grey-500);margin-bottom:4px}.success-panel{text-align:center;padding:40px}.success-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#e8f5ee;color:var(--green);font-size:28px;font-weight:900}
.form-row textarea{resize:vertical;border:1px solid var(--grey-300);border-radius:10px;padding:11px 12px}.org-preview{border:1px solid var(--grey-200);border-radius:14px;padding:18px;margin-bottom:14px}.org-root{display:flex;flex-direction:column;width:max-content;min-width:180px;padding:12px 15px;border-radius:10px;background:var(--navy);color:white}.org-root small{margin-top:3px;opacity:.7}.org-line{width:2px;height:20px;background:var(--grey-300);margin-left:28px}.permission-summary,.onboarding-preview{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:11px;background:#eaf2ff;color:var(--navy);font-size:12px}.mapping-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.mapping-row{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:9px;margin-bottom:9px}.data-quality{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.data-quality span{padding:10px 12px;border-radius:10px;background:#e8f5ee;color:#14783d;font-size:11px}.brand-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px}.registry-summary{display:flex;gap:10px;flex-wrap:wrap;margin:-4px 0 16px}.registry-summary span{background:white;border:1px solid var(--grey-200);border-radius:10px;padding:9px 12px;font-size:11px;color:var(--grey-500)}.registry-summary b{color:var(--navy);font-size:15px;margin-right:4px}.registry-card{min-height:270px}.institution-hero{display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,var(--brand),var(--navy-2))}.institution-hero .badge{background:white;color:var(--navy)}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.chip-list span{padding:7px 10px;border-radius:99px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:700}.checklist{display:flex;flex-direction:column;gap:12px;margin-top:16px}.checklist label{display:flex;gap:9px;align-items:flex-start;font-size:12px}.danger-zone{margin-top:18px;border-color:#f4c7c7}.btn:disabled{opacity:.45;cursor:not-allowed}
.row-actions{display:flex;align-items:center;gap:10px}.row-actions a,.row-actions button,.curriculum-meta button{border:0;background:none;color:var(--blue);font-size:11px;font-weight:800;cursor:pointer}.curriculum-list{display:flex;flex-direction:column}.curriculum-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--grey-200)}.curriculum-item:last-child{border-bottom:0}.curriculum-item p{font-size:12px;color:var(--grey-500);margin:5px 0 0}.curriculum-order{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-weight:900}.curriculum-meta{display:flex;align-items:center;gap:10px}.class-card{display:flex;flex-direction:column;gap:12px;min-height:250px}.class-card h2{margin:4px 0 -8px}.class-stats,.person-metrics{display:flex;gap:18px;font-size:11px;color:var(--grey-500)}.class-stats b,.person-metrics b{display:block;color:var(--navy);font-size:15px}.schedule-list{display:flex;flex-direction:column;gap:12px}.schedule-item{display:grid;grid-template-columns:auto 1.3fr 1fr auto;gap:18px;align-items:center}.schedule-item p{font-size:12px;color:var(--grey-500);margin:5px 0 0}.schedule-date{width:58px;height:58px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy);color:white}.schedule-date b{font-size:20px}.schedule-date span{font-size:10px;text-transform:uppercase}.person-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.person-card .avatar.large{width:54px;height:54px}.person-card h3{margin:0 0 4px;font-size:15px}.person-card p{margin:0 0 4px;color:var(--grey-500);font-size:12px}.person-card .person-metrics,.person-card .btn{grid-column:1/-1}.control.compact{min-width:150px;padding:7px 9px}.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(13,39,73,.62)}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:white;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:0;font-size:20px}.modal-close{width:36px;height:36px;border:0;border-radius:10px;background:var(--grey-100);cursor:pointer;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--grey-200)}.toast{position:fixed;right:24px;bottom:24px;z-index:120;padding:13px 16px;border-radius:11px;background:var(--grey-900);color:white;box-shadow:var(--shadow);font-size:12px;opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}
.profile-settings-card{width:min(820px,100%)}.profile-settings-card .modal-head p{margin:5px 0 0;color:var(--grey-500);font-size:11px}.profile-settings-layout{display:grid;grid-template-columns:190px 1fr;gap:24px}.profile-photo-panel{display:flex;align-items:center;flex-direction:column;text-align:center;padding:20px 14px;border:1px solid var(--grey-200);border-radius:15px;background:var(--grey-100)}.profile-photo-preview{width:112px;height:112px;display:grid;place-items:center;overflow:hidden;margin-bottom:14px;border:4px solid white;border-radius:50%;background:var(--navy);color:white;box-shadow:0 8px 24px rgba(15,23,42,.16);font-size:28px;font-weight:800}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-panel small{max-width:150px;margin:5px 0 14px;color:var(--grey-500);font-size:10px;line-height:1.45}.profile-upload-button{width:100%}.profile-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.profile-remove-photo{margin-top:11px}.profile-photo-panel .field-error{margin-top:8px;font-size:10px}.profile-fields .form-row{margin-bottom:2px}.profile-scope-note{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:12px 14px;border-radius:11px;background:#eaf2ff;color:var(--navy);font-size:11px}.profile-scope-note span{color:var(--grey-500)}.profile-settings-actions{align-items:center;justify-content:space-between}.profile-settings-actions>span{display:flex;gap:10px}.profile-logout-button{border:1px solid #f3c5c5;background:#fff5f5;color:var(--red)}
.learning-course{display:flex;flex-direction:column;gap:12px;min-height:230px}.learning-course h3{margin-top:4px}.course-outline{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}.course-outline>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--grey-200);border-radius:10px}.course-outline>div>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-weight:900}.course-outline small,.material-row small{color:var(--grey-500)}.course-sections{display:flex;flex-direction:column;gap:14px}.material-row>span{display:flex;flex-direction:column;gap:4px}.quiz-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.quiz-card .btn,.quiz-card>span:last-child{grid-column:1/-1}.quiz-card h2{font-size:18px}.quiz-score{width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eaf2ff;color:var(--navy)}.quiz-score b{font-size:28px}.quiz-score span{font-size:10px}.discussion-layout{display:grid;grid-template-columns:minmax(260px,.75fr) 1.5fr;gap:18px}.thread-link{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:10px;margin-bottom:7px}.thread-link small{color:var(--grey-500)}.thread-link.active{background:#eaf2ff;color:var(--navy)}.reply-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.reply-list>div{padding:12px;border-left:3px solid var(--blue);background:var(--grey-100)}.reply-list p{margin:5px 0}.meeting-card{position:relative}.meeting-provider{position:absolute;right:16px;top:16px;padding:6px 9px;border-radius:8px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:800}.meeting-card .btn{display:flex;margin-top:18px}.progress-courses{display:flex;flex-direction:column;margin-top:18px}.progress-courses a,.continue-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--grey-200)}.progress-courses a:last-child,.continue-row:last-child{border-bottom:0}.progress-courses span,.continue-row span:first-child{display:flex;flex-direction:column;gap:4px}.progress-courses small,.continue-row small{color:var(--grey-500)}
.attendance-sessions{display:flex;flex-direction:column;gap:18px;margin:18px 0}.attendance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.attendance-head .section-title{margin-bottom:5px}
.notification-list{display:flex;flex-direction:column}.notification-item{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--grey-200)}.notification-item:last-child{border-bottom:0}.notification-item.read{opacity:.6}.notification-item h3{margin:8px 0 6px}.notification-item p{margin:0 0 8px;line-height:1.5}.notification-item small{color:var(--grey-500)}.priority{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.priority.normal{background:#eaf2ff;color:var(--blue)}.priority.penting{background:#fff4dd;color:#9a6400}.priority.mendesak{background:#fdeaea;color:#b42318}.preference-list{display:flex;flex-direction:column;gap:13px;margin:18px 0}.preference-list label{display:flex;align-items:center;gap:9px;font-size:13px}
.attendance-recap{margin-top:18px}.recap-row{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:13px;border:1px solid var(--grey-200);border-radius:11px}.recap-row span{display:flex;flex-direction:column;gap:4px}.recap-row small{color:var(--grey-500)}.recap-row strong{font-size:20px;color:var(--navy)}.recap-row .progress{grid-column:1/-1}.unread-dot{display:inline-flex;margin-left:5px;padding:3px 6px;border-radius:99px;background:var(--red);color:white;font-size:9px;vertical-align:1px}.meeting-resources{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.meeting-resources span{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:10px;background:var(--grey-100)}.meeting-resources small{color:var(--grey-500)}.cohort-progress{min-width:140px;margin-bottom:5px}
.instructor-attendance{margin-top:18px;padding-top:18px;border-top:1px dashed var(--grey-300)}.instructor-attendance .section-title{margin-bottom:8px;color:var(--navy)}.attendance-analytics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.program-recap{display:flex;flex-direction:column;gap:10px}.program-recap article{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:13px;border:1px solid var(--grey-200);border-radius:11px}.program-recap article>span{display:flex;min-width:0;flex-direction:column;gap:4px}.program-recap small{color:var(--grey-500)}.program-recap strong{font-size:20px;color:var(--navy)}.program-recap .progress{grid-column:1/-1}.attendance-trend{height:190px;display:flex;align-items:flex-end;justify-content:space-around;gap:14px;padding:10px 8px 0;border-bottom:1px solid var(--grey-200)}.attendance-trend>div{display:grid;min-width:52px;height:100%;grid-template-rows:1fr auto auto;gap:5px;justify-items:center;align-items:end}.attendance-trend .trend-bar{position:relative;display:block;width:32px;height:100%;overflow:hidden;border-radius:8px 8px 2px 2px;background:var(--grey-100)}.attendance-trend .trend-bar i{position:absolute;right:0;bottom:0;left:0;min-height:3px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,var(--blue),var(--navy))}.attendance-trend b{font-size:12px;color:var(--navy)}.attendance-trend small{font-size:10px;color:var(--grey-500);white-space:nowrap}.trend-caption{margin:10px 0 0;font-size:10px}
.device-panel{margin:18px 0}.device-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border:1px solid var(--grey-200);border-radius:12px}.device-card>div:first-child{display:flex;flex-direction:column;gap:4px}.device-card small{color:var(--grey-500)}.device-meta{grid-column:1/-1;display:flex;gap:24px;font-size:11px;color:var(--grey-500)}.device-meta b{color:var(--navy)}.device-card .btn{grid-column:1/-1}.care-notes{display:flex;flex-direction:column}.care-note{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--grey-200)}.care-note:last-child{border-bottom:0}.care-note h3{margin:9px 0 5px}.care-note p{margin:0 0 7px}.care-note small{color:var(--grey-500)}.care-note-status{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.confidential{display:inline-flex;padding:4px 8px;border-radius:99px;background:#f2eafa;color:#7240a3;font-size:10px;font-weight:900;text-transform:uppercase}
.scheme-list,.assessment-list{display:flex;flex-direction:column;gap:18px}.scheme-head,.assessment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.scheme-head h2,.assessment-head h2{margin:8px 0 5px}.scheme-head p,.assessment-head p{margin:0;color:var(--grey-500)}.unit-list,.unit-assessment{display:flex;flex-direction:column;margin:18px 0}.unit-row,.unit-assessment>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--grey-200)}.unit-row>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:var(--blue);font-weight:900}.unit-row div,.unit-assessment span{display:flex;flex-direction:column;gap:4px}.unit-row small,.unit-assessment small{color:var(--grey-500)}.assessment-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--grey-200);font-size:12px;color:var(--grey-500)}.lsp-actions{margin-top:18px}.lsp-actions a{display:flex;flex-direction:column;gap:8px}.lsp-actions b{font-size:17px}.lsp-actions span{color:var(--grey-500);font-size:12px}.certificate-card{position:relative;overflow:hidden}.certificate-card.selected{border:2px solid var(--blue)}.certificate-seal{position:absolute;right:18px;top:18px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;font-weight:900;border:5px solid #dce9f8}.certificate-card h2{margin:22px 0 4px}.certificate-card h3{min-height:44px}.certificate-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.certificate-meta span{display:flex;flex-direction:column;gap:5px;padding:10px;background:var(--grey-100);border-radius:9px;font-size:11px;color:var(--grey-500)}.certificate-meta b{color:var(--navy)}.certificate-card .btn{display:flex;margin-top:14px}.passport-layout{display:flex;flex-direction:column;gap:18px}.passport-profile{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#eef4fb)}.passport-profile h1{margin:7px 0 4px}.passport-profile p{margin:0 0 10px;color:var(--grey-500)}.passport-photo{width:86px;height:104px;display:grid;place-items:center;border-radius:14px;background:var(--navy);color:white;font-size:26px;font-weight:900}.passport-timeline{display:flex;flex-direction:column}.passport-timeline>div{position:relative;display:grid;grid-template-columns:74px 1fr;gap:4px 14px;padding:0 0 20px 20px;border-left:2px solid var(--grey-200)}.passport-timeline>div:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--blue)}.passport-timeline span{grid-row:1/3;font-size:11px;color:var(--blue);font-weight:900}.passport-timeline small{color:var(--grey-500)}.passport-cert{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--grey-200);border-radius:10px;margin-bottom:10px}.passport-cert small{color:var(--grey-500)}.passport-cert span{font-size:11px;color:var(--blue);font-weight:800}
.quality-heatmap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.heat-cell{display:flex;min-height:112px;flex-direction:column;gap:5px;padding:12px;border-radius:12px;color:white}.heat-cell.memenuhi{background:#17834b}.heat-cell.sebagian{background:#b77900}.heat-cell.gap{background:#b42318}.heat-cell b{font-size:28px}.heat-cell small{font-size:10px;opacity:.84}.quality-trend{height:245px;display:flex;align-items:flex-end;justify-content:space-around;gap:16px;padding-top:20px}.quality-trend div{height:100%;display:flex;flex:1;align-items:center;flex-direction:column;justify-content:flex-end;gap:5px}.quality-trend i{display:block;width:44px;max-height:190px;border-radius:8px 8px 2px 2px;background:linear-gradient(var(--blue),var(--navy))}.quality-trend span,.quality-trend b{font-size:11px}.quality-alerts{margin-top:18px}.quality-alert{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.action-row{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:10px 0;border-bottom:1px solid var(--grey-200)}.action-row span{display:flex;flex-direction:column;gap:4px}.action-row small{color:var(--grey-500)}.action-row .progress{grid-column:1/-1}.standards-grid,.audit-list{display:flex;flex-direction:column;gap:18px}.standard-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start}.standard-score{width:78px;height:78px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eaf2ff;color:var(--navy)}.standard-score b{font-size:27px}.standard-score small{font-size:9px}.standard-card h2{margin:8px 0 5px}.standard-card p{margin:0;color:var(--grey-500);font-size:12px}.indicator-list{grid-column:1/-1}.indicator-row{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--grey-200)}.indicator-row>span{display:flex;flex-direction:column;gap:4px}.indicator-row small{color:var(--grey-500)}.standard-card>.btn{grid-column:1/-1;justify-self:start}.capa-row{display:grid;grid-template-columns:1.4fr auto .7fr auto;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--grey-200)}.capa-row>span{display:flex;flex-direction:column;gap:5px}.capa-row small,.capa-row p{color:var(--grey-500);font-size:11px;margin:0}.audit-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:18px 0}.audit-flow span{padding:8px 4px;text-align:center;border-radius:7px;background:var(--grey-100);font-size:9px;color:var(--grey-500)}.audit-flow span.active{background:var(--navy);color:white;font-weight:800}.finding-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px;border-left:3px solid var(--red);background:var(--grey-100);margin-bottom:8px}.finding-list span{display:flex;flex-direction:column;gap:4px}.finding-list small{color:var(--grey-500)}.accreditation-score{width:96px;height:96px;margin:18px auto;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#eaf2ff;color:var(--navy)}.accreditation-score b{font-size:32px}.accreditation-score span{font-size:10px}
.library-toolbar{margin-top:18px}.library-toolbar input{min-width:320px;flex:1}.library-card{display:flex;flex-direction:column;gap:10px;min-height:310px}.library-card-head{display:flex;justify-content:space-between;align-items:center}.resource-format{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:12px;background:var(--navy);color:white;font-size:10px;font-weight:900}.library-card h2{font-size:17px;margin:0}.library-card p{font-size:12px;color:var(--grey-500);line-height:1.5;margin:0}.library-card>small{color:var(--grey-500);margin-top:auto}.library-actions{display:flex;flex-wrap:wrap;gap:7px}.library-actions button{border:0;border-radius:8px;background:var(--grey-100);padding:8px 9px;color:var(--blue);font-size:10px;font-weight:800;cursor:pointer}.library-actions button.primary{background:var(--navy);color:white}.resource-preview{text-align:center}.resource-preview .resource-format{margin:auto}.resource-preview h2{margin:14px 0 8px}.version-list{display:flex;flex-direction:column;margin-top:18px;text-align:left}.version-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--grey-200)}.notification-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.collaboration-shortcut{display:flex;min-height:105px;flex-direction:column;gap:8px}.collaboration-shortcut span{color:var(--grey-500);font-size:11px}.collaboration-shortcut strong{font-size:28px;color:var(--navy)}.collaboration-layout{display:grid;grid-template-columns:310px 1fr;gap:18px;margin-top:18px}.channel-list{padding:12px}.channel-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.channel-item:hover,.channel-item.active{background:#eaf2ff}.channel-item span{display:flex;flex-direction:column;gap:4px}.channel-item small{color:var(--grey-500)}.channel-item i{padding:3px 6px;border-radius:99px;background:var(--red);color:white;font-size:8px;font-style:normal}.chat-panel{padding:0;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--grey-200)}.chat-head div{display:flex;flex-direction:column;gap:4px}.chat-head small{color:var(--grey-500)}.chat-messages{display:flex;min-height:360px;max-height:480px;overflow:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:18px;background:#f7f9fc}.chat-message{max-width:75%;padding:10px 12px;border-radius:4px 12px 12px;background:white;border:1px solid var(--grey-200)}.chat-message.mine{align-self:flex-end;border:0;border-radius:12px 4px 12px;background:#dceafd}.chat-message b,.chat-message small{font-size:9px}.chat-message p{margin:5px 0;font-size:12px}.chat-message small{color:var(--grey-500)}.chat-compose{display:flex;gap:8px;padding:14px;border-top:1px solid var(--grey-200)}.chat-compose input{flex:1}
.cctv-toolbar{margin-top:18px}.cctv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.camera-card{overflow:hidden;border:1px solid var(--grey-200);border-radius:14px;background:white;box-shadow:var(--shadow)}.camera-feed{position:relative;height:230px;display:grid;place-items:center;background:linear-gradient(145deg,#182533,#33485f);color:white}.camera-feed:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(255,255,255,.018) 5px)}.camera-placeholder{text-align:center;font-weight:900;letter-spacing:.12em}.camera-placeholder small{font-size:9px;opacity:.5}.camera-watermark{position:absolute;z-index:1;left:12px;top:10px;font-size:9px;opacity:.65}.camera-status{position:absolute;z-index:1;right:12px;top:10px;padding:4px 7px;border-radius:99px;background:#17834b;font-size:9px;font-weight:900}.camera-status.offline{background:#b42318}.camera-status.maintenance{background:#b77900}.camera-info{display:flex;flex-direction:column;gap:5px;padding:14px}.camera-info small,.camera-info>span{color:var(--grey-500);font-size:10px}.recording-row,.incident-row,.ops-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--grey-200)}.recording-row span,.incident-row span,.ops-row span{display:flex;flex-direction:column;gap:4px}.recording-row small,.incident-row small,.ops-row small{color:var(--grey-500)}.recording-row button,.incident-row button{border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.cctv-warning{margin:18px 0}.asset-tabs{margin:18px 0;background:white;padding:0 12px;border:1px solid var(--grey-200);border-radius:12px}.compact-value{font-size:18px}.section-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-card,.stock-card{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border:1px solid var(--grey-200);border-radius:12px}.room-card>span,.stock-card>span{display:flex;flex-direction:column;gap:4px}.room-card small,.stock-card small{color:var(--grey-500)}.room-card .progress,.room-card .chip-list{grid-column:1/-1}.stock-card .row-actions{grid-column:1/-1}.ops-row{margin-bottom:4px}.ops-row button{justify-self:end}#inventory,#rooms,#loans,#maintenance,#disposal,#stock{margin-top:18px;scroll-margin-top:90px}
.connector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0}.connector-card,.catalog-card{display:flex;flex-direction:column;gap:9px}.connector-head{display:flex;align-items:center;justify-content:space-between}.connector-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--navy);color:white;font-size:10px;font-weight:900}.connector-card h2,.catalog-card h2{font-size:16px;margin:3px 0 0}.connector-card p{margin:0;color:var(--grey-500);font-size:11px}.connector-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.connector-metrics span{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:8px;background:var(--grey-100);font-size:9px;color:var(--grey-500)}.connector-metrics b{color:var(--navy)}.catalog-card dl{display:grid;grid-template-columns:72px 1fr;gap:7px;margin:8px 0;font-size:11px}.catalog-card dt{color:var(--grey-500)}.catalog-card dd{margin:0;overflow-wrap:anywhere}.sync-run{padding:14px 0;border-bottom:1px solid var(--grey-200)}.sync-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-summary span,.rejected-row span{display:flex;flex-direction:column;gap:4px}.sync-summary small,.rejected-row small{color:var(--grey-500)}.sync-logs{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:10px;border-radius:9px;background:#142337;color:#b8d2ef;font-size:10px}.rejected-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px;border-left:3px solid var(--red);background:#fff6f5}.rejected-row button{border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.mapping-list{display:flex;flex-direction:column;gap:18px}.mapping-list h2{margin:7px 0}.mapping-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.quality-domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.quality-domain{padding:14px;border:1px solid var(--grey-200);border-radius:12px}.quality-domain>b{display:block;margin-bottom:12px}.quality-domain>span{display:grid;grid-template-columns:85px 1fr auto;gap:8px;align-items:center;margin-top:8px}.quality-domain small{color:var(--grey-500)}.quality-domain .progress i{display:block;height:100%;border-radius:99px;background:var(--blue)}.conflict-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--grey-200)}.conflict-row>span{display:flex;flex-direction:column;gap:4px}.conflict-row small{color:var(--grey-500)}
.launcher-reset{border:1px solid var(--grey-300);border-radius:8px;background:white;color:var(--navy);padding:8px 10px;font:inherit;font-weight:800;cursor:pointer}.launcher-reset:hover{background:var(--grey-100)}
.spread{justify-content:space-between}.grow{flex:1;min-width:260px}.text-action{border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.form-row>span{font-size:12px;font-weight:700}.inset{box-shadow:none;background:var(--grey-100)}.inset h3{margin-top:0}.inset p{min-height:42px}.list-item span{display:flex;flex-direction:column;gap:4px}.list-item small{color:var(--grey-500)}.org-tree{display:flex;align-items:center;flex-direction:column;gap:28px;padding:24px}.org-node{position:relative;display:flex;min-width:200px;flex-direction:column;gap:5px;text-align:center;padding:14px;border:1px solid var(--grey-300);border-radius:12px;background:white}.org-node span{font-size:11px;color:var(--grey-500)}.org-node.root{background:var(--navy);color:white;border-color:var(--navy)}.org-node.root span{color:#bdd1ea}.org-branch{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.report-card{display:flex;min-height:220px;flex-direction:column;gap:8px}.report-card h2{font-size:17px;margin:8px 0}.report-card p,.report-card small{color:var(--grey-500)}.report-card .btn{margin-top:auto;align-self:flex-start}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:18px}.profile-avatar{width:82px!important;height:82px!important;font-size:22px}.profile-hero h1{margin:5px 0}.profile-hero p{margin:0 0 10px;color:var(--grey-500)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid>div{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:10px;background:var(--grey-100)}.detail-grid small{color:var(--grey-500)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-health{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px;border:1px solid var(--grey-200);border-radius:12px}.service-health>span:first-child{display:flex;flex-direction:column;gap:4px}.service-health small{color:var(--grey-500)}.service-health .progress,.service-health>small{grid-column:1/-1}.green-text{color:var(--green)}.permission-table td:not(:first-child){text-align:center}
.dashboard-filter{padding:12px;border:1px solid var(--grey-200);border-radius:12px;background:white}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--grey-200)}.alert-row:last-child{border-bottom:0}.alert-row>span{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;align-items:center}.alert-row small{grid-column:2;color:var(--grey-500)}.alert-row a{color:var(--blue);font-size:11px;font-weight:800}.insight-card{padding:14px;border-left:4px solid var(--green);border-radius:9px;background:#f1f8f4;margin-bottom:12px}.insight-card.warning{border-left-color:#b77900;background:#fff8e7}.insight-card p{margin:6px 0 0;color:var(--grey-500);font-size:12px;line-height:1.5}.dashboard-layout{display:grid;grid-template-columns:1.6fr .7fr;gap:24px}.module-links{display:flex;flex-direction:column;gap:8px}.module-links a,.module-links button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px;border:1px solid var(--grey-200);border-radius:10px;background:white;color:var(--navy);text-align:left;font-weight:700;cursor:pointer}.module-links a:hover,.module-links button:hover{background:#eef4fb;border-color:#9db7df}.drill-path{padding:10px 12px;margin:12px 0;border-radius:9px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:800}.alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.trend-mini{height:120px;display:flex;align-items:flex-end;gap:9px;margin:18px 0 8px}.trend-mini span{flex:1;min-height:12px;border-radius:6px 6px 2px 2px;background:linear-gradient(var(--blue),var(--navy))}.command-fullscreen .sidebar,.command-fullscreen .topbar{display:none}.command-fullscreen .main{width:100%;margin-left:0}.command-fullscreen .content{max-width:1800px;margin:auto}.map{position:relative}.map-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:24px;text-align:center;background:#eef3f8;color:var(--navy)}.map-fallback span{max-width:440px;color:var(--grey-500);font-size:12px}.map-fallback a{color:var(--blue);font-weight:800}.map-data-warning{position:absolute;z-index:500;left:12px;bottom:12px;padding:8px;border-radius:8px;background:white;font-size:10px;box-shadow:var(--shadow)}
.academic-item{grid-template-columns:auto 1fr minmax(210px,auto)}.academic-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;color:var(--grey-500);font-size:10px}.schedule-view-switch{margin-bottom:18px}.schedule-actions{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.schedule-calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calendar-day{min-height:220px;padding:12px;border:1px solid var(--grey-200);border-radius:12px;background:white}.calendar-day header{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--grey-200)}.calendar-day header span{color:var(--grey-500);font-size:10px}.calendar-day button{display:flex;width:100%;align-items:flex-start;flex-direction:column;gap:4px;margin-top:9px;padding:9px;border:0;border-left:3px solid var(--blue);border-radius:7px;background:#eef4fb;text-align:left;cursor:pointer}.calendar-day button span{font-size:11px}.calendar-day button small{color:var(--grey-500)}.academic-timeline{display:flex;flex-direction:column}.academic-timeline article{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:start;padding:16px 0;border-bottom:1px solid var(--grey-200)}.academic-timeline time{color:var(--blue);font-size:11px;font-weight:800}.academic-timeline h3{margin:8px 0 5px}.academic-timeline p{margin:0;color:var(--grey-500)}.academic-timeline article>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
.approval-roles{display:grid;gap:9px;margin-bottom:16px}.approval-roles span{display:flex;flex-direction:column;gap:4px;padding:11px;border-radius:10px;background:var(--grey-100)}.approval-roles small,.approval-entry small,.assigned-classes{color:var(--grey-500)}.lifecycle-actions{align-items:flex-start;flex-wrap:wrap}.approval-timeline{display:flex;flex-direction:column}.approval-entry{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--grey-200)}.approval-entry>div{display:flex;flex-direction:column;gap:4px}.approval-entry p{margin:3px 0 0;color:var(--grey-500);font-size:12px}.approval-dot{width:12px;height:12px;margin-top:4px;border:3px solid #b9d0ef;border-radius:50%;background:var(--blue)}.waiting-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.waiting-summary span{padding:8px 10px;border-radius:9px;background:var(--grey-100);font-size:11px}.waiting-summary button{margin-left:6px;border:0;background:none;color:var(--blue);font-size:10px;font-weight:800;cursor:pointer}.danger-text{color:var(--red)}.workload-alert{margin-bottom:18px}.workload-meter{grid-column:1/-1;height:8px;overflow:hidden;border-radius:99px;background:var(--grey-200)}.workload-meter span{display:block;height:100%;border-radius:99px;background:var(--green)}.workload-meter.warning span{background:var(--orange)}.workload-meter.over span{background:var(--red)}.assigned-classes{grid-column:1/-1}
.course-detail-card{margin-top:18px}.tabs button{border:0;background:transparent}.reorder-actions{display:flex!important;width:auto!important;height:auto!important;gap:4px;background:transparent!important}.reorder-actions button{width:27px;height:27px;border:1px solid var(--grey-300);border-radius:7px;background:white;color:var(--navy);cursor:pointer}.reorder-actions button:disabled{opacity:.35}.syllabus-sheet{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start;padding:8px}.syllabus-sheet>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:12px}.syllabus-sheet h2{margin:2px 0}.syllabus-sheet p{grid-column:1/-1;color:var(--grey-500)}.activity-feed article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--grey-200)}.activity-feed article>span{color:var(--blue);font-size:22px}.activity-feed article>div{display:flex;flex-direction:column;gap:4px}.activity-feed small{color:var(--grey-500)}.material-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.material-actions .btn{padding:7px 9px;font-size:10px}.preview-copy{max-width:540px;white-space:pre-line;line-height:1.65;color:var(--grey-700)}.review-rule{display:block;margin-top:8px;color:var(--blue)}.quiz-runner fieldset{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:14px;border:1px solid var(--grey-200);border-radius:11px}.quiz-runner legend{padding:0 6px;font-weight:800}.quiz-runner label{padding:8px;border-radius:8px;background:var(--grey-100);font-size:12px}.quiz-timer{padding:9px 12px;border-radius:9px;background:#fdeaea;color:var(--red);font-size:18px}
@media(max-width:1180px){.grid-5{grid-template-columns:repeat(3,1fr)}.split-70,.split-60,.dashboard-layout{grid-template-columns:1fr}.schedule-calendar{grid-template-columns:repeat(2,1fr)}.sidebar{width:230px}.main{margin-left:230px;width:calc(100% - 230px)}}
@media(min-width:861px){body.sidebar-collapsed .sidebar{transform:translateX(-105%);box-shadow:none}body.sidebar-collapsed .main{margin-left:0;width:100%}body.sidebar-collapsed .sidebar-toggle-icon{transform:rotate(180deg)}}
@media(max-width:860px){.sidebar{display:block;width:min(82vw,300px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 0 0 9999px transparent}.sidebar-open .sidebar{transform:translateX(0);box-shadow:0 0 0 9999px rgba(15,23,42,.42)}.mobile-menu-toggle{display:grid;place-items:center}.main{margin-left:0;width:100%}.content{padding:16px}.hero{padding:20px}.topbar{height:auto;min-height:72px;padding:12px 18px;gap:12px}.topbar-heading{min-width:0;flex:1}.page-title,.breadcrumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox{gap:8px}.header-date,.launcher-link{display:none}.workspace-switch{min-width:90px}.grid-5,.grid-4,.grid-3,.grid-2,.workspace-grid,.module-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-brand-mobile{display:flex}.launcher-intro{align-items:flex-start;flex-direction:column}.launcher-intro h1{font-size:30px}.wizard-shell{grid-template-columns:1fr}.wizard-steps{display:flex;overflow:auto}.wizard-step{min-width:max-content}.form-grid,.review-list{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.mapping-row{grid-template-columns:1fr auto}.mapping-row span{display:none}.institution-hero{gap:14px}.tabs{overflow:auto}.tab{min-width:max-content}.schedule-item{grid-template-columns:auto 1fr}.schedule-item>.badge{justify-self:start}.curriculum-item{grid-template-columns:auto 1fr}.curriculum-meta{grid-column:2;flex-wrap:wrap}.discussion-layout{grid-template-columns:1fr}.quiz-card{grid-template-columns:1fr}.quiz-score{width:78px;height:78px}}
@media(max-width:860px){body:not(.sidebar-open) .sidebar-toggle-icon{transform:rotate(180deg)}}
@media(max-width:860px){.notification-item{grid-template-columns:1fr}.attendance-head{flex-direction:column}.attendance-analytics{grid-template-columns:1fr}.attendance-trend{overflow-x:auto;justify-content:flex-start}.attendance-trend>div{min-width:58px}}
@media(max-width:520px){.toolbar .control{width:100%;min-width:0}.attendance-trend{height:170px}.instructor-attendance{padding-top:14px}.card{padding:15px}}
@media(max-width:860px){.care-note{grid-template-columns:1fr}.care-note-status{align-items:flex-start}.meeting-resources{grid-template-columns:1fr}}
@media(max-width:860px){.scheme-head,.assessment-head,.assessment-footer{align-items:flex-start;flex-direction:column}.unit-assessment>div{grid-template-columns:1fr}.certificate-meta{grid-template-columns:1fr}.passport-profile{align-items:flex-start;flex-direction:column}}
@media(max-width:860px){.quality-heatmap{grid-template-columns:repeat(2,1fr)}.standard-card{grid-template-columns:1fr}.indicator-list,.standard-card>.btn{grid-column:auto}.indicator-row,.capa-row,.finding-list>div{grid-template-columns:1fr}.audit-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.library-toolbar input{min-width:100%}.collaboration-layout{grid-template-columns:1fr}.chat-message{max-width:90%}.notification-actions{align-items:flex-start}}
@media(max-width:860px){.cctv-grid{grid-template-columns:1fr}.camera-feed{height:190px}.recording-row,.incident-row,.ops-row{grid-template-columns:1fr}.ops-row button{justify-self:start}.asset-tabs{overflow:auto}.section-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:1100px){.connector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.connector-grid,.quality-domain-grid,.service-grid,.detail-grid,.alert-grid,.schedule-calendar{grid-template-columns:1fr}.rejected-row,.conflict-row,.academic-item,.academic-timeline article{grid-template-columns:1fr}.mapping-actions{justify-content:flex-start;flex-wrap:wrap}.profile-hero{grid-template-columns:1fr}.profile-hero .page-actions{justify-content:flex-start}.org-tree{align-items:stretch}.org-branch{flex-direction:column}.org-node{min-width:0}.alert-row{align-items:flex-start;flex-direction:column}.schedule-actions,.academic-timeline article>div:last-child{align-items:flex-start}.academic-timeline time{margin-bottom:-8px}}
@media(max-width:680px){.profile-settings-layout{grid-template-columns:1fr}.profile-photo-panel{padding:16px}.profile-settings-actions{align-items:stretch;flex-direction:column-reverse}.profile-settings-actions>span{display:grid;grid-template-columns:1fr 1fr}.profile-logout-button{width:100%}}
@media print{.sidebar,.topbar,.hero .page-actions,.toolbar{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none}.passport-layout{display:block}.passport-layout>*{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
