:root{
  --navy:#173b6d;--navy2:#0f2f58;--blue:#2e6ab3;--sky:#e9f1fb;--ink:#1d2a38;--muted:#6b7785;--line:#dce4ee;--bg:#f4f7fb;--card:#fff;--ok:#1f7a4d;--warn:#a86700;--bad:#b33636;--shadow:0 12px 32px rgba(23,59,109,.09);--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans Thai","Tahoma",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.container{width:min(1180px,calc(100% - 28px));margin:auto}.school-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.school-header__inner{min-height:76px;display:flex;align-items:center;gap:14px;width:min(1180px,calc(100% - 28px));margin:auto}.school-logo{width:52px;height:52px;object-fit:contain;border-radius:50%}.school-brand{display:flex;flex-direction:column}.school-brand strong{font-size:1.02rem}.school-brand span{font-size:.84rem;color:var(--muted)}.system-kicker{font-weight:800;color:var(--navy)!important}.header-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.hero-school{background:linear-gradient(135deg,var(--navy2),var(--navy));color:white;padding:48px 0 42px}.hero-school__content{width:min(1180px,calc(100% - 28px));margin:auto}.hero-badge,.chip,.status-badge{display:inline-flex;align-items:center;border-radius:999px;font-weight:800}.hero-badge{padding:6px 12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}.hero-school h1{font-size:clamp(1.8rem,3.6vw,2.75rem);line-height:1.2;margin:14px 0 10px}.hero-school p{max-width:820px;color:#d9e7f7;margin:0}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px;font-size:.94rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-container{padding:24px 0 48px}.intro-panel{display:flex;gap:14px;padding:18px 20px;margin-bottom:18px}.intro-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--navy);font-weight:900;flex:none}.intro-panel h2,.card h2{margin:0}.intro-panel p{margin:4px 0;color:var(--muted)}.notice{padding:11px 13px;border-radius:12px;margin-top:10px;background:#eef5ff;border:1px solid #c9daf1;color:#24486f}.notice.warn{background:#fff7e8;border-color:#f0d39c;color:#7a5208}.notice.ok{background:#edf8f2;border-color:#c8e8d7;color:#1b6342}.wizard-shell{display:grid;gap:16px}.wizard-progress{padding:16px 18px;position:sticky;top:88px;z-index:20}.wizard-progress__top{display:flex;justify-content:space-between;gap:16px;align-items:center}.eyebrow{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.progress-percent{color:var(--navy);font-weight:900}.progress-track{height:8px;border-radius:999px;background:#e8edf4;overflow:hidden;margin-top:10px}.progress-bar{height:100%;width:20%;background:linear-gradient(90deg,var(--blue),var(--navy));transition:width .25s}.step-dots{display:flex;justify-content:space-between;gap:6px;margin-top:9px}.step-dot{height:5px;flex:1;border-radius:999px;background:#e7ecf3}.step-dot.done,.step-dot.current{background:var(--blue)}.section{padding:22px}.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.section-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;flex:none}.section-title h2{font-size:1.18rem}.section-title p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}label{font-weight:700;font-size:.91rem;color:#34475a;display:block}label b{color:var(--bad)}.optional{font-size:.8rem;color:var(--muted);font-weight:500}input,select,textarea{width:100%;border:1px solid #cfd9e4;border-radius:12px;background:#fff;color:var(--ink);padding:11px 12px;margin-top:6px;outline:none;transition:.15s}textarea{min-height:108px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#79a8dd;box-shadow:0 0 0 3px rgba(46,106,179,.12)}.help{font-size:.8rem;color:var(--muted);margin-top:5px;font-weight:500}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-card{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px 11px;font-weight:650}.check-card input{width:auto;margin:3px 0 0}.wizard-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:4px 0}.actions-right{display:flex;gap:10px}.primary,.secondary,.danger,.ghost{border-radius:12px;padding:10px 15px;font-weight:800;border:1px solid transparent}.primary{background:var(--navy);color:#fff}.primary:hover{background:#0f315e}.secondary{background:#fff;border-color:#cfd9e4;color:var(--navy)}.ghost{background:transparent;color:var(--navy)}.danger{background:#fff1f1;color:var(--bad);border-color:#efcaca}.small{padding:7px 10px;font-size:.84rem}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.upload-card{border:1px dashed #a9bfd8;border-radius:14px;background:#f8fbff;padding:13px;text-align:center}.upload-card input{padding:0;border:0;background:transparent}.image-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.image-preview{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:#edf2f7}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview button{position:absolute;top:6px;right:6px;border:0;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;width:28px;height:28px}.confirm-box{border:1px solid #cfe0f2;background:#f5f9fe;border-radius:14px;padding:14px}.confirm-box label{display:flex;gap:10px;align-items:flex-start}.confirm-box input{width:auto;margin:4px 0 0}.submit-success{padding:24px;text-align:center}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#e9f7ef;color:var(--ok);font-size:2rem;font-weight:900;margin:auto}.reference-code{font-size:1.28rem;font-weight:900;color:var(--navy);margin:12px 0}.footer{padding:26px 0;color:var(--muted);font-size:.84rem;text-align:center}
/* admin */
.admin-page .hero-school{padding:32px 0}.admin-shell{padding:22px 0 48px}.login-card{max-width:520px;margin:28px auto;padding:24px}.login-card h2{margin-bottom:4px}.login-card p{color:var(--muted);margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar-left,.toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.kpi{padding:16px}.kpi span{color:var(--muted);font-size:.84rem;font-weight:700}.kpi strong{display:block;font-size:1.8rem;color:var(--navy);line-height:1.1;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}.chart-card{padding:18px}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:13px}.card-head h2{font-size:1.08rem}.card-head p{margin:2px 0 0;color:var(--muted);font-size:.84rem}.bar-list{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:minmax(100px,1.15fr) minmax(120px,2fr) 46px;gap:10px;align-items:center;font-size:.84rem}.bar-track{height:10px;background:#edf1f5;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#4f86c6,var(--navy));border-radius:999px}.filter-card{display:grid;grid-template-columns:2fr repeat(4,minmax(140px,1fr));gap:10px;padding:14px;margin-top:14px}.filter-card input,.filter-card select{margin:0}.records-card{margin-top:14px;overflow:hidden}.records-card .card-head{padding:18px 18px 0}.chip{padding:5px 9px;background:#edf3fa;color:var(--navy);font-size:.78rem}.table-wrap{overflow:auto}.records-table{width:100%;border-collapse:collapse;min-width:1100px}.records-table th,.records-table td{border-top:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top;font-size:.84rem}.records-table th{background:#f8fafc;color:#536475;position:sticky;top:0;z-index:2}.teacher-cell strong{display:block}.teacher-cell small{color:var(--muted)}.status-badge{padding:4px 8px;font-size:.75rem;white-space:nowrap}.status-pending{background:#fff5df;color:#8a5a00}.status-approved{background:#e9f7ef;color:#1c6c45}.status-revise{background:#fff0f0;color:#a33434}.status-draft{background:#eef2f6;color:#5b6876}.row-actions{display:flex;gap:6px;white-space:nowrap}.empty{padding:34px;text-align:center;color:var(--muted)}dialog{width:min(960px,calc(100% - 24px));border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(10,24,39,.56)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:4}.dialog-body{padding:18px 20px;max-height:72vh;overflow:auto}.detail-grid{display:grid;gap:14px}.detail-section{border:1px solid var(--line);border-radius:14px;padding:14px}.detail-section h3{margin:0 0 10px;color:var(--navy)}.detail-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-item{background:#f8fafc;border-radius:10px;padding:9px 10px}.detail-item span{display:block;color:var(--muted);font-size:.76rem;font-weight:700}.detail-item strong{display:block;margin-top:2px;word-break:break-word}.evidence-links{display:flex;flex-wrap:wrap;gap:8px}.review-panel{background:#f6f9fd;border:1px solid #d5e2f0;border-radius:14px;padding:14px}.review-actions{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end}.stats-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.stats-box{border:1px solid var(--line);border-radius:12px;padding:12px}.stats-box strong{display:block;color:var(--navy);font-size:1.5rem}.install-note{font-size:.78rem;color:var(--muted)}
/* print — v0.3.6 professional A4 layout: single document header + safe continuation-page margins */
#printRoot{display:none}
.print-sheet{font-family:"TH Sarabun New","Sarabun","Noto Sans Thai",Tahoma,sans-serif;color:#17212b;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.print-header{text-align:center;border-bottom:1.2mm solid #173b6d;padding:0 0 4mm;margin:0 0 4.5mm;position:relative;break-after:avoid;page-break-after:avoid}
.print-header img{width:18mm;height:18mm;object-fit:contain;display:block;margin:0 auto 1.8mm}
.print-header h1{font-size:19pt;line-height:1.18;margin:0;color:#132f54;font-weight:800;letter-spacing:.1px}
.print-header p{font-size:12.5pt;line-height:1.35;margin:1.5mm 0 0;color:#35475b;font-weight:600}
.print-body{display:block}
.print-section{border:1px solid #8799ab;border-radius:2.2mm;overflow:hidden;margin:0 0 3mm;background:#fff;break-inside:avoid;page-break-inside:avoid}
.print-section h2{font-size:13pt;line-height:1.3;margin:0;padding:2.1mm 3mm;background:#eaf1f8;color:#173b6d;border-bottom:1px solid #9aabba;font-weight:800}
.print-info-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11.1pt;line-height:1.35}
.print-info-table .label-col{width:17.5%}.print-info-table .value-col{width:32.5%}
.print-info-table th,.print-info-table td{padding:1.65mm 2.2mm;vertical-align:top;border-right:1px solid #bcc7d1;border-bottom:1px solid #c8d1da;overflow-wrap:anywhere;word-break:normal}
.print-info-table tr:last-child th,.print-info-table tr:last-child td{border-bottom:0}
.print-info-table th:last-child,.print-info-table td:last-child{border-right:0}
.print-info-table .print-label{background:#f6f8fb;color:#334a61;text-align:left;font-weight:800}
.print-info-table td{color:#17212b;font-weight:500}
.print-section.print-section-keep{break-inside:avoid;page-break-inside:avoid}
.print-section h2{break-after:avoid;page-break-after:avoid}
.print-info-table tr,.summary-table tr{break-inside:avoid;page-break-inside:avoid}
.print-info-table tbody,.summary-table tbody{break-inside:auto;page-break-inside:auto}
.summary-table thead{display:table-header-group}
.print-long{white-space:pre-wrap}
.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm;text-align:center;margin-top:8mm;padding-top:3mm;font-size:11.1pt;line-height:1.5;break-inside:avoid;page-break-inside:avoid}
.signature-grid span{color:#536475;font-weight:700}
.summary-table{width:100%;border-collapse:collapse;font-size:11.1pt;table-layout:fixed}
.summary-table th,.summary-table td{border:1px solid #a8b4c0;padding:1.7mm 2.1mm;vertical-align:top}
.summary-table th{background:#eef3f8;color:#173b6d;font-weight:800;text-align:left}
.stats-summary{break-inside:avoid;page-break-inside:avoid}
.evidence-open-btn{max-width:100%;white-space:normal;text-align:left;word-break:break-word}
.evidence-unavailable small{font-size:.72rem;color:#8a5a00}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.filter-card{grid-template-columns:1fr 1fr}.evidence-grid,.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:1fr 1fr}.review-actions{grid-template-columns:1fr}.stats-summary{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.school-header__inner{min-height:68px}.school-logo{width:44px;height:44px}.school-brand span:not(.system-kicker){display:none}.hero-school{padding:34px 0}.hero-school h1{font-size:1.65rem}.grid.two,.grid.three,.checkbox-grid{grid-template-columns:1fr}.wizard-progress{top:78px}.section{padding:18px}.header-actions .secondary{padding:8px 10px}.evidence-grid,.image-preview-grid{grid-template-columns:1fr}.filter-card{grid-template-columns:1fr}.detail-pairs{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.wizard-actions{align-items:stretch}.actions-right{margin-left:auto}.stats-summary{grid-template-columns:1fr}.hero-meta{font-size:.86rem}}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body>*:not(#printRoot){display:none!important}
  #printRoot{display:block!important;margin:0!important;padding:0!important}
  .print-sheet{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important}
  .print-sheet.page-break{page-break-after:always}
  .print-section,.print-section.print-section-keep{break-inside:avoid!important;page-break-inside:avoid!important}
  .print-section h2{break-after:avoid!important;page-break-after:avoid!important}
  .print-info-table tr,.summary-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .no-print{display:none!important}
  a{color:inherit;text-decoration:none}
  /* Every continuation page receives a real page margin. The first page keeps the original header position. */
  @page{size:A4 portrait;margin:14mm 11mm 12mm}
  @page :first{margin-top:8.5mm}
}


/* v0.2.2 — submission percentage dashboard */
.kpi small{display:block;margin-top:6px;color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.35}.submission-progress-card{padding:18px;margin-top:14px}.submission-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.submission-progress-head h2{font-size:1.08rem;margin:0}.submission-progress-head p{margin:3px 0 0;color:var(--muted);font-size:.84rem}.submission-progress-value{text-align:right;min-width:150px}.submission-progress-value strong{display:block;color:var(--navy);font-size:2rem;line-height:1}.submission-progress-value span{display:block;color:var(--muted);font-size:.84rem;font-weight:700;margin-top:6px}.submission-track{height:14px;border-radius:999px;background:#e8edf4;overflow:hidden;margin-top:15px}.submission-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--navy));border-radius:999px;transition:width .3s ease}.submission-progress-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:10px;color:var(--muted);font-size:.84rem}.submission-progress-meta strong{color:var(--ink)}
@media(max-width:640px){.submission-progress-head{display:block}.submission-progress-value{text-align:left;margin-top:12px}.submission-progress-value strong{font-size:1.75rem}.submission-progress-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}}

/* v0.3.0 — dynamic personnel + mixed attachments */
.new-personnel-box{border:1px solid #d8e3ef;background:#f8fbff;border-radius:14px;padding:12px 14px}.new-personnel-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.new-personnel-toggle input{width:auto;margin:4px 0 0}.new-personnel-toggle span{display:grid;gap:2px}.new-personnel-toggle small{font-weight:500;color:var(--muted);line-height:1.45}.new-personnel-box .grid{margin-top:12px}.new-personnel-box select:disabled{opacity:.62;background:#f1f4f7}.attachment-panel{border:1px solid #dce5ef;border-radius:15px;padding:14px;background:#fbfdff}.attachment-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:9px}.attachment-head p{margin:3px 0 0}.upload-card{display:grid;gap:7px;cursor:pointer;transition:.15s}.upload-card:hover{border-color:#6f9ed1;background:#f1f7fd}.document-file-list{display:grid;gap:8px;margin-top:10px}.document-file{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff}.document-file>div{min-width:0}.document-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.document-file small{display:block;color:var(--muted);margin-top:2px}.document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#eaf1f8;color:var(--navy);font-size:.7rem;font-weight:900}.attachment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid #cfe0f2;background:#f5f9fe;border-radius:14px;padding:12px 14px}.attachment-summary>div span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.attachment-summary>div strong{display:block;color:var(--navy);margin-top:2px}.attachment-summary p{grid-column:1/-1;margin:0}.attachment-summary.limit-warning{border-color:#e9b8b8;background:#fff4f4}.image-preview{aspect-ratio:auto;min-height:150px;display:flex;flex-direction:column}.image-preview img{aspect-ratio:4/3;height:auto;min-height:0}.image-preview .image-meta{padding:7px 8px;background:#fff;display:grid;gap:2px;min-width:0}.image-preview .image-meta span{font-size:.75rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-preview .image-meta small{font-size:.7rem;color:var(--muted)}.registry-note{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.registry-note strong{color:var(--navy)}.evidence-link-doc{border-style:dashed}.attachment-chip{display:inline-flex;align-items:center;gap:5px}.attachment-chip::before{content:'📎'}
@media(max-width:640px){.attachment-summary{grid-template-columns:1fr}.attachment-summary p{grid-column:auto}.document-file{grid-template-columns:40px 1fr auto}.new-personnel-box{padding:11px}.attachment-panel{padding:11px}}
.registry-new{display:inline-block;margin-left:5px;background:#eef6ff;color:#315f91;border:1px solid #cfe0f3;font-size:.67rem;vertical-align:middle}.teacher-cell small{display:block}.evidence-links{margin-top:10px}.evidence-links .secondary{max-width:100%;white-space:normal;text-align:left;word-break:break-word}

/* v0.3.1 searchable personnel combobox */
.personnel-field{min-width:0}.personnel-field>label{margin:0}.personnel-field>.help{display:block}
.personnel-combobox{position:relative}.personnel-combobox input{padding-right:38px}.personnel-combobox::after{content:'⌕';position:absolute;right:13px;top:50%;transform:translateY(-45%);color:#6c8299;font-size:1.2rem;pointer-events:none}.personnel-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 4px);max-height:310px;overflow:auto;background:#fff;border:1px solid #cfd9e4;border-radius:12px;box-shadow:0 16px 34px rgba(18,48,82,.16);padding:5px}.personnel-result{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;width:100%;border:0;background:#fff;border-radius:9px;padding:9px 10px;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.personnel-result strong{color:var(--navy);font-size:.84rem}.personnel-result span{min-width:0}.personnel-result:hover,.personnel-result.active{background:#edf5ff}.personnel-empty{padding:14px 12px;text-align:center;color:var(--muted);font-size:.86rem}.personnel-combobox input:disabled{background:#f1f4f7;color:#8a98a6;cursor:not-allowed}.personnel-results::-webkit-scrollbar{width:10px}.personnel-results::-webkit-scrollbar-thumb{background:#c5d2df;border:2px solid #fff;border-radius:99px}@media(max-width:640px){.personnel-results{max-height:260px}.personnel-result{grid-template-columns:72px minmax(0,1fr);padding:10px 9px}}

/* v0.3.2: Other-detail inputs + flexible evidence choice */
.other-detail{animation:fadeInOther .16s ease-out}.other-detail input{background:#fffdf8;border-color:#dfcfae}.other-detail input:focus{border-color:#c79a4d;box-shadow:0 0 0 3px rgba(199,154,77,.12)}
@keyframes fadeInOther{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.evidence-choice-note{border:1px solid #b8d5ef;background:#eef7ff;border-radius:16px;padding:14px 16px;margin-bottom:14px;color:#234769}.evidence-choice-note strong{display:block;color:var(--navy);font-size:1rem}.evidence-choice-note p{margin:4px 0 0;font-size:.88rem;line-height:1.6}.evidence-choice-note b{color:#123f73}
.evidence-options{align-items:start}.evidence-option{position:relative}.evidence-option-label{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:4px 9px;border-radius:999px;background:#edf3fa;color:var(--navy);font-size:.76rem;font-weight:900}.evidence-option-label span{font-weight:700;color:var(--muted)}.link-option{min-height:154px}.link-option label{margin-top:1px}.evidence-choice-status{grid-column:1/-1;margin:0!important;padding-top:7px;border-top:1px solid #d8e5f2;color:#9a5a06!important;font-size:.8rem!important;font-weight:800!important}.evidence-choice-status.ready{color:var(--ok)!important}.evidence-choice-status.ready::before{content:'✓ ';font-weight:900}
@media(max-width:760px){.evidence-choice-note{padding:12px 13px}.link-option{min-height:0}}


/* v0.3.7 — department completion rates + per-teacher multi-media view */
.department-rate-card,.teacher-summary-card{padding:18px;margin-top:14px}.department-rate-card .card-head,.teacher-summary-card .card-head{margin-bottom:10px}.department-rate-table th:not(:first-child),.department-rate-table td:not(:first-child){text-align:center}.rate-value{font-weight:900;color:var(--navy)}.rate-unknown{color:var(--muted);font-weight:800}.rate-over{color:var(--bad);font-weight:900}.headcount-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.headcount-field{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#f9fbfd}.headcount-field label{font-size:.84rem}.headcount-field input{margin-top:5px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:14px}.teacher-summary-table td{vertical-align:middle}.teacher-summary-table .media-count-badge{display:inline-flex;align-items:center;gap:5px;background:#edf5ff;color:var(--navy);border:1px solid #cfe0f3;border-radius:999px;padding:4px 9px;font-weight:900;white-space:nowrap}.teacher-status-stack{display:flex;flex-wrap:wrap;gap:5px}.teacher-media-list{display:grid;gap:10px}.teacher-media-item{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fbfdff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.teacher-media-item h3{margin:0;color:var(--navy);font-size:1rem}.teacher-media-item p{margin:3px 0 0;color:var(--muted);font-size:.83rem}.teacher-media-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.summary-note{font-size:10pt;color:#536475;margin-top:2mm}.summary-table .num{text-align:center}.summary-table .unknown{color:#667788;font-weight:700}.summary-table .warning{color:#a23b3b;font-weight:800}.multi-media-note{font-size:10pt;color:#526477;margin:-1mm 0 2mm}
@media(max-width:760px){.headcount-grid{grid-template-columns:1fr}.teacher-media-item{grid-template-columns:1fr}.teacher-media-actions{justify-content:flex-start}.department-rate-card,.teacher-summary-card{padding:14px}}

@media print{.department-summary-table th:first-child,.department-summary-table td:first-child{width:31%}.department-summary-table th:not(:first-child),.department-summary-table td:not(:first-child){text-align:center;font-size:10.4pt}}


/* v1.0.2 — storage capacity guard + public status lookup */
.capacity-hint{grid-column:1/-1;margin:0!important;color:#526477!important;font-size:.78rem!important}.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.status-hero{padding-bottom:42px}.status-shell{max-width:900px}.status-search-card,.status-result,.status-help{margin-top:18px;padding:22px}.status-result-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.status-result-head h2{margin:3px 0;color:var(--navy)}.status-result-head p{margin:0;color:var(--muted)}.status-badge-large{font-size:.95rem;padding:8px 12px}.status-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.status-result-grid>div,.status-note{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.status-result-grid span,.status-note span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.status-result-grid strong,.status-note strong{display:block;margin-top:3px}.status-note{margin-top:10px}.status-help p{margin:5px 0 0;color:var(--muted)}
.storage-capacity-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:20px;align-items:center;padding:16px 18px;margin-top:14px}.storage-capacity-card h2{margin:2px 0 0;color:var(--navy);font-size:1.05rem}.storage-capacity-card p{margin:3px 0 0;color:var(--muted)}.storage-meter-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.storage-meter-top strong{color:var(--navy)}.storage-meter small{display:block;margin-top:6px;color:var(--muted)}.storage-capacity-card.storage-warning{border-color:#e4bf72;background:#fffaf0}.storage-capacity-card.storage-danger{border-color:#e2a3a3;background:#fff4f4}.storage-danger .submission-fill{background:#a33434}
@media(max-width:700px){.status-result-head{display:grid}.status-result-grid,.storage-capacity-card{grid-template-columns:1fr}.status-search-card,.status-result,.status-help{padding:16px}}

/* v1.0.3 flexible status search */
.status-search-form{display:grid;gap:10px}.status-universal-label{font-size:.95rem}.status-search-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.status-search-input-wrap input{margin-top:6px}.status-search-input-wrap .primary{min-height:46px;margin-top:6px;white-space:nowrap}.status-search-types{display:flex;gap:8px;flex-wrap:wrap}.status-search-types span{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#edf3fa;border:1px solid #d7e3f0;color:var(--navy);font-size:.77rem;font-weight:800}.status-search-help{margin:0}.status-result-list{display:grid;gap:12px;margin-top:18px}.status-result-list .status-result{margin-top:0}.status-results-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#eef5ff;border:1px solid #cfe0f3;color:var(--navy)}.status-results-summary span{color:#536475;font-size:.82rem}.status-result-card{scroll-margin-top:90px}
@media(max-width:700px){.status-search-input-wrap{grid-template-columns:1fr}.status-search-input-wrap .primary{width:100%;margin-top:0}.status-results-summary{display:grid}}
