:root{
  --ink:#152033;--muted:#68738a;--line:#e4e8f0;--surface:#fff;--canvas:#f4f6fa;
  --navy:#0d1729;--navy-2:#14223a;--primary:#4f67dc;--primary-dark:#384fbf;
  --teal:#12a99a;--amber:#e5a12b;--red:#df5d67;--green:#249d71;--purple:#8664db;
  --shadow:0 14px 40px rgba(24,36,58,.08);--radius:18px;--sidebar:272px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
#pra-supervisi,#refleksi-pasca,#kesiapan-guru{scroll-margin-top:80px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(165deg,var(--navy) 0%,#101f36 62%,#143448 100%);color:#d9e2ef;padding:16px 10px 12px;display:flex;flex-direction:column;overflow:hidden;z-index:50;box-shadow:12px 0 40px rgba(8,15,28,.08)}
.brand{display:flex;align-items:center;gap:11px;padding:0 10px 12px;flex:0 0 auto}
.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#6a7fe6,#36c4b6);display:grid;place-items:center;color:white;font-size:18px;font-weight:800;box-shadow:0 8px 20px rgba(61,187,173,.25)}.brand-mark-logo{padding:4px;background:#fff}.brand-logo-img{display:block;width:100%;height:100%;border-radius:50%;object-fit:contain}
.brand-copy strong{display:block;color:white;font-size:15px;letter-spacing:.02em}.brand-copy span{font-size:11px;color:#8ea3bd;letter-spacing:.13em}
.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 4px 8px;scrollbar-width:thin;scrollbar-color:rgba(149,174,202,.38) transparent}
.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(149,174,202,.38);border-radius:999px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:rgba(149,174,202,.58)}
.nav-label{padding:9px 10px 4px;color:#7287a4;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.nav-group{margin:5px 0;border:1px solid rgba(111,142,180,.16);border-radius:11px;background:rgba(7,18,34,.18);overflow:hidden}.nav-group.open{background:rgba(9,25,44,.28);border-color:rgba(91,208,194,.22)}
.nav-group-toggle{width:100%;min-height:38px;display:grid;grid-template-columns:25px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:6px 8px;border:0;background:linear-gradient(90deg,rgba(63,91,144,.24),rgba(26,65,83,.13));color:#b8c8db;text-align:left}.nav-group-toggle:hover{background:linear-gradient(90deg,rgba(79,103,220,.3),rgba(18,169,154,.16));color:#fff}.nav-group.open .nav-group-toggle{color:#fff;background:linear-gradient(90deg,rgba(79,103,220,.35),rgba(18,169,154,.2))}
.nav-group-number{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#4f67dc;color:#fff;font-size:10px;font-weight:850;box-shadow:0 4px 12px rgba(26,47,112,.28)}.nav-group:nth-of-type(3n+2) .nav-group-number{background:#0f9e92}.nav-group:nth-of-type(3n) .nav-group-number{background:#b97818}
.nav-group-title{min-width:0;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group-chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.nav-group.open .nav-group-chevron{transform:rotate(90deg)}
.nav-group>.nav{padding:4px 3px 6px}.nav-group>.nav[hidden]{display:none}
.nav{display:grid;gap:2px}
.nav a{display:flex;gap:9px;align-items:center;padding:7px 10px;border-radius:9px;color:#9fb0c6;font-size:12px;font-weight:600;transition:.18s}
.nav a:hover{background:rgba(255,255,255,.06);color:white}.nav a.active{background:linear-gradient(90deg,rgba(94,116,226,.24),rgba(45,187,173,.12));color:white;box-shadow:inset 3px 0 #4bd1c1}
.nav-parent-block{display:grid;gap:2px}.nav-parent-block>.nav-parent-link{width:100%}.nav-children{display:grid;gap:1px;margin:0 4px 3px 22px;padding-left:10px;border-left:1px solid rgba(117,146,181,.28)}.nav-children a{min-height:28px;padding:5px 8px;font-size:11px;font-weight:650;color:#8fa3bd}.nav-children a.active{background:rgba(75,209,193,.11);box-shadow:none;color:#dffcf8}.nav-child-dot{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.07);font-size:9px;font-weight:850;color:#8fa3bd}.nav-children a.active .nav-child-dot{background:#4f67dc;color:#fff}
.nav-icon{width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.07);display:grid;place-items:center;flex:0 0 auto}.nav-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav a:hover .nav-icon,.nav a.active .nav-icon{background:rgba(255,255,255,.12);color:#72e2d4}
.sidebar-footer{flex:0 0 auto;border-top:1px solid rgba(255,255,255,.08);padding-top:9px}
.sidebar-user{display:flex;gap:9px;align-items:center;padding:6px 8px}.avatar{width:34px;height:34px;border-radius:10px;background:#e8edff;color:#3f58ce;display:grid;place-items:center;font-weight:800;flex:0 0 auto;object-fit:cover}.avatar.dark{background:rgba(255,255,255,.1);color:#fff}
.sidebar-user strong{display:block;font-size:12px;color:#fff;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user span{font-size:10px;color:#8298b3}
.main{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{font-size:17px;font-weight:800}.topbar-sub{font-size:11px;color:var(--muted)}
.mobile-toggle{display:none;border:0;background:#eef1f7;border-radius:10px;width:40px;height:40px;color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:white;display:grid;place-items:center;color:var(--muted)}
.page{padding:28px 32px 48px;max-width:1600px;margin:0 auto}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.eyebrow{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.page-head h1,.hero-title{font-size:28px;line-height:1.2;margin:0;font-weight:780;letter-spacing:-.03em}.page-head p{margin:7px 0 0;color:var(--muted)}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;border:1px solid transparent;padding:10px 15px;font-weight:750;line-height:1.2;transition:.18s;min-height:40px}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:white;box-shadow:0 8px 20px rgba(79,103,220,.2)}.btn-primary:hover{background:var(--primary-dark)}
.btn-secondary{background:white;border-color:var(--line);color:var(--ink)}.btn-teal{background:var(--teal);color:white}.btn-danger{background:#fff1f2;color:#bd3e4c;border-color:#ffd9dd}.btn-dark{background:var(--navy);color:white}.btn-sm{padding:7px 10px;min-height:32px;font-size:12px}.btn-block{width:100%}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid rgba(218,224,235,.9);border-radius:var(--radius);box-shadow:0 5px 22px rgba(25,38,62,.035)}.card-body{padding:20px}.card-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.card-head h2,.card-head h3{font-size:15px;margin:0}.card-head p{font-size:12px;margin:3px 0 0;color:var(--muted)}
.metric{padding:10px 13px;position:relative;overflow:hidden}.metric::after{content:"";position:absolute;width:50px;height:50px;border-radius:50%;background:var(--metric-color,#4f67dc);opacity:.06;right:-8px;top:-12px}.metric-top{display:flex;justify-content:space-between;align-items:center;min-height:26px}.metric-label{color:var(--muted);font-size:10px;font-weight:700}.metric-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--metric-color,#4f67dc) 12%,white);color:var(--metric-color,#4f67dc);font-weight:850;font-size:9px}.metric-value{font-size:22px;font-weight:800;line-height:1;letter-spacing:-.035em;margin:4px 0 2px}.metric-note{font-size:9px;line-height:1.3;color:var(--muted)}.grid:has(> .metric){gap:10px}
.hero{background:linear-gradient(120deg,#fff 0%,#fff 55%,#eef5ff 100%);border:1px solid #dee5f1;border-radius:24px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden;position:relative}.hero::after{content:"";position:absolute;width:230px;height:230px;border:45px solid rgba(58,188,176,.08);border-radius:50%;right:-90px;top:-100px}.hero-copy{position:relative;z-index:2;min-width:0;max-width:760px}.hero-title{font-size:25px}.hero p{color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.hero-score{min-width:150px;text-align:center;position:relative;z-index:2}.score-ring{position:relative;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--teal) calc(var(--score,0)*1%),#e5e9f1 0);display:grid;place-items:center;margin:auto}.score-ring::before{content:"";position:absolute;width:86px;height:86px;background:white;border-radius:50%}.score-ring strong{position:relative;font-size:25px}.hero-score span{display:block;margin-top:7px;font-size:11px;color:var(--muted);font-weight:700}
.section-gap{margin-top:20px}.stack{display:grid;gap:14px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#7a8497;text-align:left;padding:12px 16px;background:#f8f9fc;border-bottom:1px solid var(--line)}.table td{padding:13px 16px;border-bottom:1px solid #edf0f5;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbfe}
.cell-title{font-weight:750}.cell-sub{font-size:11px;color:var(--muted);margin-top:2px}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.02em;background:#eef1f6;color:#566074;white-space:nowrap}.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge-green{background:#e8f8f1;color:#208463}.badge-blue{background:#edf0ff;color:#445dce}.badge-amber{background:#fff5df;color:#a66f12}.badge-red{background:#fff0f1;color:#bc4653}.badge-teal{background:#e5f8f6;color:#128779}.badge-purple{background:#f1edff;color:#7554c9}.badge-dark{background:#e9edf3;color:#2d3b52}
.status-draft,.status-pending{background:#eef1f6;color:#647086}.status-scheduled,.status-teacher_confirmed{background:#edf0ff;color:#425bcd}.status-in_progress,.status-incomplete{background:#fff4dd;color:#a26d12}.status-assessed{background:#eeeaff;color:#7454c6}.status-completed,.status-accepted{background:#e7f8f0;color:#217e60}.status-cancelled,.status-declined,.status-failed{background:#fff0f1;color:#b64450}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{display:grid;gap:7px}.form-group.full{grid-column:1/-1}.form-group label{font-size:12px;font-weight:750;color:#364257}.required::after{content:" *";color:var(--red)}
.input,.select,.textarea{width:100%;border:1px solid #dbe1eb;border-radius:11px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;transition:.15s}.textarea{min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#8193e9;box-shadow:0 0 0 3px rgba(79,103,220,.1)}.form-help{font-size:11px;color:var(--muted)}.form-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-card{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.check-card input{margin-top:3px}.check-card strong{display:block;font-size:12px}.check-card span{font-size:10px;color:var(--muted)}
.alert{padding:12px 15px;border-radius:12px;border:1px solid;display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}.alert-success{background:#eaf8f2;border-color:#c8ebdc;color:#1f7659}.alert-error{background:#fff1f2;border-color:#f6d0d4;color:#a83d49}.alert-info{background:#eff3ff;border-color:#d7defd;color:#3e54b5}.alert-warning{background:#fff8e6;border-color:#efd99b;color:#8a6510}.alert strong{font-size:12px}.alert p{margin:0}
.info-popover{position:relative;display:inline-flex;flex:0 0 auto;z-index:12}.info-popover>summary{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #9fb2ed;border-radius:50%;background:#eef3ff;color:#3156da;font:800 14px/1 Georgia,serif;cursor:help;list-style:none;box-shadow:0 2px 7px rgba(49,86,218,.12)}.info-popover>summary::-webkit-details-marker{display:none}.info-popover>summary:hover,.info-popover>summary:focus-visible{border-color:#3156da;background:#3156da;color:#fff;outline:none}.info-popover-panel{position:absolute;right:0;top:calc(100% + 9px);display:none;width:min(340px,calc(100vw - 42px));padding:11px 13px;border:1px solid #b9c7f2;border-radius:11px;background:#fff;color:#263650;text-align:left;box-shadow:0 14px 34px rgba(24,43,82,.2);z-index:200}.info-popover.align-left .info-popover-panel{right:auto;left:0}.info-popover-panel:before{content:"";position:absolute;right:8px;top:-6px;width:10px;height:10px;border-top:1px solid #b9c7f2;border-left:1px solid #b9c7f2;background:#fff;transform:rotate(45deg)}.info-popover.align-left .info-popover-panel:before{right:auto;left:8px}.info-popover-panel strong{display:block;margin-bottom:4px;font-size:11px;color:#17243a}.info-popover-panel p{margin:0;font-size:10px;line-height:1.55;color:#526078}.info-popover[open]>.info-popover-panel,.info-popover:hover>.info-popover-panel,.info-popover:focus-within>.info-popover-panel{display:block}.heading-with-info{display:flex;align-items:center;gap:8px}.heading-with-info>h1,.heading-with-info>h2,.heading-with-info>h3{margin:0}.card-head-info{display:flex;align-items:center;gap:8px}.card-head-info>.info-popover{align-self:center}
.empty{padding:44px 24px;text-align:center;color:var(--muted)}.empty-mark{width:62px;height:62px;border-radius:18px;background:#eef1f7;display:grid;place-items:center;margin:0 auto 13px;color:#8290a8;font-weight:850;font-size:15px}.empty h3{margin:0 0 6px;color:var(--ink)}.empty p{max-width:430px;margin:0 auto 18px}
.list{display:grid}.list-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.list-item:last-child{border-bottom:0}.list-icon{width:36px;height:36px;border-radius:11px;background:#eef1ff;color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:850;flex:0 0 auto}.list-copy{min-width:0;flex:1}.list-copy strong{display:block;font-size:12px}.list-copy p{font-size:11px;color:var(--muted);margin:2px 0}.list-meta{font-size:10px;color:#8c96a8;white-space:nowrap}
.notification-open-form{margin:0}.notification-item-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.notification-item-button:hover{background:#f8faff}.notification-item-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:10px}
.progress-bar{height:7px;background:#e8ecf3;border-radius:99px;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal));border-radius:99px}
.timeline{position:relative;padding-left:28px}.timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e1e6ef}.timeline-item{position:relative;padding:0 0 22px}.timeline-item::before{content:"";position:absolute;left:-26px;top:5px;width:12px;height:12px;border-radius:50%;background:white;border:3px solid var(--primary);box-shadow:0 0 0 4px #edf0ff}.timeline-item:last-child{padding-bottom:0}.timeline-date{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:800}.timeline-item h4{margin:3px 0 4px;font-size:13px}.timeline-item p{margin:0;color:var(--muted);font-size:12px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:20px}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kv-item{padding:12px;border-radius:12px;background:#f8f9fc}.kv-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.kv-value{font-size:13px;font-weight:750;margin-top:3px}
.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);overflow:auto;padding:0 4px}.tab{border:0;background:transparent;padding:12px 13px;color:var(--muted);font-weight:700;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--primary);border-color:var(--primary)}
.suggestion{border-left:4px solid var(--cat,#4f67dc);background:#fafbfe;border-radius:0 12px 12px 0;padding:12px 14px}.suggestion p{margin:5px 0 0;color:#47536a}.suggestion-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.category{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--cat,#4f67dc)}
.observer-card{padding:14px;border:1px solid var(--line);border-radius:13px}.observer-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.observer-score{font-size:21px;font-weight:800}.muted{color:var(--muted)}.small{font-size:11px}.text-right{text-align:right}.nowrap{white-space:nowrap}
.assessment-score{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.assessment-score:last-child{border-bottom:0}.criterion h4{margin:0;font-size:13px}.criterion p{margin:3px 0;color:var(--muted);font-size:11px}.score-input{font-size:18px;font-weight:800;text-align:center}
.autosave-status{margin-right:auto;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.autosave-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#98a3b5}.autosave-status.is-saving::before{background:#d99a21;box-shadow:0 0 0 4px #fff2d6}.autosave-status.is-saved{color:#14765d}.autosave-status.is-saved::before{background:#1faf83}.autosave-status.is-error{color:#c43f4f}.autosave-status.is-error::before{background:#e14e5d}
.score-summary{position:sticky;top:92px;background:linear-gradient(145deg,var(--navy),#1a3351);color:white;border-radius:18px;padding:20px}.score-summary-value{font-size:42px;font-weight:800;letter-spacing:-.05em}.score-summary p{color:#aabbd0;margin:3px 0 13px}.rule-list{display:grid;gap:6px;font-size:11px;color:#b7c4d5}.rule-list div{display:flex;justify-content:space-between}.rule-list .active{color:#60dacb;font-weight:800}
.repeat-row{display:grid;grid-template-columns:140px 180px minmax(260px,1fr) 110px 140px 38px;gap:8px;align-items:start;margin-bottom:9px}.repeat-row .textarea{min-height:42px}
.suggestion-guide{margin-bottom:12px;padding:10px 12px;border:1px solid #cbdcff;border-radius:10px;background:#f4f7ff;color:#42526e;font-size:12px;line-height:1.55}.suggestion-guide strong{color:#17243a}.suggestion-column-head{display:grid;grid-template-columns:140px 180px minmax(260px,1fr) 110px 140px 38px;gap:8px;margin-bottom:7px;padding:0 2px;color:#17243a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.suggestion-column-head span{display:flex;flex-direction:column;gap:2px}.suggestion-column-head small{color:#7b8ba5;font-size:9px;font-weight:500;text-transform:none;letter-spacing:0;line-height:1.3}
.instrument-library-table{min-width:1080px}.instrument-library-table th:first-child,.instrument-library-table td:first-child{width:46%}.instrument-method-cell{min-width:420px}.instrument-method-cell .cell-title{font-size:13px;line-height:1.35}.instrument-method-cell .cell-sub{margin-top:3px;font-size:10px}.method-description{max-width:720px;margin-top:5px;color:#65758f;font-size:10px;line-height:1.45}
.instrument-library-groups{display:grid;gap:14px}.instrument-library-group{--instrument-accent:#445dce;--instrument-soft:#edf0ff;--instrument-border:#cfd7fb;overflow:hidden;border-color:var(--instrument-border)}.instrument-tone-standard{--instrument-accent:#445dce;--instrument-soft:#edf0ff;--instrument-border:#cfd7fb}.instrument-tone-additional{--instrument-accent:#a66f12;--instrument-soft:#fff5df;--instrument-border:#efd9a8}.instrument-tone-observation{--instrument-accent:#128779;--instrument-soft:#e5f8f6;--instrument-border:#bce7e1}.instrument-group-head{align-items:center;background:linear-gradient(90deg,var(--instrument-soft),#fff 72%);box-shadow:inset 4px 0 0 var(--instrument-accent)}.instrument-group-title{display:flex;align-items:center;gap:11px;min-width:0}.instrument-group-number{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--instrument-border);border-radius:10px;background:#fff;color:var(--instrument-accent);font-size:14px;font-weight:900;box-shadow:0 3px 10px color-mix(in srgb,var(--instrument-accent) 12%,transparent)}.instrument-group-title h2{margin:0;color:var(--instrument-accent)}.instrument-group-title p{max-width:850px}.instrument-library-table .instrument-number-column{width:62px!important;min-width:62px;text-align:center}.instrument-library-table th:nth-child(2),.instrument-library-table td:nth-child(2){width:42%}.instrument-row-number{display:inline-flex;min-width:35px;justify-content:center;padding:5px 7px;border:1px solid var(--instrument-border);border-radius:8px;background:var(--instrument-soft);color:var(--instrument-accent);font-size:10px;font-weight:850}.instrument-library-group .instrument-library-table thead th{background:color-mix(in srgb,var(--instrument-soft) 62%,#f8f9fc)}.instrument-library-group .instrument-library-table tbody tr{box-shadow:inset 3px 0 0 transparent;transition:background-color .15s,box-shadow .15s}.instrument-library-group .instrument-library-table tbody tr:hover{background:color-mix(in srgb,var(--instrument-soft) 65%,white);box-shadow:inset 3px 0 0 var(--instrument-accent)}
.instrument-section-table{min-width:1040px;table-layout:fixed}.instrument-section-table th:nth-child(1){width:72px}.instrument-section-table th:nth-child(2){width:145px}.instrument-section-table th:nth-child(4){width:100px}.instrument-section-table th:nth-child(5){width:78px}.instrument-section-table th:nth-child(6){width:120px}.instrument-section-table td,.instrument-item-table td{vertical-align:top}.instrument-section-cell>strong,.instrument-section-cell>small,.instrument-section-cell>p,.instrument-code-cell>strong,.instrument-code-cell>small{display:block}.instrument-section-cell>strong{font-size:12px;line-height:1.4}.instrument-section-cell>small,.instrument-code-cell>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.instrument-section-cell>p{margin:5px 0 0;color:#52617a;font-size:10px;line-height:1.5;white-space:normal}.instrument-item-table{min-width:1240px;table-layout:fixed}.instrument-item-table th:nth-child(1){width:31%}.instrument-item-table th:nth-child(2){width:92px}.instrument-item-table th:nth-child(4){width:115px}.instrument-item-table th:nth-child(5){width:125px}.instrument-item-table th:nth-child(6){width:76px}.instrument-item-table th:nth-child(7){width:112px}.instrument-item-section-cell>span{display:block;color:#34425b;font-size:10px;line-height:1.55;white-space:normal}.instrument-item-content-cell>strong,.instrument-item-content-cell>p,.instrument-rule-cell>span,.instrument-rule-cell>small{display:block}.instrument-item-content-cell>strong{font-size:12px;line-height:1.4}.instrument-item-content-cell>p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.55;white-space:normal}.instrument-checkpoint-cell details{max-width:100%}.instrument-checkpoint-cell summary{font-size:10px;line-height:1.4;cursor:pointer}.instrument-checkpoint-cell ol{margin:6px 0 0;padding-left:18px}.instrument-checkpoint-cell li{margin-bottom:4px;line-height:1.45}.instrument-rule-cell>span{font-size:10px;line-height:1.45}.instrument-rule-cell>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
.email-status-badge{padding:10px 14px;font-size:11px}.email-safety-alert{margin-bottom:18px}.email-settings-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr);gap:18px}.email-master-switch{padding:16px;background:#f7f9ff;border-color:#cdd8f7}.email-master-switch span span,.check-card span span{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.settings-block{padding-top:18px;border-top:1px solid var(--line)}.settings-block-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-block-head strong{font-size:13px}.settings-block-head span{color:var(--muted);font-size:10px;text-align:right}.email-confirmations{display:grid;gap:8px;padding:13px;border:1px dashed #d6deed;border-radius:12px;background:#fafbfe}.check-card.danger{border-color:#f0c3c8;background:#fff8f8}.email-test-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin-bottom:16px;font-size:11px}.email-test-summary span{color:var(--muted)}.email-test-summary strong{text-align:right;overflow-wrap:anywhere}.full-width{width:100%}.email-delivery-table{min-width:1120px}.text-danger{color:#c53f4b!important}@media(max-width:1050px){.email-settings-layout{grid-template-columns:1fr}}@media(max-width:640px){.settings-block-head{flex-direction:column}.settings-block-head span{text-align:left}}
.finding-row{display:grid;grid-template-columns:180px 1fr 38px;gap:8px;margin-bottom:9px}
.login-page{min-height:100vh;background:#edf2f7;overflow:auto}
.login-shell{width:100%;min-height:100vh;background:#edf2f7;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(440px,.95fr);overflow:hidden}
.login-art{background:linear-gradient(145deg,#0d3549 0%,#0c5260 56%,#08746f 100%);padding:clamp(36px,4.2vw,74px);color:white;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden}.login-art::before{content:"";position:absolute;z-index:-1;width:520px;height:520px;border:95px solid rgba(95,225,205,.08);border-radius:50%;right:-245px;bottom:-265px}.login-art::after{content:"";position:absolute;z-index:-1;inset:auto auto -90px -110px;width:290px;height:290px;border-radius:50%;background:rgba(3,42,60,.18);filter:blur(2px)}
.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.login-brand .brand-mark{width:58px;height:58px;padding:5px;border-radius:15px;background:white;color:#116373;box-shadow:0 12px 30px rgba(0,27,42,.2);font-size:21px}.login-brand-copy strong{display:block;color:white;font-size:15px}.login-brand-copy>span{display:block;color:#bfe3e5;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.login-message{margin:auto 0;position:relative;z-index:2;max-width:720px;padding:52px 0 40px}.login-kicker{display:inline-flex;padding:6px 10px;border:1px solid rgba(196,247,237,.28);background:rgba(255,255,255,.08);border-radius:7px;color:#bff5e9;font-size:10px;font-weight:850;letter-spacing:.1em}.login-message h1{max-width:690px;font-size:clamp(40px,4vw,67px);font-weight:820;line-height:1.04;letter-spacing:-.045em;margin:23px 0 18px}.login-message>p{max-width:650px;color:#d0e7e9;font-size:clamp(14px,1.05vw,17px);line-height:1.65;margin:0}.login-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:32px}.login-point{min-height:112px;padding:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.075);border-radius:13px;backdrop-filter:blur(4px)}.login-point-icon{width:28px;height:28px;display:grid;place-items:center;margin-bottom:7px!important}.login-point-icon svg{width:23px;height:23px;stroke:#d9fff7;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-point strong{font-size:12px;display:block;color:white}.login-point>span:last-child{display:block;margin-top:2px;font-size:10px;color:#b9dbde;line-height:1.4}
.login-assurance{display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 15px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.11)}.login-assurance-mark{width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:#b9f55f;color:#123f43;display:grid;place-items:center;font-size:20px;font-weight:900}.login-assurance small,.login-assurance strong{display:block}.login-assurance small{color:#bfe2e3;font-size:10px}.login-assurance strong{color:white;font-size:13px}.login-art-footer{position:relative;z-index:2;color:#c6e3e4;font-size:10px}
.login-form-side{padding:38px clamp(28px,5.5vw,100px);display:grid;place-items:center;background:radial-gradient(circle at 75% 18%,rgba(79,103,220,.08),transparent 30%),#f1f5f9}.login-form-wrap{width:min(480px,100%);padding:34px 32px;background:white;border:1px solid #d8e1ec;border-radius:20px;box-shadow:0 24px 70px rgba(24,43,70,.11)}.login-form-wrap .eyebrow{display:inline-flex;padding:4px 8px;border-radius:6px;background:#e9efff;color:#345ad2;font-size:10px;letter-spacing:.08em;margin-bottom:9px}.login-form-wrap h2{font-size:28px;line-height:1.16;letter-spacing:-.035em;margin:0;color:#111d31}.login-form-wrap>p{color:var(--muted);margin:9px 0 22px;line-height:1.55}.login-form .input{min-height:48px;background:#f7f9fc;border-color:#d8e1ed}.login-form .input::placeholder{color:#a4adbb}.login-form .btn{min-height:49px;margin-top:2px}.google-login-box{padding:13px;border:1px solid #c9d9ff;border-radius:14px;background:#eef5ff}.google-btn{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:11px;border:0;background:#2857d9;border-radius:10px;padding:12px;font-weight:800;color:white;box-shadow:0 8px 20px rgba(40,87,217,.18);transition:.18s}.google-btn:hover{background:#204bc2;transform:translateY(-1px)}.google-logo{width:25px;height:25px;border-radius:8px;background:white;display:grid;place-items:center;color:#2857d9;font-weight:900;font-size:13px}.google-caption{display:block;margin-top:8px;color:#4f6380;font-size:9px}.divider{display:flex;align-items:center;gap:12px;color:#8994a6;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;margin:19px 0}.divider::before,.divider::after{content:"";height:1px;background:var(--line);flex:1}.login-note{margin-top:14px;background:#eefbf5;border:1px solid #b8ead2;border-radius:12px;padding:12px 13px;font-size:10px;color:#49655a}.login-note strong{color:#15724f}.login-actions{display:grid;gap:8px}.login-form-wrap .btn-dark{background:#2857d9;color:white}.login-form-wrap .btn-dark:hover{background:#204bc2}.login-form-wrap .btn-secondary{border-color:#d9e1ec}.btn-link{background:transparent;color:#3659bd;min-height:34px;padding:6px}.login-footer{margin-top:22px;font-size:9px;color:#9aa3b2;text-align:center}
.overlay{display:none}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.score-summary{position:static}.repeat-row{grid-template-columns:140px 180px minmax(0,1fr) 38px}.repeat-row>*:nth-child(4){grid-column:1}.repeat-row>*:nth-child(5){grid-column:2}.repeat-row>*:last-child{grid-column:4;grid-row:1}}
@media(max-width:1100px){.suggestion-column-head{display:none}}
@media(max-width:860px){:root{--sidebar:260px}.sidebar{transform:translateX(-105%);transition:.22s}.sidebar.open{transform:translateX(0)}.overlay{position:fixed;inset:0;background:rgba(8,15,27,.48);z-index:45}.overlay.show{display:block}.main{margin-left:0}.mobile-toggle{display:grid;place-items:center}.topbar{height:68px;padding:0 18px}.page{padding:22px 18px 40px}.login-shell{grid-template-columns:1fr}.login-art{min-height:auto;padding:32px}.login-message{padding:42px 0 22px}.login-message h1{max-width:620px;font-size:39px}.login-points{max-width:650px}.login-assurance{max-width:650px}.login-art-footer{display:none}.login-form-side{padding:38px 24px 48px}.login-form-wrap{padding:34px 32px}}
@media(max-width:640px){body{font-size:13px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:23px}.grid-4,.grid-3,.grid-2,.form-grid,.kv{grid-template-columns:1fr}.form-group.full{grid-column:auto}.hero{padding:22px;align-items:flex-start}.hero-score{display:none}.card-body{padding:16px}.card-head{padding:15px 16px}.checkbox-grid{grid-template-columns:1fr}.repeat-row,.finding-row{grid-template-columns:1fr}.repeat-row>*:nth-child(4),.repeat-row>*:nth-child(5),.repeat-row>*:last-child{grid-column:auto;grid-row:auto}.assessment-score{grid-template-columns:1fr 90px}.login-art{padding:24px}.login-brand .brand-mark{width:45px;height:45px}.login-brand-copy strong{font-size:13px}.login-brand-copy>span{font-size:9px}.login-message{padding:36px 0 6px}.login-message h1{font-size:32px;margin:17px 0 12px}.login-message>p{font-size:13px}.login-points{display:none}.login-assurance{margin-top:20px}.login-form-side{padding:24px 14px 34px}.login-form-wrap{padding:27px 20px;border-radius:17px}.login-form-wrap h2{font-size:25px}.topbar-sub{display:none}.top-actions .icon-btn{display:none}.metric{padding:9px 11px}.metric-value{font-size:20px}.metric-note{font-size:8.5px}}
@media print{.sidebar,.topbar,.page-actions,.btn,.form-actions{display:none!important}.main{margin:0}.page{padding:0}.card{box-shadow:none}.detail-grid{display:block}}
.scope-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8faff}.scope-steps span{display:flex;align-items:center;gap:8px;color:#526078;font-size:11px;font-weight:750}.scope-steps b{width:25px;height:25px;border-radius:8px;background:#e7ecff;color:var(--primary);display:grid;place-items:center;font-size:10px}.label-optional{color:var(--muted);font-size:10px;font-weight:600}.empty-filter{padding:15px;border:1px dashed #d7ddea;border-radius:11px;color:var(--muted);font-size:12px;text-align:center}.check-card[hidden]{display:none}
.supervisor-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.supervisor-picker-card{min-width:0;border:1px solid var(--line);border-radius:13px;background:#fafbfe;overflow:hidden}.supervisor-picker-card>header{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-bottom:1px solid var(--line);background:#f4f6ff}.supervisor-picker-card>header>b{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:#4f67dc;color:#fff;font-size:10px}.supervisor-picker-card>header strong,.supervisor-picker-card>header span{display:block}.supervisor-picker-card>header strong{font-size:12px}.supervisor-picker-card>header span{margin-top:2px;color:var(--muted);font-size:9px}.supervisor-picker-secondary>header{background:#f2fbf9}.supervisor-picker-secondary>header>b{background:#14a58f}.supervisor-choice-list{grid-template-columns:1fr;gap:6px;max-height:310px;overflow:auto;padding:8px}.supervisor-choice-list .check-card{background:#fff}.supervisor-picker-card>.empty-filter{margin:8px}
@media(max-width:900px){.supervisor-picker-grid{grid-template-columns:1fr}.supervisor-choice-list{max-height:250px}}
.preparation-checklist{display:grid;gap:7px}.preparation-checklist-item{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:inherit;background:#fff}.preparation-checklist-item>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:10px;font-weight:850}.preparation-checklist-item strong,.preparation-checklist-item small{display:block}.preparation-checklist-item strong{font-size:10px}.preparation-checklist-item small{margin-top:2px;color:var(--muted);font-size:9px}.preparation-checklist-item.is-complete>span:first-child{background:#e5f7ef;color:#16815f}.preparation-checklist-item.is-missing{border-color:#efd4a2;background:#fffbf1}.preparation-checklist-item.is-missing>span:first-child{background:#fff0cc;color:#9a6910}.preparation-checklist>.alert{margin:2px 0 0}
@media(max-width:640px){.scope-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.scope-badges{display:flex;flex-wrap:wrap;gap:5px;max-width:520px}.users-toolbar{align-items:flex-end;gap:18px}.users-filter-form{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(3,minmax(145px,.75fr)) auto;gap:12px;align-items:end;flex:1}.users-filter-form .form-group{min-width:0}.users-filter-form label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#748198}.users-filter-actions{display:flex;gap:8px}.users-filter-result{display:grid;justify-items:end;gap:5px;padding-bottom:4px;white-space:nowrap}.modal.user-access-modal{width:min(900px,calc(100vw - 30px));max-height:calc(100vh - 28px);overflow:hidden}.user-access-modal::backdrop{background:rgba(9,18,33,.62);backdrop-filter:blur(3px)}.modal-panel.user-access-panel{width:100%!important;max-height:calc(100vh - 28px)!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column}.access-modal-head{flex:0 0 auto;margin:0!important;padding:22px 24px 17px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff,#f5f8ff)}.access-modal-head h2{font-size:22px}.access-modal-head p{overflow-wrap:anywhere}.modal-close-btn{flex:0 0 auto;font-size:20px}.access-manager{position:static;width:auto;max-height:none;min-height:0;overflow-y:auto;padding:20px 24px 26px;background:#f7f9fc;border:0;border-radius:0;box-shadow:none}.access-section{padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px}.access-section-head{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start}.access-step{width:28px;height:28px;border-radius:9px;background:#e9eeff;color:var(--primary);display:grid;place-items:center;font-size:11px;font-weight:850}.access-section-actions{display:flex;justify-content:flex-end;padding-top:2px}.access-section-actions .btn{min-width:210px}.access-divider{height:1px;background:var(--line);margin:16px 0}.scope-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafbfe}.scope-row strong{display:block;font-size:12px}.scope-row span{display:block;color:var(--muted);font-size:10px;margin-top:2px}body:has(.user-access-modal[open]){overflow:hidden}
.profile-identity{display:flex;gap:15px;align-items:center;margin-bottom:20px}.profile-identity h2{margin:0}.profile-avatar{width:60px;height:60px;font-size:19px}.profile-completion{display:grid;gap:8px}.profile-completion strong{font-size:30px;color:var(--primary)}.profile-completion>div{height:9px;border-radius:99px;background:#e7ecf5;overflow:hidden}.profile-completion span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .2s}.profile-self-form textarea{resize:vertical;min-height:120px}
.rubric-page-head{margin-top:0!important}.rubric-layout{display:grid;grid-template-columns:minmax(680px,1.75fr) minmax(390px,.75fr);gap:16px;align-items:start}.rubric-main-card{min-width:0}.rubric-card-head{padding:13px 16px}.rubric-table{width:100%;min-width:800px;table-layout:fixed}.rubric-table .rubric-col-code{width:112px}.rubric-table .rubric-col-criterion{width:auto}.rubric-table .rubric-col-weight{width:74px}.rubric-table .rubric-col-conversion{width:82px}.rubric-table .rubric-col-status{width:76px}.rubric-table .rubric-col-actions{width:112px}.rubric-table th{padding:9px 12px}.rubric-table td{padding:9px 12px;vertical-align:middle}.rubric-table .cell-title{font-size:12px}.rubric-table .cell-sub{font-size:10px}.rubric-criterion-cell{max-width:0}.rubric-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rubric-group-divider td{padding:0!important;background:#f3f6ff;border-top:2px solid #dce4ff;border-bottom:1px solid #dce4ff}.rubric-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px}.rubric-group-copy{min-width:0;display:flex;align-items:baseline;gap:10px}.rubric-group-divider strong{font-size:11px;color:#263d82;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.rubric-group-copy>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--muted)}.rubric-group-heading>.badge{flex:0 0 auto}.criterion-code-preview{font-weight:800;letter-spacing:.04em;background:#f5f7fb!important;color:#40506a}.rubric-side{gap:16px}.rubric-compact-list{display:grid}.rubric-compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.rubric-compact-row:last-child{border-bottom:0}.rubric-compact-row.category-row{border-left-color:var(--cat,#4f67dc)}.rubric-compact-copy{min-width:0;display:grid;gap:2px}.rubric-compact-copy>strong{font-size:12px;line-height:1.35}.rubric-compact-copy>span{color:var(--muted);font-size:10px}.rubric-compact-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.rubric-compact-title .badge{padding:3px 7px;font-size:9px}.rubric-compact-actions{align-self:end}.rubric-small-modal{width:min(650px,calc(100vw - 32px))}.compact-textarea{min-height:72px}.color-input{min-height:42px;padding:5px}
.suggestion-scope-filter{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbfe}.suggestion-category-table{min-width:820px}.suggestion-category-table th:first-child,.suggestion-category-table td:first-child{width:64px;text-align:center}.suggestion-category-table th:nth-child(3){width:150px}.suggestion-category-table th:nth-child(4){width:100px}.suggestion-category-table th:last-child{width:150px}.suggestion-category-name{display:flex;align-items:center;gap:11px;min-width:0}.suggestion-category-name>div{display:grid;gap:3px;min-width:0}.suggestion-category-name small{color:var(--muted)}.suggestion-color{width:10px;height:38px;flex:0 0 10px;border-radius:999px;background:var(--suggestion-color,#4f67dc)}
@media(max-width:1180px){.rubric-layout{grid-template-columns:1fr}.rubric-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}
@media(max-width:720px){.rubric-side{grid-template-columns:1fr}.rubric-compact-row{grid-template-columns:1fr}.rubric-compact-actions{align-self:auto}.rubric-layout{display:block}.rubric-side{margin-top:16px}.rubric-small-modal{width:calc(100vw - 16px)}}
@media(max-width:1180px){.users-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.users-filter-search{grid-column:1/-1}.users-filter-actions{align-self:end}.users-filter-result{align-self:end}}
@media(max-width:640px){.users-toolbar{flex-direction:column;align-items:stretch}.users-filter-form{width:100%;grid-template-columns:1fr}.users-filter-search{grid-column:auto}.users-filter-actions,.users-filter-actions .btn{width:100%}.users-filter-actions .btn{flex:1}.users-filter-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.modal.user-access-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.modal-panel.user-access-panel{max-height:calc(100vh - 16px)!important}.access-modal-head{padding:17px 16px 13px}.access-modal-head h2{font-size:18px}.access-manager{padding:14px}.access-section{padding:13px}.access-manager .checkbox-grid,.access-manager .form-grid{grid-template-columns:1fr}.access-section-actions .btn{width:100%;min-width:0}.scope-row{align-items:flex-start;flex-direction:column}}
.administrator-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:18px}.admin-rule{display:flex;gap:11px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}.admin-rule:last-of-type{border-bottom:0}.admin-rule strong{font-size:12px}.admin-rule p{margin:3px 0 0;color:var(--muted);font-size:11px}.administrator-table{min-width:1020px}.admin-scope-list{display:grid;gap:6px;min-width:270px}.admin-scope-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fafbfe;font-size:10px;color:var(--muted)}.admin-scope-item strong{display:block;color:var(--ink);font-size:10px}.scope-remove{width:22px;height:22px;border:0;border-radius:7px;background:#fff0f1;color:#b64450;font-size:16px;line-height:1}.administrator-access-manager{width:min(820px,calc(100vw - 80px))}
@media(max-width:1100px){.administrator-layout{grid-template-columns:1fr}}
@media(max-width:640px){.administrator-access-manager{position:fixed;width:auto}.administrator-layout .card-body{padding:16px}}
.placement-modal{width:min(820px,calc(100vw - 32px));max-height:90vh;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 28px 90px rgba(10,22,40,.28)}
.placement-modal::backdrop{background:rgba(9,18,33,.58);backdrop-filter:blur(3px)}
.modal-card{background:#fff;border-radius:18px;overflow:auto;max-height:90vh}
.modal-card .card-head{position:sticky;top:0;background:#fff;z-index:2}
.multi-select{min-height:132px;padding:7px}.multi-select option{padding:7px 9px;border-radius:7px}.multi-select option:checked{background:linear-gradient(90deg,var(--primary),var(--primary));color:#fff}
@media(max-width:640px){.placement-modal{width:calc(100vw - 16px);max-height:94vh}.modal-card{max-height:94vh}}
.instrument-section{margin:28px 0 10px;padding:12px 14px;background:#eef3ff;border-radius:12px}.instrument-item{padding:18px 0;border-bottom:1px solid var(--line)}.instrument-item:last-child{border-bottom:0}.instrument-copy h4{margin:0 0 5px}.instrument-copy p{margin:0 0 14px;color:var(--muted)}.checkpoint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.instrument-derived{margin:10px 0 14px;color:var(--muted)}.star-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;margin:4px 0 14px}.star-rating input{position:absolute;opacity:0}.star-rating label{font-size:34px;color:#cbd3df;cursor:pointer;line-height:1}.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:#f2b01e}.rating-options{display:flex;gap:8px;margin:8px 0 14px}.rating-options input{position:absolute;opacity:0}.rating-options span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800}.rating-options input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}@media(max-width:720px){.checkpoint-grid{grid-template-columns:1fr}.star-rating label{font-size:30px}}
.modal{width:min(720px,calc(100vw - 30px));max-height:92vh;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 28px 90px rgba(10,22,40,.3)}.modal::backdrop{background:rgba(9,18,33,.58);backdrop-filter:blur(3px)}.modal-panel{background:#fff;border-radius:18px;padding:22px;max-height:92vh;overflow:auto}.modal-panel.wide{width:min(820px,calc(100vw - 30px))}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.modal-head h2{margin:0}.modal-head p{margin:4px 0 0;color:var(--muted)}.button-row,.table-actions{display:flex;align-items:center;gap:8px}.table-actions form{margin:0}.page-head.compact{margin-top:24px;margin-bottom:14px}@media(max-width:640px){.modal,.modal-panel.wide{width:calc(100vw - 16px)}.modal-panel{padding:16px}.button-row{width:100%;flex-wrap:wrap}}
.supervision-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(150px,.8fr)) auto;gap:10px}.agenda-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.agenda-list{display:grid;gap:8px}.agenda-item{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;color:inherit;background:#fff;transition:.16s}.agenda-item.agenda-item-with-time{grid-template-columns:78px minmax(0,1fr) auto}.agenda-item-with-time time span{white-space:nowrap}.agenda-item:hover{border-color:#b9c6ef;background:#f8faff;transform:translateY(-1px)}.agenda-item.is-clickable{cursor:pointer}.agenda-item.is-clickable:focus-visible{outline:3px solid rgba(79,103,220,.3);outline-offset:2px;border-color:#7589e7}.agenda-item time{display:grid;justify-items:center;padding:7px;border-radius:9px;background:#eef3ff;color:var(--primary)}.agenda-item time strong{font-size:18px}.agenda-item time span,.agenda-item small{font-size:10px}.agenda-item>span:nth-child(2){min-width:0}.agenda-item>span:nth-child(2) strong,.agenda-item>span:nth-child(2) small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-item>span:nth-child(2) small{color:var(--muted);margin-top:3px}@media(max-width:1000px){.supervision-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-month-grid{grid-template-columns:1fr}}@media(max-width:640px){.supervision-filters{grid-template-columns:1fr}.agenda-item{grid-template-columns:58px minmax(0,1fr)}.agenda-item.agenda-item-with-time{grid-template-columns:70px minmax(0,1fr)}.agenda-item>.badge{grid-column:2;justify-self:start}}
.monitor-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.monitor-filter-wide{grid-column:span 2}.monitor-filter-actions{grid-column:span 2;justify-content:flex-end}.monitor-table{min-width:1180px}.teacher-history-picker{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end}.teacher-history-timeline{display:grid;gap:10px}.teacher-history-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.teacher-history-date{display:grid;gap:3px}.teacher-history-date strong{font-size:13px}.teacher-history-date span{font-size:10px;color:var(--muted)}.teacher-history-item h3{margin:9px 0 3px}.teacher-history-item p{margin:4px 0;font-size:11px}@media(max-width:1050px){.monitor-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.monitor-filter-grid,.teacher-history-picker{grid-template-columns:1fr}.monitor-filter-wide,.monitor-filter-actions{grid-column:auto}.monitor-filter-actions{justify-content:stretch}.monitor-filter-actions .btn{flex:1}.teacher-history-item{grid-template-columns:1fr}.teacher-history-item>.btn{justify-self:start}}
.schedule-report-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.8fr)) auto;gap:12px;align-items:end}.schedule-print-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow)}.schedule-print-header{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:2px solid #18263b}.schedule-print-header img{width:64px;height:64px;object-fit:contain}.schedule-print-header h1{margin:3px 0;font-size:25px}.schedule-print-header p{margin:0;color:var(--muted)}.schedule-print-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 0;font-size:11px;color:var(--muted)}.schedule-report-group{margin-top:20px;break-inside:avoid}.schedule-report-group h2{padding:9px 12px;background:#eaf0ff;border-left:4px solid var(--primary);font-size:15px}.schedule-report-table{width:100%;border-collapse:collapse;font-size:10px}.schedule-report-table th,.schedule-report-table td{padding:8px;border:1px solid #cfd6e3;text-align:left;vertical-align:top}.schedule-report-table th{background:#f2f5fa;text-transform:uppercase;font-size:9px;letter-spacing:.04em}.schedule-report-table small{display:block;margin-top:3px;color:#5d687b}.schedule-print-footer{margin-top:24px;padding-top:12px;border-top:1px solid #cfd6e3;color:#626d7d;font-size:9px;text-align:center}@media(max-width:1000px){.schedule-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.schedule-report-filters{grid-template-columns:1fr}.schedule-print-sheet{padding:16px}.schedule-print-header{align-items:flex-start}.schedule-print-header img{width:48px;height:48px}.schedule-report-table{min-width:860px}.schedule-print-sheet{overflow:auto}}
.metric-link{display:block;color:inherit;text-decoration:none;transition:transform .16s,border-color .16s}.metric-link:hover{transform:translateY(-2px);border-color:var(--metric-color)}
@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important}.report-screen-controls{display:none!important}.schedule-print-sheet{border:0;border-radius:0;box-shadow:none;padding:0;margin:0}.schedule-report-group{break-inside:auto;page-break-inside:auto}.schedule-report-group h2{break-after:avoid;page-break-after:avoid}.schedule-report-table{font-size:8.5px}.schedule-report-table thead{display:table-header-group}.schedule-report-table tr{break-inside:avoid;page-break-inside:avoid}.schedule-print-footer{position:relative}}
.cleanup-filter-grid{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(170px,1fr));gap:14px;align-items:end}.cleanup-filter-wide{min-width:0}.cleanup-filter-grid .form-actions{grid-column:1/-1}.bulk-select-all{display:flex;align-items:center;gap:8px;font-weight:700;color:#33415f}.cleanup-check{width:72px;text-align:center}.cleanup-check input{width:18px;height:18px}.cleanup-confirmation{border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.cleanup-confirmation .alert,.cleanup-confirmation .form-actions{grid-column:1/-1}.cleanup-confirmation .form-actions{justify-content:flex-end}@media(max-width:900px){.cleanup-filter-grid,.cleanup-confirmation{grid-template-columns:1fr}.cleanup-filter-grid .form-actions,.cleanup-confirmation .alert,.cleanup-confirmation .form-actions{grid-column:1}.bulk-select-all{margin-top:8px}}
.ledger-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.ledger-filter-wide{grid-column:span 2}.ledger-filter-actions{grid-column:span 2;justify-content:flex-end}.ledger-print-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.ledger-print-header{display:flex;align-items:center;gap:18px;padding-bottom:17px;border-bottom:3px solid #18263b}.ledger-print-header img{width:64px;height:64px;object-fit:contain}.ledger-print-header h1{margin:2px 0 4px;font-size:24px}.ledger-print-header p{margin:0;color:var(--muted)}.ledger-print-meta{display:flex;gap:10px 22px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #d8dee8;color:var(--muted);font-size:10px}.ledger-print-meta strong{color:var(--ink)}.ledger-teacher{margin-top:26px}.ledger-teacher+.ledger-teacher{padding-top:26px;border-top:3px solid #17263b}.ledger-teacher-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;background:linear-gradient(90deg,#102840,#173c57);color:#fff}.ledger-teacher-number{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#4bd1c1;color:#102840;font-weight:850}.ledger-teacher-head>div>span{display:block;color:#9fc5d2;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ledger-teacher-head h2{margin:1px 0;font-size:17px;color:#fff}.ledger-teacher-head p{margin:0;color:#bbd0db;font-size:9px}.ledger-activity{margin-top:15px;border:1px solid #cfd7e3;border-radius:13px;overflow:hidden;break-inside:avoid}.ledger-activity-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 14px;background:#f7f9fc;border-bottom:1px solid #d8dee8}.ledger-activity-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ledger-activity-title>strong{font-size:12px}.ledger-activity-head p{margin:5px 0 0;color:var(--muted);font-size:9px}.ledger-activity-meta{display:grid;justify-items:end;gap:2px;min-width:160px;color:#68758a;font-size:9px}.ledger-activity-meta a{color:var(--primary);font-weight:750}.ledger-table-wrap{overflow:auto}.ledger-table{width:100%;min-width:max-content;border-collapse:collapse;font-size:9px}.ledger-table th,.ledger-table td{border:1px solid #d6dce6;padding:6px;text-align:center;vertical-align:middle}.ledger-table th{background:#eef2f7;color:#344158;font-size:8px}.ledger-table thead tr:first-child th{background:#182f49;color:#fff;border-color:#2f465e}.ledger-section-head{max-width:280px}.ledger-observer-column{min-width:175px;text-align:left!important}.ledger-average-column{min-width:70px}.ledger-status-column{min-width:88px}.ledger-indicator-head{width:84px;min-width:84px;max-width:84px}.ledger-indicator-head strong,.ledger-indicator-head small{display:block}.ledger-indicator-head strong{font-size:8px;color:#27364c}.ledger-indicator-head small{margin-top:3px;max-height:25px;overflow:hidden;color:#69778c;font-size:7px;line-height:1.25;text-transform:none;font-weight:600;letter-spacing:0}.ledger-observer-cell{text-align:left!important;background:#fbfcfe}.ledger-observer-cell strong,.ledger-observer-cell small{display:block}.ledger-observer-cell strong{font-size:9px}.ledger-observer-cell small{margin-top:2px;color:#758197;font-size:7px}.ledger-score-cell strong,.ledger-score-cell small{display:block}.ledger-score-cell strong{font-size:11px}.ledger-score-cell small{margin-top:1px;color:#718097;font-size:7px}.ledger-score-cell span{color:#a5adba}.ledger-average-cell{background:#edf9f6;color:#126e64;font-size:12px;font-weight:850}.ledger-status-cell span,.ledger-status-cell small{display:block}.ledger-status-cell small{margin-top:3px;color:#7d8796;font-size:7px}.ledger-state{font-size:7px;font-weight:800;text-transform:uppercase}.ledger-state-done{color:#167759}.ledger-state-pending{color:#9b6810}.ledger-no-observer{padding:14px!important;color:var(--muted)}.ledger-scale-note{padding:6px 10px;background:#fbfcfe;color:#768197;font-size:7px;text-align:right}.ledger-indicator-key{padding:9px 12px;border-top:1px solid #e1e5ec;color:#56647a;font-size:9px}.ledger-indicator-key summary{cursor:pointer;font-weight:750;color:var(--primary)}.ledger-indicator-key>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 12px;margin-top:8px}.ledger-indicator-key span{line-height:1.35}.ledger-print-footer{margin-top:25px;padding-top:10px;border-top:1px solid #cfd6e3;color:#68758a;font-size:8px;text-align:center}.ledger-empty{padding:70px 24px}@media(max-width:1050px){.ledger-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-filter-wide,.ledger-filter-actions{grid-column:span 2}}@media(max-width:640px){.ledger-filter-grid{grid-template-columns:1fr}.ledger-filter-wide,.ledger-filter-actions{grid-column:auto}.ledger-filter-actions{justify-content:stretch}.ledger-filter-actions .btn{flex:1}.ledger-print-sheet{padding:14px}.ledger-print-header{align-items:flex-start}.ledger-print-header img{width:46px;height:46px}.ledger-print-header h1{font-size:18px}.ledger-activity-head{display:grid}.ledger-activity-meta{justify-items:start}.ledger-indicator-key>div{grid-template-columns:1fr}.ledger-teacher-head h2{font-size:15px}}
@media print{@page{size:A3 landscape;margin:8mm}.ledger-print-sheet{border:0;border-radius:0;box-shadow:none;padding:0;margin:0}.ledger-print-header img{width:48px;height:48px}.ledger-print-header h1{font-size:18px}.ledger-print-meta{padding:8px 0}.ledger-teacher{margin-top:14px}.ledger-teacher+.ledger-teacher{padding-top:14px}.ledger-teacher-head{padding:7px 9px;border-radius:4px}.ledger-teacher-number{width:25px;height:25px;border-radius:4px}.ledger-teacher-head h2{font-size:12px}.ledger-activity{margin-top:8px;border-radius:3px;break-inside:avoid;page-break-inside:avoid}.ledger-activity-head{padding:7px 8px}.ledger-table{font-size:6px;min-width:0;table-layout:fixed}.ledger-table th,.ledger-table td{padding:3px 2px}.ledger-observer-column{width:105px;min-width:105px}.ledger-average-column{width:42px;min-width:42px}.ledger-status-column{width:55px;min-width:55px}.ledger-indicator-head{width:auto;min-width:0;max-width:none}.ledger-indicator-head small{display:none}.ledger-observer-cell strong{font-size:6.5px}.ledger-observer-cell small,.ledger-status-cell small{font-size:5px}.ledger-score-cell strong,.ledger-average-cell{font-size:7px}.ledger-score-cell small{font-size:5px}.ledger-scale-note{padding:3px 6px;font-size:5px}.ledger-print-footer{font-size:6px}}
.ledger-master-section{margin-top:22px;border:1px solid #ccd5e2;border-radius:14px;overflow:hidden;background:#fff;break-inside:auto}.ledger-master-section+.ledger-master-section{margin-top:28px}.ledger-master-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;background:linear-gradient(100deg,#102840,#183e59);color:#fff}.ledger-master-head>div:first-child{display:flex;align-items:center;gap:11px}.ledger-master-head .eyebrow{margin:0;color:#75e0d3;font-size:8px}.ledger-master-head h2{margin:2px 0;font-size:15px;color:#fff}.ledger-master-head p{margin:0;color:#bdd0dc;font-size:8px}.ledger-master-number{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#4bd1c1;color:#102840;font-size:11px;font-weight:850}.ledger-master-stats{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ledger-master-stats span{padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#c5d5df;font-size:8px}.ledger-master-stats strong{color:#fff;font-size:10px}.ledger-master-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.ledger-master-table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:8px}.ledger-master-table th,.ledger-master-table td{box-sizing:border-box;padding:6px;border-right:1px solid #d6dce6;border-bottom:1px solid #d6dce6;text-align:center;vertical-align:middle}.ledger-master-table th{background:#eaf0f6;color:#2d3c52;font-size:7px}.ledger-master-table thead tr:first-child th{background:#1c3651;color:#fff;border-color:#344e68}.ledger-master-table tbody tr:last-child td{border-bottom:0}.ledger-master-table tbody tr:hover td{background:#f6f9ff}.ledger-master-table .ledger-fixed{position:sticky;z-index:3;background:#fff}.ledger-master-table th.ledger-fixed{z-index:6;background:#1c3651}.ledger-col-no{left:0;width:42px;min-width:42px}.ledger-col-teacher{left:42px;width:175px;min-width:175px;text-align:left!important}.ledger-col-type{left:217px;width:120px;min-width:120px}.ledger-col-material{left:337px;width:225px;min-width:225px;text-align:left!important}.ledger-col-observer{left:562px;width:155px;min-width:155px;text-align:left!important;box-shadow:5px 0 8px rgba(25,42,63,.08)}.ledger-master-indicator{width:78px;min-width:78px;max-width:78px}.ledger-master-indicator strong,.ledger-master-indicator small{display:block}.ledger-master-indicator strong{font-size:8px}.ledger-master-indicator small{margin-top:3px;max-height:24px;overflow:hidden;color:#65758b;font-size:6px;line-height:1.25;text-transform:none;letter-spacing:0}.ledger-master-section-head{max-width:300px}.ledger-master-average{width:68px;min-width:68px}.ledger-master-status{width:82px;min-width:82px}.ledger-plan-cell{vertical-align:top!important;padding-top:9px!important}.ledger-plan-cell strong,.ledger-plan-cell small,.ledger-observer-cell strong,.ledger-observer-cell small{display:block}.ledger-plan-cell strong{font-size:9px;line-height:1.35}.ledger-plan-cell small{margin-top:3px;color:#748197;font-size:6.5px;line-height:1.35}.ledger-plan-cell a{display:inline-block;margin-top:5px;color:var(--primary);font-size:7px;font-weight:750}.ledger-type-label{display:inline-flex;padding:5px 7px;border-radius:7px;background:#edf1ff;color:#455dc5;font-size:7px;font-weight:850;line-height:1.3}.ledger-row-incidental .ledger-type-label{background:#fff3d9;color:#98640d}.ledger-row-non-kbm .ledger-type-label{background:#e4f8f5;color:#107b70}.ledger-master-row:nth-child(even) td:not(.ledger-plan-cell){background:#fafbfd}.ledger-master-row .ledger-observer-cell{padding-top:8px;padding-bottom:8px}.ledger-master-row .ledger-observer-cell strong{font-size:8.5px}.ledger-master-row .ledger-observer-cell small{margin-top:2px;color:#748197;font-size:6px}.ledger-master-row .ledger-score-cell{min-width:78px}.ledger-master-row .ledger-status-cell{min-width:82px}.ledger-master-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;background:#f7f9fc;border-top:1px solid #d9e0e9;color:#6f7c90;font-size:7px}.ledger-master-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 12px;padding:11px 13px;border-top:1px solid #e1e6ed;color:#5d6a7e;font-size:7px}.ledger-master-legend span{line-height:1.35}.ledger-master-legend strong{color:#2d3d54}@media(max-width:900px){.ledger-master-head{align-items:flex-start;flex-direction:column}.ledger-master-stats{justify-content:flex-start}.ledger-master-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ledger-master-section{border-radius:9px}.ledger-master-head{padding:12px}.ledger-master-legend{grid-template-columns:1fr}.ledger-col-no{width:34px;min-width:34px}.ledger-col-teacher{left:34px;width:145px;min-width:145px}.ledger-col-type{left:179px;width:100px;min-width:100px}.ledger-col-material{left:279px;width:175px;min-width:175px}.ledger-col-observer{left:454px;width:135px;min-width:135px}}
.ledger-teacher-summary-table{min-width:780px;table-layout:fixed}.ledger-teacher-summary-table th:first-child{width:34%}.ledger-teacher-summary-table th:not(:first-child){width:22%}.ledger-teacher-summary-table td{vertical-align:top;padding:15px 18px}.ledger-teacher-summary-table tbody tr:nth-child(even){background:#fafbfd}.ledger-summary-teacher strong,.ledger-summary-teacher small,.ledger-summary-teacher span,.ledger-summary-score strong,.ledger-summary-score small,.ledger-summary-score span,.ledger-summary-average strong,.ledger-summary-average small{display:block}.ledger-summary-teacher strong{color:#122238;font-size:13px;line-height:1.35}.ledger-summary-teacher small{margin-top:5px;color:#66758b;font-size:10px}.ledger-summary-teacher span{margin-top:4px;color:#8792a3;font-size:9px}.ledger-summary-score strong,.ledger-summary-average>strong{color:#10233b;font-size:18px;line-height:1.1}.ledger-summary-score small{margin-top:7px;color:#33445b;font-size:10px;line-height:1.4}.ledger-summary-score span{margin-top:4px;color:#a06a0d;font-size:9px}.ledger-summary-average small{margin:7px 0 8px;color:#66758b;font-size:9px}.ledger-summary-average .ledger-state{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;letter-spacing:.04em}.ledger-summary-average .ledger-state-done{background:#e2f7ef}.ledger-summary-average .ledger-state-pending{background:#fff2d7}@media(max-width:640px){.ledger-teacher-summary-table{min-width:680px}.ledger-teacher-summary-table td{padding:12px}.ledger-summary-teacher strong{font-size:12px}.ledger-summary-score strong,.ledger-summary-average>strong{font-size:16px}}
@media print{@page{size:A3 landscape;margin:7mm}.ledger-master-section{margin-top:10px;border-radius:2px;overflow:visible;break-inside:auto;page-break-inside:auto}.ledger-master-section+.ledger-master-section{margin-top:14px;break-before:page;page-break-before:always}.ledger-master-head{padding:6px 8px}.ledger-master-head h2{font-size:9px}.ledger-master-number{width:21px;height:21px;border-radius:3px;font-size:7px}.ledger-master-stats span{padding:3px 5px;font-size:5px}.ledger-master-stats strong{font-size:6px}.ledger-master-wrap{overflow:visible}.ledger-master-table{width:100%;min-width:0;table-layout:fixed;font-size:5px;border-collapse:collapse}.ledger-master-table thead{display:table-header-group}.ledger-master-table tr{break-inside:avoid;page-break-inside:avoid}.ledger-master-table th,.ledger-master-table td{position:static!important;padding:2.5px 1.5px;font-size:5px}.ledger-master-table .ledger-fixed{position:static!important;box-shadow:none}.ledger-col-no{width:22px;min-width:0}.ledger-col-teacher{width:68px;min-width:0}.ledger-col-type{width:52px;min-width:0}.ledger-col-material{width:88px;min-width:0}.ledger-col-observer{width:64px;min-width:0}.ledger-master-indicator{width:auto;min-width:0;max-width:none}.ledger-master-indicator strong{font-size:5px}.ledger-master-indicator small{display:none}.ledger-master-average{width:34px;min-width:0}.ledger-master-status{width:40px;min-width:0}.ledger-plan-cell{padding-top:3px!important}.ledger-plan-cell strong,.ledger-master-row .ledger-observer-cell strong{font-size:5px}.ledger-plan-cell small,.ledger-master-row .ledger-observer-cell small{font-size:4px}.ledger-plan-cell a{display:none}.ledger-type-label{padding:2px;background:transparent!important;color:#26384e!important;font-size:4.5px}.ledger-master-row .ledger-score-cell,.ledger-master-row .ledger-status-cell{min-width:0}.ledger-master-foot{padding:3px 5px;font-size:4px}.ledger-master-legend{display:none}.ledger-master-row .ledger-score-cell strong,.ledger-master-row .ledger-average-cell{font-size:5.5px}.ledger-master-row .ledger-score-cell small{font-size:4px}}
/* Student roster and teacher questionnaire */
.student-filter-card{padding:11px 13px}.student-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.student-filter-head h2{margin:0;font-size:13px}.student-filter-head p{display:inline;margin:0 0 0 7px;color:var(--muted);font-size:10px}.student-filter-head>div{display:flex;align-items:baseline}.student-filter-head>a{color:var(--primary);font-size:11px;font-weight:750}.student-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr)) minmax(180px,1.5fr) auto;gap:7px;align-items:end}.student-filter-grid label{display:grid;gap:3px;min-width:0}.student-filter-grid label>span{font-size:9px;font-weight:750;color:#58647a}.student-filter-grid input,.student-filter-grid select{width:100%;height:34px;min-width:0;border:1px solid #dbe1eb;border-radius:8px;background:#fff;padding:6px 8px;font-size:11px;outline:none}.student-filter-grid input:focus,.student-filter-grid select:focus{border-color:#8193e9;box-shadow:0 0 0 2px rgba(79,103,220,.1)}.student-filter-grid>.btn{height:34px;min-height:34px}.student-row-actions{display:flex;gap:5px;white-space:nowrap}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.student-master-form{overflow:hidden}.student-form-section{padding:22px}.student-form-section+.student-form-section{border-top:1px solid var(--line)}.student-form-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.student-form-section-head>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#edf1ff;color:#4560ca;font-size:10px;font-weight:850}.student-form-section-head h2{margin:0;font-size:15px}.student-form-section-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.student-master-form label small{color:var(--muted);font-size:9px}.student-email-readiness{display:grid;align-content:center;padding:9px 11px;border:1px solid #f0d7a5;border-radius:10px;background:#fff9ea;color:#8a6510}.student-email-readiness.is-ready{border-color:#bfe5d7;background:#edfaf5;color:#1c795d}.student-email-readiness strong{font-size:11px}.student-email-readiness span{font-size:9px}.student-form-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line);background:#f9fafc}.student-record-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.student-record-strip>span:not(.badge){display:grid;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;color:#536077}.student-record-strip>span strong{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#8a95a7}
.student-rombel-source{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px}.student-rombel-source h2{margin:1px 0 3px;font-size:16px}.student-rombel-source p{margin:0;color:var(--muted);font-size:12px}
.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-span-2{grid-column:span 2}.form-span-4{grid-column:span 4}.form-grid>label{display:grid;gap:6px}.form-grid>label>span,.inline-question-form label>span{font-size:11px;font-weight:750;color:#455168}.form-grid>label>input,.form-grid>label>select,.form-grid>label>textarea,.inline-question-form input,.student-bulk-bar select,.student-group-select{width:100%;border:1px solid #dbe1eb;border-radius:10px;background:#fff;color:var(--ink);padding:9px 11px;outline:none}.form-grid>label>input:focus,.form-grid>label>select:focus,.form-grid>label>textarea:focus,.inline-question-form input:focus,.student-group-select:focus{border-color:#8193e9;box-shadow:0 0 0 3px rgba(79,103,220,.1)}
.card-form-padded{padding:16px 20px 20px}.survey-admin-grid .card-form-padded{padding-top:14px}.inline-question-form{padding-left:20px;padding-right:20px}.placement-choice-box{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:52px;max-height:150px;overflow:auto;padding:10px;border:1px solid #dbe1eb;border-radius:11px;background:#fbfcff}.placement-choice{display:inline-flex!important;align-items:center;gap:6px;width:auto;padding:7px 10px;border:1px solid #dce3ef;border-radius:999px;background:#fff;color:#3f4c64!important;font-size:11px!important;font-weight:700!important;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.placement-choice:hover{border-color:#8c9ce4;background:#f5f7ff}.placement-choice input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.placement-choice:has(input:checked){border-color:#6279df;background:#edf1ff;color:#344fbf!important}.placement-choice[hidden]{display:none!important}.placement-choice-box.is-empty::after{content:attr(data-empty-text);align-self:center;color:#8b96a8;font-size:11px;padding:7px}.compact-filter-card{padding:12px 14px}.compact-filter-grid{display:grid;gap:8px;align-items:end}.subject-filter-grid{grid-template-columns:minmax(150px,.8fr) minmax(130px,.7fr) minmax(220px,1.5fr) auto}.compact-filter-grid label{display:grid;gap:4px}.compact-filter-grid label>span{font-size:9px;font-weight:750;color:#58647a}.compact-filter-grid input,.compact-filter-grid select{width:100%;height:35px;border:1px solid #dbe1eb;border-radius:9px;background:#fff;padding:6px 9px;font-size:11px}.compact-filter-actions{display:flex;gap:7px}.compact-filter-actions .btn{height:35px;min-height:35px}.subject-management-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.7fr);align-items:start}.subject-management-grid>.card{min-width:0}
@media(max-width:900px){.subject-management-grid,.subject-filter-grid{grid-template-columns:1fr 1fr}.compact-filter-actions{grid-column:span 2}.compact-filter-actions .btn{flex:1}}@media(max-width:640px){.card-form-padded{padding:14px 16px 17px}.inline-question-form{padding-left:16px;padding-right:16px}.subject-management-grid,.subject-filter-grid{grid-template-columns:1fr}.compact-filter-actions{grid-column:auto}.placement-choice-box{max-height:180px}}
.student-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0 14px}.student-bulk-bar select{min-width:260px}.check-label{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:13px;font-weight:700;color:#33415c}.student-group-select{min-width:160px}.student-pagination{display:flex;align-items:center;justify-content:center;gap:14px}.student-table td{vertical-align:middle}.section-gap-sm{margin-top:12px}.inline-question-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.inline-question-form label{min-width:90px}.inline-question-form .question-grow{flex:1;min-width:280px}.stack-list{display:grid;gap:8px}.stack-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dce3f0;border-radius:12px;color:#263550;text-decoration:none;background:#fff}.stack-item:hover,.stack-item.is-selected{border-color:#6981e6;background:#f4f6ff}.stack-item span:first-child{display:grid;gap:3px}.stack-item small{color:#70809d}.student-body{margin:0;min-height:100vh;background:#f4f7fc;color:#17233a}.student-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(20px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid #dfe6f1;position:sticky;top:0;z-index:20}.student-brand,.student-account{display:flex;align-items:center;gap:11px}.student-brand{text-decoration:none;color:#17233a}.student-brand img{width:40px;height:40px;object-fit:contain}.student-brand span,.student-account>span{display:grid}.student-brand small,.student-account small{font-size:11px;color:#71809a}.student-account{text-align:right}.student-main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:30px 0 56px}.student-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#263f9e,#586fd8);box-shadow:0 16px 38px rgba(38,63,158,.18)}.student-hero h1{margin:4px 0 8px;font-size:clamp(25px,4vw,38px)}.student-hero p{margin:0;max-width:680px;color:#e9edff}.student-hero .eyebrow{color:#cfd8ff}.student-progress{min-width:124px;height:124px;border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24)}.student-progress strong{font-size:28px}.student-progress span{font-size:11px;color:#e5eaff}.student-empty-card{text-align:center;padding:54px 24px;margin-top:24px;background:#fff;border:1px solid #dfe6f1;border-radius:20px}.student-empty-card h2{margin:12px 0 6px}.student-empty-card p{max-width:580px;margin:0 auto;color:#6b7890}.student-empty-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:auto;background:#edf1ff;color:#405ac5;font-weight:900}.student-task-section{margin-top:28px}.student-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.student-section-head h2{margin:0 0 4px}.student-section-head p{margin:0;color:#6c7890}.student-teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.student-teacher-card{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid #dfe6f1;border-radius:17px;box-shadow:0 6px 18px rgba(30,48,83,.05)}.student-teacher-card.is-done{background:#f7fbfa;border-color:#bfe6dc}.student-teacher-avatar{flex:0 0 auto;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#536bd8,#8b6adf);color:#fff;font-weight:900;font-size:20px}.student-teacher-avatar.large{width:66px;height:66px;border-radius:20px;font-size:27px}.student-teacher-avatar img{width:100%;height:100%;object-fit:cover}.student-teacher-copy{min-width:0}.student-teacher-copy h3{margin:0 0 3px;font-size:16px}.student-teacher-copy p{margin:0 0 10px;color:#6b7890}.student-done-label{font-size:12px;font-weight:800;color:#17816e}.student-back{display:inline-flex;margin-bottom:18px;color:#405ac5;font-weight:750;text-decoration:none}.student-survey-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.student-survey-head h1{margin:3px 0}.student-survey-head p{margin:0;color:#6b7890}.student-survey-form{display:grid;gap:14px}.student-question-card{margin:0;padding:20px 22px;border:1px solid #dfe6f1;border-radius:17px;background:#fff}.student-question-card legend{display:flex;align-items:flex-start;gap:10px;width:100%;padding:0 0 12px;font-weight:750;line-height:1.45}.student-question-card legend span{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#edf1ff;color:#405ac5}.star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:7px}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating label{cursor:pointer;font-size:44px;line-height:1;color:#d7deea;transition:transform .15s,color .15s}.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#f4b72f;transform:translateY(-1px)}.star-rating input:focus-visible+label{outline:3px solid #8da0ef;border-radius:7px}.star-scale{display:flex;justify-content:space-between;max-width:360px;margin:7px auto 0;font-size:10px;color:#8a96a9}.student-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;bottom:14px;padding:14px 16px;border:1px solid #d8e0ed;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(30,48,83,.13)}.student-submit-bar span{font-size:12px;color:#6b7890}.student-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0,#e7ecff 0,transparent 38%),#f4f7fc}.student-login-card{width:min(480px,100%);padding:34px;border:1px solid #dce4f1;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(30,48,83,.12)}.student-login-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.student-login-brand img{width:46px;height:46px;object-fit:contain}.student-login-brand div{display:grid}.student-login-brand span{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#78869e}.student-login-card h1{font-size:29px;line-height:1.16;margin:7px 0 12px}.student-login-card>p{color:#68768f;line-height:1.65}.student-google-btn{width:100%;justify-content:center;margin-top:12px}.student-google-btn span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#4560ca;font-weight:900}.student-login-note{margin-top:18px;padding:13px;border-radius:12px;background:#f5f7fb;color:#69768c;font-size:11px;line-height:1.55}.student-staff-link{display:block;text-align:center;margin-top:18px;color:#556bca;font-size:12px;text-decoration:none}
@media(max-width:900px){.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.form-span-4{grid-column:span 2}}@media(max-width:700px){.form-grid-4{grid-template-columns:1fr}.form-span-2,.form-span-4{grid-column:auto}.student-topbar{height:auto;padding:12px 16px}.student-brand small,.student-account>span{display:none}.student-main{width:min(100% - 24px,1120px);padding-top:18px}.student-hero{padding:22px;align-items:flex-start}.student-progress{min-width:82px;height:82px}.student-progress strong{font-size:21px}.student-section-head,.student-submit-bar{align-items:stretch;flex-direction:column}.student-submit-bar .btn{width:100%}.student-question-card{padding:17px 14px}.star-rating label{font-size:39px}.student-login-card{padding:26px 22px}.student-bulk-bar select{min-width:100%}}
@media(max-width:700px){.student-rombel-source{align-items:stretch;flex-direction:column}.student-rombel-source .btn{width:100%}}
@media(max-width:1350px){.student-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.student-filter-search{grid-column:span 2}}@media(max-width:700px){.student-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-filter-search{grid-column:span 2}.student-filter-head p{display:none}.form-grid-3{grid-template-columns:1fr}.student-form-section{padding:17px}.student-form-actions{padding:13px 17px}.student-form-actions .btn{flex:1}}

/* Compact admin density: keep every field while reducing vertical travel. */
.main>.topbar{height:64px;padding-inline:24px}.main .page{padding:18px 24px 34px}.main .page-head{gap:14px;margin-bottom:14px}.main .page-head h1{font-size:25px}.main .page-head p{margin-top:4px;font-size:12px}.main .eyebrow{margin-bottom:2px;font-size:10px}.main .section-gap{margin-top:12px}.main .section-gap-sm{margin-top:9px}.main .grid{gap:12px}.main .stack{gap:10px}.main .card{border-radius:14px}.main .card-head{padding:12px 16px;gap:10px}.main .card-head h2,.main .card-head h3{font-size:14px}.main .card-head p{margin-top:2px;font-size:10px}.main .card-body{padding:15px 16px}.main .form-grid{column-gap:12px;row-gap:10px}.main .form-group{gap:4px}.main .form-group label,.main .form-grid>label>span,.main .inline-question-form label>span{font-size:10px}.main .input,.main .select,.main .form-grid>label>input,.main .form-grid>label>select,.main .inline-question-form input,.main .student-bulk-bar select,.main .student-group-select{min-height:36px;padding:7px 10px;border-radius:9px}.main .textarea,.main .form-grid>label>textarea{min-height:76px;padding:8px 10px;border-radius:9px}.main .form-help{font-size:9px;line-height:1.35}.main .form-actions{gap:7px;margin-top:10px;padding-top:11px}.main .btn{min-height:36px;padding:8px 12px;border-radius:9px}.main .btn-sm{min-height:30px;padding:6px 9px;font-size:11px}.main .check-card{gap:8px;padding:8px;border-radius:9px}.main .check-card strong{font-size:11px}.main .check-card span{font-size:9px}.main .scope-steps{gap:7px;margin-bottom:12px;padding:8px;border-radius:11px}.main .scope-steps span{gap:6px;font-size:9px}.main .scope-steps b{width:22px;height:22px;border-radius:7px;font-size:9px}.main .table th{padding:8px 12px;font-size:9px}.main .table td{padding:9px 12px}.main .cell-title{font-size:12px}.main .cell-sub{font-size:9px}.main .badge{padding:4px 7px;font-size:9px}.main .alert{margin-bottom:10px;padding:9px 12px}.main .card-form-padded{padding:12px 16px 14px}.main .survey-admin-grid .card-form-padded{padding-top:11px}.main .inline-question-form{gap:8px;padding:11px 16px}.main .compact-filter-card{padding:9px 12px}.main .compact-filter-grid{gap:6px}.main .compact-filter-grid input,.main .compact-filter-grid select{height:32px;min-height:32px}.main .compact-filter-actions .btn{height:32px;min-height:32px}.main .placement-choice-box{min-height:44px;max-height:120px;gap:5px;padding:7px}.main .placement-choice{padding:5px 8px;font-size:10px!important}.main .student-form-section{padding:15px 17px}.main .student-form-section-head{margin-bottom:11px}.main .student-form-actions{padding:11px 17px}.main .student-rombel-source{padding:12px 16px}.main .student-bulk-bar{padding:7px 0 10px}.main .monitor-filter-grid{gap:8px}.main .subject-management-grid{grid-template-columns:minmax(280px,.62fr) minmax(0,1.85fr)}
@media(max-width:900px){.main .page{padding:16px 18px 30px}.main .subject-management-grid{grid-template-columns:1fr}.main .topbar{padding-inline:18px}}
@media(max-width:640px){.main>.topbar{height:58px}.main .page{padding:14px 12px 26px}.main .page-head h1{font-size:22px}.main .card-head,.main .card-body{padding-inline:13px}.main .card-form-padded{padding:11px 13px 13px}.main .table th,.main .table td{padding-inline:10px}}

/* Dense list toolbars and create flows: use width before adding height. */
.teacher-filter-head{align-items:center}.teacher-filter-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(155px,.72fr) minmax(190px,1fr) auto auto;gap:7px;align-items:center;min-width:0;flex:1}.teacher-filter-grid .input,.teacher-filter-grid .select{min-width:0;width:100%}.teacher-filter-head>.badge{flex:0 0 auto}.administrator-create-modal{width:min(860px,calc(100vw - 32px))}.administrator-create-modal .card-body{padding:14px 16px}.administrator-create-modal .stack{gap:9px}.administrator-rules-compact .card-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 14px}.administrator-rules-compact .admin-rule{gap:8px;padding:7px;border:0;border-right:1px solid var(--line)}.administrator-rules-compact .admin-rule:nth-child(4){border-right:0}.administrator-rules-compact .admin-rule p{margin-top:1px;font-size:9px;line-height:1.4}.administrator-rules-compact .list-icon{width:29px;height:29px;border-radius:8px;font-size:9px}.administrator-rules-compact .alert{grid-column:1/-1;margin:0;padding:7px 10px}.administrator-rules-compact .alert p{font-size:9px}
@media(max-width:1120px){.teacher-filter-grid{grid-template-columns:minmax(220px,1.3fr) repeat(2,minmax(150px,1fr)) auto auto}.administrator-rules-compact .card-body{grid-template-columns:repeat(2,minmax(0,1fr))}.administrator-rules-compact .admin-rule:nth-child(2){border-right:0}}
@media(max-width:820px){.teacher-filter-head{align-items:stretch;flex-direction:column}.teacher-filter-grid{width:100%;grid-template-columns:1fr 1fr}.teacher-filter-grid>input:first-child{grid-column:1/-1}.teacher-filter-head>.badge{align-self:flex-end}.administrator-rules-compact .card-body{grid-template-columns:1fr}.administrator-rules-compact .admin-rule{border-right:0;border-bottom:1px solid var(--line)}.administrator-rules-compact .admin-rule:nth-child(4){border-bottom:0}}
@media(max-width:520px){.teacher-filter-grid{grid-template-columns:1fr}.teacher-filter-grid>input:first-child{grid-column:auto}.teacher-filter-grid .btn{width:100%}.administrator-create-modal{width:calc(100vw - 16px)}}

/* Student survey CRUD controls. */
.survey-period-item{gap:8px;padding:5px 7px 5px 12px}.survey-period-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex:1;padding:5px 0}.survey-period-main>span:first-child{min-width:0}.survey-period-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;flex:0 0 auto}.survey-period-actions form{margin:0}.survey-period-actions .btn:disabled{cursor:not-allowed;opacity:.45}.survey-question-lock{margin:10px 16px 0}.survey-question-lock p{font-size:10px}
@media(max-width:640px){.survey-period-item,.survey-period-main{align-items:stretch;flex-direction:column}.survey-period-actions{justify-content:flex-end}.survey-period-main>.badge{align-self:flex-start}}

/* Four-mode student surveys */
.survey-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.survey-type-option{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbfcff;color:inherit}.survey-type-option:hover,.survey-type-option.is-selected{border-color:#7f91e7;background:#f0f3ff}.survey-type-number{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#e8edff;color:#4059c7;font-size:10px;font-weight:900}.survey-type-option strong,.survey-type-option small{display:block}.survey-type-option strong{font-size:11px}.survey-type-option small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.survey-admin-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr);align-items:start}.survey-campaign-list-card{min-width:0}.survey-poster-field{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px;border:1px dashed #ccd6e7;border-radius:11px;background:#fafcff}.survey-poster-field>label{display:grid;align-content:start;gap:5px}.survey-poster-field>label>span{font-size:10px;font-weight:750}.survey-poster-field>label>small{color:var(--muted);font-size:9px}.survey-poster-preview{grid-column:1/-1;display:flex;align-items:center;gap:12px}.survey-poster-preview img{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--line)}[data-survey-target-field][hidden]{display:none!important}
.student-landing-hero{overflow:hidden}.student-campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.student-campaign-card{min-width:0;overflow:hidden;border:1px solid #dfe6f1;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(30,48,83,.06)}.student-campaign-card.is-done{border-color:#b9dfd5;background:#fafffd}.student-campaign-poster{position:relative;aspect-ratio:16/6;overflow:hidden;background:linear-gradient(135deg,#2f4bbb,#745fc9)}.student-campaign-poster img{width:100%;height:100%;display:block;object-fit:cover}.student-campaign-poster.is-placeholder{display:grid;place-items:center}.student-campaign-poster.is-placeholder>span:first-child{font-size:46px;font-weight:900;color:rgba(255,255,255,.28)}.student-campaign-type{position:absolute;left:14px;bottom:12px;padding:6px 9px;border-radius:8px;background:rgba(15,28,55,.78);color:#fff;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(4px)}.student-campaign-body{padding:17px}.student-campaign-meta{display:flex;justify-content:space-between;gap:10px;color:#6b7890;font-size:9px}.student-campaign-body h3{margin:7px 0 5px;font-size:18px}.student-campaign-body>p{min-height:38px;margin:0;color:#66748b;font-size:11px;line-height:1.55}.student-campaign-progress{display:flex;align-items:baseline;gap:6px;margin-top:12px;color:#66748b}.student-campaign-progress strong{color:#344fc0;font-size:18px}.student-campaign-progress span{font-size:9px}.student-campaign-teachers{display:grid;gap:6px;margin-top:9px;max-height:188px;overflow:auto}.student-teacher-task{display:grid;grid-template-columns:24px minmax(0,1fr);padding:8px 9px;border:1px solid #dde4f0;border-radius:10px;color:#24324a;background:#fbfcff}.student-teacher-task>span{grid-row:1/3;width:20px;height:20px;display:grid;place-items:center;border-radius:7px;background:#e9edff;color:#4058c4;font-weight:850}.student-teacher-task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.student-teacher-task small{color:#748198;font-size:8px}.student-teacher-task.is-done{border-color:#c7e7de;background:#f1faf7}.student-teacher-task.is-done>span{background:#d9f2eb;color:#178067}.student-campaign-action{margin-top:15px}.student-survey-banner{margin:12px 0 16px;overflow:hidden;border-radius:20px;box-shadow:0 10px 26px rgba(30,48,83,.08)}.student-survey-banner img{width:100%;max-height:330px;display:block;object-fit:cover;aspect-ratio:16/6}.student-scale-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.student-scale-options input{position:absolute;opacity:0;pointer-events:none}.student-scale-options label{display:grid;place-items:center;gap:2px;padding:11px 7px;border:1px solid #d8e0ed;border-radius:11px;background:#fff;cursor:pointer;transition:.15s}.student-scale-options label:hover{border-color:#8697e3;background:#f6f8ff}.student-scale-options input:focus+label{box-shadow:0 0 0 3px rgba(79,103,220,.12)}.student-scale-options input:checked+label{border-color:#5269d5;background:#536bd8;color:#fff}.student-scale-options label strong{font-size:19px}.student-scale-options label span{font-size:9px;text-align:center}.student-answer-field{display:grid;gap:6px;margin-top:13px}.student-answer-field>span{font-size:11px;font-weight:800;color:#40506a}.student-answer-field textarea,.student-answer-field select{width:100%;border:1px solid #d8e0ed;border-radius:11px;background:#fff;padding:11px 12px;color:#17233a;outline:none}.student-answer-field textarea:focus,.student-answer-field select:focus{border-color:#7185df;box-shadow:0 0 0 3px rgba(79,103,220,.1)}.student-answer-field small{color:#758197;font-size:9px}.student-mixed-feedback{border-color:#bdc9ef;background:#f8f9ff}
.student-preview-notice{display:grid;gap:4px}.student-preview-notice p{margin:0}.student-survey-form[data-survey-preview] input,.student-survey-form[data-survey-preview] textarea,.student-survey-form[data-survey-preview] select{cursor:pointer}
@media(max-width:1050px){.survey-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-admin-layout{grid-template-columns:1fr}.student-campaign-grid{grid-template-columns:1fr}}
@media(max-width:640px){.survey-type-grid,.survey-poster-field{grid-template-columns:1fr}.survey-poster-preview{align-items:flex-start;flex-direction:column}.survey-poster-preview img{width:100%}.student-campaign-poster{aspect-ratio:16/7}.student-campaign-body{padding:14px}.student-campaign-meta{flex-direction:column;gap:3px}.student-scale-options{grid-template-columns:repeat(2,minmax(0,1fr))}.student-survey-banner img{aspect-ratio:16/8}.student-campaign-body>p{min-height:0}}

/* Required supervision standard and subject-based instrument composition. */
.standard-phase-grid{margin-bottom:12px}.phase-card{text-decoration:none;color:inherit;box-shadow:none;transition:border-color .15s,transform .15s}.phase-card:hover,.phase-card.is-active{border-color:#657bea;background:#f4f6ff;transform:translateY(-1px)}.phase-card .card-body{display:grid;gap:4px}.phase-card h2{margin:0;font-size:17px}.phase-card p{margin:0;color:var(--muted);font-size:10px}.phase-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:10px}.phase-stats span{color:var(--muted)}.table-group-row td{background:#edf2ff;color:#263d82}.table-group-row strong,.table-group-row small{display:block}.compact-list{display:grid}.compact-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid var(--line)}.compact-list-row:last-child{border-bottom:0}.compact-list-row>div:first-child{display:grid;gap:2px;min-width:0}.compact-list-row strong{font-size:11px}.compact-list-row small{color:var(--muted);font-size:9px}.flow-list{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none;counter-reset:flow}.flow-list li{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:start}.flow-list li:before{counter-increment:flow;content:counter(flow);display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf1ff;color:#4058bf;font-size:9px;font-weight:850}.flow-list li strong,.flow-list li span{grid-column:2}.flow-list li span{margin-top:-5px;color:var(--muted);font-size:9px;line-height:1.4}.full-width{width:100%;justify-content:center}.instrument-subject-map{grid-template-columns:repeat(3,minmax(0,1fr));max-height:250px;overflow:auto;align-items:stretch;padding:7px;border:1px solid var(--line);border-radius:10px;background:#f8faff}.instrument-subject-map .check-card{min-width:0}.instrument-subject-map small{display:block;color:var(--muted)}.instrument-section h3{margin:3px 0 0;font-size:14px}
.standard-rubric-table{min-width:900px;table-layout:fixed}.standard-rubric-table .standard-col-phase{width:64px}.standard-rubric-table .standard-col-weight{width:58px}.standard-rubric-table .standard-col-conversion{width:72px}.standard-rubric-table .standard-col-actions,.standard-question-table .standard-col-actions{width:126px}.standard-rubric-table td{vertical-align:top}.standard-crud-head{align-items:center}.standard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.standard-section-heading>div:first-child{min-width:0}.standard-section-heading .table-actions{flex:0 0 auto}.standard-indicator-cell{padding-top:10px!important;padding-bottom:10px!important}.standard-indicator-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.35}.standard-indicator-title>span{flex:0 0 auto;color:#304fb5;font-size:10px;font-weight:850;letter-spacing:.02em}.standard-indicator-title>strong{font-size:12px}.standard-indicator-cell>p{display:block;margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5;white-space:normal}.checkpoint-inline{margin-top:7px;border:1px solid #dbe3f6;border-radius:9px;background:#f8faff}.checkpoint-inline summary{padding:7px 9px;color:#3550ba;font-size:9px;font-weight:800;cursor:pointer}.checkpoint-inline[open] summary{border-bottom:1px solid #dbe3f6}.checkpoint-inline ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;padding:9px 12px 10px 29px}.checkpoint-inline li{padding-right:6px;color:#44516a;font-size:9px;line-height:1.45}.checkpoint-empty{display:block;margin-top:6px;color:var(--muted);font-size:9px}.checkpoint-editor{min-height:145px!important}.inline-standard-editor{scroll-margin-top:80px;border-color:#8fa0e9;box-shadow:0 8px 24px rgba(52,78,172,.08)}.inline-standard-editor>.card-head{background:#f5f7ff}.standard-question-table{min-width:760px}.standard-question-table th:first-child{width:70px}.standard-question-cell>strong,.standard-question-cell>small{display:block}.standard-question-cell>strong{line-height:1.45}.standard-question-cell>small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.compact-empty{padding:26px 18px}.compact-empty strong,.compact-empty p{display:block;text-align:center}.compact-empty p{margin:5px 0 0;color:var(--muted);font-size:10px}.check-row{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.check-row input{margin-top:2px}.check-row span,.check-row strong,.check-row small{display:block}.check-row strong{font-size:10px}.check-row small{margin-top:2px;color:var(--muted);font-size:9px}
@media(max-width:900px){.instrument-subject-map{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.standard-phase-grid,.instrument-subject-map{grid-template-columns:1fr}.phase-card .card-body{padding:13px}.checkpoint-inline ol{grid-template-columns:1fr}.standard-section-heading{align-items:flex-start;flex-direction:column}}
.auto-code-preview{min-height:36px;display:flex;align-items:center;padding:7px 10px;border:1px solid #cdd7f2;border-radius:9px;background:#f1f4ff;color:#304fb5;font-size:13px;font-weight:850;letter-spacing:.03em}

/* Portfolio and report register. */
.portfolio-filter-card{padding:11px 14px}.portfolio-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,.72fr)) minmax(250px,1.3fr) auto;gap:8px;align-items:end}.portfolio-filter-grid .form-group{min-width:0}.portfolio-filter-actions{display:flex;gap:6px;margin:0!important;padding:0!important;border:0!important}.portfolio-summary-grid{gap:9px!important}.portfolio-summary-grid .stat-card{min-height:76px;display:grid;align-content:center;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.portfolio-summary-grid .stat-card>span{color:#68758a;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.portfolio-summary-grid .stat-card>strong{margin-top:2px;color:#152238;font-size:22px;line-height:1}.portfolio-summary-grid .stat-card>small{margin-top:4px;color:var(--muted);font-size:9px}.portfolio-employee-list{display:grid;min-width:0}.portfolio-employee{min-width:0;border-bottom:1px solid var(--line)}.portfolio-employee:last-child{border-bottom:0}.portfolio-employee-head{display:grid;min-width:0;grid-template-columns:34px minmax(300px,1fr) auto auto;gap:11px;align-items:center;padding:11px 14px;background:#fbfcff}.portfolio-number{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e9edff;color:#3c55c5;font-size:10px;font-weight:900}.portfolio-identity{min-width:0}.portfolio-identity h3{margin:0;font-size:13px}.portfolio-identity p,.portfolio-identity small{display:block;margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.portfolio-identity small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-employee-counts{display:flex;gap:6px;align-items:center}.portfolio-employee-counts span{padding:5px 8px;border-radius:8px;background:#eef2fa;color:#495873;font-size:9px}.portfolio-employee-counts strong{font-size:11px}.portfolio-employee-counts .portfolio-draft-count{background:#fff2d8;color:#8c5a00}.portfolio-no-report{padding:10px 56px;color:#7b879b;font-size:10px;background:#fff}.portfolio-report-table{min-width:1120px;table-layout:fixed}.portfolio-report-table th:nth-child(1){width:160px}.portfolio-report-table th:nth-child(2){width:270px}.portfolio-report-table th:nth-child(3){width:125px}.portfolio-report-table th:nth-child(4){width:190px}.portfolio-report-table th:nth-child(5){width:85px}.portfolio-report-table th:nth-child(6){width:105px}.portfolio-report-table th:nth-child(7){width:165px}.portfolio-report-table td{vertical-align:middle}.portfolio-report-table td strong,.portfolio-report-table td small{display:block}.portfolio-report-table td small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.portfolio-report-draft{background:#fffdf8}.portfolio-score{font-size:15px}.portfolio-draft-badge{background:#fff0c9!important;color:#8a5700!important;border:1px solid #efd28d}.portfolio-report-actions{flex-wrap:nowrap;gap:5px}
@media(max-width:1350px){.portfolio-filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.portfolio-search-field{grid-column:span 3}.portfolio-filter-actions{justify-content:flex-end}}@media(max-width:900px){.portfolio-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-search-field{grid-column:1/-1}.portfolio-employee-head{grid-template-columns:34px minmax(0,1fr) auto}.portfolio-employee-counts{grid-column:2}.portfolio-employee-head>.btn{grid-column:3;grid-row:1/3}.portfolio-identity small{white-space:normal}}@media(max-width:560px){.portfolio-filter-grid{grid-template-columns:1fr}.portfolio-search-field{grid-column:auto}.portfolio-filter-actions .btn{flex:1}.portfolio-employee-head{grid-template-columns:30px minmax(0,1fr)}.portfolio-employee-counts{grid-column:2}.portfolio-employee-head>.btn{grid-column:1/-1;grid-row:auto}.portfolio-no-report{padding-left:14px}.portfolio-summary-grid{grid-template-columns:1fr 1fr!important}}

@media(min-width:1351px){.portfolio-filter-grid{grid-template-columns:repeat(5,minmax(125px,.72fr)) minmax(230px,1.25fr) auto}}

/* Assessment workspace: readable controls, persistent score ribbon, explicit finalization. */
.page:has(.assessment-back-row){padding-top:8px}
.assessment-back-row{display:flex;justify-content:flex-end;margin:0 0 5px;min-height:30px}
.assessment-back-row .btn{min-height:30px;padding:5px 10px;border-radius:8px;font-size:11px}
.assessment-identity{display:flex;align-items:center;flex-wrap:wrap;gap:4px 13px;margin-top:5px;color:#c7d3e8;font-size:11.5px;line-height:1.45}
.assessment-identity span{position:relative}
.assessment-identity span+span:before{content:"";position:absolute;left:-8px;top:50%;width:4px;height:4px;border-radius:50%;background:#6f87ac;transform:translateY(-50%)}
.assessment-ribbon{position:sticky;top:68px;z-index:20;display:grid;grid-template-columns:minmax(265px,1.15fr) minmax(520px,1.7fr) minmax(185px,.55fr);gap:13px;align-items:stretch;margin-bottom:14px;padding:14px;border:1px solid #29466f;border-radius:16px;background:linear-gradient(118deg,#13233b 0%,#19375c 62%,#174d61 145%);color:#fff;box-shadow:0 12px 30px rgba(10,27,50,.2)}
.assessment-ribbon-title{min-width:0;display:grid;align-content:center;padding:2px 5px}
.assessment-ribbon-title .eyebrow{color:#62d8cb;font-size:9.5px}
.assessment-ribbon-title h1{margin:4px 0 0;color:#fff;font-size:19px;line-height:1.2}
.assessment-ribbon-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.assessment-ribbon-score{min-width:0;display:grid;align-content:center;padding:9px 11px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.075)}
.assessment-ribbon-score.is-current{border-color:#7498ff;background:rgba(74,103,225,.3)}
.assessment-ribbon-score.is-peer{align-self:center;padding:7px 10px;background:rgba(255,255,255,.045);opacity:.88}
.assessment-ribbon-score.is-peer>strong{font-size:19px}.assessment-ribbon-score.is-peer>small{font-size:9px}
.assessment-detail-table-wrap{border:1px solid var(--line);border-radius:12px;background:#fff}
.assessment-detail-table{min-width:880px;table-layout:fixed}
.assessment-detail-table th,.assessment-detail-table td{padding:11px 12px;vertical-align:top;line-height:1.45}
.assessment-detail-table th{white-space:normal}
.assessment-detail-table th:nth-child(1),.assessment-detail-table td:nth-child(1){width:19%}
.assessment-detail-table th:nth-child(2),.assessment-detail-table td:nth-child(2){width:25%}
.assessment-detail-table th:nth-child(3),.assessment-detail-table td:nth-child(3){width:8%}
.assessment-detail-table th:nth-child(4),.assessment-detail-table td:nth-child(4){width:10%}
.assessment-detail-table th:nth-child(5),.assessment-detail-table td:nth-child(5){width:10%}
.assessment-detail-table th:nth-child(6),.assessment-detail-table td:nth-child(6){width:28%}
.assessment-detail-table .is-number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.assessment-detail-table .is-number strong{display:block;font-size:14px}
.assessment-evidence{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.assessment-narrative-card{padding:15px 17px;border:1px solid #c7d7f8;border-radius:13px;background:#f3f7ff}
.assessment-narrative-card.is-conclusion{border-color:#b9e4d5;background:#effaf6}
.assessment-narrative-card h4{margin:0 0 9px;color:#173b78;font-size:13px}
.assessment-narrative-card.is-conclusion h4{color:#08765f}
.assessment-narrative{color:#21324d;font-size:13px;line-height:1.72;overflow-wrap:anywhere}
.assessment-narrative br{content:"";display:block;margin-top:7px}
.photo-capture-head{align-items:center}
.photo-plan-picker{margin-bottom:16px}
.photo-plan-picker label{display:block;margin-bottom:8px;font-weight:800;color:#14213a}
.photo-plan-select-form{display:flex;align-items:flex-end;gap:12px}
.photo-plan-select-field{flex:1;min-width:0}
.photo-plan-select-button{flex:0 0 auto;min-width:92px}
.photo-context-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,#112d4d,#174867);color:#fff;box-shadow:0 12px 32px rgba(17,45,77,.13)}
.photo-context-card h2{margin:3px 0 5px;font-size:24px}
.photo-context-card p{margin:0;color:#c6dbea}
.photo-context-status{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.photo-capture-blocked form{margin-top:12px}
.photo-capture-panel{overflow:hidden}
.photo-capture-form{display:grid;gap:15px}
.photo-capture-form [hidden],.photo-live-empty[hidden]{display:none!important}
.photo-capture-message{margin:0}
.photo-camera-button:disabled,.photo-upload-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.photo-camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.photo-camera-button{display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;border:2px dashed #4d6ce5;border-radius:18px;background:#f1f5ff;color:#203a8c;font:inherit;text-align:center;cursor:pointer;transition:.18s ease}
.photo-camera-button:hover{background:#e8eeff;border-color:#3158ea;transform:translateY(-1px)}
.photo-camera-button small{color:#607096;font-weight:500}
.photo-camera-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#3158e5;color:#fff;font-size:30px;line-height:1}
.photo-webcam{padding:14px;border:1px solid #c9d7ef;border-radius:16px;background:#0d1e34}
.photo-webcam video{display:block;width:100%;max-height:62vh;border-radius:12px;background:#050b13;object-fit:contain}
.photo-webcam-status{margin:11px 0;color:#dbe8f8;text-align:center}
.photo-webcam-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.photo-preview{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #c9d7ef;border-radius:14px;background:#f8faff}
.photo-preview img{width:100px;height:78px;border-radius:10px;object-fit:cover;background:#e8edf5}
.photo-preview span{display:block;margin-top:4px;color:#66748d;font-size:12px}
.photo-upload-button{min-height:48px;font-size:15px}
.photo-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.photo-live-card{display:block;overflow:hidden;border:1px solid #d7e0ec;border-radius:14px;background:#fff;color:#14213a;text-decoration:none;box-shadow:0 5px 16px rgba(25,48,80,.06)}
.photo-live-card img{display:block;width:100%;height:190px;object-fit:cover;background:#eef2f7}
.photo-live-card>span{display:block;padding:11px 12px}
.photo-live-card strong,.photo-live-card small{display:block}
.photo-live-card small{margin-top:4px;color:#718099;font-size:11px}
.photo-live-empty{margin:0}
@media(max-width:760px){
  .photo-capture-head{align-items:flex-start}.photo-capture-head .btn{width:100%}
  .photo-plan-select-form{align-items:stretch;flex-direction:column}.photo-plan-select-button{width:100%}
  .photo-context-card{align-items:flex-start;flex-direction:column;padding:18px}
  .photo-context-card h2{font-size:21px}.photo-context-status{justify-content:flex-start}
  .photo-source-actions{grid-template-columns:1fr}
  .photo-camera-button{min-height:210px}
  .photo-live-grid{grid-template-columns:1fr 1fr;gap:10px}
  .photo-live-card img{height:145px}
}
@media(max-width:460px){.photo-live-grid{grid-template-columns:1fr}.photo-live-card img{height:220px}}
.assessment-ribbon-score.assessment-ribbon-combined{border-color:#52cdbd;background:rgba(20,165,143,.22)}
.assessment-ribbon-score>span{color:#bfcde3;font-size:9.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.assessment-ribbon-score>strong{margin-top:3px;color:#fff;font-size:27px;line-height:1}
.assessment-ribbon-score>small{display:block;margin-top:5px;color:#c9d5e7;font-size:9.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assessment-ribbon-finalize{display:grid;align-content:center;gap:6px}
.assessment-finalize-button{min-height:45px;border-color:#fff!important;background:#fff!important;color:#173454!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.035em}
.assessment-finalize-button:disabled{border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.12)!important;color:#aab9cf!important;cursor:not-allowed;opacity:1}
.assessment-ribbon-finalize>small{color:#c2d0e3;font-size:9.5px;line-height:1.35;text-align:center}
.assessment-repeat-decision{grid-column:1/-1;display:grid;grid-template-columns:minmax(280px,1fr) minmax(145px,.32fr) minmax(175px,.38fr) auto;gap:9px;align-items:center;padding:10px 12px;border-top:1px solid rgba(255,255,255,.16);background:rgba(5,20,39,.18);border-radius:10px}.assessment-repeat-decision>div{display:grid;gap:2px}.assessment-repeat-decision>div>span{color:#65dacc;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.assessment-repeat-decision>div>strong{font-size:12px;color:#fff}.assessment-repeat-decision>div>small,.repeat-decision-hint{color:#c5d3e5;font-size:9px;line-height:1.35}.repeat-choice{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.07);cursor:pointer}.repeat-choice input{accent-color:#62d8cb}.repeat-choice span{font-size:10px;font-weight:900;color:#fff}.repeat-choice:has(input:checked){border-color:#68e0d2;background:rgba(34,184,163,.2);box-shadow:0 0 0 1px rgba(104,224,210,.2)}.repeat-choice.is-required:has(input:checked){border-color:#ffc46b;background:rgba(226,145,29,.22)}.repeat-choice:has(input:disabled){cursor:not-allowed;opacity:.55}.assessment-repeat-decision>.repeat-decision-hint{grid-column:2/-1;text-align:right;color:#ffcf86}
.assessment-completion{display:grid;gap:7px;margin:-3px 0 14px;padding:10px 14px;border:1px solid #efb8bc;border-radius:13px;background:#fff5f5;box-shadow:0 6px 18px rgba(112,29,37,.07);transition:.2s ease}.assessment-completion-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.assessment-completion-head strong{font-size:10.5px;color:#a12932}.assessment-completion-head span{color:#a94a51;font-size:9px;font-weight:750}.assessment-progress-track{position:relative;height:25px;overflow:hidden;border-radius:999px;background:#f2c9cd;box-shadow:inset 0 1px 2px rgba(92,20,26,.12)}.assessment-progress-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#d9434e,#be2633);transition:width .25s ease,background .2s ease}.assessment-progress-track>strong{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;letter-spacing:.03em;text-shadow:0 1px 2px rgba(79,11,16,.35)}.assessment-completion.is-complete{border-color:#8fd4bd;background:#effaf6;box-shadow:0 6px 18px rgba(20,113,82,.07)}.assessment-completion.is-complete .assessment-completion-head strong{color:#117354}.assessment-completion.is-complete .assessment-completion-head span{color:#307d67}.assessment-completion.is-complete .assessment-progress-track{background:#bce7d8}.assessment-completion.is-complete .assessment-progress-fill{background:linear-gradient(90deg,#24ad82,#128561)}.instrument-required-star{color:#d92e3b!important;font-size:1.08em;font-weight:950}.instrument-copy h4 .instrument-required-star{margin-left:3px}.instrument-item[data-required-indicator="1"]:has(input:invalid) .instrument-copy h4{color:#7e2530}
[data-instrument-assessment] .assessment-main{gap:12px}
[data-instrument-assessment] .assessment-card-head{padding:14px 16px}
[data-instrument-assessment] .assessment-card-head h2{font-size:18px;line-height:1.35}
[data-instrument-assessment] .assessment-card-head p{max-width:1050px;font-size:13px;line-height:1.6}
[data-instrument-assessment] .assessment-instrument-card>.card-body{padding:12px 17px 15px}
[data-instrument-assessment] .instrument-section{margin:17px 0 4px;padding:10px 12px;border-radius:10px}
[data-instrument-assessment] .instrument-section:first-child{margin-top:0}
[data-instrument-assessment] .instrument-section h3{margin-top:3px;font-size:17px;line-height:1.4}
[data-instrument-assessment] .instrument-section .eyebrow{font-size:11px}
[data-instrument-assessment] .instrument-item{padding:19px 0}
[data-instrument-assessment] .instrument-copy{margin-bottom:12px}
[data-instrument-assessment] .instrument-copy h4{margin-bottom:5px;font-size:17px;line-height:1.45}
[data-instrument-assessment] .instrument-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
[data-instrument-assessment] .checkpoint-grid{gap:9px}
[data-instrument-assessment] .checkpoint-grid .check-card{min-height:50px;padding:11px 13px;align-items:center}
[data-instrument-assessment] .checkpoint-grid .check-card input{margin-top:0;flex:0 0 auto}
[data-instrument-assessment] .checkpoint-grid .check-card strong{font-size:13px;line-height:1.5}
[data-instrument-assessment] .checkpoint-grid .check-card input,[data-instrument-assessment] .instrument-reviewed input{width:17px;height:17px}
[data-instrument-assessment] .instrument-reviewed{margin-top:9px;padding:11px 13px}
[data-instrument-assessment] .instrument-reviewed strong{font-size:13px;line-height:1.45}
[data-instrument-assessment] .instrument-reviewed small{font-size:11px;line-height:1.45}
[data-instrument-assessment] .instrument-derived{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:9px 2px 12px;font-size:12.5px}
[data-instrument-assessment] .instrument-item>.form-group label{font-size:13px}
[data-instrument-assessment] .instrument-item>.form-group .textarea{min-height:82px;padding:11px 13px;font-size:14px;line-height:1.6}
[data-instrument-assessment] .rating-options{gap:7px;margin:7px 0 10px}
[data-instrument-assessment] .rating-options span{width:41px;height:41px;border-radius:9px;font-size:13px}
[data-instrument-assessment] .star-rating{margin:4px 0 10px}
[data-instrument-assessment] .star-rating label{font-size:32px}
[data-instrument-assessment] .form-group>label{font-size:13px}
[data-instrument-assessment] .form-help{font-size:11.5px;line-height:1.55}
[data-instrument-assessment] .textarea,[data-instrument-assessment] .input,[data-instrument-assessment] .select{font-size:14px}
[data-instrument-assessment] .assessment-submit-bar .autosave-status{font-size:12.5px}
[data-instrument-assessment] .assessment-save-button{font-size:13px;min-width:170px}
.assessment-submit-bar{position:sticky;bottom:8px;z-index:17;align-items:center;margin-top:2px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 9px 30px rgba(19,33,58,.15);backdrop-filter:blur(8px)}
.assessment-submit-bar .autosave-status{margin-right:auto;color:var(--muted);font-size:11px}
.assessment-save-button{min-width:150px;font-size:12px!important;text-transform:uppercase;letter-spacing:.035em}
.assessment-finalize-modal{width:min(650px,calc(100vw - 30px))}
.assessment-finalize-panel{padding:30px;text-align:center}
.assessment-finalize-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#e5f7ef;color:#16815f;font-size:26px;font-weight:900}
.assessment-finalize-panel h2{font-size:25px}
.assessment-finalize-panel>p{max-width:530px;margin:9px auto 18px;color:#4f5d73;font-size:13px;line-height:1.65}
.assessment-finalize-panel .alert{text-align:left}
.assessment-finalize-actions{justify-content:center;margin-top:20px}
.assessment-finalize-actions .btn{min-width:190px;min-height:44px;font-size:12px}

@media(max-width:1350px){
  .assessment-ribbon{grid-template-columns:minmax(240px,.85fr) minmax(490px,1.5fr)}
  .assessment-ribbon-finalize{grid-column:1/-1;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:center}
  .assessment-ribbon-finalize>small{text-align:left}
}
@media(max-width:950px){
  .assessment-ribbon{top:66px;grid-template-columns:1fr}
  .assessment-ribbon-title{padding:0}
  .assessment-ribbon-finalize{grid-column:auto}
  .assessment-repeat-decision{grid-template-columns:1fr 1fr}.assessment-repeat-decision>div{grid-column:1/-1}.assessment-repeat-decision>.btn{grid-column:1/-1}.assessment-repeat-decision>.repeat-decision-hint{grid-column:1/-1;text-align:center}
}
@media(max-width:680px){
  .assessment-back-row{justify-content:flex-start}
  .assessment-ribbon{position:static;padding:11px;border-radius:13px}
  .assessment-ribbon-scores{grid-template-columns:1fr}
  .assessment-ribbon-finalize{grid-template-columns:1fr}
  .assessment-ribbon-finalize>small{text-align:center}
  .assessment-identity{gap:3px 10px}
  .assessment-identity span+span:before{left:-6px}
  [data-instrument-assessment] .assessment-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  [data-instrument-assessment] .assessment-instrument-card>.card-body{padding-inline:11px}
  .assessment-submit-bar{display:grid;grid-template-columns:1fr}
  .assessment-submit-bar .autosave-status{margin:0;text-align:center}
  .assessment-submit-bar .btn{width:100%}
  .assessment-finalize-actions{display:grid;grid-template-columns:1fr}
  .assessment-finalize-actions .btn{width:100%}
}

/* Supervisor-defined supervision schedule window. */
.schedule-window-grid{display:grid;grid-template-columns:minmax(150px,1.05fr) repeat(2,minmax(120px,.8fr)) minmax(170px,1fr);gap:9px;align-items:stretch}.schedule-window-grid>label{display:grid;align-content:start;gap:5px;min-width:0}.schedule-window-grid>label>span,.schedule-duration-result>span{color:#56647a;font-size:9px;font-weight:800}.schedule-duration-result{display:grid;align-content:center;gap:2px;min-height:58px;padding:8px 11px;border:1px solid #d7e0ef;border-radius:10px;background:#f8faff}.schedule-duration-result strong{color:#253d9e;font-size:16px}.schedule-duration-result small{color:var(--muted);font-size:8px;line-height:1.35}.schedule-duration-result.is-valid{border-color:#a9ddcf;background:#f2fbf8}.schedule-duration-result.is-valid strong{color:#147d67}.schedule-duration-result.is-invalid{border-color:#efb8bd;background:#fff5f6}.schedule-duration-result.is-invalid strong,.schedule-duration-result.is-invalid small{color:#b43c49}.schedule-window-grid.compact{grid-template-columns:repeat(2,minmax(120px,1fr))}.schedule-window-grid.compact .schedule-duration-result{grid-column:2}.schedule-window-grid.compact>label:first-child{grid-column:1/-1}
#kelola-pelaksanaan{scroll-margin-top:80px}.schedule-jump-action{margin-top:8px}
@media(max-width:760px){.schedule-window-grid,.schedule-window-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-window-grid>label:first-child,.schedule-window-grid.compact>label:first-child{grid-column:1/-1}.schedule-window-grid .schedule-duration-result,.schedule-window-grid.compact .schedule-duration-result{grid-column:1/-1}}
@media(max-width:460px){.schedule-window-grid,.schedule-window-grid.compact{grid-template-columns:1fr}.schedule-window-grid>label:first-child,.schedule-window-grid.compact>label:first-child,.schedule-window-grid .schedule-duration-result,.schedule-window-grid.compact .schedule-duration-result{grid-column:auto}}

/* Teacher workspace: preparation, assessment guide, schedules, and results. */
html{scroll-behavior:smooth}
.teacher-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:center;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#17264a 0%,#284db6 58%,#1c9f97 145%);color:#fff;box-shadow:0 16px 36px rgba(24,48,104,.18)}
.teacher-hero h1{margin:5px 0 7px;font-size:30px;letter-spacing:-.035em}.teacher-hero p{max-width:760px;margin:0;color:#dce5ff;font-size:13px;line-height:1.65}.teacher-hero .eyebrow{color:#9fe8df}
.teacher-placement-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.teacher-placement-chips span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.09);font-size:9px;font-weight:700;color:#eef4ff}
.teacher-hero-score{display:grid;justify-items:center;padding:17px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.teacher-hero-score>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#dce5ff}.teacher-hero-score>strong{margin:7px 0 3px;font-size:39px;line-height:1}.teacher-hero-score>small{color:#ccece7;font-size:10px}
.teacher-home-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.teacher-home-link{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);box-shadow:var(--shadow);transition:.16s ease}.teacher-home-link:hover{transform:translateY(-2px);border-color:#aab9eb;box-shadow:0 12px 25px rgba(25,47,95,.12)}.teacher-home-number{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf0ff;color:#3956c8;font-size:13px;font-weight:900}.teacher-home-link strong,.teacher-home-link small{display:block}.teacher-home-link strong{font-size:11px;line-height:1.3}.teacher-home-link small{margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.4}.teacher-home-link>b{min-width:24px;padding:5px;border-radius:8px;background:#f1f4fa;text-align:center;font-size:11px}.teacher-home-link.guide .teacher-home-number{background:#e7f8f5;color:#158878}.teacher-home-link.schedule .teacher-home-number{background:#fff3d9;color:#9d680d}.teacher-home-link.result .teacher-home-number{background:#f0eaff;color:#7952c7}.teacher-home-link.survey .teacher-home-number{background:#e9f5ff;color:#2372ac}
.teacher-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacher-metric-grid article{padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fff}.teacher-metric-grid span,.teacher-metric-grid small{display:block;color:var(--muted);font-size:8.5px}.teacher-metric-grid span{font-weight:800;text-transform:uppercase;letter-spacing:.04em}.teacher-metric-grid strong{display:block;margin:5px 0 2px;font-size:22px;color:#16243d}
.teacher-section{scroll-margin-top:78px;margin-top:18px;padding:0;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.teacher-section-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcff)}.teacher-section-head h2{margin:2px 0 3px;font-size:17px}.teacher-section-head p{margin:0;color:var(--muted);font-size:9.5px}.teacher-section-kicker{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#4962d3}
.teacher-empty{display:flex;gap:12px;align-items:center;padding:22px}.teacher-empty>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf3ff;color:#405dc8;font-weight:900}.teacher-empty strong{font-size:12px}.teacher-empty p{margin:3px 0 0;color:var(--muted);font-size:9px}
.teacher-task-list{display:grid}.teacher-task-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line)}.teacher-task-card:last-child{border-bottom:0}.teacher-date-block{display:grid;justify-items:center;padding:7px;border-radius:10px;background:#eef2ff;color:#3851bb}.teacher-date-block strong{font-size:17px;line-height:1}.teacher-date-block span{margin-top:3px;font-size:8px;font-weight:850;text-transform:uppercase}.teacher-task-copy h3{margin:5px 0 2px;font-size:12px}.teacher-task-copy p,.teacher-task-copy small{display:block;margin:0;color:var(--muted);font-size:9px}.teacher-card-badges{display:flex;flex-wrap:wrap;gap:5px}.teacher-progress-line{height:4px;margin:8px 0 4px;border-radius:999px;background:#edf0f7;overflow:hidden}.teacher-progress-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5069dd,#18aa9a)}
.teacher-guide-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:10px;padding:14px}.teacher-guide-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fbfcff}.teacher-guide-card.primary{background:linear-gradient(145deg,#eef2ff,#f8faff);border-color:#ccd6fa}.teacher-guide-card>span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5063bd}.teacher-guide-card h3{margin:7px 0 4px;font-size:13px}.teacher-guide-card p,.teacher-guide-card small{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.teacher-guide-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.teacher-guide-tags b{padding:5px 7px;border-radius:7px;background:#efeaff;color:#6f4dbe;font-size:8.5px}
.teacher-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.teacher-schedule-grid>a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#fff}.teacher-schedule-grid>a:hover{border-color:#aab9eb;background:#fafbff}.teacher-schedule-grid time{display:grid;justify-items:center;color:#4059c1}.teacher-schedule-grid time strong{font-size:18px}.teacher-schedule-grid time span{font-size:8px;text-transform:uppercase;font-weight:850}.teacher-schedule-grid h3{margin:5px 0 2px;font-size:11.5px}.teacher-schedule-grid p,.teacher-schedule-grid small{display:block;margin:0;color:var(--muted);font-size:8.5px}.teacher-schedule-grid>a>b{font-size:22px;color:#8b98ae}
.teacher-result-list{display:grid}.teacher-result-list>article{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:15px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line)}.teacher-result-list>article:last-child{border-bottom:0}.teacher-result-list h3{margin:5px 0 2px;font-size:12px}.teacher-result-list p{margin:0;color:var(--muted);font-size:9px}.teacher-result-score{text-align:center}.teacher-result-score strong,.teacher-result-score small{display:block}.teacher-result-score strong{font-size:21px}.teacher-result-score small{color:var(--muted);font-size:8px}.teacher-result-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.teacher-survey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.teacher-survey-grid>article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.teacher-survey-grid h3{margin:8px 0 3px;font-size:12px}.teacher-survey-grid p,.teacher-survey-grid>article>small{display:block;margin:0;color:var(--muted);font-size:8.5px;line-height:1.5}.teacher-survey-value{display:flex;align-items:baseline;gap:7px;margin:12px 0 4px}.teacher-survey-value strong{font-size:24px;color:#263e9e}.teacher-survey-value strong small{font-size:10px}.teacher-survey-value span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850}.teacher-anonymous-feedback{padding:2px 14px 14px}.teacher-anonymous-feedback h3{margin:8px 0 10px;font-size:12px}.teacher-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-feedback-grid blockquote{margin:0;padding:13px;border-left:3px solid #5a70d9;border-radius:8px;background:#f7f9ff}.teacher-feedback-grid p{margin:0;color:#344157;font-size:9.5px;line-height:1.6}.teacher-feedback-grid footer{margin-top:7px;color:var(--muted);font-size:8px}
.teacher-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.teacher-notification-grid button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;color:var(--text)}.teacher-notification-grid button>span:first-child{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eef2ff;color:#405bc7;font-weight:900}.teacher-notification-grid strong,.teacher-notification-grid small{display:block}.teacher-notification-grid strong{font-size:10px}.teacher-notification-grid small{margin-top:2px;color:var(--muted);font-size:8.5px}.teacher-notification-grid time{color:var(--muted);font-size:8px}

@media(max-width:1250px){.teacher-home-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-survey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.teacher-hero{grid-template-columns:1fr}.teacher-hero-score{grid-template-columns:1fr auto auto;justify-items:start;gap:10px}.teacher-hero-score>strong{margin:0;font-size:29px}.teacher-home-menu,.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-guide-grid{grid-template-columns:1fr 1fr}.teacher-guide-card:last-child{grid-column:1/-1}.teacher-schedule-grid{grid-template-columns:1fr}.teacher-result-list>article{grid-template-columns:minmax(0,1fr) 80px}.teacher-result-actions{grid-column:1/-1;justify-content:flex-start}.teacher-feedback-grid{grid-template-columns:1fr}}
@media(max-width:620px){.teacher-hero{padding:20px}.teacher-hero h1{font-size:24px}.teacher-home-menu,.teacher-metric-grid,.teacher-guide-grid,.teacher-survey-grid,.teacher-notification-grid{grid-template-columns:1fr}.teacher-guide-card:last-child{grid-column:auto}.teacher-section-head{align-items:flex-start;flex-direction:column}.teacher-task-card{grid-template-columns:42px minmax(0,1fr)}.teacher-task-card>.btn{grid-column:1/-1;width:100%}.teacher-result-list>article{grid-template-columns:minmax(0,1fr) 66px}.teacher-schedule-grid,.teacher-survey-grid{padding:10px}.teacher-feedback-grid{grid-template-columns:1fr}}

/* Read-only assessment guide for teachers. */
.instrument-guide-head{align-items:flex-end}.instrument-scope-strip{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:1px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.instrument-scope-strip>div{padding:12px 14px;background:#fff}.instrument-scope-strip strong,.instrument-scope-strip span{display:block}.instrument-scope-strip strong{margin-bottom:4px;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#5063bd}.instrument-scope-strip span{font-size:9px;line-height:1.5;color:#45536a}.instrument-guide-list{display:grid;gap:12px}.instrument-guide-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.instrument-guide-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:17px 18px;background:linear-gradient(180deg,#fff,#fbfcff);border-bottom:1px solid var(--line)}.instrument-guide-card>header h2{margin:7px 0 3px;font-size:15px}.instrument-guide-card>header p{margin:0;color:var(--muted);font-size:9px}.instrument-guide-metrics{display:grid;grid-template-columns:repeat(4,minmax(60px,1fr));gap:6px}.instrument-guide-metrics span{display:grid;justify-items:center;min-width:66px;padding:8px;border:1px solid #e2e7f2;border-radius:10px;background:#fff}.instrument-guide-metrics b{font-size:10px;color:#263d9d}.instrument-guide-metrics small{margin-top:3px;color:var(--muted);font-size:7.5px;text-transform:uppercase}.instrument-guide-body{display:grid;gap:8px;padding:12px}.instrument-question-guide,.instrument-section-guide{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.instrument-question-guide>summary,.instrument-section-guide>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}.instrument-question-guide>summary::-webkit-details-marker,.instrument-section-guide>summary::-webkit-details-marker{display:none}.instrument-question-guide>summary span,.instrument-section-guide>summary span{display:grid;gap:2px}.instrument-question-guide>summary strong,.instrument-section-guide>summary strong{font-size:11px}.instrument-question-guide>summary small,.instrument-section-guide>summary small{color:#5063bd;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.instrument-section-guide>summary em{color:var(--muted);font-size:8.5px;font-style:normal}.instrument-question-guide>summary>b,.instrument-section-guide>summary>b{white-space:nowrap;padding:5px 7px;border-radius:7px;background:#eef2ff;color:#4059bd;font-size:8px}.instrument-question-guide[open]>summary,.instrument-section-guide[open]>summary{background:#fafbff;border-bottom:1px solid var(--line)}.instrument-question-guide>div{display:grid}.instrument-question-guide article{display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;padding:10px 13px;border-bottom:1px solid var(--line)}.instrument-question-guide article:last-child{border-bottom:0}.instrument-question-guide article>span{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef2ff;color:#425bc4;font-size:8px;font-weight:900}.instrument-question-guide article b,.instrument-question-guide article small{display:block}.instrument-question-guide article b{font-size:9.5px;line-height:1.45}.instrument-question-guide article small{margin-top:3px;color:var(--muted);font-size:8px}.instrument-guide-items{display:grid}.instrument-guide-items>article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 13px;border-bottom:1px solid var(--line)}.instrument-guide-items>article:last-child{border-bottom:0}.instrument-item-code{padding:5px 6px;border-radius:7px;background:#edf3ff;color:#3e58bd;font-size:8px;font-weight:900;text-align:center}.instrument-guide-items h3{margin:1px 0 3px;font-size:10px}.instrument-guide-items p,.instrument-guide-items small{margin:0;color:var(--muted);font-size:8.5px;line-height:1.5}.instrument-guide-items ul{display:grid;gap:3px;margin:7px 0 0;padding:0;list-style:none}.instrument-guide-items li{position:relative;padding-left:14px;color:#4b586d;font-size:8.5px;line-height:1.45}.instrument-guide-items li:before{content:"✓";position:absolute;left:0;color:#159786;font-weight:900}
@media(max-width:900px){.instrument-scope-strip{grid-template-columns:1fr}.instrument-guide-card>header{grid-template-columns:1fr}.instrument-guide-metrics{justify-self:stretch}}
@media(max-width:560px){.instrument-guide-metrics{grid-template-columns:repeat(2,1fr)}.instrument-guide-items>article{grid-template-columns:42px minmax(0,1fr)}.instrument-guide-items>article>.badge{grid-column:2;justify-self:start}}

/* Angket: target multi-kelas, library mode jawaban, dan login trial murid. */
.survey-class-targets{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafcff}.survey-class-targets legend{padding:0 5px;font-size:10px;font-weight:800}.survey-class-targets legend small,.survey-class-targets>small{color:var(--muted);font-size:8.5px;font-weight:500}.survey-class-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;max-height:250px;overflow:auto;padding:5px}.survey-class-target-grid h3{grid-column:1/-1;margin:7px 0 1px;padding-top:7px;border-top:1px solid var(--line);font-size:9px;color:#4059bd}.survey-class-target-grid h3:first-child{margin-top:0;padding-top:0;border-top:0}.survey-class-target-grid .check-label{min-width:0;padding:7px 8px;border:1px solid #e0e6f1;border-radius:8px;background:#fff;font-size:9px}.survey-class-target-grid .check-label:has(input:checked){border-color:#788be1;background:#eef2ff;color:#3248a8}
.survey-level-targets{align-self:start}.survey-level-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:6px}.survey-level-target-grid .check-label{min-width:0;padding:8px 9px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;font-size:10px;font-weight:800}.survey-level-target-grid .check-label:has(input:checked){border-color:#526cda;background:#e9eeff;color:#2946ba;box-shadow:inset 0 0 0 1px rgba(49,86,218,.12)}
.survey-answer-library{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.4fr);gap:14px;padding:14px}.survey-answer-mode-form{align-self:start;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.survey-answer-mode-form label>span{display:block;margin-bottom:5px;font-size:9px;font-weight:800}.survey-answer-mode-form textarea{min-height:120px}.survey-answer-mode-form small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.survey-answer-mode-list{display:grid;gap:8px}.survey-answer-mode-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.survey-answer-mode-list h3{margin:7px 0 3px;font-size:12px}.survey-answer-mode-list p{margin:0;color:var(--muted);font-size:9px}.survey-answer-option-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.survey-answer-option-chips span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:#f0f3fa;color:#435069;font-size:8px}.survey-answer-option-chips b{display:grid;place-items:center;width:16px;height:16px;border-radius:5px;background:#536bd8;color:#fff}.survey-question-mode{min-width:220px}.student-question-mode-title{margin-top:10px;color:#5d6a80;font-size:9px}.student-scale-options{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.student-login-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#7b879a;font-size:9px}.student-login-divider:before,.student-login-divider:after{content:"";height:1px;flex:1;background:#dfe5ef}.student-trial-form label>span{display:block;margin-bottom:5px;font-size:10px;font-weight:800}.student-trial-form input{width:100%;padding:11px 12px;border:1px solid #d7dfec;border-radius:10px}.student-account>.badge{white-space:nowrap}
@media(max-width:1050px){.survey-class-target-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.survey-answer-library{grid-template-columns:1fr}}
@media(max-width:680px){.survey-class-target-grid,.survey-level-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-answer-mode-list>article{grid-template-columns:1fr}.student-scale-options{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}}

/* Nilai tunggal supervisi: bedakan nilai tiap penilai dari rata-rata gabungan kegiatan. */
.ledger-master-combined{width:104px;min-width:104px}.ledger-combined-cell{min-width:104px;background:#dff6f1!important;color:#0d665d}.ledger-combined-cell strong,.ledger-combined-cell small,.ledger-combined-cell span{display:block}.ledger-combined-cell strong{font-size:13px;font-weight:900}.ledger-combined-cell small{margin-top:4px;color:#496b68;font-size:6.5px;line-height:1.35}.ledger-combined-cell span{margin-top:5px;font-size:6.5px;font-weight:800;text-transform:uppercase}.consolidated-score-summary{border-left:5px solid #15a394}.consolidated-score-summary strong{font-size:15px}
@media print{.ledger-master-combined{width:48px;min-width:0}.ledger-combined-cell{min-width:0}.ledger-combined-cell strong{font-size:6px}.ledger-combined-cell small,.ledger-combined-cell span{font-size:4px}}
/* Private global access settings: status-only presentation; secrets are never rendered. */
.info-list{display:grid;gap:10px}.info-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#f8fafc)}.info-list span{color:var(--muted);font-size:.86rem}.info-list strong{text-align:right;color:var(--text)}

/* Pusat hasil angket murid untuk pimpinan sekolah dan Tim Pendidikan. */
.survey-result-hub{display:grid;gap:9px}.survey-page-head{align-items:end;margin-bottom:10px!important}.survey-page-head>div:first-child{max-width:900px}.survey-page-head .page-actions{gap:7px}.survey-compact-page .section-gap{margin-top:0}.survey-compact-metrics{gap:9px!important}.survey-compact-metrics .metric{min-height:66px;padding:9px 12px}.survey-compact-metrics .metric:after{width:44px;height:44px}.survey-compact-metrics .metric-label{font-size:8px}.survey-compact-metrics .metric-value{margin-top:3px;font-size:20px;line-height:1}.survey-compact-metrics .metric-note{margin-top:3px;font-size:8px;line-height:1.25}.survey-filter-card .card-head,.survey-results-card .card-head{padding-block:9px}.survey-result-filter{display:grid;grid-template-columns:minmax(230px,1.55fr) repeat(6,minmax(105px,1fr)) auto;gap:7px;align-items:end;padding-block:10px!important}.survey-result-filter label{display:grid;gap:4px;min-width:0}.survey-result-filter label>span{font-size:8px;font-weight:850;color:#3d4b63}.survey-result-filter input,.survey-result-filter select{width:100%;height:32px;min-height:32px;padding:5px 8px;font-size:10px}.survey-result-search{grid-column:auto}.survey-result-filter .form-actions{display:flex;align-items:end;gap:6px;margin:0;padding:0;border:0}.survey-result-filter .form-actions .btn{min-height:32px;padding:6px 9px;white-space:nowrap}.survey-result-empty{display:flex;align-items:center;gap:8px;min-height:0;padding:9px 16px!important;text-align:left}.survey-result-empty strong{font-size:10px}.survey-result-empty span{color:var(--muted);font-size:9px}.survey-manage-heading{margin-top:10px!important;padding-top:8px;border-top:1px solid var(--line)}.survey-manage-heading .page-head{margin-bottom:0}.survey-manage-heading h2{font-size:18px}.survey-manage-metrics{margin-top:8px}.survey-teacher-results{display:grid;gap:9px;padding:14px}.survey-teacher-result{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.survey-teacher-result>summary{display:grid;grid-template-columns:38px minmax(0,1fr) 72px 82px;gap:11px;align-items:center;padding:13px 14px;cursor:pointer;list-style:none}.survey-teacher-result>summary::-webkit-details-marker{display:none}.survey-teacher-result>summary:hover{background:#fafbff}.survey-result-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eaf0ff;color:#4059c1;font-size:14px;font-weight:900}.survey-result-copy,.survey-result-count,.survey-result-index{display:grid;gap:3px;min-width:0}.survey-result-copy strong{font-size:11px}.survey-result-copy small,.survey-result-count small,.survey-result-index small{overflow:hidden;color:var(--muted);font-size:8px;line-height:1.4;text-overflow:ellipsis}.survey-result-count,.survey-result-index{text-align:center}.survey-result-count strong{font-size:14px}.survey-result-index{padding:7px;border-radius:9px;background:#e9f8f5;color:#0e786d}.survey-result-index strong{font-size:16px}.survey-result-index small{color:#397b75}.survey-result-detail{padding:0 14px 14px;border-top:1px solid var(--line);background:#fbfcff}.survey-result-detail>p{margin:12px 0 8px;color:var(--muted);font-size:9px}.survey-question-breakdown{display:grid;gap:6px}.survey-question-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) 62px 74px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e3e8f2;border-radius:9px;background:#fff}.survey-question-breakdown strong,.survey-question-breakdown small{display:block}.survey-question-breakdown strong{font-size:9.5px;line-height:1.45}.survey-question-breakdown small{margin-top:3px;color:var(--muted);font-size:7.5px}.survey-question-breakdown span,.survey-question-breakdown b{text-align:center;font-size:9px}.survey-question-breakdown b{padding:5px 6px;border-radius:7px;background:#eef2ff;color:#3853bb}.survey-feedback-leadership{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.survey-feedback-leadership blockquote{margin:0;padding:13px 14px;border-left:3px solid #536bd8;border-radius:9px;background:#f7f9ff}.survey-feedback-leadership p{margin:0;color:#344157;font-size:9.5px;line-height:1.65}.survey-feedback-leadership footer{display:grid;gap:2px;margin-top:8px;color:var(--muted);font-size:8px}.survey-nomination-list{display:grid;gap:7px;padding:14px}.survey-nomination-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px}.survey-nomination-list h3{margin:0 0 3px;font-size:11px}.survey-nomination-list p{margin:0;color:var(--muted);font-size:8.5px}.survey-nomination-list strong{min-width:68px;padding:8px;border-radius:9px;background:#fff3d9;color:#8d5e0c;text-align:center;font-size:13px}
.survey-result-danger{margin-top:12px;border:1px solid #f3c8ce;border-radius:10px;background:#fff8f8}.survey-result-danger>summary{width:max-content;padding:9px 11px;cursor:pointer;list-style:none;color:#b72f40;font-size:10px;font-weight:850}.survey-result-danger>summary::-webkit-details-marker{display:none}.survey-result-danger>summary::before{content:'!';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:#ffe3e6;color:#b72f40}.survey-result-danger[open]>summary{border-bottom:1px solid #f3c8ce}.survey-result-danger>form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(240px,1fr) auto;gap:12px;align-items:end;padding:12px}.survey-result-danger form>div p{max-width:720px;margin:4px 0 0;color:#79545a;font-size:9px;line-height:1.5}.survey-result-danger form>label{display:grid;gap:5px;font-size:9px;font-weight:750}.survey-result-danger form>.check-label{display:flex;align-items:center;align-self:center}.survey-result-danger form>.btn{white-space:nowrap}
@media(max-width:1500px){.survey-result-filter{grid-template-columns:repeat(4,minmax(140px,1fr))}.survey-result-search{grid-column:span 2}.survey-result-filter .form-actions{grid-column:span 2}}
@media(max-width:850px){.survey-page-head{align-items:flex-start}.survey-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-result-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-result-search,.survey-result-filter .form-actions{grid-column:span 2}.survey-result-filter .btn{width:100%}.survey-feedback-leadership,.survey-result-danger>form{grid-template-columns:1fr}.survey-result-danger form>.btn{width:max-content}}
@media(max-width:580px){.survey-compact-metrics{grid-template-columns:1fr 1fr}.survey-compact-metrics .metric{min-height:62px}.survey-result-filter{grid-template-columns:1fr}.survey-result-search,.survey-result-filter .form-actions{grid-column:auto}.survey-result-empty{align-items:flex-start;flex-direction:column;gap:2px}.survey-teacher-result>summary{grid-template-columns:34px minmax(0,1fr) 68px}.survey-result-index{grid-column:2/-1;text-align:left}.survey-question-breakdown>div{grid-template-columns:minmax(0,1fr) 58px}.survey-question-breakdown b{grid-column:2}.survey-feedback-leadership,.survey-teacher-results,.survey-nomination-list{padding:10px}}
.additional-instrument-control { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px; margin:24px 0 12px; border:1px solid #cdd7ee; border-radius:12px; background:#f5f7ff; }
.additional-instrument-control > div:first-child { flex:1; min-width:180px; }
.additional-instrument-control p { margin:5px 0 0; font-size:12px; color:#596b89; }
.additional-instrument-control > p { flex-basis:100%; }
.additional-instrument-buttons { display:flex; gap:6px; }

/* Compact layout for the optional additional-instrument workspace. */
[data-assessment-tab-panel="additional"] .assessment-card-head{padding:9px 14px}
[data-assessment-tab-panel="additional"] .assessment-card-head .eyebrow{margin-bottom:2px;font-size:9px}
[data-assessment-tab-panel="additional"] .assessment-card-head h2{font-size:16px;line-height:1.25}
[data-assessment-tab-panel="additional"] .assessment-card-head p{margin-top:3px;font-size:11px;line-height:1.35}
[data-assessment-tab-panel="additional"] .assessment-instrument-card>.card-body{padding:8px 12px 12px}
[data-assessment-tab-panel="additional"] .additional-instrument-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin:0 0 8px;padding:9px 12px;border:2px solid #e3a51d;border-left-width:6px;border-radius:10px;background:linear-gradient(100deg,#fff1b8 0%,#fff8df 64%,#fffdf5 100%);box-shadow:0 5px 15px rgba(172,112,7,.16)}
[data-assessment-tab-panel="additional"] .additional-instrument-control>div:first-child{min-width:0}
[data-assessment-tab-panel="additional"] .additional-instrument-control>div:first-child>strong{color:#684100;font-size:12px}
[data-assessment-tab-panel="additional"] .additional-instrument-control p{margin:2px 0 0;color:#77520d;font-size:9.5px;line-height:1.35}
[data-assessment-tab-panel="additional"] .additional-instrument-control>p{grid-column:1/-1;line-height:1.25}
[data-assessment-tab-panel="additional"] .additional-instrument-buttons{align-self:center}
[data-assessment-tab-panel="additional"] .additional-instrument-buttons .btn{min-height:29px;padding:5px 9px;font-size:10px}
[data-assessment-tab-panel="additional"] [data-additional-toggle="1"]{border-color:#48a986;background:#effaf6;color:#087451;box-shadow:none}
[data-assessment-tab-panel="additional"] [data-additional-toggle="1"][aria-pressed="true"]{border-color:#078357;background:#078357;color:#fff;box-shadow:0 4px 10px rgba(7,131,87,.25)}
[data-assessment-tab-panel="additional"] [data-additional-toggle="0"]{border-color:#df7880;background:#fff3f4;color:#af2732;box-shadow:none}
[data-assessment-tab-panel="additional"] [data-additional-toggle="0"][aria-pressed="true"]{border-color:#ca303d;background:#ca303d;color:#fff;box-shadow:0 4px 10px rgba(202,48,61,.25)}
[data-assessment-tab-panel="additional"] .instrument-section{margin:8px 0 2px;padding:7px 10px;border-radius:9px}
[data-assessment-tab-panel="additional"] .instrument-section .eyebrow{font-size:9px}
[data-assessment-tab-panel="additional"] .instrument-section h3{margin-top:2px;font-size:14px;line-height:1.3}
@media(max-width:640px){[data-assessment-tab-panel="additional"] .additional-instrument-control{grid-template-columns:1fr}[data-assessment-tab-panel="additional"] .additional-instrument-buttons{justify-self:start}[data-assessment-tab-panel="additional"] .additional-instrument-control>p{grid-column:1}}

/* Assessment workspace tabs */
.assessment-tab-shell{position:relative;z-index:18;overflow:hidden;border:1px solid #d8e0ef;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 9px 28px rgba(24,42,76,.09);backdrop-filter:blur(10px)}
.assessment-tab-scroll{display:flex;align-items:end;gap:0;overflow-x:auto;padding:7px 9px 0;border-bottom:1px solid #8197bd;background:linear-gradient(180deg,#f7faff 0%,#e5edfa 100%);scrollbar-width:thin;scrollbar-color:#9eafd0 transparent}
.assessment-tab-list{display:flex;align-items:end;gap:0;flex:0 0 auto}
.assessment-tab-list-secondary{margin-left:4px;padding-left:0;border-left:0}
.assessment-tab-button{position:relative;z-index:1;isolation:isolate;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:8px;min-width:92px;min-height:52px;margin-right:-5px;padding:10px 18px 8px;border:1.5px solid #829cc8;border-bottom-color:#607aa8;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#dfeeff 0%,#acc9ef 100%);color:#2d466d;font:inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 -2px 7px rgba(47,73,118,.1);transform:skewX(-8deg);transform-origin:bottom center;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.assessment-tab-button>span{font-size:13.5px;font-weight:850;white-space:nowrap;transform:skewX(8deg)}
.assessment-tab-button>small{display:grid;place-items:center;min-width:32px;height:24px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.66);color:#48617f;font-size:9.5px;font-weight:850;white-space:nowrap;transform:skewX(8deg)}
.assessment-tab-button:hover:not(:disabled){z-index:3;border-color:#4869a6;background:linear-gradient(180deg,#eef6ff 0%,#bdd5f5 100%);color:#173e83;box-shadow:inset 0 1px 0 #fff,0 -4px 10px rgba(47,72,172,.2);transform:skewX(-8deg) translateY(-2px)}
.assessment-tab-button.is-active{z-index:5;border:2px solid #b8750b;border-bottom-color:#d38a14;background:linear-gradient(180deg,#ffdc86 0%,#f2a92c 100%);color:#5d3900;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 -5px 12px rgba(178,111,8,.25);transform:skewX(-8deg) translateY(1px)}
.assessment-tab-button.is-active:after{display:none}
.assessment-tab-button.is-active>small{background:rgba(255,255,255,.52);color:#704600}
.assessment-tab-button.is-complete:not(.is-active){border-color:#609c91;background:linear-gradient(180deg,#e5faf4,#b9e7da)}
.assessment-tab-button.is-complete:not(.is-active)>small{background:#d7f3e8;color:#087655}
.assessment-tab-button.is-disabled,.assessment-tab-button:disabled{z-index:0;border:1.5px dashed #aeb9ca;background:#e4e8ef;color:#8a95a7;cursor:not-allowed;box-shadow:none;opacity:.82}
.assessment-tab-button.is-disabled>small,.assessment-tab-button:disabled>small{background:#e8ebf0;color:#9ca5b4}
.assessment-tab-button-wide{min-width:154px}
.assessment-tab-caption{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:0;background:linear-gradient(90deg,#fff4d8 0%,#f8faff 38%);box-shadow:inset 0 3px 0 #e8a52d}
.assessment-tab-caption-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#e1f5ef;color:#078263;font-size:13px;font-weight:950}
.assessment-tab-caption>div{display:grid;gap:1px;min-width:0;flex:1}
.assessment-tab-caption strong{font-size:12.5px;color:#17243b}
.assessment-tab-caption small{overflow:hidden;color:#68758b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.assessment-tab-caption>.badge{flex:0 0 auto}
.assessment-tab-panel[hidden]{display:none!important}
.assessment-tab-panel{animation:assessmentTabIn .18s ease-out}
.assessment-tab-empty{display:grid;justify-items:center;gap:5px;padding:42px 20px;text-align:center;color:#758197}
.assessment-tab-empty:before{content:"—";display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef2f8;color:#8c98a9;font-size:18px;font-weight:850}
.assessment-tab-empty strong{font-size:13px;color:#4a576b}
.assessment-tab-empty p{max-width:520px;margin:0;font-size:10px;line-height:1.55}
@keyframes assessmentTabIn{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:900px){.assessment-tab-scroll{gap:0;padding:7px 8px 0}.assessment-tab-list{gap:0}.assessment-tab-list-secondary{margin-left:4px;padding-left:0}.assessment-tab-button{min-width:82px;min-height:50px;padding:9px 15px 7px}.assessment-tab-button>span{font-size:12px}.assessment-tab-button-wide{min-width:132px}}
@media(max-width:640px){.assessment-tab-shell{border-radius:12px}.assessment-tab-scroll{padding:6px 7px 0}.assessment-tab-list-secondary{padding-left:0}.assessment-tab-button{min-width:76px;min-height:47px;padding:8px 13px 6px}.assessment-tab-button>span{font-size:11.5px}.assessment-tab-button>small{min-width:28px;height:22px;font-size:9px}.assessment-tab-button-wide{min-width:124px}.assessment-tab-caption{padding:9px 11px}.assessment-tab-caption strong{font-size:11.5px}.assessment-tab-caption small{font-size:9px}.assessment-tab-caption>.badge{display:none}}

/* Compact, fixed assessment command center. */
.assessment-command-center{position:sticky;top:82px;z-index:24;display:grid;gap:8px;padding-bottom:8px;background:linear-gradient(180deg,var(--bg,#f4f6fa) 0%,var(--bg,#f4f6fa) 92%,rgba(244,246,250,0) 100%)}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon{position:relative;top:auto;z-index:auto;margin-bottom:0;padding:10px 12px;gap:9px;border-radius:14px;box-shadow:0 8px 22px rgba(10,27,50,.16)}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon{grid-template-columns:minmax(210px,.9fr) minmax(0,1.75fr) minmax(155px,.55fr)}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-title{padding:0 4px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-title .eyebrow{margin-bottom:1px;font-size:8.5px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-title h1{margin-top:2px;font-size:17px}
[data-instrument-assessment] .assessment-command-center .assessment-identity{gap:2px 11px;margin-top:3px;font-size:9.5px;line-height:1.3}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-scores{gap:6px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score{padding:7px 9px;border-radius:9px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score.is-peer{padding:6px 8px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score>span{font-size:8px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score>strong{margin-top:2px;font-size:22px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score.is-peer>strong{font-size:18px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score>small,[data-instrument-assessment] .assessment-command-center .assessment-ribbon-score.is-peer>small{margin-top:3px;font-size:8px}
[data-instrument-assessment] .assessment-command-center .assessment-finalize-button{min-height:36px;padding-block:7px;font-size:10px!important}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-finalize{grid-column:auto;grid-template-columns:1fr;gap:3px}
[data-instrument-assessment] .assessment-command-center .assessment-ribbon-finalize>small{font-size:8px}
[data-instrument-assessment] .assessment-command-center .assessment-repeat-decision{gap:7px;padding:7px 10px}
[data-instrument-assessment] .assessment-command-center .assessment-repeat-decision>div>span{font-size:8px}
[data-instrument-assessment] .assessment-command-center .assessment-repeat-decision>div>strong{font-size:10.5px}
[data-instrument-assessment] .assessment-command-center .assessment-repeat-decision>div>small,[data-instrument-assessment] .assessment-command-center .repeat-decision-hint{font-size:7.5px}
[data-instrument-assessment] .assessment-command-center .assessment-repeat-decision>div>small,[data-instrument-assessment] .assessment-command-center .repeat-decision-hint{display:none}
[data-instrument-assessment] .assessment-command-center .repeat-choice{min-height:31px;padding:5px 9px}
[data-instrument-assessment] .assessment-command-center .repeat-choice span{font-size:9px}
[data-instrument-assessment] .assessment-command-center .assessment-completion{grid-template-columns:minmax(190px,auto) minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:6px 10px;border-radius:11px;box-shadow:0 4px 13px rgba(112,29,37,.06)}
[data-instrument-assessment] .assessment-command-center .assessment-completion-head strong{font-size:9.5px}
[data-instrument-assessment] .assessment-command-center .assessment-completion-head span{font-size:8.5px}
[data-instrument-assessment] .assessment-command-center .assessment-progress-track{height:18px}
[data-instrument-assessment] .assessment-command-center .assessment-progress-track>strong{font-size:9.5px}
[data-instrument-assessment] .assessment-command-center .assessment-tab-scroll{padding:6px 8px 0}
[data-instrument-assessment] .assessment-command-center .assessment-tab-button{min-height:44px;padding-block:6px}
[data-instrument-assessment] .assessment-command-center .assessment-tab-caption{padding:5px 10px}
[data-instrument-assessment] .assessment-command-center .assessment-tab-caption-icon{width:24px;height:24px}
@media(max-width:1179px){.assessment-command-center{position:relative;top:auto;z-index:18}}
@media(max-width:680px){.assessment-command-center{gap:7px;padding-bottom:5px}[data-instrument-assessment] .assessment-command-center .assessment-ribbon{padding:9px}[data-instrument-assessment] .assessment-command-center .assessment-tab-button{min-height:48px}}
.instrument-fields { border:0; padding:0; margin:0; min-width:0; }
.additional-inactive-note { display:none; color:#68748b; font-size:13px; margin:0; }
.instrument-item.is-inactive { display:none; }
.instrument-item.is-inactive .instrument-fields { display:none; }
.instrument-item.is-inactive .additional-inactive-note { display:block; }
.core-section-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;margin:0 0 12px;padding:11px 14px;border:2px solid #27a47c;border-left-width:7px;border-radius:11px;background:linear-gradient(100deg,#e8fff7 0%,#f6fffc 68%,#fff 100%);box-shadow:0 5px 16px rgba(12,123,88,.12)}
.core-section-control.is-disabled{border-color:#e14a58;background:linear-gradient(100deg,#ffe8eb 0%,#fff6f7 68%,#fff 100%);box-shadow:0 5px 18px rgba(187,37,54,.16)}
.core-section-control-copy{display:grid;gap:2px;min-width:0}.core-section-control-copy>span{color:#547064;font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.core-section-control-copy>strong{color:#075f48;font-size:13px}.core-section-control.is-disabled .core-section-control-copy>span{color:#93424b}.core-section-control.is-disabled .core-section-control-copy>strong{color:#9d1727}
.core-section-buttons{display:flex;gap:7px}.core-section-buttons .btn{min-width:78px;font-weight:850}.core-section-control.is-disabled [data-core-section-toggle="0"].btn-danger{background:#c9273a;border-color:#a91628;color:#fff;box-shadow:0 4px 11px rgba(190,31,51,.22)}
.core-section-control>p{grid-column:1/-1;margin:0;color:#52697a;font-size:10px;line-height:1.4}.core-section-control.is-disabled>p{color:#7d3540;font-weight:650}
.assessment-tab-button.is-core-inactive:not(.is-active){border-color:#c9818a;background:linear-gradient(180deg,#fff0f2,#e7c5ca);color:#8e3340}.assessment-tab-button.is-core-inactive>small{background:#fff0f1;color:#a62435}
.assessment-tab-button.is-assessment-inactive,.assessment-tab-button.is-assessment-inactive:hover:not(:disabled),.assessment-tab-button.is-assessment-inactive.is-active{border-color:#9aa4b2;border-bottom-color:#7f8997;background:linear-gradient(180deg,#e5e8ed 0%,#b7bec8 100%);color:#596372;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 -2px 6px rgba(67,76,91,.13);filter:saturate(.15);opacity:.78}
.assessment-tab-button.is-assessment-inactive.is-active{border-width:2px;transform:skewX(-8deg) translateY(1px);opacity:.9}
.assessment-tab-button.is-assessment-inactive>small,.assessment-tab-button.is-assessment-inactive.is-active>small{min-width:54px;background:#747f8e;color:#fff}
.assessment-tab-panel.is-core-inactive .instrument-section{display:block;opacity:.7}
.assessment-tab-panel.is-core-inactive .instrument-item.is-inactive{display:block;padding:12px;border:1px dashed #d49ba2;border-radius:10px;background:#fff9fa;opacity:.74}
.assessment-tab-panel.is-core-inactive .instrument-item.is-inactive .instrument-fields{display:block}
.assessment-tab-panel.is-core-inactive .instrument-item.is-inactive .additional-inactive-note{display:block;margin-top:9px;padding:7px 9px;border-radius:7px;background:#ffe6e9;color:#942334;font-size:10px;font-weight:750}
@media(max-width:640px){.core-section-control{grid-template-columns:1fr}.core-section-buttons{justify-self:start}.core-section-control>p{grid-column:1}}

/* Panduan instrumen: hierarchy follows the supervision workflow. */
.instrument-guide-map{margin-bottom:15px;padding:16px;border:1px solid #cdd8ef;border-radius:15px;background:linear-gradient(115deg,#f3f7ff,#fbfdff);box-shadow:0 8px 25px rgba(33,55,104,.07)}
.instrument-guide-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.instrument-guide-map-head h2{margin:4px 0 0;font-size:16px}.instrument-guide-map-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.instrument-guide-map-steps article{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid #dce4f3;border-radius:11px;background:#fff}.instrument-guide-map-steps article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#365be2;color:#fff;font-size:13px;font-weight:900}.instrument-guide-map-steps strong,.instrument-guide-map-steps small{display:block}.instrument-guide-map-steps strong{font-size:11px}.instrument-guide-map-steps small{margin-top:2px;color:#647187;font-size:9px;line-height:1.4}
.instrument-guide-groups{display:grid;gap:17px}.instrument-guide-group{overflow:hidden;border:1px solid #d9e0ed;border-radius:16px;background:#f8faff;box-shadow:0 8px 24px rgba(32,46,78,.07)}.instrument-guide-group-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #dbe3f0;background:#edf3ff}.instrument-guide-group-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#3156da;color:#fff;font-size:16px;font-weight:900}.instrument-guide-group-head h2{margin:0;font-size:15px}.instrument-guide-group-head p{margin:3px 0 0;color:#5c6b83;font-size:9px}.instrument-guide-group-head>b{padding:6px 9px;border-radius:8px;background:#fff;color:#3653b8;font-size:9px}.instrument-guide-group-additional .instrument-guide-group-head{background:#fff7df}.instrument-guide-group-additional .instrument-guide-group-head>span{background:#d98a0b}.instrument-guide-group-additional .instrument-guide-group-head>b{color:#9b6000}.instrument-guide-group-observation .instrument-guide-group-head{background:#f5efff}.instrument-guide-group-observation .instrument-guide-group-head>span{background:#7854cf}.instrument-guide-group-observation .instrument-guide-group-head>b{color:#6848ad}
.instrument-guide-group>.instrument-guide-list{gap:9px;padding:11px}.instrument-guide-card{box-shadow:none}.instrument-guide-card>summary{list-style:none}.instrument-guide-card>summary::-webkit-details-marker{display:none}.instrument-template-summary{display:grid;grid-template-columns:minmax(260px,1fr) auto 82px;align-items:center;gap:15px;padding:14px 15px;cursor:pointer;background:#fff;transition:background .16s ease}.instrument-template-summary:hover{background:#f9fbff}.instrument-guide-card[open]>.instrument-template-summary{border-bottom:1px solid #dfe5ef;background:#fbfcff}.instrument-template-identity h3{margin:7px 0 3px;font-size:14px}.instrument-template-identity p{margin:0;color:#68758a;font-size:9px;line-height:1.45}.instrument-template-toggle{display:grid;justify-items:center;gap:4px;color:#4c5e7a;font-size:8.5px}.instrument-template-toggle i{position:relative;width:27px;height:27px;border:1px solid #c9d4e8;border-radius:9px;background:#f4f7fd}.instrument-template-toggle i:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#3156ce;font-size:18px;font-style:normal;font-weight:700}.instrument-guide-card[open] .instrument-template-toggle i:after{content:"−"}.instrument-guide-card[open] .instrument-template-toggle>b{font-size:0}.instrument-guide-card[open] .instrument-template-toggle>b:after{content:"Tutup isi";font-size:8.5px}
.instrument-guide-card>.instrument-guide-body{gap:12px;padding:13px;background:#f8faff}.instrument-content-block{overflow:hidden;border:1px solid #dce4f1;border-radius:13px;background:#fff}.instrument-content-block>header{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #e2e7f0}.instrument-content-block>header>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#dff4ed;color:#08775b;font-size:11px;font-weight:900}.instrument-content-block>header h4{margin:0;font-size:12px}.instrument-content-block>header p{margin:2px 0 0;color:#647187;font-size:8.5px}.instrument-content-teacher>header{background:#eff6ff}.instrument-content-teacher>header>span{background:#dceaff;color:#315bc3}.instrument-content-observer>header{background:#effbf7}.instrument-question-phase-grid,.instrument-section-list{display:grid;gap:8px;padding:10px}.instrument-question-guide>summary span,.instrument-section-guide>summary span{min-width:0}.instrument-question-guide>summary em{color:#66748a;font-size:8.5px;font-style:normal}.instrument-question-guide:not([open])>summary,.instrument-section-guide:not([open])>summary{background:#fff}.instrument-question-guide>summary:after,.instrument-section-guide>summary:after{content:"+";display:grid;place-items:center;width:22px;height:22px;margin-left:2px;border-radius:7px;background:#edf2fb;color:#3f5bbd;font-size:14px;font-weight:800;order:3}.instrument-question-guide[open]>summary:after,.instrument-section-guide[open]>summary:after{content:"−"}.instrument-question-guide>summary>b,.instrument-section-guide>summary>b{margin-left:auto}
@media(max-width:980px){.instrument-template-summary{grid-template-columns:1fr 76px}.instrument-template-summary .instrument-guide-metrics{grid-column:1/-1;grid-row:2}.instrument-guide-map-steps{grid-template-columns:1fr}.instrument-guide-group-head{grid-template-columns:42px 1fr}.instrument-guide-group-head>b{grid-column:2;justify-self:start}}
@media(max-width:600px){.instrument-guide-map{padding:12px}.instrument-guide-map-head{align-items:flex-start}.instrument-guide-group-head{padding:12px}.instrument-template-summary{grid-template-columns:1fr 60px;padding:12px}.instrument-template-summary .instrument-guide-metrics{grid-template-columns:repeat(2,1fr)}.instrument-content-block>header{grid-template-columns:30px 1fr}.instrument-guide-group-head>span{width:34px;height:34px}}

/* Dashboard score context: explain what the headline number represents. */
.hero-score{display:grid;justify-items:center;align-content:center;min-width:205px;max-width:230px}
.hero-score .hero-score-title{margin:0 0 8px;color:#36465e;font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.hero-score .hero-score-grade{margin-top:6px;color:#40506a;font-size:11px}
.hero-score .hero-score-note{display:block;margin-top:5px;color:#6f7b8f;font-size:8.5px;line-height:1.45;font-weight:550}

/* Super Admin: map assessment indicators to teacher competency domains. */
.competency-page-head{margin-bottom:15px}.competency-scope-notice{align-items:center}.competency-domain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.competency-domain-grid article{position:relative;overflow:hidden;min-height:142px;padding:16px;border:1px solid color-mix(in srgb,var(--competency-color) 30%,#dce3ee);border-top:5px solid var(--competency-color);border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--competency-color) 8%,#fff),#fff);box-shadow:0 6px 20px rgba(25,40,73,.06)}.competency-domain-grid article:after{content:"";position:absolute;width:90px;height:90px;right:-35px;bottom:-43px;border:18px solid color-mix(in srgb,var(--competency-color) 12%,transparent);border-radius:50%}.competency-domain-grid article>span{display:inline-flex;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--competency-color) 12%,#fff);color:var(--competency-color);font-size:9px;font-weight:850}.competency-domain-grid h2{margin:10px 0 5px;color:#17243a;font-size:17px}.competency-domain-grid p{position:relative;z-index:1;margin:0;color:#617087;font-size:10px;line-height:1.55}
.competency-filter-card{padding:14px}.competency-filter-form{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;align-items:end;gap:9px}.competency-filter-form label{display:grid;gap:5px}.competency-filter-form label>span{color:#59667c;font-size:9px;font-weight:800}.competency-filter-actions{display:flex;gap:7px}.competency-summary-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.competency-summary-line>span{padding:5px 8px;border-radius:8px;background:#f1f4f9;color:#5f6d82;font-size:9px}.competency-summary-line strong{color:#21314d}.competency-summary-line .is-mapped{background:#e9f8f2;color:#19785b}.competency-summary-line .is-unmapped{background:#fff1e1;color:#9c620a}
.competency-template-list{display:grid;gap:13px}.competency-template-card>.card-head{padding:13px 16px}.competency-template-card>.card-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px}.competency-template-card>.card-head h2{font-size:16px}.competency-template-card>.card-head p{grid-column:2;margin:0}.competency-item-list{display:grid}.competency-item-row{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(540px,1.7fr) 112px;align-items:center;gap:15px;padding:14px 16px;border-bottom:1px solid #e8ecf3}.competency-item-row:last-child{border-bottom:0}.competency-item-row:hover{background:#fbfcff}.competency-item-copy{min-width:0}.competency-item-copy>div{display:flex;align-items:center;gap:6px}.competency-item-code{display:inline-grid;place-items:center;min-width:48px;padding:5px 8px;border-radius:8px;background:#e9eeff;color:#3154c4;font-size:10px;font-weight:900}.competency-item-copy h3{margin:7px 0 3px;font-size:13px}.competency-item-copy p{overflow:hidden;margin:0;color:#6d798d;font-size:9px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.competency-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr));gap:6px;margin:0;padding:0;border:0}.competency-choice-grid legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.competency-choice{cursor:pointer}.competency-choice input{position:absolute;opacity:0;pointer-events:none}.competency-choice>span{display:flex;align-items:center;gap:7px;min-height:37px;padding:7px 9px;border:1px solid #d8e0ec;border-radius:9px;background:#f9fafc;color:#647086;transition:.15s}.competency-choice i{position:relative;width:16px;height:16px;flex:0 0 16px;border:1.5px solid #b3bdcc;border-radius:5px;background:#fff}.competency-choice strong{font-size:9px}.competency-choice:hover>span{border-color:var(--competency-color);background:color-mix(in srgb,var(--competency-color) 5%,#fff)}.competency-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--competency-color) 20%,transparent);outline-offset:2px}.competency-choice input:checked+span{border-color:var(--competency-color);background:color-mix(in srgb,var(--competency-color) 11%,#fff);color:color-mix(in srgb,var(--competency-color) 80%,#17243a);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--competency-color) 24%,transparent)}.competency-choice input:checked+span i{border-color:var(--competency-color);background:var(--competency-color)}.competency-choice input:checked+span i:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-style:normal;font-weight:900}.competency-item-action{display:grid;justify-items:end;gap:7px}.competency-item-action .btn{min-width:90px}
@media(max-width:1250px){.competency-domain-grid{grid-template-columns:repeat(2,1fr)}.competency-item-row{grid-template-columns:minmax(220px,.75fr) minmax(430px,1.4fr) 100px}.competency-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.competency-filter-form{grid-template-columns:1fr 1fr}.competency-filter-form>label:first-child{grid-column:1/-1}.competency-item-row{grid-template-columns:1fr}.competency-item-action{display:flex;align-items:center;justify-content:space-between}.competency-item-copy p{white-space:normal}}
@media(max-width:560px){.competency-domain-grid,.competency-filter-form,.competency-choice-grid{grid-template-columns:1fr}.competency-filter-form>label:first-child{grid-column:auto}.competency-filter-actions .btn{flex:1}.competency-template-card>.card-head>div{grid-template-columns:1fr}.competency-template-card>.card-head p{grid-column:auto}.competency-item-row{padding:12px}.competency-choice-grid{grid-template-columns:repeat(2,1fr)}}
/* Competency analysis and SWOT preparation */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.competency-analysis-filter{padding:16px 18px}.competency-threshold-settings{display:grid;grid-template-columns:minmax(360px,1fr) auto;align-items:center;gap:24px;margin-bottom:12px;padding:16px 18px;border-left:4px solid #3156da}.threshold-settings-copy h2,.threshold-settings-copy p{margin:3px 0}.threshold-settings-copy p{color:#64728a;font-size:11px}.threshold-preview{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.threshold-preview>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:700}.threshold-preview i{width:7px;height:7px;border-radius:50%}.threshold-preview .weakness{background:#fff0f2;color:#a92b39}.threshold-preview .weakness i{background:#d84654}.threshold-preview .maintain{background:#fff7e7;color:#8c5e08}.threshold-preview .maintain i{background:#d38a10}.threshold-preview .strength{background:#eaf9f4;color:#08745e}.threshold-preview .strength i{background:#0b9b79}.threshold-settings-form{display:grid;grid-template-columns:140px 140px auto;align-items:end;gap:9px}.threshold-settings-form label{display:grid;gap:5px}.threshold-settings-form label>span{color:#526178;font-size:10px;font-weight:800}.analysis-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr)) auto;gap:12px;align-items:end}.analysis-filter-grid label{display:grid;gap:6px}.analysis-filter-grid label>span{font-size:12px;font-weight:800;color:#526178}.analysis-filter-actions{display:flex;gap:8px}.analysis-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.analysis-stat-grid article{padding:17px 18px;border:1px solid #d9e2ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,35,62,.05)}.analysis-stat-grid span,.analysis-stat-grid small{display:block;color:#6b7890}.analysis-stat-grid span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.analysis-stat-grid strong{display:block;margin:5px 0 2px;font-size:24px;color:#10243e}.analysis-stat-grid small{font-size:11px}.competency-analysis-main{display:grid;grid-template-columns:minmax(400px,.9fr) minmax(520px,1.1fr);gap:16px}.competency-radar-card{overflow:hidden}.competency-radar-wrap{padding:10px 20px 22px;text-align:center}.competency-radar{display:block;width:min(100%,470px);margin:auto;overflow:visible}.competency-radar text{font-size:12px;font-weight:900;fill:#263c5d}.competency-radar .radar-score-label{font-size:11px;fill:#63728a}.radar-grid-line{fill:rgba(49,86,218,.025);stroke:#ccd8ea;stroke-width:1}.radar-axis{stroke:#d5dfed;stroke-width:1}.radar-value-shape{fill:rgba(49,86,218,.23);stroke:#3156da;stroke-width:3;stroke-linejoin:round}.radar-value-dot{fill:#fff;stroke:#3156da;stroke-width:3}.competency-threshold-note{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:11px;color:#627087}.competency-threshold-note span{display:flex;align-items:center;gap:6px}.competency-threshold-note i{width:9px;height:9px;border-radius:50%}.competency-threshold-note i.strength{background:#0b9b79}.competency-threshold-note i.maintain{background:#d38a10}.competency-threshold-note i.weakness{background:#d84654}.competency-domain-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.competency-domain-result{position:relative;padding:17px 18px;border:1px solid #d7e1ef;border-top:4px solid var(--competency-color);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(16,35,62,.05)}.competency-domain-result>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.competency-domain-result>div:first-child span{padding:4px 8px;border-radius:999px;background:#edf2fa;color:#526078;font-size:10px;font-weight:900;text-transform:uppercase}.competency-domain-result>div:first-child strong{font-size:26px}.competency-domain-result h3{margin:10px 0 5px}.competency-domain-result p{min-height:48px;margin:0;color:#64728a;font-size:12px;line-height:1.45}.competency-domain-result small{display:block;margin-top:8px;color:#6d7990}.analysis-score-bar{height:8px;margin-top:14px;border-radius:999px;background:#e9eef5;overflow:hidden}.analysis-score-bar span{display:block;height:100%;border-radius:inherit;background:var(--competency-color)}.competency-domain-result.is-strength>div:first-child span{background:#dcf7ee;color:#08745e}.competency-domain-result.is-maintain>div:first-child span{background:#fff0cd;color:#865b08}.competency-domain-result.is-weakness>div:first-child span{background:#ffe3e6;color:#a52634}.swot-readiness-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.swot-readiness-card{padding:17px 18px}.swot-readiness-card header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f1}.swot-readiness-card header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:16px;font-weight:950}.swot-readiness-card header strong,.swot-readiness-card header small{display:block}.swot-readiness-card header small{margin-top:2px;color:#6d7890}.swot-readiness-card.strength header>span{background:#dff8ef;color:#08785f}.swot-readiness-card.weakness header>span{background:#ffe4e7;color:#a62937}.swot-readiness-card.pending header>span{background:#e8edff;color:#3156da}.swot-readiness-card ul{list-style:none;margin:12px 0 0;padding:0}.swot-readiness-card li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #dfe6f0}.swot-readiness-card p{margin:12px 0 0;color:#64728a;line-height:1.5}.competency-teacher-table-card{overflow:hidden}.competency-teacher-table-card .table-wrap{border:0;border-radius:0}.competency-teacher-table{min-width:1080px;table-layout:fixed}.competency-teacher-table .teacher-column{width:190px}.competency-teacher-table .source-column{width:125px}.competency-teacher-table .action-column{width:92px}.competency-teacher-table th,.competency-teacher-table td{vertical-align:middle}.competency-teacher-table tbody tr:nth-child(even){background:#fbfcff}.competency-teacher-table tbody tr:hover{background:#f4f7ff}.teacher-cell strong,.teacher-cell small,.source-cell strong,.source-cell small{display:block}.teacher-cell strong{font-size:12px;line-height:1.4}.teacher-cell small,.source-cell small{margin-top:3px;color:#728096;font-size:9px}.competency-score-cell>strong{display:block;font-size:14px;color:#152641}.analysis-classification{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:6px;font-size:9px;font-weight:850;line-height:1.25}.analysis-classification.is-strength{background:#e8f8f2;color:#08745e}.analysis-classification.is-maintain{background:#fff4dc;color:#8b5c06}.analysis-classification.is-weakness{background:#ffeaed;color:#b02737}.analysis-classification.is-none{background:#edf0f4;color:#6d7889}.action-cell{text-align:right}.action-cell .btn{min-width:66px}.competency-method-note{margin-bottom:24px}.competency-method-note p{margin:3px 0 0}
.competency-teacher-table{min-width:900px}
.competency-category-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-left:4px solid #4f67dc}.competency-category-guide strong{font-size:13px}.competency-category-guide p{margin:3px 0 0;color:var(--muted);font-size:10px}.competency-category-list{overflow:hidden}.competency-category-table{min-width:820px;table-layout:fixed}.competency-category-table th:first-child{width:68px}.competency-category-table th:nth-child(2){width:22%}.competency-category-table th:nth-child(3){width:18%}.competency-category-table th:nth-child(4){width:auto}.competency-category-table th:last-child{width:150px}.competency-category-table td>strong,.competency-category-table td>small{display:block}.competency-category-table td>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.category-color-chip{display:block;width:34px;height:34px;border:6px solid color-mix(in srgb,var(--category-color) 18%,#fff);border-radius:10px;background:var(--category-color);box-shadow:0 2px 8px color-mix(in srgb,var(--category-color) 24%,transparent)}.competency-category-form .form-grid{grid-template-columns:1.4fr .8fr 1.1fr .55fr}.category-color-input{min-width:72px;padding:4px!important;cursor:pointer}#category-editor{scroll-margin-top:82px}.swot-threshold-grid.is-dynamic{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.analysis-classification[style],.competency-domain-result>div:first-child span[style]{background:color-mix(in srgb,var(--classification-color) 14%,#fff);color:color-mix(in srgb,var(--classification-color) 78%,#17243a)}
@media(max-width:1380px){.competency-analysis-main{grid-template-columns:1fr}}
@media(max-width:1180px){.competency-threshold-settings{grid-template-columns:1fr}.threshold-settings-form{grid-template-columns:1fr 1fr auto}.analysis-filter-grid{grid-template-columns:repeat(2,1fr)}.analysis-filter-actions{grid-column:1/-1}.swot-readiness-grid{grid-template-columns:1fr 1fr}.swot-readiness-card.pending{grid-column:1/-1}}
@media(max-width:720px){.threshold-settings-form,.analysis-filter-grid,.analysis-stat-grid,.competency-domain-result-grid,.swot-readiness-grid{grid-template-columns:1fr}.threshold-settings-form .btn{width:100%}.swot-readiness-card.pending,.analysis-filter-actions{grid-column:auto}.competency-analysis-main{display:block}.competency-domain-result-grid{margin-top:14px}.competency-radar-wrap{padding-left:8px;padding-right:8px}.competency-threshold-note{display:grid;justify-content:start;text-align:left}}
@media(max-width:900px){.competency-category-form .form-grid{grid-template-columns:1fr 1fr}.competency-category-guide{align-items:flex-start}}
@media(max-width:560px){.competency-category-form .form-grid{grid-template-columns:1fr}.competency-category-guide{display:grid}}

/* Analisis SWOT sekolah */
.swot-page-head{align-items:flex-end}.swot-filter-card{padding:16px 18px}.swot-filter-grid{grid-template-columns:repeat(5,minmax(145px,1fr)) auto}.swot-scope-empty{padding:54px 24px;text-align:center}.swot-scope-empty .empty-mark{margin:0 auto 12px}.swot-scope-empty h2,.swot-scope-empty p{margin:5px 0}
.swot-context-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-radius:18px;background:linear-gradient(135deg,#102d4d,#174c67);color:#fff;box-shadow:0 12px 30px rgba(15,40,70,.16)}.swot-context-banner h2{margin:4px 0 5px;font-size:25px}.swot-context-banner p{margin:0;color:#c9e3ef}.swot-context-source{display:grid;min-width:180px;padding:12px 16px;border:1px solid rgba(100,230,220,.42);border-radius:13px;background:rgba(255,255,255,.08)}.swot-context-source strong{font-size:22px}.swot-context-source span{font-size:12px;color:#c9e3ef}.swot-stat-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.swot-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.swot-quadrant{overflow:hidden;border-top:4px solid var(--swot-color)}.swot-quadrant.strength{--swot-color:#0b9a76;--swot-soft:#e9faf4}.swot-quadrant.weakness{--swot-color:#dc3e4e;--swot-soft:#fff0f2}.swot-quadrant.opportunity{--swot-color:#3156da;--swot-soft:#eef2ff}.swot-quadrant.threat{--swot-color:#d1770c;--swot-soft:#fff6e7}.swot-quadrant>header{display:flex;gap:12px;align-items:center;padding:16px 18px;background:var(--swot-soft);border-bottom:1px solid var(--border)}.swot-quadrant>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--swot-color);color:#fff;font-size:19px;font-weight:900}.swot-quadrant header h2,.swot-quadrant header p{margin:0}.swot-quadrant header h2{font-size:17px}.swot-quadrant header p{font-size:12px;color:var(--muted);margin-top:3px}.swot-quadrant-body{display:grid;gap:10px;padding:14px 16px}
.swot-competency-row,.swot-factor-row{border:1px solid var(--border);border-radius:12px;padding:12px 13px;background:#fff}.swot-competency-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.swot-competency-row div{display:grid;gap:3px}.swot-competency-row small,.swot-factor-row small{color:var(--muted)}.swot-competency-row>b{font-size:21px;color:var(--swot-color)}.swot-factor-row>strong{display:block;margin:8px 0 4px}.swot-factor-row>p{margin:0 0 10px;color:#3c4d68;line-height:1.55}.swot-factor-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.swot-factor-top>div{display:flex;align-items:center;gap:8px}.swot-factor-top>b{font-size:12px;color:var(--muted)}.swot-empty-inline{margin:0;padding:14px;border:1px dashed #bec9dc;border-radius:11px;background:#f8fafc;color:var(--muted);line-height:1.5}
.swot-evidence-rule{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-left:5px solid #3156da}.swot-evidence-rule h2,.swot-evidence-rule p{margin:4px 0}.swot-evidence-rule p{color:var(--muted)}.swot-editor-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(440px,1.15fr);gap:16px;align-items:start}.swot-reference-library{max-height:760px;overflow:hidden}.swot-reference-list{display:grid;gap:10px;max-height:650px;overflow:auto}.swot-reference-item{display:grid;gap:7px;padding:13px 14px;border:1px solid var(--border);border-left:4px solid #3156da;border-radius:12px;background:#fff}.swot-reference-item.is-threat{border-left-color:#d1770c}.swot-reference-item>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.swot-reference-item h3,.swot-reference-item p{margin:0}.swot-reference-item p{font-size:13px;color:#44516a;line-height:1.5}.swot-reference-source{display:grid!important;justify-content:initial!important;gap:2px!important}.swot-reference-source a{font-weight:800;color:#3156da;font-size:12px}.swot-reference-source span{color:var(--muted);font-size:11px}
.swot-section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 12px}.swot-section-title h2,.swot-section-title p{margin:4px 0}.swot-section-title p{color:var(--muted)}.swot-strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.swot-strategy-cell{overflow:hidden;border-top:4px solid var(--strategy-color)}.swot-strategy-cell.is-so{--strategy-color:#0b9a76}.swot-strategy-cell.is-wo{--strategy-color:#3156da}.swot-strategy-cell.is-st{--strategy-color:#d1770c}.swot-strategy-cell.is-wt{--strategy-color:#dc3e4e}.swot-strategy-cell>header{display:flex;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--border)}.swot-strategy-cell>header>span{display:grid;place-items:center;width:46px;height:36px;border-radius:10px;background:var(--strategy-color);color:#fff;font-weight:900}.swot-strategy-cell header h3,.swot-strategy-cell header p{margin:0}.swot-strategy-cell header p{font-size:12px;color:var(--muted);margin-top:2px}.swot-strategy-list{display:grid;gap:10px;padding:14px 16px}.swot-strategy-list>div{display:grid;gap:7px;padding:12px;border:1px solid var(--border);border-radius:11px}.swot-strategy-list p{margin:0;color:#44516a;line-height:1.5}.swot-strategy-list small{color:var(--muted)}
.swot-action-table-wrap{max-height:620px;border-top:1px solid var(--line)}.swot-action-table{min-width:1180px;table-layout:fixed}.swot-action-table thead{position:sticky;top:0;z-index:2}.swot-action-table th{background:#f4f7fb}.swot-action-table th:nth-child(1){width:31%}.swot-action-table th:nth-child(2){width:18%}.swot-action-table th:nth-child(3){width:14%}.swot-action-table th:nth-child(4){width:12%}.swot-action-table th:nth-child(5){width:9%}.swot-action-table th:nth-child(6){width:16%}.swot-action-table td{vertical-align:top;overflow-wrap:anywhere}.swot-action-copy>strong,.swot-action-copy>small,.swot-action-copy>p,.swot-action-strategy>strong,.swot-action-school>strong,.swot-action-school>small{display:block}.swot-action-copy>strong{font-size:12px;line-height:1.4;color:#17263e}.swot-action-copy>p{margin:4px 0;color:#53617a;font-size:10px;line-height:1.45}.swot-action-copy>small{margin-top:5px;color:#69758a;font-size:9px;line-height:1.45}.swot-action-copy>small b{color:#3e4d65}.swot-action-strategy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start}.swot-action-strategy>strong{font-size:10px;line-height:1.45}.swot-action-school>strong{font-size:10px;line-height:1.4}.swot-action-school>small{margin-top:3px;color:var(--muted);font-size:9px}.swot-action-owner,.swot-action-date{font-size:10px;line-height:1.45}.swot-action-progress>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.swot-action-progress>div>strong{font-size:13px}.swot-progress-track{display:block;height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e7ecf4}.swot-progress-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3156da,#11a184)}
.swot-reference-table-wrap{max-height:680px;border-top:1px solid var(--line)}.swot-reference-management-table{min-width:1160px;table-layout:fixed}.swot-reference-management-table thead{position:sticky;top:0;z-index:2}.swot-reference-management-table th{background:#f4f7fb}.swot-reference-management-table th:nth-child(1){width:34%}.swot-reference-management-table th:nth-child(2){width:13%}.swot-reference-management-table th:nth-child(3){width:20%}.swot-reference-management-table th:nth-child(4){width:11%}.swot-reference-management-table th:nth-child(5){width:8%}.swot-reference-management-table th:nth-child(6){width:14%}.swot-reference-management-table td{vertical-align:top;overflow-wrap:anywhere}.swot-reference-factor-cell>div{display:flex;gap:5px;align-items:center;margin-bottom:6px}.swot-reference-factor-cell>strong,.swot-reference-factor-cell>small,.swot-reference-scope-cell>strong,.swot-reference-scope-cell>small,.swot-reference-source-cell>a,.swot-reference-source-cell>small,.swot-reference-priority-cell>strong,.swot-reference-priority-cell>small,.swot-reference-usage-cell>strong,.swot-reference-usage-cell>small{display:block}.swot-reference-factor-cell>strong{font-size:12px;line-height:1.45}.swot-reference-factor-cell>small,.swot-reference-scope-cell>small,.swot-reference-source-cell>small,.swot-reference-priority-cell>small,.swot-reference-usage-cell>small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.swot-reference-scope-cell>strong,.swot-reference-source-cell>a{font-size:10px;line-height:1.45}.swot-reference-source-cell>a{color:#3156da;font-weight:800;text-decoration:none}.swot-reference-source-cell>a:hover{text-decoration:underline}.swot-reference-priority-cell>strong{font-size:14px;color:#17263e}.swot-reference-usage-cell>strong{font-size:17px;color:#3156da}.swot-reference-actions{flex-wrap:nowrap;gap:5px}.swot-reference-management-table tr.is-muted{opacity:.58;background:#f5f6f8}
@media(max-width:1180px){.swot-filter-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.swot-editor-grid{grid-template-columns:1fr}.swot-reference-library{max-height:none}.swot-reference-list{max-height:none}}
@media(max-width:760px){.swot-filter-grid,.swot-stat-grid,.swot-matrix,.swot-strategy-grid{grid-template-columns:1fr}.swot-context-banner,.swot-evidence-rule{align-items:flex-start;flex-direction:column}.swot-context-source{width:100%}}

/* SWOT workflow, external evidence instruments, and anonymous stakeholder survey. */
.swot-step-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(175px,1fr);gap:8px;margin:0 0 14px;padding:8px;overflow-x:auto;border:1px solid #d4deed;border-radius:16px;background:#edf2fa;box-shadow:0 7px 22px rgba(22,43,78,.06)}
.swot-step-nav>a{display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:8px;min-height:55px;padding:8px 10px;border:1px solid #ccd8e9;border-radius:11px;background:#fff;color:#243651;text-decoration:none;transition:.15s ease}
.swot-step-nav>a:hover{border-color:#6983e6;transform:translateY(-1px)}.swot-step-nav>a>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e7edfb;color:#3156da;font-size:12px}.swot-step-nav>a span,.swot-step-nav>a strong,.swot-step-nav>a small{display:block;min-width:0}.swot-step-nav>a strong{font-size:10px;line-height:1.25}.swot-step-nav>a small{margin-top:2px;color:#718097;font-size:8px;white-space:nowrap}.swot-step-nav>a.is-active{border-color:#3156da;background:linear-gradient(135deg,#3156da,#2249c7);color:#fff;box-shadow:0 7px 18px rgba(49,86,218,.24)}.swot-step-nav>a.is-active>b{background:#fff;color:#3156da}.swot-step-nav>a.is-active small{color:#dce5ff}
.swot-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.swot-workflow-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:112px;padding:16px 18px;border:1px solid #d7e1ef;border-left:5px solid #3156da;border-radius:15px;background:#fff;color:#172a45;text-decoration:none;box-shadow:0 8px 24px rgba(16,35,62,.05);transition:.16s ease}.swot-workflow-grid>a:hover{border-color:#7d94ea;transform:translateY(-2px);box-shadow:0 12px 28px rgba(32,63,145,.11)}.swot-workflow-grid>a>b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e9eeff;color:#3156da;font-size:17px}.swot-workflow-grid>a div>span{color:#4964c8;font-size:8.5px;font-weight:900;letter-spacing:.08em}.swot-workflow-grid h2{margin:4px 0;font-size:15px}.swot-workflow-grid p{margin:0;color:#65738a;font-size:10px;line-height:1.45}.swot-workflow-grid>a>strong{color:#3156da;font-size:20px}
.swot-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.swot-method-grid>div{padding:14px;border:1px solid #dbe3ef;border-radius:12px;background:#f8faff}.swot-method-grid b{font-size:12px}.swot-method-grid p{margin:5px 0 0;color:#617087;font-size:10px;line-height:1.5}.swot-threshold-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.swot-threshold-grid>div{padding:15px;border:1px solid #dce3ed;border-top:4px solid #3156da;border-radius:12px}.swot-threshold-grid .strength{border-top-color:#0b9a76}.swot-threshold-grid .maintain{border-top-color:#d28a0c}.swot-threshold-grid .weakness{border-top-color:#d64050}.swot-threshold-grid strong,.swot-threshold-grid span{display:block}.swot-threshold-grid strong{font-size:22px}.swot-threshold-grid span{margin:3px 0;font-weight:850}.swot-threshold-grid p{margin:0;color:#65738a;font-size:10px;line-height:1.45}
.swot-instrument-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(480px,1.35fr);gap:14px;align-items:start}.swot-instrument-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;padding:0}.swot-instrument-list>a{display:grid;gap:4px;padding:12px;border:1px solid #dbe3ef;border-radius:10px;color:#243651;text-decoration:none}.swot-instrument-list>a:hover,.swot-instrument-list>a.is-active{border-color:#3156da;background:#eef2ff}.swot-instrument-list>a.is-muted{opacity:.58}.swot-instrument-list small{color:#68768c;font-size:9px}.swot-editor-card{border-color:#aebfff;box-shadow:0 12px 28px rgba(49,86,218,.1)}.swot-question-toolbar,.swot-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.swot-question-toolbar{padding:11px 16px;border-bottom:1px solid var(--line);background:#f8faff}.swot-question-toolbar h3,.swot-editor-heading h3{margin:0}.swot-question-toolbar p{margin:3px 0 0;color:#68768c;font-size:10px}.swot-question-editor{border-bottom:1px solid var(--line)}.swot-question-editor-open{background:#fbfcff}.swot-editor-heading{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #dbe3ef}.swot-question-table{min-width:1080px}.swot-question-table td{vertical-align:top}.swot-question-table td strong,.swot-question-table td small{display:block}.swot-question-table td small{margin-top:4px;color:#6b7890;font-size:9px}.swot-question-table tr.is-muted{opacity:.55;background:#f3f5f8}.swot-public-link{display:block;max-width:280px;margin-top:4px;overflow:hidden;color:#718097;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.swot-campaign-table{min-width:1150px}.swot-campaign-table td{vertical-align:top}.swot-campaign-table td strong,.swot-campaign-table td small{display:block}.swot-campaign-table td small{margin-top:3px;color:#6c7990}
.swot-campaign-picker{padding:13px 15px}.swot-campaign-picker form{display:flex;align-items:end;gap:10px}.swot-campaign-picker label{display:grid;flex:1;gap:5px}.swot-campaign-picker label>span{font-size:10px;font-weight:850;color:#56657c}.swot-external-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.swot-external-result{--competency-color:#3156da;overflow:hidden;border-top:4px solid var(--competency-color)}.swot-external-result.is-opportunity{--competency-color:#0b9a76}.swot-external-result.is-threat{--competency-color:#d1770c}.swot-external-result>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.swot-external-result>header h2{margin:6px 0 0;font-size:15px}.swot-external-result>header>strong{font-size:25px}.swot-external-result>header>strong small{font-size:10px;color:#718097}.swot-external-result .card-body>p{color:#65738a;font-size:10px}.swot-method-note{display:grid;gap:2px;margin:10px 0;padding:9px 10px;border-radius:9px;background:#f2f5fa}.swot-method-note b{font-size:10px}.swot-method-note span{font-size:9px;color:#69768a}.swot-comment-list{display:grid;gap:0}.swot-comment-list article{padding:14px 16px;border-top:1px solid var(--line)}.swot-comment-list strong{display:block;margin:6px 0;font-size:11px}.swot-comment-list p{margin:0;color:#3f4e66;line-height:1.5}.swot-comment-list small{display:block;margin-top:7px;color:#708097}.compact-empty{padding:24px}
.external-survey-body{margin:0;background:#f1f5fa;color:#14243b;font-family:Inter,Segoe UI,Arial,sans-serif}.external-survey-top{position:sticky;top:0;z-index:10;border-bottom:1px solid #d7e1ed;background:rgba(255,255,255,.96);backdrop-filter:blur(9px)}.external-survey-top>a{display:flex;align-items:center;gap:10px;width:min(920px,calc(100% - 32px));margin:auto;padding:11px 0;color:#14243b;text-decoration:none}.external-survey-top img{width:38px;height:38px;object-fit:contain}.external-survey-top span,.external-survey-top strong,.external-survey-top small{display:block}.external-survey-top strong{font-size:13px}.external-survey-top small{margin-top:2px;color:#6b7890;font-size:9px}.external-survey-main{width:min(920px,calc(100% - 28px));margin:24px auto 54px}.external-survey-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#102d4d,#14566e);color:#fff;box-shadow:0 16px 38px rgba(16,45,77,.18)}.external-survey-hero span{color:#64e1d4;font-size:9px;font-weight:900;letter-spacing:.1em}.external-survey-hero h1{margin:7px 0;font-size:26px}.external-survey-hero p{margin:0;color:#d3e8f1}.external-survey-hero>b{display:grid;place-items:center;width:68px;height:68px;border:2px solid #5bd9cf;border-radius:20px;color:#5bd9cf;font-size:17px}.external-survey-intro,.external-respondent-card,.external-question-card,.external-survey-thanks{margin-top:16px;padding:20px;border:1px solid #d7e1ed;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,35,62,.05)}.external-survey-intro h2{margin:0 0 8px}.external-survey-intro p,.external-survey-intro li{color:#53627a;line-height:1.55}.external-respondent-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.external-question-section{margin:25px 0 8px;padding:0 3px}.external-question-section span{color:#3156da;font-size:9px;font-weight:900;letter-spacing:.09em}.external-question-section h2{margin:4px 0;font-size:19px}.external-question-card{min-width:0}.external-question-card legend{display:grid;grid-template-columns:29px minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:0;font-size:13px;font-weight:800;line-height:1.45}.external-question-card legend>b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e8edff;color:#3156da}.external-question-card>p{margin:8px 0 12px;color:#6a7890;font-size:10px}.external-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.external-scale label{cursor:pointer}.external-scale input{position:absolute;opacity:0}.external-scale label>strong,.external-scale label>span{display:block;text-align:center}.external-scale label>strong{padding:10px;border:1px solid #ccd7e7;border-radius:9px 9px 0 0;background:#f8faff;font-size:16px}.external-scale label>span{min-height:33px;padding:6px 3px;border:1px solid #dbe2ed;border-top:0;border-radius:0 0 9px 9px;color:#637188;font-size:8px}.external-scale input:checked~strong{border-color:#3156da;background:#3156da;color:#fff}.external-scale input:checked~span{border-color:#3156da;background:#e9eeff;color:#2548bb;font-weight:800}.external-scale input:focus-visible~strong{outline:3px solid rgba(49,86,218,.22)}.external-consent{display:flex;gap:10px;margin:18px 0;padding:15px;border:1px solid #b8c8e2;border-radius:12px;background:#f5f8ff}.external-consent span,.external-consent strong,.external-consent small{display:block}.external-consent small{margin-top:4px;color:#627087}.external-submit{width:100%;min-height:48px;font-size:13px}.external-survey-thanks{text-align:center;padding:42px 20px}.external-survey-thanks>div{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:16px;background:#ddf7ef;color:#08765d;font-size:25px;font-weight:900}.external-survey-thanks h2{margin:0}.external-survey-thanks p{color:#647289}
@media(max-width:1000px){.swot-step-nav{grid-auto-columns:165px}.swot-instrument-layout{grid-template-columns:1fr}.swot-method-grid,.swot-threshold-grid{grid-template-columns:1fr}}
@media(max-width:720px){.swot-workflow-grid,.swot-external-result-grid{grid-template-columns:1fr}.swot-campaign-picker form,.external-survey-hero{align-items:stretch;flex-direction:column}.external-survey-hero>b{width:50px;height:50px}.external-respondent-card,.external-scale{grid-template-columns:1fr}.external-scale label{display:grid;grid-template-columns:45px 1fr}.external-scale label>strong{border-radius:9px 0 0 9px}.external-scale label>span{min-height:auto;border:1px solid #dbe2ed;border-left:0;border-radius:0 9px 9px 0;text-align:left}.external-survey-hero h1{font-size:21px}}
.external-scale{grid-template-columns:repeat(6,1fr)}
@media(max-width:720px){.external-scale{grid-template-columns:1fr}}

/* Compact dashboard calendar: one date card contains clickable supervision names. */
.dashboard-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:11px;padding:13px 15px}
.dashboard-date-card{overflow:hidden;border:1px solid #dbe3ef;border-radius:13px;background:#fbfcff}
.dashboard-date-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid #e2e8f2;background:linear-gradient(135deg,#edf2ff,#f8fbff)}
.dashboard-date-card>header time{display:flex;align-items:baseline;gap:7px;color:#23375a}
.dashboard-date-card>header time strong{font-size:19px;line-height:1}
.dashboard-date-card>header time span{font-size:10px;font-weight:850;text-transform:uppercase}
.dashboard-date-meta{display:flex;align-items:center;gap:6px}
.dashboard-date-check{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#d9f5e9;color:#08765a;font-size:13px;font-style:normal;font-weight:950;box-shadow:inset 0 0 0 1px #a8dfcb}
.dashboard-date-card.is-past>header{background:linear-gradient(135deg,#f0f4f6,#f8fafb)}
.dashboard-date-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}
.dashboard-agenda-mini{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 10px;border:1px solid #dfe5ef;border-radius:10px;background:#fff;color:#17263e;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.dashboard-agenda-mini:hover,.dashboard-agenda-mini:focus-visible{border-color:#5570db;background:#f4f7ff;box-shadow:0 5px 13px rgba(49,86,218,.11);transform:translateY(-1px)}
.dashboard-agenda-mini.is-supervised{border-color:#9edcc7;background:#eaf9f3;box-shadow:inset 3px 0 0 #20a77d}
.dashboard-agenda-mini.is-supervised:hover,.dashboard-agenda-mini.is-supervised:focus-visible{border-color:#36ad87;background:#ddf6ed}
.dashboard-agenda-mini.is-locked{border-color:#8da9ef;background:#e9f0ff;box-shadow:inset 3px 0 0 #3156da}
.dashboard-agenda-mini.is-locked:hover,.dashboard-agenda-mini.is-locked:focus-visible{border-color:#3156da;background:#dce7ff}
.dashboard-agenda-mini.is-locked b{color:#2449c5}
.dashboard-agenda-mini>span{display:grid;gap:2px;min-width:0}
.dashboard-agenda-mini strong,.dashboard-agenda-mini small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-agenda-mini strong{font-size:10.5px}
.dashboard-agenda-mini small{color:#68768c;font-size:8px}
.dashboard-agenda-mini b{flex:0 0 auto;color:#4864d2;font-size:18px;line-height:1}
.dashboard-month-card>.dashboard-date-grid{align-content:start;max-height:520px;overflow:auto;scrollbar-width:thin;scrollbar-color:#aab8d2 transparent}
@media(max-width:720px){.dashboard-date-grid{grid-template-columns:1fr;padding:10px}.dashboard-date-items{grid-template-columns:1fr}}
.swot-response-audit{overflow:hidden}.swot-response-audit>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}.swot-response-audit>summary::-webkit-details-marker{display:none}.swot-response-audit>summary strong,.swot-response-audit>summary small{display:block}.swot-response-audit>summary small{margin-top:3px;color:#69778d;font-size:9px}.swot-response-audit>summary:after{content:"+";display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e9eeff;color:#3156da;font-size:17px;font-weight:900}.swot-response-audit[open]>summary:after{content:"−"}.swot-response-audit>summary>.badge{margin-left:auto}.swot-response-audit table{min-width:920px}.swot-response-audit td{vertical-align:top}.swot-response-audit td strong,.swot-response-audit td small{display:block}.swot-response-audit td small{margin-top:4px;color:#6c7990;font-size:9px}.swot-response-audit tr.is-muted{background:#f6f7f9;opacity:.65}.swot-response-audit form{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:6px}.swot-response-audit .input-sm{min-height:31px;padding:5px 8px;font-size:9px}

/* Detail supervisi: jaga ringkasan nilai tetap utuh dan terbaca pada ponsel. */
@media(max-width:860px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
  .hero-score{display:flex;width:100%;min-width:0;align-items:center;gap:12px;text-align:left}
  .hero-score .score-ring{flex:0 0 82px;width:82px;height:82px;margin:0}
  .hero-score .score-ring::before{width:62px;height:62px}
  .hero-score .score-ring strong{font-size:21px}
  .hero-score span{min-width:0;margin:0;overflow-wrap:anywhere}
}
