:root{--navy:#071735;--navy2:#0b244f;--blue:#2563eb;--gold:#f2b32c;--ink:#10182f;--muted:#64748b;--line:#dbe3ef;--bg:#f5f8fc;--card:#fff;--green:#3bb683;--purple:#7c4de3;--red:#ff5b57;--sky:#35a8f4;--shadow:0 16px 40px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);display:flex}.sidebar{width:300px;height:100vh;background:linear-gradient(180deg,#07152f,#071b3c 55%,#061225);color:#fff;padding:26px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex:0 0 auto}.brandIcon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#0ea5e9,#2563eb);display:grid;place-items:center;color:#fff;font-weight:900;font-size:28px}.brand h1{font-size:22px;line-height:1.05;margin:0}.brand p,.versionBox p{color:#9fc3f2;margin:5px 0 0}nav{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding-right:4px;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:rgba(159,195,242,.35) transparent}.navTitle{color:var(--gold);font-size:12px;margin:18px 10px 8px;letter-spacing:.6px;border-bottom:1px solid rgba(242,179,44,.35);padding-bottom:8px}.nav{width:100%;border:0;background:transparent;color:#e7eefb;padding:12px 14px;border-radius:10px;text-align:left;font-size:14px;font-weight:700;display:flex;gap:14px;align-items:center;cursor:pointer}.nav:hover,.nav.active{background:linear-gradient(90deg,#183d88,#1e52ba)}.versionBox{position:static;flex:0 0 auto;border:1px solid rgba(242,179,44,.85);border-radius:14px;padding:14px 12px;text-align:center;color:#ffcf57;background:rgba(5,18,45,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);margin-top:14px}.versionBox small{display:block;margin-top:10px;color:#c7d6ed;font-size:12px;line-height:1.35}main{margin-left:300px;flex:1;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:4}.topbar h2{margin:0;font-size:22px}.topMeta{display:flex;align-items:center;gap:28px;color:#344565}.topMeta span{position:relative}.topMeta i{position:absolute;top:-10px;right:-12px;background:#2563eb;color:#fff;border-radius:12px;font-size:11px;padding:2px 6px}.user{display:grid}.user small{color:#64748b}.page{display:none;padding:34px}.page.active{display:block}.welcome h3{font-size:28px;margin:10px 0 6px}.welcome p{color:#60708c;margin:0 0 26px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.stat,.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:22px;display:flex;gap:18px;align-items:center}.ico{width:54px;height:54px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:25px}.blue{background:#2563eb}.green{background:#3bb683}.purple{background:#7c4de3}.gold{background:#f2b32c}.sky{background:#35a8f4}.red{background:#ff5b57}.stat span{font-size:12px;font-weight:900;color:#344565}.stat b{display:block;font-size:28px;margin:6px 0}.stat p{margin:0;color:#71809a;font-size:13px}.dashboardGrid{display:grid;grid-template-columns:1.35fr 1.15fr 1.1fr;gap:18px;margin-top:24px}.card{padding:22px}.card.big{min-height:390px}.card h3,.panel h3{margin:0 0 18px}.donut{float:left;width:210px;height:210px;border-radius:50%;background:conic-gradient(#2563eb 0 15%,#3bb683 15% 57%,#7c4de3 57% 74%,#f2b32c 74% 84%,#35a8f4 84% 94%,#ff5b57 94% 100%);display:grid;place-items:center;margin:28px 28px 20px 0}.donut div{width:126px;height:126px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.donut b{font-size:30px}.donut span{margin-top:-35px;color:#64748b}.legend{list-style:none;padding:18px 0;margin:0}.legend li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;color:#283755}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:10px}.note{clear:both;background:#f7faff;border:1px solid var(--line);border-radius:12px;padding:16px;color:#60708c}.summaryList>div{display:flex;align-items:center;gap:14px;margin:15px 0}.summaryList span{width:46px;height:46px;border-radius:12px;background:#eaf2ff;display:grid;place-items:center}.summaryList p{flex:1;font-weight:800;margin:0}.summaryList small{display:block;font-weight:500;color:#64748b;margin-top:4px}.summaryList b{font-size:24px}.generateBtn{width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#061f51,#0f3e93);color:#fff;padding:18px;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 10px 25px rgba(9,44,110,.24)}.side button{width:100%;display:block;text-align:left;background:#fff;border:1px solid var(--line);padding:16px 18px;font-weight:900;color:#17213a;cursor:pointer}.side small{display:block;color:#64748b;font-weight:500;margin-top:4px}.mini{width:100%;border-collapse:collapse}.mini td{border-bottom:1px solid var(--line);padding:13px;color:#53627a}.mini td:last-child{text-align:right;color:#0f1b35;font-weight:800}.panel{padding:28px;margin-bottom:24px}.panel p{color:#64748b}.panel.center{text-align:center;max-width:760px;margin:70px auto}.panel button,.reportbar button{background:#2563eb;color:#fff;border:0;border-radius:12px;padding:13px 22px;font-weight:900;cursor:pointer;margin:6px}.panel .primary{background:linear-gradient(135deg,#2563eb,#0f3e93)}.dangerBtn{background:#ef4444!important}.modes{display:flex;gap:14px;margin:18px 0}.modes label{border:1px solid var(--line);border-radius:13px;padding:14px 18px;font-weight:800;background:#fbfdff}.result{white-space:pre-wrap;background:#f7faff;border:1px solid var(--line);border-radius:12px;padding:18px;min-height:80px;color:#17213a}.reportbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:18px;box-shadow:var(--shadow)}select,input[type=file]{border:1px solid var(--line);border-radius:12px;padding:12px;margin:6px;background:#fff}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{background:#0b244f;color:#fff;text-align:left;padding:12px;font-size:13px;white-space:nowrap}td{border-bottom:1px solid #e8eef7;padding:11px;color:#24314b;white-space:nowrap}.printTitle{font-size:20px;font-weight:900;text-align:center;margin:20px 0 15px}.signature{margin:50px 0 10px;display:flex;justify-content:flex-end;white-space:pre-line;font-size:15px;line-height:1.55}footer{text-align:center;color:#5f6f8a;border-top:1px solid var(--line);padding:22px;margin:0 34px}@media(max-width:1200px){.stats{grid-template-columns:repeat(2,1fr)}.dashboardGrid{grid-template-columns:1fr}.sidebar{width:250px}.nav{font-size:13px;padding:11px 12px}.versionBox{padding:12px 10px}main{margin-left:250px}}@media print{.sidebar,.topbar,.reportbar,footer{display:none}main{margin:0}.page{display:none}.page.active{display:block;padding:0}.tablewrap{box-shadow:none;border:0}th{background:#eee!important;color:#000}.signature{page-break-inside:avoid}}

.generateBtn.processing,.wizardGenerateBtn.processing{background:linear-gradient(135deg,#f2b32c,#d97706)!important;color:#071735!important;box-shadow:0 0 0 4px rgba(242,179,44,.20),0 14px 28px rgba(217,119,6,.24);cursor:wait;transform:translateY(1px)}
.generateBtn:disabled,.wizardGenerateBtn:disabled{opacity:.95}
.progressBox{margin:16px auto 10px;max-width:520px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px}
.progressLabel{display:flex;justify-content:space-between;font-weight:900;color:#0b244f;margin-bottom:10px}
.progressBar{height:13px;background:#e8eef7;border-radius:99px;overflow:hidden}
.progressFill{height:100%;width:0%;background:linear-gradient(90deg,#2563eb,#35a8f4,#f2b32c);border-radius:99px;transition:width .18s ease}
.generateBtn.done,.wizardGenerateBtn.done{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff;box-shadow:0 16px 32px rgba(34,197,94,.25)}
.progressFill{transition:width .18s ease-in-out}

.validationWrap{margin-top:16px;display:none}.validationWrap.active{display:block}.row-error td{background:#ffe8e8!important;color:#8b1111!important;border-bottom-color:#ffc7c7}.badge-error{display:inline-block;background:#ef4444;color:#fff;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.badge-ok{display:inline-block;background:#16a34a;color:#fff;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.wizardGenerateBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}

.progressBox.hidden{display:none}
#wizardGenerateBtn.ready{opacity:1;filter:none;background:linear-gradient(135deg,#061f51,#0f3e93);color:#fff;cursor:pointer}
#wizardGenerateBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
#validateBtn.done{background:#16a34a!important}
.result.ok{border-color:#86efac;background:#f0fdf4}
.result.err{border-color:#fecaca;background:#fff1f2}
.validationNotice{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0;background:#f8fbff;display:grid;gap:6px}.validationNotice b{font-size:18px}.validationNotice.bad{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.validationNotice.good{background:#f0fdf4;border-color:#86efac;color:#14532d}.validationNotice span{font-size:14px}.validationTitle{margin:20px 0 10px!important}.cellInput{width:120px;border:1px solid #dbe3ef;border-radius:9px;padding:8px 10px;background:#fff;font-weight:700;color:#17213a}.cellInput.wide{width:260px}.smallBtn{border:0;border-radius:8px;padding:8px 10px;margin:2px;font-weight:900;cursor:pointer}.smallBtn.save{background:#16a34a;color:#fff}.smallBtn.del{background:#ef4444;color:#fff}.row-ok td{background:#f0fdf4}.msgCell{max-width:420px;white-space:normal;line-height:1.35}
.printTitle{text-align:center;margin:22px 0 16px 0;line-height:1.25;color:#0f1b33}
.printTitle h2{margin:0;font-size:22px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
.printTitle h3{margin:6px 0 0 0;font-size:16px;font-weight:800}
.totalRow td{background:#eef5ff!important;border-top:2px solid #0b2d63;font-weight:800}

/* V3.0 Login & Document Engine */
.loginOverlay{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#061225,#0b244f 55%,#071735);display:flex;align-items:center;justify-content:center;padding:24px}.loginCard{width:min(430px,100%);background:#fff;border-radius:24px;box-shadow:0 32px 90px rgba(0,0,0,.35);padding:34px;border:1px solid rgba(255,255,255,.35)}.loginLogo{width:70px;height:70px;border-radius:20px;background:linear-gradient(135deg,#2563eb,#0ea5e9);display:grid;place-items:center;color:#fff;font-size:34px;font-weight:900;margin:0 auto 16px}.loginCard h1{text-align:center;margin:0;color:#071735}.loginCard p{text-align:center;color:#64748b;margin:8px 0 24px}.loginCard label{display:block;font-weight:900;color:#1e293b;margin:12px 0 6px}.loginCard input{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px}.loginCard button{width:100%;margin-top:18px;border:0;border-radius:14px;padding:15px 18px;background:linear-gradient(135deg,#061f51,#2563eb);color:#fff;font-weight:900;font-size:16px;cursor:pointer}.loginCard small{display:block;text-align:center;margin-top:14px;color:#64748b}.passwordField{position:relative;width:100%}.passwordField input{padding-right:52px!important}.eyeBtn{position:absolute!important;right:8px;top:50%;transform:translateY(-50%);width:38px!important;height:38px;margin:0!important;border:0!important;border-radius:10px!important;background:#eef4ff!important;color:#0b244f!important;display:grid!important;place-items:center!important;font-size:15px!important;cursor:pointer!important;box-shadow:none!important}.loginCard .passwordField .eyeBtn{margin-top:0!important}.setupOverlay{background:linear-gradient(135deg,#061225,#0b244f 55%,#071735)}.setupCard .startupSelect{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px;background:#fff;color:#0f172a}.setupInfo{margin-top:14px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:#53627a;line-height:1.45}.passwordGrid .passwordField input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.logoutBtn{border:1px solid var(--line);background:#f8fbff;color:#0b244f;border-radius:10px;padding:9px 14px;font-weight:900;cursor:pointer}.docActions{display:flex;flex-wrap:wrap;gap:10px}.docHint{margin-top:18px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:16px;color:#53627a}.passwordGrid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:center}.settingsGrid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:16px;align-items:end}.settingsGrid label{font-weight:900;color:#1e293b}.settingsGrid select{display:block;width:100%;margin:8px 0 0}.inputHint{background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:#53627a;margin:0 0 14px}.passwordGrid input{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.qrVerify{margin:28px 0 12px auto;max-width:520px;border:1px dashed #94a3b8;border-radius:14px;background:#f8fafc;padding:14px;display:flex;gap:14px;align-items:center;color:#334155}.qrMini{width:62px;height:62px;border-radius:10px;background:repeating-linear-gradient(45deg,#0b244f 0 6px,#fff 6px 12px);border:4px solid #0b244f;color:#fff;display:grid;place-items:center;font-weight:900}.qrVerify span{font-size:12px;color:#64748b}.emptyArchive{padding:28px;color:#64748b;text-align:center}
@media(max-width:900px){.passwordGrid,.settingsGrid{grid-template-columns:1fr}.docActions{display:grid}}
@media print{.qrVerify{display:flex!important;border:1px solid #999}.printTitle h2{font-size:18px}.printTitle h3{font-size:14px}}


/* V3.2 PDF/Print improvements */
.docInfo{margin:24px 0 12px auto;max-width:720px;border-top:1px solid #cbd5e1;padding-top:10px;text-align:right;color:#334155;font-size:12px;line-height:1.45}
.docInfo span{color:#64748b}.qrVerify,.qrMini{display:none!important}
@page{size:A4 landscape;margin:10mm}
@media print{
  html,body{width:297mm;min-height:210mm;background:#fff!important;color:#000!important;display:block!important;overflow:visible!important}
  body{zoom:.78;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sidebar,.topbar,.reportbar,footer,.docActions,.docHint,.panel button,.passwordField{position:relative;width:100%}.passwordField input{padding-right:52px!important}.eyeBtn{position:absolute!important;right:8px;top:50%;transform:translateY(-50%);width:38px!important;height:38px;margin:0!important;border:0!important;border-radius:10px!important;background:#eef4ff!important;color:#0b244f!important;display:grid!important;place-items:center!important;font-size:15px!important;cursor:pointer!important;box-shadow:none!important}.loginCard .passwordField .eyeBtn{margin-top:0!important}.setupOverlay{background:linear-gradient(135deg,#061225,#0b244f 55%,#071735)}.setupCard .startupSelect{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px;background:#fff;color:#0f172a}.setupInfo{margin-top:14px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:#53627a;line-height:1.45}.passwordGrid .passwordField input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.logoutBtn{display:none!important}
  main{margin:0!important;width:100%!important;min-height:auto!important}
  .page{display:none!important;padding:0!important;margin:0!important}
  #reports.page{display:block!important}
  #reports{width:100%!important;overflow:visible!important}
  .printTitle{margin:0 0 10px!important;text-align:center!important;page-break-after:avoid}
  .printTitle h2{font-size:18px!important;line-height:1.2!important;margin:0 0 4px!important;letter-spacing:.3px}
  .printTitle h3{font-size:13px!important;line-height:1.25!important;margin:3px 0!important}
  .tablewrap{overflow:visible!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important;width:100%!important}
  table{width:100%!important;border-collapse:collapse!important;table-layout:auto!important;font-size:10px!important;page-break-inside:auto}
  thead{display:table-header-group!important}
  tfoot{display:table-footer-group!important}
  tr{page-break-inside:avoid!important;page-break-after:auto!important}
  th,td{border:1px solid #94a3b8!important;padding:5px 6px!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-height:1.2!important;vertical-align:top!important}
  th{background:#0b244f!important;color:#fff!important;font-weight:800!important}
  .totalRow td{background:#eaf2ff!important;font-weight:800!important}
  .signature{margin:22px 10mm 0 auto!important;white-space:pre-line!important;font-size:12px!important;line-height:1.35!important;page-break-inside:avoid!important;break-inside:avoid!important;max-width:90mm!important;text-align:left!important}
  .docInfo{display:block!important;margin:18px 0 0 auto!important;max-width:180mm!important;border-top:1px solid #94a3b8!important;text-align:right!important;font-size:10px!important;color:#334155!important;page-break-inside:avoid!important}
}


/* V3.4 Print/PDF Center Layout — only alignment refinements */
@page{size:A4 landscape;margin:10mm}
@media print{
  html,body{width:297mm!important;min-height:210mm!important;background:#fff!important;display:block!important;overflow:visible!important}
  body{zoom:1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  main{margin:0 auto!important;width:100%!important;display:block!important}
  #reports.page{display:block!important;padding:0!important;margin:0 auto!important;width:100%!important;max-width:277mm!important;overflow:visible!important}
  #reports{margin-left:auto!important;margin-right:auto!important;text-align:initial!important}
  .printTitle{width:100%!important;max-width:277mm!important;margin:0 auto 10px!important;text-align:center!important}
  .tablewrap{width:100%!important;max-width:277mm!important;margin:0 auto!important;overflow:visible!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important}
  table{width:100%!important;margin-left:auto!important;margin-right:auto!important;border-collapse:collapse!important;table-layout:fixed!important;font-size:8.5px!important;page-break-inside:auto!important}
  th,td{padding:3px 4px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.18!important;vertical-align:top!important}
  th{font-size:8.5px!important;text-align:left!important}
  .signature{margin:22px 0 0 auto!important;max-width:90mm!important;text-align:left!important}
  .docInfo{margin:18px 0 0 auto!important;max-width:180mm!important;text-align:right!important}
}


/* V3.5 PDF table proportional layout - preserve screen UI, improve print only */
@page{size:A4 landscape;margin:10mm}
@media print{
  html,body{width:297mm!important;min-height:210mm!important;background:#fff!important;display:block!important;overflow:visible!important}
  body{zoom:.90!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  main{margin:0 auto!important;width:100%!important;display:block!important}
  #reports.page{display:block!important;padding:0!important;margin:0 auto!important;width:100%!important;max-width:277mm!important;overflow:visible!important}
  .printTitle{width:100%!important;max-width:277mm!important;margin:0 auto 10px!important;text-align:center!important}
  .tablewrap{width:100%!important;max-width:277mm!important;margin:0 auto!important;overflow:visible!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important}
  table{width:100%!important;margin:0 auto!important;border-collapse:collapse!important;table-layout:auto!important;font-size:9.4px!important;page-break-inside:auto!important}
  th,td{border:1px solid #94a3b8!important;padding:4px 5px!important;line-height:1.18!important;vertical-align:top!important;word-break:normal!important;overflow-wrap:normal!important}
  th{background:#0b244f!important;color:#fff!important;font-weight:800!important;font-size:9.4px!important;text-align:left!important;white-space:nowrap!important}
  td{white-space:nowrap!important}
  /* Longer columns are allowed to wrap; short columns stay compact */
  th:nth-child(4),td:nth-child(4),
  th:nth-child(6),td:nth-child(6),
  th:nth-child(10),td:nth-child(10){white-space:normal!important;overflow-wrap:break-word!important}
  /* Proportional column sizing for faculty/prodi reports */
  th:nth-child(1),td:nth-child(1){width:6%!important}
  th:nth-child(2),td:nth-child(2){width:4%!important;text-align:center!important}
  th:nth-child(3),td:nth-child(3){width:9%!important}
  th:nth-child(4),td:nth-child(4){width:15%!important}
  th:nth-child(5),td:nth-child(5){width:8%!important}
  th:nth-child(6),td:nth-child(6){width:18%!important}
  th:nth-child(7),td:nth-child(7){width:6%!important;text-align:center!important}
  th:nth-child(8),td:nth-child(8){width:4%!important;text-align:center!important}
  th:nth-child(9),td:nth-child(9){width:7%!important}
  th:nth-child(10),td:nth-child(10){width:18%!important}
  th:nth-child(11),td:nth-child(11){width:5%!important;text-align:center!important}
  .totalRow td{background:#eaf2ff!important;font-weight:800!important}
  .signature{margin:22px 0 0 auto!important;max-width:90mm!important;text-align:left!important;white-space:pre-line!important;font-size:12px!important;line-height:1.35!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .docInfo{margin:18px 0 0 auto!important;max-width:180mm!important;text-align:right!important;font-size:10px!important;color:#334155!important;page-break-inside:avoid!important;border-top:1px solid #94a3b8!important;padding-top:8px!important}
}


/* V4.0 Academic Enterprise header theme */
:root{--headerBlue:#1158e8;--headerBlue2:#0b42b4;--headerText:#ffffff;--headerSoft:#dbeafe}
.topbar{
  height:78px!important;
  background:linear-gradient(135deg,var(--headerBlue),var(--headerBlue2))!important;
  border-bottom:0!important;
  color:var(--headerText)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.20)!important;
  padding:0 34px!important;
}
.topbar h2{color:#fff!important;font-size:23px!important;font-weight:900!important;letter-spacing:.2px!important}
.topMeta{color:var(--headerSoft)!important;gap:24px!important}
.topMeta span{color:var(--headerSoft)!important;font-weight:700!important}
.topMeta b{color:#fff!important}
.topMeta .user{padding-left:18px!important;border-left:1px solid rgba(255,255,255,.25)!important;min-width:175px!important}
.topMeta .user b{font-size:17px!important;line-height:1.1!important;color:#fff!important}
.topMeta .user small{color:#bfdbfe!important;font-weight:600!important}
.topMeta i{background:#ef4444!important;color:#fff!important;border:2px solid #fff!important;top:-13px!important;right:-14px!important}
.logoutBtn{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:12px!important;padding:11px 18px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.logoutBtn:hover{background:rgba(255,255,255,.20)!important}
.sidebar{background:linear-gradient(180deg,#071735,#082451 58%,#061225)!important}
.brandIcon{box-shadow:0 14px 28px rgba(37,99,235,.30)!important}
.page{padding-top:38px!important}
@media print{.topbar{display:none!important}}

.brand{align-items:center}
.brandIcon{width:96px;height:96px;border-radius:24px;font-size:46px;box-shadow:0 12px 30px rgba(37,99,235,.35)}
.brand h1{font-size:34px;line-height:1.0;margin:0 0 6px 0}
.brand p{font-size:14px;font-weight:600;color:#d7e7ff}
.brandSub{display:block;color:#9fc3f2;font-size:12px;margin-top:4px}
.versionBox b{font-size:20px;display:block;margin-bottom:6px}

/* V4.2 Professional Dashboard Branding — visual polish only */
:root{
  --sidebarW:320px;
  --v42Blue:#0f5bea;
  --v42Blue2:#0b3ca8;
  --v42Navy:#06152f;
  --v42Navy2:#08254f;
}
.sidebar{
  width:var(--sidebarW)!important;
  padding:26px 22px!important;
  background:linear-gradient(180deg,#06152f 0%,#08254f 55%,#061225 100%)!important;
  box-shadow:10px 0 32px rgba(5,18,45,.18)!important;
}
main{margin-left:var(--sidebarW)!important;}
.brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin:0 0 24px!important;
  text-align:center!important;
  padding:10px 8px 16px!important;
  border-bottom:1px solid rgba(219,234,254,.14)!important;
  overflow:visible!important;
}
.brandIcon{
  width:102px!important;
  height:102px!important;
  border-radius:25px!important;
  background:linear-gradient(135deg,#13b8ff 0%,#1564f2 55%,#0b38a8 100%)!important;
  box-shadow:0 18px 35px rgba(21,100,242,.35), inset 0 1px 0 rgba(255,255,255,.25)!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  flex:0 0 auto!important;
}
.brandSvg{width:72px;height:72px;display:block;filter:drop-shadow(0 5px 8px rgba(3,15,40,.28));}
.brand h1{
  font-size:25px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.8px!important;
  margin:0!important;
  color:#fff!important;
  white-space:nowrap!important;
  max-width:100%!important;
  overflow:visible!important;
}
.brand p{
  max-width:240px!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#dbeafe!important;
  margin:2px auto 0!important;
}
.brandSub{
  display:block!important;
  width:100%!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(219,234,254,.14)!important;
  font-size:13px!important;
  color:#38bdf8!important;
  font-weight:700!important;
}
.navTitle{color:#38bdf8!important;border-bottom:1px solid rgba(56,189,248,.22)!important;margin-top:16px!important;}
.nav{font-size:15px!important;border-radius:11px!important;padding:12px 14px!important;gap:13px!important;}
.nav:hover,.nav.active{background:linear-gradient(135deg,#1367f3,#0b49c8)!important;box-shadow:0 10px 22px rgba(37,99,235,.20)!important;}
.versionBox{
  border:0!important;
  border-top:1px solid rgba(219,234,254,.18)!important;
  border-radius:0!important;
  padding:16px 10px 6px!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  text-align:left!important;
}
.versionBox b{font-size:16px!important;color:#fff!important;margin-bottom:7px!important;}
.versionBox p{font-size:12px!important;line-height:1.4!important;color:#cfe2ff!important;margin:0 0 8px!important;}
.versionBox small{font-size:12px!important;color:#b8d2f7!important;line-height:1.6!important;margin-top:0!important;}
.topbar{
  height:82px!important;
  background:linear-gradient(135deg,#1266f1 0%,#0c4ed0 58%,#0a3aa3 100%)!important;
  box-shadow:0 14px 35px rgba(37,99,235,.20)!important;
  padding:0 30px!important;
}
.topTitle{display:flex!important;align-items:center!important;gap:18px!important;min-width:0!important;}
.menuMark{font-size:26px!important;color:#fff!important;font-weight:900!important;line-height:1!important;opacity:.96;}
.topbar h2{font-size:25px!important;color:#fff!important;font-weight:900!important;letter-spacing:-.2px!important;white-space:nowrap!important;margin:0!important;}
.topMeta{color:#eaf2ff!important;gap:24px!important;}
.topMeta span{color:#eaf2ff!important;font-weight:800!important;}
.topMeta b{color:#fff!important;}
.topMeta .user b{font-size:17px!important;}
.topMeta .user small{color:#dbeafe!important;}
.logoutBtn{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.34)!important;}
.page{padding:34px 36px!important;}
.welcome{
  position:relative!important;
  min-height:210px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4f9ff 62%,#eaf4ff 100%)!important;
  border:1px solid #dce8f6!important;
  border-radius:18px!important;
  box-shadow:var(--shadow)!important;
  padding:36px 42px!important;
  margin-bottom:24px!important;
  overflow:hidden!important;
}
.welcome:after{
  content:"📅";
  position:absolute;
  right:70px;
  top:26px;
  width:150px;
  height:150px;
  border-radius:34px;
  display:grid;
  place-items:center;
  font-size:92px;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  opacity:.95;
}
.welcome h3{font-size:30px!important;letter-spacing:-.4px!important;margin:0 0 12px!important;color:#0f172a!important;}
.welcome p{max-width:520px!important;font-size:17px!important;line-height:1.6!important;color:#475569!important;margin:0!important;}
.stats{gap:18px!important;}
.stat{border-radius:17px!important;padding:20px!important;box-shadow:0 12px 32px rgba(15,23,42,.07)!important;}
.card,.panel{border-radius:17px!important;box-shadow:0 12px 32px rgba(15,23,42,.07)!important;}
.generateBtn{background:linear-gradient(135deg,#0b2d72,#0f5bea)!important;}
@media(max-width:1200px){
  :root{--sidebarW:280px;}
  .brand h1{font-size:22px!important;}
  .brandIcon{width:86px!important;height:86px!important;}
  .brandSvg{width:62px;height:62px;}
  .welcome:after{display:none;}
}
@media print{
  .sidebar,.topbar{display:none!important;}
  main{margin:0 auto!important;}
}

/* V4.4 Analisis Beban Mengajar */
.workloadCard{grid-column:span 2}.workloadMini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.workloadMini div{border-radius:14px;padding:16px;border:1px solid var(--line);background:#fff}.workloadMini b{display:block;font-size:28px;margin-bottom:4px}.workloadMini span{font-weight:800;color:#334155}.workloadRule{margin-top:14px;color:#64748b;font-weight:700}.loadBadge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 12px;font-weight:900;white-space:nowrap;border:1px solid transparent}.loadBlue{background:#dbeafe!important;color:#1d4ed8!important;border-color:#93c5fd!important}.loadGreen{background:#dcfce7!important;color:#15803d!important;border-color:#86efac!important}.loadYellow{background:#fef9c3!important;color:#a16207!important;border-color:#fde047!important}.loadRed{background:#fee2e2!important;color:#b91c1c!important;border-color:#fca5a5!important}.loadNeutral{background:#f1f5f9!important;color:#475569!important;border-color:#cbd5e1!important}.reportLoadBox{margin:16px 0 22px;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:18px;font-size:15px}.reportLoadGrid{justify-content:center;flex-wrap:wrap}.reportLoadGrid span{margin:4px 8px}.tablewrap td .loadBadge{font-size:13px;padding:6px 10px}@media(max-width:1200px){.workloadMini{grid-template-columns:repeat(2,1fr)}.workloadCard{grid-column:auto}}
@media print{.workloadMini{grid-template-columns:repeat(4,1fr)}.reportLoadBox{break-inside:avoid}}

/* V4.5 audit refinement */
.profileGrid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px}
.profileGrid label{display:grid;gap:7px;font-weight:800;color:#334155}
.profileGrid input,.profileGrid select{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:#17213a}
#profileResult{margin-top:10px}
@media(max-width:1200px){.profileGrid{grid-template-columns:1fr 1fr}.profileGrid button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.profileGrid{grid-template-columns:1fr}}

/* Final print rules: keep report centered, landscape, proportional columns */
@page{size:A4 landscape;margin:10mm}
@media print{
  body{display:block!important;background:#fff!important}
  main{margin:0 auto!important;width:100%!important;max-width:none!important}
  #reports.page.active{display:block!important;width:100%!important;padding:0!important}
  #reports .printTitle,#reports .tablewrap,#reports .reportLoadBox,#reports .signature,#reports .docInfo{width:100%!important;max-width:277mm!important;margin-left:auto!important;margin-right:auto!important}
  #reports table{width:100%!important;table-layout:auto!important;border-collapse:collapse!important;font-size:9.4px!important}
  #reports th,#reports td{padding:5px 6px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;vertical-align:top!important}
  #reports th{background:#0b244f!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #reports .signature{page-break-inside:avoid!important;margin-top:28px!important}
  #reports .reportLoadBox{page-break-inside:avoid!important}
}

/* V4.6 — akses administrator */
.authCard{width:min(500px,100%)}
.authSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef4ff;border:1px solid #dbe7fb;border-radius:14px;padding:6px;margin:4px 0 20px}
.loginCard .authSwitch .authTab{margin:0!important;padding:11px 10px!important;border-radius:10px!important;background:transparent!important;color:#48617f!important;font-size:14px!important;box-shadow:none!important}
.loginCard .authSwitch .authTab.active{background:#fff!important;color:#0b244f!important;box-shadow:0 5px 16px rgba(15,40,80,.10)!important}
.loginCard .authSwitch .authTab:disabled{opacity:.45;cursor:not-allowed}
.authPanel{animation:authFade .18s ease}
.authIntro{background:#f8fbff;border:1px solid #dbe7fb;border-radius:12px;padding:12px 14px;color:#53627a;line-height:1.45;margin-bottom:16px;font-size:13px}
@keyframes authFade{from{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:none}}


/* V4.7 — perbaikan akses Administrator dan responsivitas layar */
.loginOverlay{
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:clamp(18px,4vh,42px) 20px!important;
  box-sizing:border-box!important;
}
.loginCard{
  width:min(520px,100%)!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:clamp(24px,3vw,34px)!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
}
.authCard{width:min(520px,100%)!important;}
.loginLogo{flex:0 0 auto!important;}
.authPanel{width:100%!important;box-sizing:border-box!important;}
.authPanel button[type="submit"]{display:block!important;width:100%!important;min-height:52px!important;position:relative!important;z-index:2!important;}
.authPanel button[type="submit"]:disabled{opacity:.72!important;cursor:wait!important;}
.authPanel small{min-height:20px!important;line-height:1.4!important;}
@media(max-height:760px){
  .loginOverlay{padding-top:14px!important;padding-bottom:14px!important;}
  .loginCard{padding:20px 24px!important;border-radius:20px!important;}
  .loginLogo{width:56px!important;height:56px!important;font-size:28px!important;margin-bottom:10px!important;}
  .loginCard h1{font-size:28px!important;}
  .loginCard p{margin:6px 0 14px!important;}
  .authSwitch{margin-bottom:14px!important;}
  .authIntro{margin-bottom:10px!important;padding:10px 12px!important;}
  .loginCard label{margin:8px 0 4px!important;}
  .loginCard input{padding:11px 14px!important;}
  .loginCard button{margin-top:12px!important;padding:12px 16px!important;}
}
@media(max-width:560px){
  .loginOverlay{padding:12px!important;}
  .loginCard{padding:20px 16px!important;border-radius:18px!important;}
  .loginCard h1{font-size:26px!important;line-height:1.15!important;}
  .authSwitch{grid-template-columns:1fr!important;}
}


/* Smart Schedule 360 V4.8 — universal branding and live date/time */
.brand h1{white-space:nowrap;font-size:20px!important;letter-spacing:-.25px}.brandSub{font-size:10.5px!important;line-height:1.35!important;display:block!important;max-width:185px}.versionBox{color:#fff!important}.versionBox small{color:#c7dbf7!important}.topMeta .liveMetaDate,.topMeta .liveMetaTime{white-space:nowrap}.liveDateTimeCard{margin-left:auto;display:flex;align-items:stretch;gap:12px;min-width:360px}.calendarBadge{width:118px;border-radius:16px;background:linear-gradient(160deg,#0b63e5,#0b3ea5);color:#fff;display:grid;grid-template-rows:auto 1fr auto;place-items:center;padding:12px;box-shadow:0 10px 28px rgba(17,79,181,.18)}.calendarBadge span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.calendarBadge b{font-size:38px;line-height:1}.calendarBadge small{font-size:11px;color:#dbeafe;text-align:center}.digitalClock{min-width:220px;border-radius:16px;border:1px solid #dbe7f5;background:linear-gradient(180deg,#fff,#f6faff);padding:14px 18px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 24px rgba(15,61,131,.08)}.digitalClock small{color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.digitalClock b{font-variant-numeric:tabular-nums;font-size:32px;letter-spacing:1.5px;color:#0b244f;line-height:1.2}.digitalClock span{color:#5b6c87;font-size:13px;margin-top:3px}.welcome{display:flex!important;align-items:center!important;gap:28px!important;justify-content:space-between!important;min-height:168px!important}.welcome>div:first-child{flex:1}.welcome:after{display:none!important}@media(max-width:1050px){.liveDateTimeCard{min-width:0;width:100%;margin-left:0}.welcome{align-items:flex-start!important;flex-direction:column!important}.topMeta{gap:12px!important}.topMeta .liveMetaTime{display:none}}@media(max-width:700px){.liveDateTimeCard{flex-direction:column}.calendarBadge,.digitalClock{width:100%;min-width:0}.topMeta .liveMetaDate{display:none}}


/* V4.9 Institutional Profile & Official Letterhead */
.institutionProfileCard{max-width:880px!important;width:min(880px,96vw)!important;max-height:calc(100vh - 32px)!important;overflow:auto!important}
.profileSetupGrid,.institutionSettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:left}
.profileSetupGrid label,.institutionSettingsGrid label{display:grid;gap:6px;font-weight:800;color:#253451}
.profileSetupGrid .full,.institutionSettingsGrid .full{grid-column:1/-1}
.profileSetupGrid input,.institutionSettingsGrid input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:#17213a;font-size:14px}
.institutionSettingsGrid>button{grid-column:1/-1;justify-self:start}
.logoPreviewBox{min-height:96px;border:1px dashed #a9b9d2;border-radius:14px;background:#f8fbff;padding:12px;display:flex;align-items:center;gap:16px;color:#66758c;font-weight:600}
.logoPreviewBox img{display:none;width:78px;height:78px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid #e3e9f2;padding:5px}
.officialLetterhead{width:100%;max-width:277mm;margin:0 auto 14px auto;color:#111827}
.letterheadInner{display:grid;grid-template-columns:95px 1fr 95px;align-items:center;min-height:104px;gap:16px}
.letterheadLogo{display:flex;justify-content:center;align-items:center}.letterheadLogo img{width:80px;height:80px;object-fit:contain}
.letterheadText{text-align:center;line-height:1.22}.lhLine{font-weight:800;text-transform:uppercase}.lh1{font-size:13px}.lh2{font-size:17px}.lh3{font-size:15px}.lh4{font-size:13px;margin-top:2px}.lhContact{font-size:9.5px;margin-top:7px;font-weight:600;color:#46556d;text-transform:none}
.letterheadRule{border-top:3px solid #101827;border-bottom:1px solid #101827;height:4px;margin-top:3px}
.reportPerson{text-align:center;font-weight:800;margin-top:5px;color:#24324b}
@media(max-width:760px){.profileSetupGrid,.institutionSettingsGrid{grid-template-columns:1fr}.profileSetupGrid .full,.institutionSettingsGrid .full{grid-column:auto}.letterheadInner{grid-template-columns:70px 1fr 20px}.letterheadLogo img{width:60px;height:60px}}
@media print{
  .officialLetterhead{display:block!important;break-inside:avoid!important;margin-bottom:10px!important}
  .letterheadInner{grid-template-columns:85px 1fr 85px!important;min-height:88px!important}
  .letterheadLogo img{width:70px!important;height:70px!important}
  .lh1{font-size:10.5px!important}.lh2{font-size:14px!important}.lh3{font-size:12px!important}.lh4{font-size:10.5px!important}.lhContact{font-size:7.5px!important}
  .letterheadRule{border-top:2.5px solid #000!important;border-bottom:1px solid #000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* V5.1 — Strategi penggunaan ruang */
.roomStrategyBox{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7faff)}
.roomStrategyBox h3{margin:0 0 6px}.roomStrategyBox>p{margin:0 0 16px;color:#64748b}
.roomStrategyChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.roomStrategyCard{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid #d7e2f2;border-radius:15px;background:#fff;cursor:pointer;transition:.2s ease;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.roomStrategyCard:hover{border-color:#8fb4ff;transform:translateY(-1px)}
.roomStrategyCard:has(input:checked){border:2px solid #2563eb;background:#eff6ff;box-shadow:0 10px 24px rgba(37,99,235,.12)}
.roomStrategyCard input{margin-top:5px;accent-color:#2563eb}
.roomStrategyIcon{width:40px;height:40px;border-radius:11px;background:#eaf2ff;display:grid;place-items:center;font-size:21px;flex:0 0 auto}
.roomStrategyCard b{display:block;font-size:16px;color:#102044;margin-bottom:5px}.roomStrategyCard small{display:block;color:#64748b;line-height:1.45;font-weight:500}
.roomStrategySummary{margin-top:14px;padding:12px 14px;border-radius:12px;background:#0b244f;color:#fff;display:grid;gap:3px}.roomStrategySummary span{font-size:13px;color:#c8d7ee}
.roomCapacityNotice{display:flex;gap:14px;align-items:flex-start;margin:16px 0;padding:16px;border-radius:14px;border:1px solid var(--line);background:#f8fbff}.roomCapacityNotice.hidden{display:none}.roomCapacityNotice.good{background:#f0fdf4;border-color:#86efac}.roomCapacityNotice.warn{background:#eff6ff;border-color:#93c5fd}.roomCapacityNotice.bad{background:#fff7ed;border-color:#fdba74}.roomCapacityNotice b{display:block;font-size:17px;color:#13213d;margin-bottom:5px}.roomCapacityNotice p{margin:0 0 6px;color:#43516b;line-height:1.45}.roomCapacityNotice small{color:#64748b}.roomNoticeIcon{font-size:24px;line-height:1}
.generateStrategy{margin:16px auto 20px;max-width:560px;padding:15px;border-radius:14px;background:#f7faff;border:1px solid var(--line);display:grid;gap:5px;text-align:left}.generateStrategy>span{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:800}.generateStrategy b{font-size:18px}.generateStrategy small{color:#64748b;line-height:1.45}.secondaryRoomBtn{justify-self:start!important;background:#eaf2ff!important;color:#17479e!important;padding:9px 13px!important;margin:6px 0 0!important}
@media(max-width:820px){.roomStrategyChoices{grid-template-columns:1fr}}
.roomPriorityBox{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fffdf7,#fffaf0)}
.roomPriorityHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.roomPriorityHead h3{margin:0 0 6px}.roomPriorityHead p{margin:0;color:#64748b;line-height:1.5}.addPriorityBtn{white-space:nowrap}
.roomPriorityRows{display:grid;gap:10px}.roomPriorityRow{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px;border:1px solid #e4eaf4;border-radius:12px;background:#fff}.roomPriorityRow label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#334155}.roomPriorityRow input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd9e8;border-radius:9px;font:inherit;color:#13213d}.deletePriorityBtn{background:#fff1f2!important;color:#be123c!important;border:1px solid #fecdd3!important;padding:10px 12px!important}
.roomPriorityExample{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:13px}.roomPriorityActions{display:flex;align-items:center;gap:14px;margin-top:12px}.roomPriorityActions span{font-weight:700;color:#166534}
@media(max-width:900px){.roomPriorityHead{display:block}.addPriorityBtn{margin-top:10px}.roomPriorityRow{grid-template-columns:1fr}.deletePriorityBtn{justify-self:start}}

/* V5.4 - Harga & Paket + Detail Professional */
.pricingHero{background:linear-gradient(135deg,#082a62,#0b5bd3);color:#fff;border-radius:22px;padding:34px;margin-bottom:22px;box-shadow:0 16px 40px rgba(8,42,98,.16)}
.pricingHero h3{font-size:30px;margin:10px 0 8px}.pricingHero p{max-width:850px;line-height:1.65;margin:0}.pricingBadge,.planTag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:7px 11px}.pricingBadge{background:rgba(255,255,255,.16)}
.trialStatus{margin-top:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:14px 18px;border-radius:14px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.trialStatus b{font-size:18px}.trialStatus span{opacity:.9}
.pricingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.priceCard{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.06);position:relative}.priceCard.featured{border:2px solid #0b5bd3}.priceCard .planTag{background:#eef4ff;color:#0757d8}.priceCard h3{font-size:23px;margin:15px 0 10px}.priceValue{font-size:34px;font-weight:900;color:#0b2d63;min-height:52px}.priceValue.coming{font-size:21px;line-height:1.3}.pricePeriod{color:#64748b;min-height:40px}.priceCard ul{list-style:none;padding:0;margin:20px 0;line-height:2;color:#334155}.priceCard button{width:100%}.priceCard button:disabled{opacity:.55;cursor:not-allowed}.paymentFuture,.pricingNote{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px;margin-top:20px}.paymentFuture h3{margin-top:0}.paymentChips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.paymentChips span{background:#f1f5f9;border:1px solid #dbe4ee;padding:9px 13px;border-radius:999px;font-weight:700;color:#334155}.paymentFuture small,.pricingNote p{color:#64748b;line-height:1.6}.pricingNote{border-left:5px solid #f59e0b}
@media(max-width:1000px){.pricingGrid{grid-template-columns:1fr}.pricingHero h3{font-size:25px}}

.oldPrice{font-size:16px;color:#94a3b8;text-decoration:line-through;font-weight:700}.primaryPlanBtn{background:#0b5bd3!important;color:#fff!important;border-color:#0b5bd3!important}.planDetail{margin-top:22px;background:#fff;border:2px solid #0b5bd3;border-radius:22px;padding:26px;box-shadow:0 16px 38px rgba(11,91,211,.12);scroll-margin-top:120px}.planDetail[hidden],.institutionInquiry[hidden]{display:none!important}.planDetailHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.planDetailHeader h3{font-size:28px;margin:10px 0 5px;color:#0b2d63}.planDetailHeader p{margin:0;color:#64748b}.detailBadge{background:#eaf2ff;color:#0757d8}.closePlanBtn{width:auto!important;padding:9px 16px}.planDetailGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:22px}.planSummary,.planBenefits,.checkoutPreview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:22px}.normalPrice{color:#64748b;font-weight:700}.launchPrice{font-size:42px;font-weight:900;color:#0b2d63;margin:7px 0}.planTerm{font-weight:700;color:#334155}.savingNote{display:inline-block;margin-top:14px;background:#ecfdf5;color:#047857;border-radius:999px;padding:7px 11px;font-weight:800}.planBenefits h4,.checkoutPreview h4{margin-top:0;color:#0b2d63;font-size:19px}.planBenefits ul{list-style:none;padding:0;margin:0;line-height:1.9;color:#334155}.checkoutPreview{margin-top:20px;background:#fff}.paymentMethodGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.paymentMethodGrid button{background:#f1f5f9;color:#334155;border:1px solid #dbe4ee}.checkoutDisabled{width:100%;margin-top:4px}.checkoutPreview small{display:block;margin-top:10px;color:#64748b}.institutionInquiry{margin-top:20px;padding:20px 22px;border-radius:18px;background:#f8fafc;border:1px solid #cbd5e1;scroll-margin-top:120px}.institutionInquiry b{font-size:19px;color:#0b2d63}.institutionInquiry p{margin-bottom:0;color:#64748b;line-height:1.6}@media(max-width:850px){.planDetailGrid{grid-template-columns:1fr}.paymentMethodGrid{grid-template-columns:1fr 1fr}.planDetailHeader{flex-direction:column}.closePlanBtn{align-self:flex-end}}

/* V5.5 - Pricing & Institutional Licensing */
.license-architecture{margin:28px 0;padding:30px;border:1px solid #c9d9ee;border-radius:24px;background:#fff}
.license-head h2{margin:10px 0 6px;color:#123b78;font-size:30px}.license-head p{color:#536987;font-size:17px}
.license-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.license-grid article{padding:22px;border:1px solid #d8e3f1;border-radius:18px;background:#f8fbff;display:flex;flex-direction:column;gap:8px}
.license-grid h3{margin:0;color:#123b78;font-size:22px}.license-grid p{margin:0;color:#425775}.license-grid strong{margin-top:8px}.license-grid small{font-size:14px;color:#60738e}
.license-flow,.license-status-demo{margin-top:20px;padding:22px;border:1px solid #d8e3f1;border-radius:18px;background:#fbfdff}
.flow-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-row span{padding:10px 13px;border-radius:12px;background:#edf5ff;color:#123b78;font-weight:700}
.license-note{margin:15px 0 0;color:#5c6f88}.active-license{display:inline-block;padding:4px 10px;border-radius:999px;background:#e5f8ed;color:#087a3e;font-weight:800}
@media(max-width:900px){.license-grid{grid-template-columns:1fr}.flow-row b{display:none}.flow-row span{width:100%}}

/* V5.6 final institutional licensing */
.pricing-policy-note{margin:22px 0;padding:16px 20px;border-radius:16px;background:#f5f9ff;border:1px solid #d5e3f5;display:flex;gap:8px;flex-direction:column;color:#284b76}
.license-security,.license-hierarchy{margin-top:20px;padding:22px;border:1px solid #d8e3f1;border-radius:18px;background:#fbfdff}
.security-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.security-grid div{padding:15px;border-radius:14px;background:#f1f7ff;display:flex;flex-direction:column;gap:5px}
.security-grid b{color:#123b78}.security-grid span{color:#5a6d86;font-size:14px}
.hierarchy-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px;border-radius:14px;background:#f5f9ff}
.hierarchy-box b{padding:9px 14px;background:#fff;border:1px solid #d5e3f5;border-radius:10px;color:#123b78}
.hierarchy-box p{max-width:760px;margin:8px 0 0;color:#536987}
.status-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e7edf5}
.status-row:last-child{border-bottom:0}
@media(max-width:700px){.security-grid{grid-template-columns:1fr}.status-row{flex-direction:column;gap:4px}}

/* V5.7 academic scope verification */
.license-data-policy{margin:28px 0;padding:28px;border:1px solid #c9d9ee;border-radius:24px;background:#fff}
.verify-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0}
.verify-flow span{padding:11px 14px;border-radius:12px;background:#edf5ff;color:#123b78;font-weight:750}
.verify-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.verify-examples article{padding:18px;border:1px solid #d8e3f1;border-radius:16px;background:#f9fbfe}
.verify-examples h3{margin:0 0 8px;color:#123b78}.verify-examples p{margin:0;color:#536987}
@media(max-width:850px){.verify-examples{grid-template-columns:1fr}.verify-flow b{display:none}.verify-flow span{width:100%;text-align:center}}

/* V5.9 language selector */
.ss360-language-switcher{position:fixed;top:14px;right:16px;z-index:10050;display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.96);border:1px solid #d8e3f1;border-radius:12px;box-shadow:0 5px 18px rgba(20,45,80,.12)}
.ss360-language-switcher button{border:0;background:transparent;color:#49627f;font-weight:800;font-size:12px;padding:7px 10px;border-radius:8px;cursor:pointer}
.ss360-language-switcher button.active{background:#123b78;color:#fff}
@media(max-width:700px){.ss360-language-switcher{top:8px;right:8px}}

.ss360-internal-only{display:none!important}
.ss360-plan-activation{margin:28px 32px}
.ss360-activation-card{background:#fff;border:1px solid #d7e3f2;border-radius:24px;padding:28px;box-shadow:0 10px 32px rgba(30,63,110,.08)}
.ss360-activation-eyebrow{font-size:12px;font-weight:800;color:#1763d8;letter-spacing:.08em}
.ss360-activation-card h2{font-size:30px;margin:8px 0;color:#11213d}
.ss360-activation-card p{color:#5d6f89}
.ss360-activation-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.ss360-activation-steps div{background:#eef5ff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px}
.ss360-activation-steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1763d8;color:#fff}
.ss360-activation-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ss360-activation-form label{font-weight:700;color:#223b62;font-size:14px}
.ss360-activation-form input{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd9eb;border-radius:10px;font-size:15px}
.ss360-activation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.ss360-activation-actions button{padding:11px 18px;border-radius:10px;font-weight:800;cursor:pointer}
.ss360-activation-actions .primary,.primaryPlanBtn{background:#1763d8!important;color:#fff!important;border:1px solid #1763d8!important}
.ss360-activation-actions .secondary{background:#fff;color:#36516f;border:1px solid #cbd9eb}
.ss360-activation-note{font-size:13px;margin-top:16px}
@media(max-width:800px){.ss360-activation-steps,.ss360-activation-form{grid-template-columns:1fr}.ss360-plan-activation{margin:18px}}

/* V6.1 activation layout and interaction feedback */
#pricing .ss360-plan-activation{
  display:block;
  width:100%;
  margin:24px 0 6px;
  scroll-margin-top:110px;
}
#pricing .ss360-plan-activation[hidden]{display:none!important}
#pricing .ss360-activation-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  overflow:hidden;
}
.primaryPlanBtn{
  min-height:44px;
  transition:transform .14s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}
.primaryPlanBtn:hover{filter:brightness(1.05);box-shadow:0 8px 20px rgba(23,99,216,.22)}
.primaryPlanBtn:active,.primaryPlanBtn.button-pressed{transform:scale(.965);filter:brightness(.94)}
.primaryPlanBtn.selected-plan{
  box-shadow:0 0 0 3px rgba(23,99,216,.20),0 10px 24px rgba(23,99,216,.22)!important;
}
.activation-enter{animation:ss360ActivationIn .34s ease both}
.activation-leave{animation:ss360ActivationOut .18s ease both}
@keyframes ss360ActivationIn{
  from{opacity:0;transform:translateY(-12px) scale(.99)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ss360ActivationOut{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-8px)}
}
.ss360-action-toast{
  position:fixed;left:50%;bottom:28px;z-index:20000;
  transform:translate(-50%,18px);opacity:0;
  background:#102a55;color:#fff;border-radius:999px;
  padding:11px 18px;font-weight:800;font-size:14px;
  box-shadow:0 12px 32px rgba(16,42,85,.28);
  pointer-events:none;transition:opacity .2s ease,transform .2s ease;
}
.ss360-action-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){
  #pricing .ss360-plan-activation{margin:18px 0 4px}
  .ss360-action-toast{max-width:calc(100% - 30px);text-align:center;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  .primaryPlanBtn,.ss360-action-toast{transition:none}
  .activation-enter,.activation-leave{animation:none}
}

/* V6.2 — bright, crisp, compact navigation */
.sidebar{
  background:linear-gradient(180deg,#071b3d 0%,#082752 52%,#071a37 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:10px 0 28px rgba(7,27,61,.10)!important;
}
.sidebar::before,.sidebar::after{opacity:0!important;backdrop-filter:none!important;filter:none!important}
.sidebar .brand,.sidebar-brand,.sidebarBrand{
  padding-top:14px!important;
  padding-bottom:12px!important;
  margin-bottom:8px!important;
}
.sidebar .logo,.sidebar-logo,.brand-logo,.app-logo{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}
.sidebar h1,.sidebar .brand-title,.sidebar-brand-title{
  font-size:20px!important;line-height:1.15!important;margin:7px 0 2px!important;color:#fff!important
}
.sidebar .brand-subtitle,.sidebar-brand-subtitle{
  font-size:11px!important;line-height:1.25!important;color:#dce9ff!important
}
.sidebar nav,.sidebar-menu,.nav-menu{
  padding-top:2px!important;
}
.sidebar .menu-section-title,.sidebar .nav-section-title,.sidebar .section-label{
  margin-top:9px!important;margin-bottom:5px!important;padding-top:0!important;
  font-size:10px!important;letter-spacing:.07em!important;color:#5fd1ff!important
}
.sidebar a,.sidebar button,.sidebar .menu-item,.sidebar .nav-item{
  min-height:38px!important;
  margin-top:2px!important;margin-bottom:2px!important;
  padding-top:8px!important;padding-bottom:8px!important;
  color:#f4f8ff!important;
  opacity:1!important;
  filter:none!important;
}
.sidebar a:hover,.sidebar button:hover,.sidebar .menu-item:hover,.sidebar .nav-item:hover{
  background:rgba(35,111,239,.26)!important;
}
.sidebar .active,.sidebar .menu-item.active,.sidebar .nav-item.active{
  background:linear-gradient(90deg,#1670f8,#1759d8)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(20,93,220,.25)!important;
}
.sidebar .sidebar-footer,.sidebar-footer{
  margin-top:10px!important;padding-top:10px!important;
  color:#c7d8f1!important;font-size:10px!important;
}
.sidebar *{text-shadow:none!important}

/* Keep Pricing & Plans visible on standard laptop screens */
@media (min-height:700px){
  .sidebar{overflow-y:auto!important}
  .sidebar .brand,.sidebar-brand,.sidebarBrand{transform:scale(.94);transform-origin:top center}
}
@media (min-height:820px){
  .sidebar{overflow-y:hidden!important}
}

/* V6.2 — approved Pricing & Plans visual direction */
#pricing{background:#f5f9ff!important}
#pricing .pricingHero{
  background:linear-gradient(110deg,#eef6ff 0%,#dfeeff 62%,#cfe6ff 100%)!important;
  border:1px solid #cbdff8!important;border-radius:20px!important;
  box-shadow:0 8px 28px rgba(32,84,150,.08)!important;
}
#pricing .planGrid{
  gap:22px!important;
  align-items:stretch!important;
}
#pricing .planCard{
  background:#fff!important;border:1px solid #d7e3f2!important;border-radius:20px!important;
  box-shadow:0 10px 28px rgba(31,70,120,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
#pricing .planCard:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(31,70,120,.13)!important}
#pricing .planCard:first-child{border:2px solid #1970ef!important}
#pricing .planCard h3{font-size:27px!important;color:#10254a!important}
#pricing .priceValue,#pricing .launchPrice{font-weight:900!important}
#pricing .primaryPlanBtn{
  border-radius:12px!important;min-height:48px!important;font-size:15px!important;font-weight:800!important
}
#pricing .planCard:nth-child(2) .primaryPlanBtn{
  background:linear-gradient(90deg,#7435e8,#9b22ed)!important;border-color:#8130ea!important
}
#pricing .planCard:nth-child(3) .primaryPlanBtn{
  background:linear-gradient(90deg,#ff5c12,#ff8a00)!important;border-color:#ff6a0a!important
}

/* =====================================================================
   V6.3 APPROVED VISUAL REBUILD
   ===================================================================== */
:root{--sidebarW:260px!important}
body{background:#f4f8fe!important}
.sidebar{
  width:var(--sidebarW)!important;
  padding:10px 12px 10px!important;
  background:linear-gradient(180deg,#061a3d 0%,#072a59 54%,#061a38 100%)!important;
  overflow:hidden!important;
  box-shadow:8px 0 24px rgba(8,34,76,.10)!important;
}
main{margin-left:var(--sidebarW)!important}

/* New approved logo: no oversized legacy SVG/text block */
.brandApproved{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  height:116px!important;
  margin:0 0 3px!important;
  padding:0!important;
  flex:0 0 116px!important;
}
.approvedLogo{
  display:block!important;
  width:210px!important;
  max-width:92%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}

/* All navigation visible in standard laptop viewport */
.compactNav{
  flex:1 1 auto!important;
  overflow:hidden!important;
  padding:0 2px!important;
  min-height:0!important;
}
.compactNav .navTitle{
  color:#7eb7f6!important;
  font-size:9.5px!important;
  letter-spacing:.08em!important;
  margin:5px 5px 2px!important;
  padding:3px 3px 3px!important;
  line-height:1!important;
  border-bottom:1px solid rgba(85,153,229,.35)!important;
}
.compactNav .nav{
  min-height:27px!important;
  height:27px!important;
  padding:3px 8px!important;
  margin:1px 0!important;
  gap:9px!important;
  border-radius:8px!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#edf5ff!important;
}
.compactNav .nav span:first-child{
  width:17px!important;
  min-width:17px!important;
  text-align:center!important;
  font-size:13px!important;
}
.compactNav .nav:hover{
  background:rgba(33,101,206,.24)!important;
  transform:none!important;
}
.compactNav .nav.active{
  background:linear-gradient(90deg,#1168ed,#1559d0)!important;
  box-shadow:0 5px 13px rgba(17,92,218,.24)!important;
}
.compactNav .pricingNav{font-weight:900!important}
.sidebarMiniFooter{
  flex:0 0 42px!important;
  height:42px!important;
  padding:5px 7px 0!important;
  border-top:1px solid rgba(114,164,224,.28)!important;
  color:#87a9d5!important;
  font-size:8px!important;
  line-height:1.25!important;
}
.sidebarMiniFooter b{display:block;color:#bcd1ee!important;font-size:8.5px!important;font-weight:600!important}
.sidebarMiniFooter small{display:block;color:#4ade80!important;margin-top:2px!important;font-size:8px!important}

/* Pricing page approved mockup */
.pricingApproved{
  padding:20px 26px 16px!important;
  background:linear-gradient(180deg,#f5f9ff,#eef5fd)!important;
}
.approvedPricingHero{
  min-height:214px!important;
  display:grid!important;
  grid-template-columns:1.55fr .9fr!important;
  align-items:center!important;
  padding:24px 28px!important;
  border-radius:18px!important;
  border:1px solid #cbdff8!important;
  background:linear-gradient(110deg,#f4f9ff 0%,#e5f2ff 58%,#d4eaff 100%)!important;
  box-shadow:0 8px 24px rgba(38,86,146,.07)!important;
  color:#102950!important;
  overflow:hidden!important;
}
.approvedPricingHero .pricingBadge{
  display:inline-block!important;
  background:transparent!important;
  color:#1159c9!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  padding:0!important;
}
.approvedPricingHero h3{
  color:#0a2552!important;
  font-size:38px!important;
  line-height:1.05!important;
  margin:10px 0 8px!important;
}
.approvedPricingHero p{
  color:#28528d!important;
  font-size:15px!important;
  line-height:1.35!important;
  max-width:720px!important;
  margin:0 0 14px!important;
}
.approvedPricingHero .trialStatus{
  width:max-content!important;
  max-width:100%!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid #acd0fa!important;
  border-radius:999px!important;
  color:#0d4eae!important;
  padding:7px 14px 7px 8px!important;
  display:flex!important;
  gap:9px!important;
  align-items:center!important;
  font-size:12px!important;
}
.giftDot{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#eaf4ff!important}
.pricingHeroArt svg{width:100%!important;height:auto!important;display:block!important}

.approvedPricingGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:20px!important;
}
.approvedPricingGrid .priceCard{
  display:flex!important;
  flex-direction:column!important;
  min-height:525px!important;
  padding:18px 20px 17px!important;
  border-radius:18px!important;
  border:1px solid #d7e3f2!important;
  background:#fff!important;
  box-shadow:0 9px 25px rgba(37,72,119,.08)!important;
  overflow:hidden!important;
}
.approvedPricingGrid .priceCard.featured{
  border:2px solid #1671ef!important;
}
.planHeaderRow{height:28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.approvedPricingGrid .planTag{
  display:inline-block!important;
  width:auto!important;
  background:#eaf2ff!important;
  color:#1464d8!important;
  padding:6px 14px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.approvedPricingGrid .facultyTag{background:#8c3de8!important;color:#fff!important}
.approvedPricingGrid .higherTag{background:#ff8a13!important;color:#fff!important}
.recommendedBadge{
  background:#12a84d!important;color:#fff!important;border-radius:999px!important;
  padding:6px 11px!important;font-size:9px!important;font-weight:900!important;
}
.planVisual{height:88px!important;margin:4px 0 0!important;display:flex!important;align-items:end!important;justify-content:center!important}
.planVisual svg{width:100%!important;max-width:245px!important;height:88px!important}
.approvedPricingGrid h3{
  color:#0c2247!important;font-size:25px!important;line-height:1!important;margin:5px 0 4px!important;
}
.planSubtitle{color:#6a7e9d!important;font-size:12px!important;margin:0 0 10px!important}
.approvedPricingGrid .priceValue{
  color:#0c3b87!important;font-size:31px!important;line-height:1!important;font-weight:900!important;margin:0 0 8px!important;
}
.approvedPricingGrid .oldPrice{
  color:#8ea2be!important;font-size:16px!important;font-weight:800!important;
}
.approvedPricingGrid .facultyPlanCard .priceValue b{color:#7423df!important;font-size:31px!important}
.approvedPricingGrid .higherPlanCard .priceValue b{color:#f05710!important;font-size:31px!important}
.approvedPricingGrid .pricePeriod{
  width:max-content!important;max-width:100%!important;
  padding:5px 12px!important;border-radius:999px!important;
  background:#e9f5ff!important;color:#0c5eb9!important;
  font-size:11px!important;font-weight:800!important;margin:0 0 12px!important;
}
.approvedPricingGrid ul{
  list-style:none!important;padding:0!important;margin:0 0 14px!important;
  color:#314b72!important;font-size:12px!important;line-height:1.45!important;
}
.approvedPricingGrid li{margin:5px 0!important}
.approvedPricingGrid li::first-letter{color:#16a85b!important}
.approvedPricingGrid .primaryPlanBtn{
  margin-top:auto!important;width:100%!important;min-height:50px!important;
  border-radius:11px!important;border:0!important;color:#fff!important;
  font-size:13px!important;font-weight:900!important;text-align:center!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;
  box-shadow:none!important;
}
.approvedPricingGrid .primaryPlanBtn small{font-size:9px!important;font-weight:600!important;opacity:.85!important;margin-top:2px!important}
.schoolBtn{background:linear-gradient(90deg,#0758d8,#0c78f4)!important}
.facultyBtn{background:linear-gradient(90deg,#7025d8,#9c22ed)!important}
.higherBtn{background:linear-gradient(90deg,#ff5712,#ff8a00)!important}

.pricingTrustStrip{
  margin-top:18px!important;background:#fff!important;border:1px solid #cfdef0!important;border-radius:14px!important;
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  padding:10px 16px!important;box-shadow:0 6px 18px rgba(37,72,119,.05)!important;
}
.pricingTrustStrip>div{display:flex!important;gap:10px!important;align-items:center!important;padding:2px 16px!important;border-right:1px solid #dce6f3!important}
.pricingTrustStrip>div:last-child{border-right:0!important}
.trustIcon{display:grid!important;place-items:center!important;width:35px!important;height:35px!important;border-radius:50%!important;background:#1168e7!important;color:#fff!important;font-weight:900!important;font-size:18px!important}
.pricingTrustStrip p{margin:0!important;color:#264467!important;font-size:10px!important;line-height:1.25!important}
.pricingTrustStrip b{display:block!important;color:#0b2855!important;font-size:11px!important}
.pricingTrustStrip small{display:block!important;color:#6780a3!important;font-size:9px!important}
.pricingBottom{display:flex!important;justify-content:space-between!important;color:#7387a4!important;font-size:8.5px!important;padding:9px 2px 0!important}

/* Hide legacy pricing-only blocks, not used in approved customer view */
#professionalPlanDetail,#institutionInquiry,.paymentFuture,.pricingNote{display:none!important}

/* Activation remains functional and opens under the cards */
#pricing .ss360-plan-activation{margin:18px 0!important}

/* Responsive */
@media(max-width:1100px){
  :root{--sidebarW:230px!important}
  .approvedPricingGrid{grid-template-columns:1fr!important}
  .approvedPricingHero{grid-template-columns:1fr!important}
  .pricingHeroArt{display:none!important}
  .compactNav .nav{font-size:10.8px!important}
}
@media(max-height:760px) and (min-width:1000px){
  .brandApproved{height:98px!important;flex-basis:98px!important}
  .approvedLogo{width:180px!important}
  .compactNav .nav{height:25px!important;min-height:25px!important;font-size:10.8px!important}
  .compactNav .navTitle{margin-top:3px!important;padding:2px!important}
  .sidebarMiniFooter{height:34px!important;flex-basis:34px!important}
}

/* =====================================================================
   V6.4 LOCAL TEST — onboarding, email verification & institution identity
   ===================================================================== */
.verificationCard{max-width:560px!important}
.verificationMark{
  width:66px;height:66px;border-radius:20px;display:grid;place-items:center;
  margin:0 auto 10px;background:linear-gradient(145deg,#eaf4ff,#d9eaff);
  color:#1267df;font-size:32px;font-weight:900;border:1px solid #c9def8
}
.stepPill{
  width:max-content;margin:0 auto 7px;padding:5px 11px;border-radius:999px;
  background:#eef5ff;color:#1763d8;font-size:10px;font-weight:900;letter-spacing:.07em
}
.successPill{background:#e9f8ef;color:#118348}
.localTestMailbox,.localRegistryPanel{
  margin:18px 0;padding:15px;border:1px solid #bfd7f4;border-radius:15px;
  background:linear-gradient(135deg,#f7fbff,#eef6ff);display:flex;align-items:center;justify-content:space-between;gap:14px
}
.localTestMailbox>div:first-child,.registryIntro{display:flex;flex-direction:column;gap:3px;text-align:left}
.localTestMailbox b,.localRegistryPanel b{color:#163b70}
.localTestMailbox small,.localRegistryPanel small{color:#667e9f;line-height:1.35}
.mailboxBadge{
  display:inline-block;width:max-content;background:#1763d8;color:#fff;border-radius:999px;
  padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.06em
}
.localCode{
  flex:0 0 auto;font:900 28px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;color:#0e4ca3;background:#fff;border:1px dashed #8bb8ed;border-radius:12px;padding:12px 14px
}
.verificationCodeInput{
  text-align:center!important;font-size:25px!important;letter-spacing:.24em!important;font-weight:900!important
}
.verificationActions{display:flex;justify-content:center;gap:12px;margin:10px 0 3px}
.verificationActions .textAction{
  background:transparent!important;color:#1763d8!important;border:0!important;box-shadow:none!important;
  padding:5px 8px!important;font-size:12px!important;text-decoration:underline
}
.localRegistryPanel{display:block}
.testIdentityButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}
.testIdentityButtons button{
  background:#fff!important;color:#17457d!important;border:1px solid #bed5ef!important;
  box-shadow:none!important;padding:10px 7px!important;font-size:11px!important
}
.testIdentityButtons button:hover{border-color:#1763d8!important;background:#f0f7ff!important}
.identityVerifyCard{max-width:870px!important}
.identityVerifyCard .profileSetupGrid{max-height:43vh;overflow:auto;padding-right:5px}
.identityResult{
  margin:14px 0;padding:11px 13px;border-radius:12px;display:flex;align-items:center;gap:11px;text-align:left
}
.identityResult>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.identityResult div{display:flex;flex-direction:column}
.identityResult small{margin-top:2px}
.identityResult.waiting{background:#f1f6fc;color:#45617f}.identityResult.waiting>span{background:#dde9f6}
.identityResult.success{background:#eaf8f0;color:#116c3d;border:1px solid #bde5cd}.identityResult.success>span{background:#ccefd9}
.identityResult.error{background:#fff0ef;color:#9c302a;border:1px solid #f0c4c1}.identityResult.error>span{background:#f8d9d6}
.freeActivationCard{max-width:620px!important;text-align:center}
.successSeal{
  width:76px;height:76px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#1ebb65,#0c994a);color:#fff;font-size:42px;font-weight:900;
  box-shadow:0 10px 25px rgba(19,157,77,.22)
}
.freeAccessSummary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0
}
.freeAccessSummary>div{
  padding:13px 8px;background:#f5f9ff;border:1px solid #d5e4f6;border-radius:13px;
  display:flex;flex-direction:column;gap:4px
}
.freeAccessSummary span{font-size:10px;color:#7184a0;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
.freeAccessSummary b{font-size:13px;color:#11396e}
.successInfo{
  margin:12px 0 18px;padding:12px 14px;border-radius:12px;background:#edf8f2;color:#286044;
  font-size:12px;line-height:1.45;text-align:left;border:1px solid #c9e8d6
}
@media(max-width:700px){
  .testIdentityButtons,.freeAccessSummary{grid-template-columns:1fr}
  .localTestMailbox{flex-direction:column;align-items:stretch}
  .localCode{text-align:center}
}

.logoutNav{margin-top:2px!important}
.localTestResetCard{margin-top:18px;border:1px solid #f0c7c3!important;background:linear-gradient(135deg,#fffafa,#fff5f4)!important}
.settingsEyebrow{display:inline-block;margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.08em;color:#b33f37}
.localTestResetCard h3{margin:0 0 4px;color:#70241f}
.localTestResetCard p{margin:0;color:#7b6462;font-size:12px}
.resetWarning{margin:14px 0;padding:11px 12px;border-radius:11px;background:#fff;border:1px solid #efd6d3;color:#6d4b48;font-size:12px}
.dangerAction{border:0!important;border-radius:10px!important;background:#c83b32!important;color:#fff!important;font-weight:800!important;padding:10px 14px!important}
.confirmOverlay{position:fixed;inset:0;z-index:10000;background:rgba(7,23,47,.58);display:flex;align-items:center;justify-content:center;padding:20px}
.confirmCard{width:min(480px,94vw);background:#fff;border-radius:18px;padding:24px;text-align:center;box-shadow:0 28px 75px rgba(0,0,0,.22)}
.confirmIcon{width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#fff0ef;color:#bd3128;font-size:28px;font-weight:900}
.confirmActions{display:flex;justify-content:center;gap:10px;margin-top:20px}
.secondaryAction{border:1px solid #cad7e7!important;background:#fff!important;color:#294565!important;border-radius:10px!important;padding:10px 14px!important;font-weight:800!important}


/* ===== V6.10 FINAL — Dynamic Welcome & Admin Photo ===== */
.welcomeHero{
  position:relative;overflow:hidden;min-height:330px;border-radius:28px;
  margin:0 0 28px;padding:42px 44px;display:flex;justify-content:space-between;align-items:center;
  box-shadow:0 18px 42px rgba(20,62,120,.14);isolation:isolate;
}
.welcomeHero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.72) 38%,rgba(255,255,255,.08) 70%);z-index:-1}
.heroScenery{position:absolute;inset:0;z-index:-2;transition:background .6s ease}
.heroContent{max-width:58%;z-index:2}
.heroGreeting{font-size:23px;font-weight:800;margin-bottom:6px;letter-spacing:.2px}
.heroNameRow{display:flex;align-items:center;gap:18px}
.heroNameRow h1{font-size:42px;line-height:1.05;margin:0;color:#0b1833}
.heroAccent{width:58px;height:4px;border-radius:10px;margin-top:18px}
.heroMessage{font-size:17px;line-height:1.6;color:#34425d;max-width:650px;margin:22px 0}
.heroBadge{display:inline-flex;align-items:center;gap:13px;background:rgba(255,255,255,.91);border:1px solid rgba(126,155,205,.28);padding:12px 18px;border-radius:16px;box-shadow:0 8px 22px rgba(31,76,140,.08)}
.heroBadgeIcon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1662dc;color:white;font-weight:800}
.heroBadge b,.heroBadge small{display:block}.heroBadge small{margin-top:2px;color:#61708d}
.heroDateTime{display:flex;gap:14px;align-items:center;z-index:2;align-self:flex-end;margin-bottom:8px}
.heroDateCard,.heroTimeCard{border-radius:20px;box-shadow:0 12px 28px rgba(10,45,100,.16);backdrop-filter:blur(10px)}
.heroDateCard{width:150px;padding:18px 16px;text-align:center;color:#fff;background:linear-gradient(160deg,#1766df,#0c46b8)}
.heroDateCard span,.heroTimeCard span{display:block;font-weight:800;letter-spacing:.6px}
.heroDateCard strong{display:block;font-size:48px;line-height:1;margin:8px 0}
.heroDateCard small{font-size:13px}
.heroTimeCard{min-width:245px;padding:19px 22px;background:rgba(255,255,255,.93);color:#0a214c}
.heroTimeCard strong{display:block;font-size:39px;line-height:1.05;margin:7px 0}
.heroTimeCard small{font-size:13px;color:#536783}
.heroAdminPhotoWrap{width:72px;height:72px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.85);box-shadow:0 7px 18px rgba(28,69,124,.18);background:#dce9fb;display:grid;place-items:center}
.heroAdminPhoto{width:100%;height:100%;object-fit:cover;display:none}
.heroAdminInitials{font-size:26px;font-weight:800;color:#1d5fc5}
.heroSunMoon{position:absolute;width:95px;height:95px;border-radius:50%;right:15%;top:18%;filter:drop-shadow(0 0 18px rgba(255,220,120,.42))}
.heroMountain{position:absolute;bottom:-60px;right:-3%;width:64%;height:72%;clip-path:polygon(0 100%,12% 65%,24% 83%,39% 46%,53% 74%,69% 40%,80% 64%,100% 25%,100% 100%);opacity:.9}
.mountainBack{transform:scale(1.08);opacity:.46}
.mountainFront{bottom:-80px}
.heroTree{position:absolute;bottom:6%;width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:92px solid rgba(24,84,71,.72)}
.tree1{right:9%}.tree2{right:21%;transform:scale(.8)}.tree3{right:33%;transform:scale(.65)}
.heroCloud{position:absolute;width:110px;height:28px;border-radius:30px;background:rgba(255,255,255,.66)}
.heroCloud::before,.heroCloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.heroCloud::before{width:42px;height:42px;left:18px;top:-18px}.heroCloud::after{width:55px;height:55px;left:48px;top:-28px}
.cloud1{right:27%;top:20%}.cloud2{right:7%;top:31%;transform:scale(.72)}

/* Morning */
.morningHero .heroScenery{background:linear-gradient(180deg,#ffdeb2 0%,#f4cb8d 36%,#b7d9d4 72%,#6fa693 100%)}
.morningHero .heroSunMoon{background:#fff5c5;box-shadow:0 0 55px #ffd57b}
.morningHero .mountainBack{background:#9bb6b2}.morningHero .mountainFront{background:#5f8b79}
.morningHero .heroGreeting,.morningHero .heroAccent{color:#d6881a;background:#d6881a}
/* Day */
.dayHero .heroScenery{background:linear-gradient(180deg,#87cefa 0%,#bfe8ff 40%,#8bcf8a 76%,#5fa26c 100%)}
.dayHero .heroSunMoon{background:#fff2a0;box-shadow:0 0 60px #ffd85b}
.dayHero .mountainBack{background:#7db5b8}.dayHero .mountainFront{background:#4f9874}
.dayHero .heroGreeting,.dayHero .heroAccent{color:#0d64d9;background:#0d64d9}
/* Afternoon */
.afternoonHero .heroScenery{background:linear-gradient(180deg,#f2a58f 0%,#f6b17d 35%,#9f75a7 70%,#4d4c78 100%)}
.afternoonHero .heroSunMoon{background:#ffd48b;box-shadow:0 0 55px #ff9c5b}
.afternoonHero .mountainBack{background:#766695}.afternoonHero .mountainFront{background:#4f456d}
.afternoonHero .heroGreeting,.afternoonHero .heroAccent{color:#bc4e31;background:#bc4e31}
/* Night */
.nightHero::after{background:linear-gradient(90deg,rgba(3,22,55,.93) 0%,rgba(3,22,55,.68) 44%,rgba(3,22,55,.15) 78%)}
.nightHero .heroScenery{background:
radial-gradient(circle at 23% 24%,rgba(255,255,255,.9) 0 1px,transparent 2px),
radial-gradient(circle at 38% 15%,rgba(255,255,255,.7) 0 1px,transparent 2px),
radial-gradient(circle at 58% 30%,rgba(255,255,255,.75) 0 1px,transparent 2px),
linear-gradient(180deg,#031942 0%,#08295c 46%,#0e3d6a 76%,#0a2740 100%)}
.nightHero .heroSunMoon{background:#fff;box-shadow:0 0 34px rgba(255,255,255,.8)}
.nightHero .heroSunMoon::after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;background:#08295c;left:-18px;top:-10px}
.nightHero .mountainBack{background:#12375e}.nightHero .mountainFront{background:#0b2b4c}
.nightHero .heroGreeting,.nightHero .heroAccent{color:#b27cff;background:#b27cff}
.nightHero .heroNameRow h1,.nightHero .heroMessage{color:#fff}
.nightHero .heroBadge{background:rgba(255,255,255,.94)}
.nightHero .heroCloud{display:none}

@media(max-width:1100px){
  .welcomeHero{padding:34px 28px;min-height:360px}
  .heroContent{max-width:62%}.heroNameRow h1{font-size:34px}
  .heroDateTime{transform:scale(.9);transform-origin:right bottom}
}
@media(max-width:820px){
  .welcomeHero{display:block;min-height:500px}
  .heroContent{max-width:100%}.heroDateTime{position:absolute;left:28px;bottom:25px;transform:scale(.82);transform-origin:left bottom}
}

/* Admin profile */
.adminProfileGrid{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:22px}
.profilePhotoCard,.profileInfoCard,.profileAdjustCard{background:#fff;border:1px solid #e1eaf6;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(27,67,125,.08)}
.profilePhotoPreview{width:180px;height:180px;border-radius:50%;overflow:hidden;background:#e8f0fb;margin:18px auto;display:grid;place-items:center;border:6px solid #f3f7fd}
.profilePhotoPreview img,.adjustPreviewFrame img{width:100%;height:100%;object-fit:cover;display:none}
.profilePhotoInitials,.adjustPhotoInitials{font-size:54px;font-weight:800;color:#1b5fc5}
.profilePhotoActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.profileInfoRows>div{display:grid;grid-template-columns:140px 1fr;padding:14px 0;border-bottom:1px solid #edf2f8}
.profileInfoRows span{color:#71809a}.profileInfoRows b{color:#14213e}
.adjustPreviewFrame{width:100%;height:270px;background:#e9eef5;border-radius:16px;overflow:hidden;display:grid;place-items:center;margin:16px 0}
.sliderLabel{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center;margin:15px 0;color:#56657d}
.positionChoice{display:flex;gap:8px;margin:18px 0}
.smallBtn{border:1px solid #d4e0f0;background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer}
.smallBtn.active{background:#e9f2ff;border-color:#2b72de;color:#1458bd}
.dangerBtn{border:1px solid #f2b8b5;background:#fff5f4;color:#cf3c34;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.wideBtn{width:100%}


/* V6.10.2 — institution identity */
.smartIdNotice{display:flex;gap:13px;align-items:center;margin:16px 0;padding:15px 17px;border:1px solid #d8e5f7;border-radius:14px;background:#f6f9fe}
.smartIdNoticeIcon{width:38px;height:38px;border-radius:11px;background:#e7f0ff;color:#1d63cc;display:grid;place-items:center;font-weight:900}
.smartIdNotice b,.smartIdNotice small{display:block}.smartIdNotice b{color:#17345f;margin-bottom:3px}.smartIdNotice small{color:#657590;line-height:1.45}
.institutionSmartIdCard{margin:18px 0;padding:17px 20px;border-radius:16px;background:linear-gradient(135deg,#0d3f91,#236de1);color:#fff;text-align:center;box-shadow:0 10px 24px rgba(21,82,177,.18)}
.institutionSmartIdCard span,.institutionSmartIdCard small{display:block}.institutionSmartIdCard strong{display:block;font-size:24px;letter-spacing:1.1px;margin:7px 0}.institutionSmartIdCard small{opacity:.88}

.localIdBadge{margin-left:auto;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#fff1c7;color:#8a5a00;border:1px solid #f0d28a;font-size:11px;font-weight:800;letter-spacing:.5px}


/* ===== V6.10.6 — Dynamic time hero ===== */
.welcomeHero{position:relative;overflow:hidden;min-height:330px;border-radius:28px;margin:0 0 28px;padding:42px 44px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 42px rgba(20,62,120,.14);isolation:isolate}
.welcomeHero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.72) 42%,rgba(255,255,255,.08) 72%);z-index:-1}
.heroScenery{position:absolute;inset:0;z-index:-2;transition:background .6s ease}
.heroContent{max-width:58%;z-index:2}.heroGreeting{font-size:23px;font-weight:800;margin-bottom:6px}.heroNameRow{display:flex;align-items:center;gap:18px}.heroNameRow h1{font-size:42px;line-height:1.05;margin:0;color:#0b1833}.heroAccent{width:58px;height:4px;border-radius:10px;margin-top:18px}.heroMessage{font-size:17px;line-height:1.6;color:#34425d;max-width:650px;margin:22px 0}.heroBadge{display:inline-flex;align-items:center;gap:13px;background:rgba(255,255,255,.92);border:1px solid rgba(126,155,205,.28);padding:12px 18px;border-radius:16px;box-shadow:0 8px 22px rgba(31,76,140,.08)}.heroBadgeIcon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1662dc;color:#fff;font-weight:800}.heroBadge b,.heroBadge small{display:block}.heroBadge small{margin-top:2px;color:#61708d}
.heroDateTime{display:flex;gap:14px;align-items:center;z-index:2;align-self:flex-end;margin-bottom:8px}.heroDateCard,.heroTimeCard{border-radius:20px;box-shadow:0 12px 28px rgba(10,45,100,.16)}.heroDateCard{width:150px;padding:18px 16px;text-align:center;color:#fff;background:linear-gradient(160deg,#1766df,#0c46b8)}.heroDateCard span,.heroTimeCard span{display:block;font-weight:800;letter-spacing:.6px}.heroDateCard strong{display:block;font-size:48px;line-height:1;margin:8px 0}.heroDateCard small{font-size:13px}.heroTimeCard{min-width:245px;padding:19px 22px;background:rgba(255,255,255,.94);color:#0a214c}.heroTimeCard strong{display:block;font-size:39px;line-height:1.05;margin:7px 0}.heroTimeCard small{font-size:13px;color:#536783}
.heroAdminPhotoWrap{width:72px;height:72px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.86);box-shadow:0 7px 18px rgba(28,69,124,.18);background:#dce9fb;display:grid;place-items:center}.heroAdminPhoto{width:100%;height:100%;object-fit:cover;display:none}.heroAdminInitials{font-size:26px;font-weight:800;color:#1d5fc5}
.heroSunMoon{position:absolute;width:95px;height:95px;border-radius:50%;right:15%;top:18%}.heroMountain{position:absolute;bottom:-60px;right:-3%;width:64%;height:72%;clip-path:polygon(0 100%,12% 65%,24% 83%,39% 46%,53% 74%,69% 40%,80% 64%,100% 25%,100% 100%);opacity:.9}.mountainBack{transform:scale(1.08);opacity:.46}.mountainFront{bottom:-80px}.heroTree{position:absolute;bottom:6%;width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:92px solid rgba(24,84,71,.72)}.tree1{right:9%}.tree2{right:21%;transform:scale(.8)}.tree3{right:33%;transform:scale(.65)}.heroCloud{position:absolute;width:110px;height:28px;border-radius:30px;background:rgba(255,255,255,.66)}.heroCloud::before,.heroCloud::after{content:"";position:absolute;border-radius:50%;background:inherit}.heroCloud::before{width:42px;height:42px;left:18px;top:-18px}.heroCloud::after{width:55px;height:55px;left:48px;top:-28px}.cloud1{right:27%;top:20%}.cloud2{right:7%;top:31%;transform:scale(.72)}
.morningHero .heroScenery{background:linear-gradient(180deg,#ffddb0 0%,#f5c87f 35%,#b7d9d1 70%,#6ea98f 100%)}.morningHero .heroSunMoon{background:#fff5c5;box-shadow:0 0 58px #ffd36b}.morningHero .mountainBack{background:#9bb6b2}.morningHero .mountainFront{background:#5f8b79}.morningHero .heroGreeting,.morningHero .heroAccent{color:#d6881a;background:#d6881a}
.dayHero .heroScenery{background:linear-gradient(180deg,#88d0ff 0%,#c5ebff 40%,#94d78c 76%,#5ea36a 100%)}.dayHero .heroSunMoon{background:#fff2a0;box-shadow:0 0 60px #ffd85b}.dayHero .mountainBack{background:#7db5b8}.dayHero .mountainFront{background:#4f9874}.dayHero .heroGreeting,.dayHero .heroAccent{color:#0d64d9;background:#0d64d9}
.afternoonHero .heroScenery{background:linear-gradient(180deg,#f19e86 0%,#f6b17d 34%,#9c72a5 69%,#494a76 100%)}.afternoonHero .heroSunMoon{background:#ffd48b;box-shadow:0 0 55px #ff9c5b}.afternoonHero .mountainBack{background:#766695}.afternoonHero .mountainFront{background:#4f456d}.afternoonHero .heroGreeting,.afternoonHero .heroAccent{color:#b9472d;background:#b9472d}
.nightHero::after{background:linear-gradient(90deg,rgba(3,22,55,.94) 0%,rgba(3,22,55,.70) 44%,rgba(3,22,55,.14) 78%)}.nightHero .heroScenery{background:radial-gradient(circle at 23% 24%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 38% 15%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 58% 30%,rgba(255,255,255,.75) 0 1px,transparent 2px),linear-gradient(180deg,#031942 0%,#08295c 46%,#0e3d6a 76%,#0a2740 100%)}.nightHero .heroSunMoon{background:#fff;box-shadow:0 0 34px rgba(255,255,255,.8)}.nightHero .heroSunMoon::after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;background:#08295c;left:-18px;top:-10px}.nightHero .mountainBack{background:#12375e}.nightHero .mountainFront{background:#0b2b4c}.nightHero .heroGreeting,.nightHero .heroAccent{color:#b27cff;background:#b27cff}.nightHero .heroNameRow h1,.nightHero .heroMessage{color:#fff}.nightHero .heroCloud{display:none}
.institutionIdCopyRow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.copyInstitutionIdBtn{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);color:#fff;border-radius:11px;padding:9px 13px;font-weight:800;cursor:pointer}.copyInstitutionIdBtn:hover{background:rgba(255,255,255,.26)}#institutionSmartIdValue{user-select:all;cursor:text}
@media(max-width:820px){.welcomeHero{display:block;min-height:500px;padding:34px 28px}.heroContent{max-width:100%}.heroDateTime{position:absolute;left:28px;bottom:25px;transform:scale(.82);transform-origin:left bottom}}

/* ===== V6.10.8 profile/greeting correction ===== */
.heroGreeting{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:4!important;min-height:28px!important}
.nav[data-page="adminProfile"]{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important}
.nav[data-page="adminProfile"]:hover{background:rgba(255,255,255,.08)!important}
.nav[data-page="adminProfile"].active{background:linear-gradient(135deg,#1470ef,#1e60d5)!important;color:#fff!important}
#page-adminProfile{padding:26px 28px}
#page-adminProfile .pageHeader{margin-bottom:22px}
#page-adminProfile .pageHeader h2{margin:0 0 6px;color:#102342;font-size:28px}
#page-adminProfile .pageHeader p{margin:0;color:#6c7b93}
.adminProfileGrid{display:grid;grid-template-columns:1fr 1.15fr 1.4fr;gap:22px}
.profilePhotoCard,.profileInfoCard,.profileAdjustCard{background:#fff;border:1px solid #dce7f4;border-radius:20px;padding:24px;box-shadow:0 10px 28px rgba(26,65,121,.08)}
.profilePhotoPreview{width:180px;height:180px;border-radius:50%;overflow:hidden;background:#eaf1fb;margin:18px auto;display:grid;place-items:center;border:6px solid #f4f7fc}
.profilePhotoPreview img,.adjustPreviewFrame img{width:100%;height:100%;object-fit:cover;display:none}
.profilePhotoInitials,.adjustPhotoInitials{font-size:54px;font-weight:800;color:#1b5fc5}
.profilePhotoActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 10px}
.profileInfoRows>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid #edf2f8}
.profileInfoRows span{color:#728099}.profileInfoRows b{color:#13213e}
.adjustPreviewFrame{height:280px;border-radius:16px;overflow:hidden;background:#e8edf5;display:grid;place-items:center;margin:16px 0}
.sliderLabel{display:grid;grid-template-columns:165px 1fr;gap:14px;align-items:center;margin:15px 0;color:#596982}
.positionChoice{display:flex;gap:8px;margin:18px 0}
.smallBtn{border:1px solid #d2deed;background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer}
.smallBtn.active{background:#eaf3ff;border-color:#2670de;color:#1458bd}
.dangerBtn{border:1px solid #f0bbb7;background:#fff6f5;color:#c83831;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.wideBtn{width:100%}
@media(max-width:1000px){.adminProfileGrid{grid-template-columns:1fr}.profileAdjustCard{grid-column:auto}}

/* V6.10.9 — greeting refinement */
#dynamicAdminName{display:none!important}
.heroGreeting{font-size:34px!important;line-height:1.18!important;font-weight:850!important;margin-bottom:12px!important}

/* ===== V6.10.9 — interaction & readability ===== */
button,.nav,.authTab,.smallBtn,.primaryBtn,.dangerBtn,.copyInstitutionIdBtn,[role="button"],a[href],label[for]{
  cursor:pointer!important;
}
.dangerBtn,#deletePhotoBtn{
  background:#e53935!important;
  color:#ffffff!important;
  border:1px solid #c62828!important;
  text-shadow:none!important;
}
.dangerBtn:hover,#deletePhotoBtn:hover{
  background:#c62828!important;
  color:#ffffff!important;
}
button,.nav,.authTab,.smallBtn,.primaryBtn,.dangerBtn,.copyInstitutionIdBtn{
  transition:transform .08s ease,filter .12s ease,background-color .12s ease,box-shadow .12s ease!important;
}
button:hover,.nav:hover,.authTab:hover,.smallBtn:hover,.primaryBtn:hover,.dangerBtn:hover,.copyInstitutionIdBtn:hover{
  filter:brightness(1.04);
}
button:active,.nav:active,.authTab:active,.smallBtn:active,.primaryBtn:active,.dangerBtn:active,.copyInstitutionIdBtn:active{
  transform:translateY(1px) scale(.985)!important;
}
input,textarea,select{
  cursor:text;
}
select{cursor:pointer}

/* ===== V6.10.10 — sidebar visibility fix ===== */
.sidebar{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.compactNav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 4px 12px 2px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(126,183,246,.35) transparent;
}
.compactNav::-webkit-scrollbar{width:5px}
.compactNav::-webkit-scrollbar-thumb{background:rgba(126,183,246,.35);border-radius:10px}
.logoutNav{margin-bottom:8px!important}
.sidebarMiniFooter{
  position:static!important;
  flex:0 0 auto!important;
  height:auto!important;
  min-height:42px!important;
  margin-top:4px!important;
  z-index:2!important;
  background:linear-gradient(180deg,rgba(6,18,37,.96),#061225)!important;
}

/* Lightweight rendering for faster response */
.heroDateCard,.heroTimeCard{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}


/* ===== Free access: paid output lock ===== */
.outputLockNotice{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#fff7e6;border:1px solid #f3d28d;color:#76520b;font-weight:700;}
button.paidOutputLocked,button.paidOutputLocked:hover,button.paidOutputLocked:active{cursor:not-allowed !important;opacity:.58 !important;filter:saturate(.55);transform:none !important;box-shadow:none !important;}
.freePrintBlocker{display:none;}
@media print{
  body.ss360-output-locked > *:not(#freePrintBlocker){display:none !important;}
  body.ss360-output-locked #freePrintBlocker{display:block !important;position:fixed;inset:0;padding:15vh 10vw;background:#fff;color:#111;text-align:center;z-index:2147483647;}
  body.ss360-output-locked #freePrintBlocker h1{font-size:32pt;margin:0 0 18pt;}
  body.ss360-output-locked #freePrintBlocker p{font-size:16pt;}
}

/* Free onboarding institution choice */
.institutionChoiceCard{width:min(760px,96vw)!important;max-width:760px!important}
.institutionChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 16px}
.loginCard .institutionChoiceBtn{margin:0!important;min-height:170px;padding:22px!important;background:#fff!important;color:#10213f!important;border:2px solid #d9e4f5!important;border-radius:18px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 24px rgba(15,45,90,.06)!important}
.loginCard .institutionChoiceBtn:hover,.loginCard .institutionChoiceBtn.selected{border-color:#2563eb!important;background:#f2f7ff!important;transform:translateY(-1px)}
.institutionChoiceIcon{font-size:38px;line-height:1}.institutionChoiceBtn b{font-size:19px}.institutionChoiceBtn small{margin:0!important;line-height:1.4;color:#64748b!important}
.startupSchoolLevels{margin:14px 0;padding:16px;border:1px solid #dbe7f5;border-radius:16px;background:#f8fbff;text-align:left}.startupSchoolLevels[hidden]{display:none!important}.startupSchoolLevels strong{display:block;margin-bottom:10px;color:#1e293b}
.schoolLevelGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.loginCard .schoolLevelGrid button{margin:0!important;padding:12px 10px!important;background:#fff!important;color:#0b244f!important;border:1px solid #cbd5e1!important;font-size:14px!important}.loginCard .schoolLevelGrid button:hover,.loginCard .schoolLevelGrid button.selected{background:#eaf2ff!important;border-color:#2563eb!important}
@media(max-width:680px){.institutionChoiceGrid{grid-template-columns:1fr}.schoolLevelGrid{grid-template-columns:1fr}.institutionChoiceGrid .institutionChoiceBtn{min-height:132px}}
