.brand-logo-img{object-fit:cover;width:34px;height:34px;box-shadow:var(--sh-2);border-radius:9px;flex-shrink:0}.sidebar-brand .brand-stack{flex-direction:column;min-width:0;line-height:1.1;display:flex}.sidebar-brand .brand-stack .brand-name{color:var(--ink-900);letter-spacing:-.01em;font-size:14.5px;font-weight:600}.sidebar-brand .brand-stack .brand-name span{color:var(--clay-500)}.sidebar-brand .brand-stack .brand-sub{color:var(--ink-500);white-space:nowrap;font-size:11px}.mini .sidebar-brand .brand-stack{display:none}.sidebar-brand{justify-content:flex-start;gap:11px}.mini .sidebar-brand{justify-content:center}.module-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);text-align:start;cursor:pointer;transition:transform .15s var(--ease), box-shadow .2s var(--ease), border-color .15s var(--ease);flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.module-card:hover{box-shadow:var(--sh-2);border-color:var(--line-2);transform:translateY(-2px)}.module-card .module-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.module-card .module-ic{background:var(--clay-50);width:44px;height:44px;color:var(--clay-600);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.module-card h3{color:var(--ink-900);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.module-card .module-desc{color:var(--ink-500);font-size:13px;line-height:1.5}.module-card .module-foot{color:var(--clay-600);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.student-dashboard-grid,.student-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.student-detail-grid{grid-template-columns:1fr}.student-detail-toolbar{margin:10px 0 12px}.student-detail-selector{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);box-shadow:var(--sh-1);scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-radius:18px;grid-auto-columns:max-content;grid-auto-flow:column;gap:8px;padding:10px;display:grid;overflow:auto hidden}.student-detail-selector::-webkit-scrollbar{height:8px}.student-detail-selector::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.student-detail-selector .student-filter-pill{text-align:start;white-space:normal;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;min-width:108px;height:auto;min-height:44px;padding:8px 10px;display:flex}.student-detail-selector .student-filter-pill small{color:inherit;opacity:.7;letter-spacing:.01em;font-size:10px;font-weight:600;line-height:1.2;display:block}.student-detail-selector .student-filter-pill.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--clay-500) 8.0%, transparent)}.student-layout{display:block}.student-main{width:100%;min-width:0}.student-stepper-header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.student-stepper-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.student-stepper-status{color:var(--ink-900);margin-top:4px;font-size:13.5px;font-weight:600}.student-stepper-progress{color:var(--clay-700);white-space:nowrap;font-size:12.5px;font-weight:600}.student-stepper-track{border:1px solid var(--line-2);background:var(--surface-2);border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.student-stepper-track span{border-radius:inherit;background:linear-gradient(90deg, var(--clay-500), var(--clay-700));height:100%;transition:width .2s var(--ease);display:block}.student-stepper-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;width:100%;margin-bottom:16px;padding:4px 2px 6px;overflow:auto hidden}.student-section-stack{flex-direction:column;gap:16px;display:flex}.student-stepper{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:20px;flex-direction:row;align-items:stretch;gap:0;min-width:max-content;padding:14px 16px;display:flex;box-shadow:0 1px #11182705}.student-step{appearance:none;text-align:left;cursor:pointer;width:100%;min-width:210px;transition:transform .14s var(--ease), color .14s var(--ease);scroll-snap-align:start;background:0 0;border:0;border-radius:0;flex:none;align-items:center;gap:12px;padding:10px 18px 10px 0;display:flex;position:relative}.student-step:not(:last-child):after{content:"";inset-inline-end:0;background:var(--line);border-radius:999px;width:28px;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.student-step.complete:not(:last-child):after{background:var(--clay-500)}.student-step.active:not(:last-child):after{background:var(--clay-300)}.student-step:hover{transform:translateY(-1px)}.student-step-index{background:var(--surface);border:2px solid var(--line-2);width:38px;height:38px;color:var(--ink-600);border-radius:999px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 1px #11182708}.student-step.active .student-step-index{border-color:var(--clay-500);color:var(--clay-700);box-shadow:0 0 0 4px var(--clay-50)}.student-step.complete .student-step-index{border-color:var(--clay-500);background:var(--clay-500);color:#0000}.student-step.complete .student-step-index:before{content:"✓";color:var(--on-brand);font-size:14px;line-height:1}.student-step-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.student-step-title{color:var(--ink-900);font-size:14px;font-weight:700;line-height:1.2}.student-step-sub{color:var(--ink-500);font-size:11.5px;line-height:1.35}.student-step.active .student-step-title{color:var(--clay-700)}.student-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}.student-card.compact .student-card-body{padding-top:12px}.student-card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 0;display:flex}.student-card-body{padding:16px 18px 18px}.student-card-kicker{color:var(--ink-900);font-size:14.5px;font-weight:600}.student-card-sub{color:var(--ink-500);margin-top:2px;font-size:12px;line-height:1.5}.student-accordion-stack{flex-direction:column;gap:10px;display:flex}.student-accordion{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:box-shadow .15s var(--ease);overflow:hidden}.student-accordion[open]{box-shadow:var(--sh-2)}.student-accordion-tab{cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);border-bottom:1px solid #0000;align-items:flex-start;gap:10px;padding:14px 18px;list-style:none;display:flex}.student-accordion[open]>.student-accordion-tab{border-bottom-color:var(--line)}.student-accordion-tab::-webkit-details-marker{display:none}.student-accordion-chevron{color:var(--ink-400);transition:transform .15s var(--ease);flex-shrink:0;margin-top:2px;display:inline-flex}.student-accordion[open] .student-accordion-chevron{color:var(--clay-600);transform:rotate(90deg)}.student-accordion-tab-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-accordion-tab-right{flex-shrink:0;margin-left:auto}.student-accordion .student-card-body{padding-top:16px}@media (max-width:900px){.student-stepper-header{align-items:flex-start}.student-stepper{padding:12px}.student-step{min-width:190px;padding-inline-end:14px}}@media (max-width:640px){.student-stepper-header{flex-direction:column;align-items:flex-start}.student-stepper-progress{align-self:flex-start}.student-step{min-width:176px}.student-step-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.student-field{flex-direction:column;gap:8px;min-width:0;display:flex}.student-field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-500);align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:flex}.required-marker{color:var(--bad-600)}.student-field-help{color:var(--ink-500);font-size:11.5px;line-height:1.45}.student-field input,.student-field textarea,.student-field select,.checklist-custom-row input,.student-table input,.student-search input{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);width:100%;min-width:0;color:var(--ink-900);font:inherit;transition:border-color .12s var(--ease), box-shadow .12s var(--ease)}.student-field input,.student-field select{height:42px;padding:0 12px}.student-field textarea{resize:vertical;min-height:108px;padding:12px}.student-field input:focus,.student-field textarea:focus,.student-field select:focus,.checklist-custom-row input:focus,.student-search input:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent);outline:none}.checklist-group{flex-direction:column;gap:14px;padding-top:4px;display:flex}.checklist-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.checklist-title{color:var(--ink-900);font-size:13.5px;font-weight:600}.checklist-sub{color:var(--ink-500);margin-top:2px;font-size:12px;line-height:1.45}.checklist-warning{border-radius:var(--r-md);border:1px solid var(--warn-200);background:var(--warn-50);color:var(--warn-700);align-items:flex-start;gap:8px;max-width:440px;padding:8px 10px;font-size:12px;line-height:1.45;display:inline-flex}.checklist-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.checklist-grid.single{grid-template-columns:1fr}.check-pill{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);text-align:left;cursor:pointer;color:var(--ink-800);transition:background .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.check-pill:hover{border-color:var(--line-2);background:var(--surface-2);transform:translateY(-1px)}.check-pill.active{border-color:var(--clay-300);background:var(--clay-50);color:var(--ink-900)}.check-pill-box{border:1.5px solid var(--line-2);background:var(--surface);width:18px;height:18px;color:var(--surface);border-radius:5px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.check-pill-box.active{background:var(--clay-500);border-color:var(--clay-500)}.check-pill span:last-child{font-size:13px;line-height:1.45}.checklist-custom{flex-direction:column;gap:12px;display:flex}.checklist-custom-row{align-items:center;gap:10px;display:flex}.checklist-custom-row input{height:38px;padding:0 12px}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-700);border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:inline-flex}.chip-dismissable{cursor:pointer}.chip-dismissable:hover{border-color:var(--clay-300);background:var(--clay-50);color:var(--clay-700)}.student-review-summary,.student-detail-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.student-review-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.student-review-profile{flex-direction:column;gap:6px;display:flex}.student-review-name{color:var(--ink-900);letter-spacing:-.01em;font-size:20px;font-weight:600}.student-review-meta{color:var(--ink-500);font-size:12.5px;line-height:1.45}.student-review-blocks{flex-direction:column;gap:12px;display:flex}.student-review-block{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);padding:14px}.student-review-block-body{flex-direction:column;gap:10px;display:flex}.student-review-lines,.student-detail-lines{flex-direction:column;gap:8px;display:flex}.student-review-line{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.student-review-line span{color:var(--ink-500);font-size:12.5px;line-height:1.45}.student-review-line strong{color:var(--ink-900);text-align:right;font-size:13px;font-weight:600;line-height:1.45}.student-review-block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);margin-bottom:8px;font-size:11.5px;font-weight:600}.student-detail-columns{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.student-note,.student-note-block{border-radius:var(--r-md);border:1px dashed var(--line-2);background:var(--surface-2);color:var(--ink-600);padding:12px 14px;font-size:13px;line-height:1.55}.student-empty,.student-empty-inline{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px 20px;display:flex}.student-empty-title{color:var(--ink-900);font-size:15px;font-weight:600}.student-empty-sub,.student-empty-inline{color:var(--ink-500);font-size:13px}.student-empty-inline{padding:8px 0}.student-assessment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.student-assessment-summary-card{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-1);padding:14px 16px}.student-assessment-summary-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.student-assessment-summary-value{color:var(--ink-900);margin-top:4px;font-size:22px;font-weight:700}.student-assessment-summary-meta{color:var(--ink-500);margin-top:3px;font-size:12px;line-height:1.45}.student-assessment-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:start;gap:16px;display:grid}.student-assessment-list,.student-assessment-detail{flex-direction:column;gap:12px;display:flex}.student-assessment-row{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-1);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease), transform .14s var(--ease);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.student-assessment-row:hover{border-color:var(--line-2);transform:translateY(-1px)}.student-assessment-row.active{border-color:var(--clay-300);background:var(--clay-50)}.student-assessment-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.student-assessment-row-title{color:var(--ink-900);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.student-assessment-row-meta{color:var(--ink-500);font-size:12px;line-height:1.45}.student-assessment-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-assessment-detail-head{border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(135deg,#0f766e0f,#0ea5e90a);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.student-assessment-detail-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.student-assessment-detail-head h3{color:var(--ink-900);margin:4px 0 0;font-size:18px}.student-assessment-detail-meta{color:var(--ink-500);margin-top:4px;font-size:12px;line-height:1.45}.student-assessment-detail-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-assessment-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-assessment-detail-card{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);padding:14px 16px}.student-assessment-detail-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.student-assessment-detail-card-value{color:var(--ink-900);margin-top:4px;font-size:14px;font-weight:700;line-height:1.45}.student-assessment-detail-card-meta{color:var(--ink-500);margin-top:3px;font-size:12px;line-height:1.45}.student-assessment-chart{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:12px;padding:16px;display:flex}.student-assessment-chart-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.student-assessment-chart-title{color:var(--ink-900);margin-top:3px;font-size:16px;font-weight:800}.student-assessment-chart-total{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);text-align:right;min-width:110px;padding:10px 12px}.student-assessment-chart-total span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11px;font-weight:600;display:block}.student-assessment-chart-total strong{color:var(--ink-900);margin-top:2px;font-size:22px;line-height:1;display:block}.student-assessment-chart-row{flex-direction:column;gap:6px;display:flex}.student-assessment-chart-row-head{color:var(--ink-700);justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.student-assessment-chart-row-head strong{color:var(--ink-900)}.student-assessment-chart-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.student-assessment-chart-bar span{border-radius:inherit;height:100%;display:block}.student-assessment-issue-list{flex-direction:column;gap:12px;display:flex}.student-assessment-issue-group{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);padding:14px 16px}.student-assessment-issue-group-title{color:var(--ink-900);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.student-assessment-issue-group-title span{color:var(--ink-500);font-size:12px;font-weight:600}.student-assessment-chip-list{flex-wrap:wrap;gap:8px;display:flex}.student-assessment-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-700);border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;line-height:1.35;display:inline-flex}.student-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.student-searchbar{border:1px solid var(--line);background:var(--surface);max-width:460px;height:44px;box-shadow:var(--sh-1);border-radius:999px;flex:320px;align-items:center;gap:10px;padding:0 14px;display:flex}.student-searchbar:focus-within{border-color:var(--clay-300);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent)}.student-searchbar input{min-width:0;color:var(--ink-900);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:13.5px}.student-searchbar input::placeholder{color:var(--ink-400)}.student-list-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-filter-pills{flex-wrap:wrap;gap:6px;display:flex}.student-filter-pill{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-600);cursor:pointer;height:32px;transition:background .14s var(--ease), border-color .14s var(--ease), color .14s var(--ease);border-radius:999px;padding:0 12px;font-size:12.5px;font-weight:500}.student-filter-pill:hover{border-color:var(--line-2)}.student-filter-pill.active{background:var(--clay-50);border-color:var(--clay-300);color:var(--clay-700)}.student-sort-wrap{position:relative}.student-toolbar-btn{appearance:none;border:1px solid var(--line);background:var(--surface);height:32px;color:var(--ink-600);cursor:pointer;transition:border-color .14s var(--ease);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.student-toolbar-btn:hover{border-color:var(--line-2)}.student-toolbar-icon-btn{appearance:none;color:var(--ink-400);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px;display:inline-flex}.student-toolbar-icon-btn:hover{color:var(--ink-700);background:var(--ink-50,#0000000a)}.student-dropdown-scrim{z-index:49;position:fixed;inset:0}.student-dropdown{z-index:50;background:var(--surface);border:1px solid var(--line);min-width:200px;box-shadow:var(--sh-2);border-radius:12px;padding:4px;animation:.12s ease-out student-dropdown-in;position:absolute;top:calc(100% + 6px);right:0}@keyframes student-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.student-dropdown-item{appearance:none;width:100%;height:36px;color:var(--ink-700);cursor:pointer;transition:background .1s var(--ease);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.student-dropdown-item:hover{background:var(--ink-50,#0000000a)}.student-dropdown-item.active{color:var(--clay-600);font-weight:600}.student-filters-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.student-filter-select{appearance:none;border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23888' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E") no-repeat right 8px center;height:32px;color:var(--ink-700);cursor:pointer;transition:border-color .14s var(--ease);border-radius:8px;padding:0 28px 0 10px;font-size:12.5px}.student-filter-select:hover{border-color:var(--line-2)}.student-filter-select:focus{border-color:var(--clay-300);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent);outline:none}.student-list-quick{flex-wrap:wrap;gap:10px;display:flex}.student-table-note{color:var(--ink-500);margin:0 0 12px;font-size:12px;line-height:1.45}.student-table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:auto}.student-drawer-scrim{z-index:60;background:#141c2657;justify-content:flex-end;animation:.14s ease-out student-drawer-fade;display:flex;position:fixed;inset:0}.student-drawer{background:var(--surface);width:min(460px,100%);height:100%;box-shadow:-6px 0 0 var(--m-shadow);flex-direction:column;animation:.18s ease-out student-drawer-slide;display:flex}@keyframes student-drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes student-drawer-slide{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.student-drawer-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.student-drawer-title{color:var(--ink-900);font-size:15px;font-weight:650}.student-drawer-sub{color:var(--ink-500);margin-top:2px;font-size:12px}.student-drawer-body{flex:auto;padding:16px 18px;overflow-y:auto}@media (max-width:560px){.student-drawer{width:100%}}.org-form-grid{flex-direction:column;gap:16px;display:flex}.org-field{color:var(--ink-700);flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.org-field input,.org-field select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;font:inherit;color:var(--ink-900);border-radius:12px;outline:none;padding:0 14px}.org-field input:focus,.org-field select:focus{border-color:var(--clay-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent)}.org-permission-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.org-permission-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex}.org-permission-card input{accent-color:var(--clay-600);align-self:flex-start}.org-permission-card strong{color:var(--ink-900);font-size:13px}.org-permission-card small{color:var(--ink-500);word-break:break-word;font-size:11px}.org-permission-card.active{border-color:color-mix(in srgb, var(--clay-500) 45.0%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 8.0%, transparent)}.role-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.role-card{border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92.0%, transparent), color-mix(in srgb, var(--surface-2) 96.0%, transparent));overflow:hidden}.org-inline-select{border:1px solid var(--line);background:var(--surface);min-height:34px;font:inherit;color:var(--ink-800);border-radius:10px;padding:0 10px}.org-empty-inline{color:var(--ink-500);padding:8px 0;font-size:13px}.org-role-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin-bottom:8px;font-size:11px;font-weight:600}.org-privilege-groups{flex-direction:column;gap:10px;display:flex}.org-privilege-group{flex-direction:column;gap:4px;display:flex}.org-privilege-cat{color:var(--ink-700);font-size:11.5px;font-weight:600}.org-privilege-list{flex-direction:column;gap:2px;margin:0;padding-inline-start:16px;display:flex}.org-privilege-list li{color:var(--ink-600);font-size:12.5px;line-height:1.35}.student-table{border-collapse:collapse;width:100%;min-width:760px}.student-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:14px;font-size:11.5px;font-weight:600}.student-table tbody td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-800);padding:14px}.student-table tbody tr:last-child td{border-bottom:0}.student-table tbody tr:hover{background:var(--surface-2)}.student-table tbody tr.archived{background:color-mix(in srgb, var(--clay-400) 7.0%, transparent)}.student-table-name{color:var(--ink-900);font-size:13.5px;font-weight:600}.student-table-sub{color:var(--ink-500);font-size:12px;line-height:1.45}.student-actions{gap:8px}.student-stat{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:14px 16px}.student-stat.brand{background:var(--clay-50);border-color:var(--clay-200)}.student-stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.student-stat-value{color:var(--ink-900);overflow-wrap:anywhere;margin-top:4px;font-size:18px;font-weight:600}.student-fileno-pill{cursor:pointer;transition:box-shadow .14s var(--ease)}.student-fileno-pill:hover{box-shadow:0 0 0 2px var(--clay-200)}.student-fileno-pill .student-stat-value{align-items:center;display:flex}.student-fileno-edit{align-items:center;gap:6px;margin-top:4px;display:flex}.student-fileno-input{font-family:var(--font-mono,monospace);color:var(--ink-900);border:none;border-bottom:2px solid var(--clay-300);background:0 0;outline:none;width:100%;min-width:80px;padding:0 0 2px;font-size:16px;font-weight:700}.student-fileno-input:focus{border-color:var(--clay-500)}.student-fileno-actions{flex-shrink:0;gap:2px;display:flex}.student-footer-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.student-toggle-label{cursor:pointer;color:var(--ink-800);align-items:center;gap:10px;font-size:13px;display:inline-flex}.student-toggle-label input{display:none}.toggle-swatch{background:var(--line-2);width:40px;height:22px;transition:background .18s var(--ease);border-radius:999px;flex-shrink:0;position:relative}.toggle-swatch:after{content:"";top:2px;background:var(--surface);width:18px;height:18px;box-shadow:var(--sh-1);transition:transform .18s var(--ease);border-radius:50%;position:absolute;inset-inline-start:2px}.student-toggle-label input:checked+.toggle-swatch{background:var(--clay-500)}.student-toggle-label input:checked+.toggle-swatch:after{transform:translate(18px)}[dir=rtl] .student-toggle-label input:checked+.toggle-swatch:after{transform:translate(-18px)}.skeleton-line,.skeleton-card,.skeleton-stepper,.skeleton-table,.skeleton-detail{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-2) 37%, var(--surface-2) 63%);border-radius:var(--r-md);background-size:400% 100%;animation:1.35s infinite skeleton-shimmer}.skeleton-card{height:88px}.skeleton-card.tall{height:420px}.skeleton-stepper{width:100%;height:66px;margin-bottom:12px}.skeleton-table{height:380px;margin-top:12px}.skeleton-detail{height:520px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.step-bubble svg{display:block}.assessment-view-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.assessment-view-pill{appearance:none;border-radius:var(--r-sm);color:var(--ink-600);cursor:pointer;transition:background .14s var(--ease), color .14s var(--ease), box-shadow .14s var(--ease);background:0 0;border:0;padding:6px 18px;font-size:13px;font-weight:500}.assessment-view-pill:hover{color:var(--ink-900)}.assessment-view-pill.active{background:var(--surface);color:var(--clay-700);box-shadow:var(--sh-1)}.category-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);margin-bottom:14px;overflow:hidden}.category-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .14s var(--ease);align-items:center;gap:14px;padding:14px 18px;display:flex}.category-header:hover{background:var(--surface-2)}.category-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.category-icon{background:var(--clay-50);width:38px;height:38px;color:var(--clay-700);letter-spacing:.02em;text-transform:uppercase;border-radius:10px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.category-label{color:var(--ink-900);font-size:14.5px;font-weight:600}.category-count{color:var(--ink-500);margin-top:1px;font-size:12px}.category-badge{background:var(--surface-2);color:var(--ink-600);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11.5px;font-weight:500}.category-badge.has-items{background:var(--clay-50);color:var(--clay-700);border-color:var(--clay-200)}.category-header .chevron{width:18px;height:18px;color:var(--ink-400);transition:transform .24s var(--ease);flex-shrink:0}.category-card.expanded .category-header .chevron{transform:rotate(180deg)}.category-body{max-height:0;transition:max-height .3s var(--ease);overflow:hidden}.category-card.expanded .category-body{max-height:6000px}.issue-list{flex-direction:column;gap:2px;padding:6px 18px 16px;display:flex}.issue-item{border-radius:var(--r-md);transition:background .12s var(--ease);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 10px;display:flex}.issue-item:hover{background:var(--surface-2)}.issue-item.checked{background:var(--clay-50)}.issue-checkbox-label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.issue-checkbox-label input{display:none}.custom-check{border:1.5px solid var(--line-2);background:var(--surface);width:18px;height:18px;transition:background .12s var(--ease), border-color .12s var(--ease);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.custom-check svg{opacity:0;transition:opacity .12s var(--ease)}.issue-checkbox-label input:checked+.custom-check{background:var(--clay-500);border-color:var(--clay-500)}.issue-checkbox-label input:checked+.custom-check svg{opacity:1}.issue-checkbox-label:hover .custom-check{border-color:var(--clay-400)}.issue-text{color:var(--ink-800);font-size:13.5px;line-height:1.45}.issue-item.checked .issue-text{color:var(--ink-900)}.ext-badge{letter-spacing:.04em;border:1px solid #0000;border-radius:5px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.ext-badge.ext-WO{background:var(--surface-2);color:var(--ink-500);border-color:var(--line)}.ext-badge.ext-WE{background:var(--info-50);color:var(--info-700);border-color:var(--clay-200)}.ext-badge.ext-WP{background:var(--warn-50);color:var(--warn-700);border-color:var(--warn-200)}.specifics-btn{border-radius:var(--r-sm);border:1px dashed var(--line-2);background:var(--surface);color:var(--ink-600);cursor:pointer;white-space:nowrap;transition:border-color .14s var(--ease), color .14s var(--ease), background .14s var(--ease);flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.specifics-btn:hover{border-color:var(--clay-400);color:var(--clay-700)}.specifics-btn span:first-child{font-weight:700}.specifics-btn.has-specifics{border-style:solid;border-color:var(--clay-300);background:var(--clay-50);color:var(--clay-700)}.specifics-btn.hidden{display:none}.inline-dropdown-select{appearance:none;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23807B70' stroke-width='1.6' stroke-linecap='round'><path d='M3 5l3 3 3-3'/></svg>") no-repeat right 8px center;height:32px;color:var(--ink-800);cursor:pointer;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);flex-shrink:0;padding:0 28px 0 10px;font-size:12.5px}.inline-dropdown-select:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 15%, transparent);outline:none}.inline-dropdown-select.is-idle{color:var(--ink-400)}.card-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);padding:16px 20px 0;font-size:11.5px;font-weight:600}.recommendation-options{flex-direction:column;gap:8px;padding:14px 20px 20px;display:flex}.recommendation-option{border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.recommendation-option:hover{border-color:var(--line-2);background:var(--surface-2)}.recommendation-option.checked{border-color:var(--clay-300);background:var(--clay-50)}.recommendation-previous{flex-direction:column;gap:4px;padding:0 20px;display:flex}.recommendation-previous>.btn{align-self:flex-start;gap:6px}.recommendation-previous .recommendation-options{padding:6px 0 4px}.academic-recommendation-previous{padding:8px 0 0}.recommendation-previous-chev{transition:transform .16s cubic-bezier(.22,1,.36,1)}.recommendation-previous-chev.open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.recommendation-previous-chev{transition:none}}.report-generator-page{flex-direction:column;gap:16px;display:flex}.report-phase-strip{flex-direction:column;gap:8px;display:flex}.report-phase-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.report-phase-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11px;font-weight:600}.report-phase-status{color:var(--ink-900);margin-top:3px;font-size:13px;font-weight:600}.report-phase-progress{color:var(--ink-600);white-space:nowrap;font-size:12px;font-weight:600}.report-phase-track{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;height:4px;overflow:hidden}.report-phase-track span{border-radius:inherit;background:var(--clay-500);height:100%;transition:width .35s var(--ease);display:block}.report-step-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px;display:grid}.report-step-pill{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:inherit;text-align:start;cursor:pointer;transition:transform .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);align-items:flex-start;gap:12px;padding:14px;display:flex}.report-step-pill:hover{border-color:var(--line-2);box-shadow:var(--sh-1);transform:translateY(-1px)}.report-step-pill.active{border-color:var(--primary-border);box-shadow:var(--sh-2);background:linear-gradient(135deg,#0f766e1f,#0ea5e914)}.report-step-pill.completed .report-step-pill-index{background:var(--success-soft);color:var(--success)}.report-step-pill-index{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-strong);border-radius:12px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.report-step-pill-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.report-step-pill-title{color:var(--text-strong);letter-spacing:-.01em;font-size:14px;font-weight:700}.report-step-pill-subtitle{color:var(--text-muted);font-size:12px;line-height:1.45}.report-layout{grid-template-columns:minmax(0,1.7fr) minmax(290px,.95fr);align-items:start;gap:16px;display:grid}.report-stage{overflow:hidden}.report-stage-head{align-items:flex-start}.report-stage-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-stage-badge{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-600);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.report-stage-body,.report-stage-footer{border-top:1px solid var(--line)}.report-section-stack{flex-direction:column;gap:16px;display:flex}.report-section-note{border-radius:var(--r-md);border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--ink-700);padding:12px 14px;font-size:13px;line-height:1.55}.report-student-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-mode-option{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease), transform .14s var(--ease), box-shadow .14s var(--ease);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.report-mode-option:hover{border-color:var(--line-2);box-shadow:var(--sh-1);transform:translateY(-1px)}.report-mode-option input{opacity:0;pointer-events:none;position:absolute}.report-mode-option.active{border-color:var(--clay-300);background:var(--clay-50)}.report-mode-option-marker{border:2px solid var(--line-2);border-radius:999px;flex-shrink:0;width:18px;height:18px;margin-top:2px;position:relative}.report-mode-option.active .report-mode-option-marker{border-color:var(--clay-500)}.report-mode-option.active .report-mode-option-marker:after{content:"";background:var(--clay-500);border-radius:999px;position:absolute;inset:3px}.report-mode-option-copy{flex-direction:column;gap:3px;display:flex}.report-mode-option-copy strong{color:var(--ink-900);font-size:13.5px}.report-mode-option-copy small{color:var(--ink-500);font-size:12px;line-height:1.45}.report-student-link-panel{border-radius:var(--r-lg);border:1px solid var(--clay-200);background:linear-gradient(135deg,#0f766e17,#0ea5e90f);flex-direction:column;gap:12px;padding:16px;display:flex}.report-student-link-copy{flex-direction:column;gap:4px;display:flex}.report-student-link-title{color:var(--ink-900);font-size:14px;font-weight:700}.report-student-link-meta{color:var(--ink-600);font-size:12.5px;line-height:1.45}.report-student-link-pill{border-radius:var(--r-md);border:1px solid var(--clay-300);background:var(--surface);box-shadow:var(--sh-1);flex-direction:column;gap:3px;min-width:min(100%,320px);padding:10px 12px;display:flex}.report-student-link-pill.empty{border-style:dashed;border-color:var(--line-2)}.report-student-link-pill strong{color:var(--ink-900);font-size:13px}.report-student-link-pill small{color:var(--ink-500);font-size:12px;line-height:1.45}.required-marker{color:var(--error);margin-left:4px}.report-step-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.report-step-final-actions{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.report-rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:82px}.report-rail-card{overflow:hidden}.report-rail-stack{flex-direction:column;gap:12px;display:flex}.report-rail-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.report-rail-item:last-child{border-bottom:0;padding-bottom:0}.report-rail-item span{color:var(--ink-500);font-size:13px}.report-rail-item strong{color:var(--ink-900);text-align:right;font-size:13px;font-weight:600}.report-rail-mini-list{flex-direction:column;gap:10px;padding-top:4px;display:flex}.report-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.report-options-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);flex-direction:column;gap:12px;padding:16px;display:flex}.report-options-title{color:var(--ink-900);letter-spacing:-.01em;font-size:13px;font-weight:700}.report-toggle-list{flex-direction:column;gap:10px;display:flex}.report-toggle-row{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-700);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease), transform .14s var(--ease);align-items:center;gap:10px;padding:10px 12px;display:flex}.report-toggle-row:hover{border-color:var(--line-2);transform:translateY(-1px)}.report-toggle-row input{display:none}.report-toggle-row.active{border-color:var(--clay-300);background:var(--clay-50);box-shadow:0 0 0 1px color-mix(in srgb, var(--clay-500) 6.0%, transparent) inset}.report-toggle-check{border:1.5px solid var(--line-2);background:var(--surface);color:#0000;width:18px;height:18px;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.report-toggle-row.active .report-toggle-check{background:var(--clay-500);border-color:var(--clay-500);color:var(--on-brand)}.report-toggle-row.active .report-toggle-check svg{opacity:1}.report-setting-note{color:var(--ink-500);background:color-mix(in srgb, var(--surface) 72.0%, transparent);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-size:12.5px;line-height:1.5}.report-select-field{gap:8px}.report-select-shell{position:relative}.field-help{color:var(--ink-500);margin-top:6px;font-size:11.5px;line-height:1.45;display:block}.report-select-shell select{appearance:none;border-radius:var(--r-md);border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--surface-2));width:100%;height:46px;color:var(--ink-900);transition:border-color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);outline:none;padding:0 42px 0 14px;font-size:13.5px;font-weight:600}.report-select-shell select:hover{border-color:var(--line-2)}.report-select-shell select:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent)}.report-select-icon{inset-inline-end:14px;color:var(--ink-500);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.report-export-panel{border-radius:var(--r-lg);border:1px solid var(--primary-border);background:linear-gradient(135deg,#0f766e1f,#0ea5e914);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.report-export-meta{flex-direction:column;gap:4px;display:flex}.report-export-title{color:var(--ink-900);font-size:15px;font-weight:700}.report-export-subtitle{color:var(--ink-600);font-size:13px}.report-export-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.report-recommendation-list{padding:0}.report-student-summary-card{border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 96.0%, transparent), color-mix(in srgb, var(--surface-2) 95.0%, transparent));box-shadow:var(--sh-1);flex-direction:column;gap:14px;padding:16px 18px;display:flex}.report-student-summary-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.report-student-summary-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11px;font-weight:700}.report-student-summary-head h3{color:var(--ink-900);margin:4px 0 0;font-size:18px}.report-student-summary-subtitle{color:var(--ink-600);margin-top:4px;font-size:13px}.report-student-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.report-student-summary-item{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);flex-direction:column;gap:4px;padding:12px;display:flex}.report-student-summary-item span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:11px;font-weight:700}.report-student-summary-item strong{color:var(--ink-900);font-size:13.5px;line-height:1.35}.report-summary-panel{border-radius:var(--r-xl);border:1px solid color-mix(in srgb, var(--clay-500) 18.0%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 98.0%, transparent), color-mix(in srgb, var(--surface-2) 98.0%, transparent));box-shadow:var(--sh-1);flex-direction:column;gap:16px;padding:18px;display:flex}.report-summary-panel.compact{padding:16px}.report-summary-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.report-summary-panel-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11px;font-weight:700}.report-summary-panel-head h3{color:var(--ink-900);margin:4px 0 0;font-size:18px}.report-summary-panel-subtitle{color:var(--ink-600);margin-top:4px;font-size:13px;line-height:1.5}.report-summary-panel-actions{flex-wrap:wrap;justify-content:flex-end;display:flex}.report-summary-panel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;display:grid}.report-summary-panel-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:14px;padding:16px;display:flex}.report-summary-panel-card-title{color:var(--ink-900);letter-spacing:-.01em;font-size:13px;font-weight:700}.report-summary-panel-profile{flex-direction:column;gap:4px;display:flex}.report-summary-panel-profile-name{color:var(--ink-900);letter-spacing:-.01em;font-size:18px;font-weight:700}.report-summary-panel-profile-meta{color:var(--ink-600);font-size:13px;line-height:1.5}.report-summary-panel-profile-meta span{color:var(--ink-300);padding:0 4px}.report-summary-panel-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-summary-panel-metric{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.report-summary-panel-metric span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:11px;font-weight:700}.report-summary-panel-metric strong{color:var(--ink-900);font-size:13.5px}.report-summary-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-summary-kpi{border-radius:var(--r-md);border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--surface-2));padding:14px 14px 12px}.report-summary-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:11px;font-weight:700}.report-summary-kpi-value{color:var(--ink-900);margin-top:5px;font-size:18px;font-weight:700;line-height:1.15}.report-summary-kpi-sub{color:var(--ink-600);margin-top:2px;font-size:12px;line-height:1.45}.report-summary-chart-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-summary-chart-legend{color:var(--ink-500);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.report-summary-chart-legend span{align-items:center;gap:5px;display:inline-flex}.report-summary-chart{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;display:grid}.report-summary-chart-column{flex-direction:column;align-items:center;gap:8px;display:flex}.report-summary-chart-value{color:var(--ink-900);font-size:13px;font-weight:700}.report-summary-chart-bar-shell{border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 70.0%, transparent), color-mix(in srgb, var(--surface) 90.0%, transparent));border:1px solid var(--line);justify-content:center;align-items:flex-end;width:100%;min-height:152px;padding:10px;display:flex}.report-summary-chart-bar{background:linear-gradient(180deg, var(--report-bar-soft,color-mix(in srgb, var(--clay-500) 16.0%, transparent)), var(--report-bar-color,var(--clay-600)));width:100%;max-width:48px;box-shadow:0 10px 20px color-mix(in srgb, var(--report-bar-color,#7a6a45) 24%, transparent);border-radius:12px 12px 6px 6px}.report-summary-chart-column.empty .report-summary-chart-bar{background:linear-gradient(180deg, var(--line-2), var(--ink-300));box-shadow:none}.report-summary-chart-label{color:var(--ink-700);text-align:center;font-size:12px;font-weight:600;line-height:1.25}.report-analytics-section{flex-direction:column;gap:18px;display:flex}.report-analytics-header{margin-bottom:2px}.report-analytics-card{border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface), var(--surface-2));padding:16px 18px}.report-analytics-card-head{margin-bottom:14px}.report-analytics-card-title{color:var(--ink-800);letter-spacing:-.01em;font-size:13px;font-weight:700}.report-analytics-card-sub{color:var(--ink-500);margin-top:2px;font-size:12px;line-height:1.4}.report-analytics-stacked-chart{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:end;gap:10px;display:grid}.report-analytics-stacked-col{flex-direction:column;align-items:center;gap:8px;display:flex}.report-analytics-stacked-value{color:var(--ink-900);font-size:14px;font-weight:700}.report-analytics-stacked-track{border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 55.0%, transparent), color-mix(in srgb, var(--surface) 85.0%, transparent));border:1px solid var(--line);justify-content:center;align-items:flex-end;width:100%;height:200px;padding:6px;display:flex}.report-analytics-stacked-bar{border-radius:10px 10px 5px 5px;flex-direction:column;width:100%;max-width:44px;min-height:6px;display:flex;overflow:hidden}.report-analytics-stacked-segment{min-height:4px;transition:opacity .15s}.report-analytics-stacked-segment:first-child{border-radius:10px 10px 0 0}.report-analytics-stacked-segment:last-child{border-radius:0 0 5px 5px}.report-analytics-stacked-segment:only-child{border-radius:10px 10px 5px 5px}.report-analytics-stacked-label{color:var(--ink-700);text-align:center;font-size:12px;font-weight:600;line-height:1.25}.report-analytics-legend-grid{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px;padding-top:14px;display:grid}.report-analytics-legend-group{flex-direction:column;gap:6px;display:flex}.report-analytics-legend-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:11px;font-weight:700}.report-analytics-legend-items{flex-wrap:wrap;gap:6px 10px;display:flex}.report-analytics-legend-item{color:var(--ink-700);align-items:center;gap:5px;font-size:12px;line-height:1.35;display:inline-flex}.report-analytics-legend-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.report-analytics-legend-text{flex:1;min-width:0}.report-analytics-legend-count{color:var(--ink-800);font-variant-numeric:tabular-nums;font-weight:700}.report-analytics-breakdown{flex-direction:column;gap:18px;display:flex}.report-analytics-breakdown-group{flex-direction:column;gap:8px;display:flex}.report-analytics-breakdown-head{align-items:center;gap:8px;display:flex}.report-analytics-breakdown-dot{border-radius:4px;flex-shrink:0;width:10px;height:10px}.report-analytics-breakdown-subject{color:var(--ink-800);font-size:13px;font-weight:700}.report-analytics-breakdown-total{color:var(--ink-500);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.report-analytics-breakdown-bar-wrap{width:100%}.report-analytics-breakdown-stacked{border-radius:6px;gap:2px;width:100%;height:22px;display:flex;overflow:hidden}.report-analytics-breakdown-seg{min-width:6px;transition:opacity .15s}.report-analytics-breakdown-seg:first-child{border-radius:6px 0 0 6px}.report-analytics-breakdown-seg:last-child{border-radius:0 6px 6px 0}.report-analytics-breakdown-seg:only-child{border-radius:6px}.report-analytics-breakdown-labels{flex-wrap:wrap;gap:4px 14px;display:flex}.report-analytics-breakdown-label-row{align-items:center;gap:5px;font-size:12px;line-height:1.35;display:inline-flex}.report-analytics-breakdown-label-dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.report-analytics-breakdown-label-text{color:var(--ink-700)}.report-analytics-breakdown-label-count{color:var(--ink-800);font-variant-numeric:tabular-nums;font-weight:600}.report-analytics-linegraph-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;display:grid}.report-analytics-linegraph-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2,var(--surface-2));padding:14px 12px 10px}.report-analytics-linegraph-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.report-analytics-linegraph-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.report-analytics-linegraph-title{color:var(--ink-900);font-size:13px;font-weight:700}.report-analytics-linegraph-total{color:var(--ink-500);margin-left:auto;font-size:12px}.report-analytics-linegraph-svg-wrap{overflow:auto hidden}.report-analytics-linegraph-svg{width:100%;min-width:280px;height:auto;display:block}.report-summary-section-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.report-summary-section-chip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);align-items:center;gap:8px;padding:10px 12px;display:flex}.report-summary-section-chip.active{background:var(--clay-50);border-color:var(--clay-300)}.report-summary-section-chip.muted{opacity:.68}.report-summary-section-dot{background:var(--clay-500);border-radius:999px;flex-shrink:0;width:9px;height:9px}.report-summary-section-chip.muted .report-summary-section-dot{background:var(--ink-400)}.report-summary-section-chip span{color:var(--ink-800);flex:1;font-size:12.5px}.report-summary-section-chip strong{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-600);font-size:11px}@media (max-width:1120px){.report-layout{grid-template-columns:1fr}.report-rail{position:static}.report-step-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.report-options-grid,.report-student-summary-grid,.report-summary-panel-grid,.report-summary-kpi-row,.report-summary-section-list{grid-template-columns:1fr}.report-summary-chart{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.report-analytics-stacked-chart{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.report-analytics-legend-grid,.report-student-mode-switch,.student-assessment-summary,.student-assessment-detail-grid,.student-assessment-layout{grid-template-columns:1fr}.report-export-panel{flex-direction:column;align-items:stretch}.report-export-actions{justify-content:flex-start}}@media (max-width:720px){.report-phase-head{flex-direction:column;align-items:flex-start}.report-phase-progress{align-self:flex-start}.report-step-strip,.form-grid.center,.form-grid{grid-template-columns:1fr}.report-step-pill{padding:12px}.student-assessment-row,.student-picker-row,.student-assessment-detail-head{flex-direction:column;align-items:stretch}.student-assessment-row-actions,.student-assessment-detail-badges{justify-content:flex-start}.report-step-actions{flex-direction:column;align-items:stretch}.report-step-final-actions{width:100%}.report-step-actions .btn,.report-step-final-actions .btn{justify-content:center;width:100%}}.auth-shell{place-items:center;min-height:100vh;padding:32px;display:grid;position:relative;overflow:hidden}.auth-backdrop{background:radial-gradient(circle at top left, color-mix(in srgb, var(--clay-500) 16.0%, transparent), transparent 34%), radial-gradient(circle at bottom right, color-mix(in srgb, var(--clay-400) 18.0%, transparent), transparent 32%), linear-gradient(180deg, var(--surface-2) 0%, var(--surface-2) 100%);position:absolute;inset:0}.auth-card{background:color-mix(in srgb, var(--surface) 92.0%, transparent);border:1px solid color-mix(in srgb, var(--line) 90.0%, transparent);width:min(100%,460px);box-shadow:var(--sh-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;padding:28px;position:relative}.auth-brand{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.auth-logo{object-fit:cover;width:54px;height:54px;box-shadow:var(--sh-1);border-radius:14px;flex-shrink:0}.auth-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--clay-600);margin-bottom:4px;font-size:11px;font-weight:600}.auth-brand h1{letter-spacing:-.03em;margin:0;font-size:28px}.auth-brand p{color:var(--ink-600);margin:8px 0 0}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:var(--ink-700);font-size:12px;font-weight:600}.auth-field input,.field input,.field textarea{border:1px solid var(--line-2);background:var(--surface);width:100%;transition:border-color .14s var(--ease), box-shadow .14s var(--ease);border-radius:12px;outline:none;padding:12px 14px}.auth-field input:focus,.field input:focus,.field textarea:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent)}.auth-alert{background:var(--bad-50);color:var(--bad-700);border:1px solid var(--bad-200);border-radius:12px;padding:12px 14px;font-size:13px}.auth-submit{justify-content:center;width:100%;margin-top:4px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.form-grid.center{grid-template-columns:repeat(2,minmax(0,1fr))}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--ink-700);font-size:12px;font-weight:600}.field textarea{resize:vertical}.report-history{flex-direction:column;gap:12px;display:flex}.report-history-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.report-history-title{color:var(--ink-900);font-weight:600}.report-history-meta{color:var(--ink-500);margin-top:3px;font-size:12px}.empty-state{text-align:center;color:var(--ink-500);padding:18px}.saved-reports-page{min-height:calc(100vh - 32px)}.finder-shell{background:radial-gradient(circle at top left, color-mix(in srgb, var(--clay-500) 8.0%, transparent), transparent 34%), linear-gradient(180deg, var(--surface-2), var(--surface-2))}.finder-shell .page-head{margin-bottom:16px}.saved-reports-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.saved-reports-sidebar{position:sticky;top:16px}.saved-reports-main{min-width:0}.saved-reports-toolbar{flex-wrap:wrap;justify-content:flex-end}.view-toggle{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.view-toggle .btn.sm{border-radius:999px}.view-toggle .btn.sm.active{background:var(--clay-500);color:var(--on-brand);border-color:var(--clay-500)}.folder-tree-shell{flex-direction:column;gap:10px;display:flex}.folder-tree-node{flex-direction:column;gap:8px;display:flex}.folder-tree-row{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--surface-2));text-align:left;cursor:pointer;width:100%;transition:border-color .14s var(--ease), transform .14s var(--ease), box-shadow .14s var(--ease);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.folder-tree-row:hover{border-color:var(--line-2);transform:translateY(-1px)}.folder-tree-row.active{border-color:var(--clay-300);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 9.0%, transparent)}.folder-tree-row-indent{flex-shrink:0}.folder-tree-icon,.file-folder-icon,.file-report-icon,.report-history-icon{width:28px;height:28px;color:var(--ink-700);background:var(--folder-tint,color-mix(in srgb, var(--clay-500) 18.0%, transparent));border-radius:10px;flex-shrink:0;place-items:center;display:grid}.color-clay{background:color-mix(in srgb, var(--clay-500) 18.0%, transparent);color:var(--clay-700)}.color-sky{color:#2f6ea7;background:#3a7ab32e}.color-mint{color:#2e786a;background:#469a892e}.color-sun{color:#a56f20;background:#c2872b2e}.color-rose{color:#b04d67;background:#c55c722e}.color-ink{color:#50566a;background:#4e53672e}.folder-tree-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.folder-tree-copy strong,.file-folder-title,.file-report-title,.report-history-title{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.folder-tree-copy small{color:var(--ink-500);text-transform:capitalize;font-size:11.5px}.folder-tree-count{color:var(--clay-700);background:var(--clay-50);border:1px solid var(--clay-200);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:700}.folder-tree-actions{flex-wrap:wrap;gap:8px;padding-left:24px;display:flex}.folder-tree-children{border-left:1px dashed var(--line);flex-direction:column;gap:10px;margin-left:10px;padding-left:8px;display:flex}.explorer-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.file-folder-card,.file-report-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--surface-2));box-shadow:var(--sh-1);text-align:left;transition:transform .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease);border-radius:18px;padding:14px}.file-folder-card:hover,.file-report-card:hover{border-color:var(--line-2);box-shadow:var(--sh-2);transform:translateY(-2px)}.file-folder-card{cursor:pointer;flex-direction:column;gap:10px;width:100%;display:flex}.file-folder-title,.file-report-title{white-space:normal;line-height:1.35}.file-folder-meta,.file-report-meta,.report-history-folder{color:var(--ink-500);font-size:12px;line-height:1.4}.file-report-card{flex-direction:column;gap:12px;display:flex}.file-report-body{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:10px;width:100%;padding:0;display:flex}.file-report-chip{color:var(--clay-700);background:var(--clay-50);border:1px solid var(--clay-200);border-radius:999px;width:fit-content;padding:5px 8px;font-size:11.5px}.file-report-actions{flex-wrap:wrap;gap:8px;display:flex}.report-history-item-list{align-items:flex-start}.report-history-left{align-items:flex-start;gap:12px;min-width:0;display:flex}.report-history-icon{border-radius:12px;width:34px;height:34px}.report-detail-page{max-width:1080px;margin:0 auto}.report-detail-topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.report-detail-back{gap:4px;font-weight:600}.report-detail-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-detail-heading{margin-bottom:20px}.report-detail-heading h1{color:var(--ink-900);margin:0 0 4px;font-size:20px;font-weight:700}.report-detail-heading .sub{color:var(--ink-500);font-size:13px}.report-detail-content{min-height:200px}.folder-popup{width:min(620px,100%)}.popup-body{flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.popup-footer{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.folder-color-palette{flex-direction:column;gap:10px;display:flex}.folder-color-label{color:var(--ink-700);font-size:12px;font-weight:600}.folder-color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.folder-color-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-700);text-align:left;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.folder-color-chip.selected{border-color:var(--clay-300);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 9.0%, transparent)}.folder-color-swatch{border-radius:999px;flex-shrink:0;width:12px;height:12px}.recommendation-option input{display:none}.recommendation-option-check{border:1.5px solid var(--line-2);background:var(--surface);width:20px;height:20px;transition:background .12s var(--ease), border-color .12s var(--ease);border-radius:6px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.recommendation-option-check svg{opacity:0}.recommendation-option.checked .recommendation-option-check{background:var(--clay-500);border-color:var(--clay-500)}.recommendation-option.checked .recommendation-option-check svg{opacity:1}.recommendation-option-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.recommendation-option-code{font-family:var(--font-mono);color:var(--ink-500);font-size:11px}.recommendation-option-text{color:var(--ink-800);font-size:13.5px;line-height:1.45}.report-template-note{color:var(--ink-500);padding:4px 20px 0;font-size:13px}.template-options{grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px 20px;display:grid}.template-option{border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease), box-shadow .14s var(--ease);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.template-option:hover{border-color:var(--line-2)}.template-option.selected{border-color:var(--clay-400);background:var(--clay-50);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 10.0%, transparent)}.template-option input{display:none}.template-option-check{border:2px solid var(--line-2);width:18px;height:18px;transition:border-color .14s var(--ease);border-radius:50%;flex-shrink:0;margin-top:2px;position:relative}.template-option.selected .template-option-check{border-color:var(--clay-500)}.template-option.selected .template-option-check:after{content:"";background:var(--clay-500);border-radius:50%;position:absolute;inset:3px}.template-option-copy{flex-direction:column;gap:3px;display:flex}.template-option-title{color:var(--ink-900);font-size:13.5px;font-weight:600}.template-option-text{color:var(--ink-500);font-size:12.5px}.report-student-card{padding:18px 20px}.report-student-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:600}.report-student-name{color:var(--ink-900);letter-spacing:-.01em;margin-top:4px;font-size:20px;font-weight:600}.report-student-meta{color:var(--ink-600);margin-top:2px;font-size:13px}.report-toggles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:14px 20px 20px;display:grid}.report-toggle-item{border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease);align-items:center;gap:11px;padding:12px 14px;display:flex}.report-toggle-item:hover{border-color:var(--line-2)}.report-toggle-item.active{border-color:var(--clay-300);background:var(--clay-50)}.report-toggle-item input{display:none}.report-toggle-check{border:1.5px solid var(--line-2);background:var(--surface);width:18px;height:18px;transition:background .12s var(--ease), border-color .12s var(--ease);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.report-toggle-check svg{opacity:0}.report-toggle-item.active .report-toggle-check{background:var(--clay-500);border-color:var(--clay-500)}.report-toggle-item.active .report-toggle-check svg{opacity:1}.report-toggle-name{color:var(--ink-900);flex:1;font-size:13.5px;font-weight:500}.report-toggle-count{color:var(--ink-500);font-size:11.5px}.toggle-label{cursor:pointer;align-items:center;gap:11px;padding:14px 20px 20px;display:flex}.toggle-label input{display:none}.toggle-switch{background:var(--line-2);width:40px;height:22px;transition:background .18s var(--ease);border-radius:999px;flex-shrink:0;position:relative}.toggle-switch:after{content:"";top:2px;background:var(--surface);width:18px;height:18px;box-shadow:var(--sh-1);transition:transform .18s var(--ease);border-radius:50%;position:absolute;inset-inline-start:2px}.toggle-label input:checked+.toggle-switch{background:var(--clay-500)}.toggle-label input:checked+.toggle-switch:after{transform:translate(18px)}[dir=rtl] .toggle-label input:checked+.toggle-switch:after{transform:translate(-18px)}.toggle-text{color:var(--ink-800);font-size:13.5px}.report-summary{padding:16px 20px 20px}.report-summary-header{flex-wrap:wrap;align-items:stretch;gap:20px;display:flex}.report-summary-total{border-radius:var(--r-lg);background:var(--clay-50);border:1px solid var(--clay-200);flex:none;min-width:200px;padding:16px 18px}.report-summary-total-label{text-transform:uppercase;letter-spacing:.06em;color:var(--clay-700);font-size:11.5px;font-weight:600}.report-summary-total-value{color:var(--ink-900);font-variant-numeric:tabular-nums;margin-top:4px;font-size:38px;font-weight:600;line-height:1.1}.report-summary-total-meta{color:var(--ink-600);margin-top:2px;font-size:12px}.report-summary-kpis{flex:1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;min-width:0;display:grid}.report-kpi-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:14px 16px}.report-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:11.5px;font-weight:600}.report-kpi-value{color:var(--ink-900);margin-top:4px;font-size:18px;font-weight:600}.report-kpi-sub{color:var(--ink-500);margin-top:1px;font-size:11.5px}.report-distribution{flex-direction:column;gap:14px;margin-top:20px;display:flex}.dist-row.excluded{opacity:.5}.dist-row-head{justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.dist-name{color:var(--ink-800);font-size:13px;font-weight:500}.dist-count{color:var(--ink-600);font-variant-numeric:tabular-nums;font-size:12.5px}.dist-bar{background:var(--surface-2);border-radius:6px;height:8px;overflow:hidden}.dist-fill{background:var(--clay-500);height:100%;transition:width .4s var(--ease);border-radius:6px;display:block}.dist-meta{color:var(--ink-500);margin-top:4px;font-size:11px}.popup-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;animation:fadein .2s var(--ease);background:#14120e73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.popup{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);width:min(640px,100%);max-height:calc(100vh - 48px);animation:modal-in .25s var(--ease);flex-direction:column;display:flex;overflow:hidden}.popup-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.popup-header h3{color:var(--ink-900);margin:0;font-size:15.5px;font-weight:600}.popup-header-meta{color:var(--ink-500);margin-top:3px;font-size:12.5px;line-height:1.4}.popup-close{border-radius:var(--r-sm);width:32px;height:32px;color:var(--ink-500);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.popup-close:hover{background:var(--surface-2);color:var(--ink-900)}.popup-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding:12px 20px 0;display:flex}.popup-tabs.hidden{display:none}.popup-tab{color:var(--ink-600);cursor:pointer;transition:color .12s var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:500}.popup-tab:hover{color:var(--ink-900)}.popup-tab.active{color:var(--clay-700);border-bottom-color:var(--clay-500)}.popup-body{flex:1;padding:18px 20px;overflow-y:auto}.student-picker-overlay{z-index:1160}.student-picker-popup{width:min(920px,100%)}.student-picker-body{flex-direction:column;flex:1;gap:14px;padding:18px 20px 20px;display:flex;overflow-y:auto}.student-picker-search input{width:100%}.student-picker-current{border-radius:var(--r-md);border:1px solid var(--clay-200);background:var(--clay-50);padding:14px 16px}.student-picker-current-label{text-transform:uppercase;letter-spacing:.08em;color:var(--clay-700);font-size:11.5px;font-weight:600}.student-picker-current-value{color:var(--ink-900);margin-top:4px;font-size:15px;font-weight:700}.student-picker-current-meta{color:var(--ink-600);margin-top:3px;font-size:12px;line-height:1.45}.student-picker-results{flex-direction:column;gap:10px;display:flex}.student-picker-row{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.student-picker-row.active{border-color:var(--clay-300);background:var(--clay-50)}.student-picker-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.student-picker-row-title{color:var(--ink-900);font-size:14px;font-weight:700}.student-picker-row-meta{color:var(--ink-500);font-size:12px;line-height:1.45}.student-picker-empty{border-radius:var(--r-md);border:1px dashed var(--line-2);background:var(--surface-2);color:var(--ink-500);text-align:center;padding:18px 16px;font-size:13px}.student-picker-empty.error{border-color:var(--bad-200);background:var(--bad-50);color:var(--bad-700)}.sub-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.sub-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink-600);cursor:pointer;transition:all .12s var(--ease);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500}.sub-tab:hover{border-color:var(--line-2);color:var(--ink-900)}.sub-tab.active{background:var(--clay-50);border-color:var(--clay-300);color:var(--clay-700)}.char-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin:14px 0 8px;font-size:11.5px;font-weight:600}.char-group-label:first-child{margin-top:0}.char-grid{flex-wrap:wrap;gap:7px;margin-bottom:6px;display:flex}.char-btn{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);min-width:38px;height:38px;color:var(--ink-800);cursor:pointer;transition:border-color .12s var(--ease), background .12s var(--ease), color .12s var(--ease), transform 40ms;padding:0 10px;font-size:14px}.char-btn:hover{border-color:var(--clay-400);background:var(--clay-50)}.char-btn:active{transform:translateY(1px)}.char-btn.lg{min-width:46px;height:46px;font-size:19px}.char-btn.selected{background:var(--clay-500);border-color:var(--clay-500);color:var(--on-brand)}.char-btn.pending{border-color:var(--clay-500);background:var(--clay-50);color:var(--clay-700);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 18.0%, transparent)}.pair-hint,.dropdown-issue-help,.custom-input-area>p{color:var(--info-700);background:var(--info-50);border:1px solid var(--clay-200);border-radius:var(--r-md);margin-bottom:14px;padding:9px 12px;font-size:12.5px;line-height:1.45}.custom-input-area>p{background:var(--surface-2);border-color:var(--line);color:var(--ink-600)}.popup-special-section{margin-bottom:12px}.popup-special-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin-bottom:8px;font-size:11.5px;font-weight:600}.dropdown-issue-label{color:var(--ink-700);font-size:12.5px;font-weight:500}.dropdown-issue-select{appearance:none;background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23807B70' stroke-width='1.6' stroke-linecap='round'><path d='M3 5l3 3 3-3'/></svg>") no-repeat right 10px center;border:1px solid var(--line-2);border-radius:var(--r-md);width:100%;height:38px;color:var(--ink-900);cursor:pointer;margin-top:6px;padding:0 30px 0 12px;font-size:13.5px}.dropdown-issue-select:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 15%, transparent);outline:none}.dropdown-issue-help{margin-top:8px;margin-bottom:0}.custom-input-row{gap:8px;margin-bottom:12px;display:flex}.custom-input-row input{border:1px solid var(--line-2);border-radius:var(--r-md);height:38px;color:var(--ink-900);flex:1;padding:0 12px;font-size:14px}.custom-input-row input:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 15%, transparent);outline:none}.custom-chips{color:var(--ink-500);font-size:12px}.custom-input-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.custom-input-actions-note{color:var(--ink-500);font-size:11.5px;line-height:1.4}.custom-keyboard{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--surface-2));box-shadow:var(--sh-2);border-radius:22px;overflow:hidden}.keyboard-dock{width:min(var(--keyboard-dock-width,780px), calc(100vw - 32px));max-height:min(var(--keyboard-dock-max-height,calc(100vh - 32px)), calc(100vh - 32px));z-index:1125;touch-action:none;will-change:left, top;pointer-events:auto;position:fixed;bottom:16px;right:16px}.keyboard-dock.positioned{bottom:auto;right:auto}.keyboard-dock.dragging{z-index:1130}.keyboard-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.keyboard-dock.dragging .keyboard-drag-handle{cursor:grabbing}.custom-keyboard-header{padding:var(--keyboard-pad-y,14px) var(--keyboard-pad-x,16px) calc(var(--keyboard-pad-y,14px) - 2px);border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 62.0%, transparent), color-mix(in srgb, var(--surface) 10.0%, transparent));justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.custom-keyboard-header-xl{align-items:center;gap:10px;padding-top:8px;padding-bottom:8px}.custom-keyboard-header-copy{flex:1;min-width:0}.custom-keyboard-title{color:var(--ink-900);letter-spacing:.01em;font-size:13px;font-weight:700}.custom-keyboard-note{color:var(--ink-500);max-width:var(--keyboard-note-max-width,56ch);margin-top:2px;font-size:11.5px;line-height:1.45}.keyboard-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.keyboard-header-actions-xl{flex-wrap:nowrap;gap:6px}.keyboard-toggle-btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-700);cursor:pointer;white-space:nowrap;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);border-radius:999px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:600}.keyboard-toggle-btn:hover{background:var(--surface-2);border-color:var(--ink-300)}.keyboard-toggle-btn-small{min-width:72px;padding-inline:10px}.keyboard-size-tabs{border:1px solid var(--line-2);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.keyboard-size-btn{color:var(--ink-600);cursor:pointer;width:34px;height:28px;transition:background .12s var(--ease), color .12s var(--ease), box-shadow .12s var(--ease);background:0 0;border:0;border-radius:999px;font-size:11px;font-weight:700}.keyboard-size-btn.active{background:var(--clay-50);color:var(--clay-700);box-shadow:inset 0 0 0 1px var(--clay-300)}.keyboard-switches{padding:12px var(--keyboard-pad-x,16px) 0;flex-direction:column;gap:10px;display:flex}.keyboard-lang-tabs,.keyboard-view-tabs{flex-wrap:wrap;gap:6px;display:flex}.keyboard-lang,.keyboard-view{border:1px solid var(--line);background:var(--surface);color:var(--ink-600);cursor:pointer;transition:all .12s var(--ease);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.keyboard-lang.active,.keyboard-view.active{background:var(--clay-50);border-color:var(--clay-300);color:var(--clay-700)}.keyboard-grid-wrap{gap:var(--keyboard-row-gap,8px);padding:12px var(--keyboard-pad-x,16px) var(--keyboard-pad-y,16px);flex-direction:column;display:flex;overflow-y:auto}.keyboard-row{gap:var(--keyboard-gap,6px);flex-wrap:nowrap;display:flex}.keyboard-key{min-width:0;min-height:var(--keyboard-key-min-height,42px);padding:0 calc(var(--keyboard-gap,6px) * 1.5);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-800);font-size:var(--keyboard-key-font-size,14px);cursor:pointer;transition:border-color .12s var(--ease), background .12s var(--ease), transform 40ms;border-radius:14px;flex:1 1 0;font-weight:500;overflow:hidden}.keyboard-key:hover{border-color:var(--clay-400);background:var(--clay-50)}.keyboard-key:active{transform:translateY(1px)}.keyboard-key.wide{flex:1.8 1 0}.keyboard-key.action{color:var(--ink-600);font-size:12px;font-weight:600}.keyboard-key.action.active{background:var(--clay-50);border-color:var(--clay-300);color:var(--clay-700)}.keyboard-actions{margin-top:2px}@media (max-width:860px){.keyboard-dock{width:auto;max-height:calc(100vh - 24px);bottom:12px;left:12px;right:12px}.custom-keyboard{box-shadow:var(--sh-3)}}@media (max-width:560px){.custom-input-row{flex-direction:column}.custom-input-row .btn{justify-content:center;width:100%}.custom-input-actions{align-items:stretch}.custom-input-actions .keyboard-toggle-btn{width:100%}.keyboard-switches{padding-top:10px}.keyboard-header-actions{justify-content:flex-start;width:100%}.keyboard-header-actions-xl{justify-content:flex-end;width:auto}.keyboard-row{gap:4px}.keyboard-key{min-height:40px;padding:0 8px;font-size:13px}}.popup-footer{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:14px 20px;display:flex}.selected-preview{min-height:22px}.preview-empty{color:var(--ink-400);font-size:12.5px}.preview-output{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;padding:10px 12px}.preview-output-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:10.5px;font-weight:600}.preview-output-text{color:var(--ink-900);margin-top:3px;font-size:13px;line-height:1.45}.preview-chips{flex-wrap:wrap;gap:6px;display:flex}.sel-chip{background:var(--clay-50);border:1px solid var(--clay-200);color:var(--clay-700);border-radius:999px;align-items:center;gap:5px;padding:3px 5px 3px 10px;font-size:12.5px;display:inline-flex}.sel-chip button{width:18px;height:18px;color:var(--clay-600);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.sel-chip button:hover{background:var(--clay-100)}.popup-actions{justify-content:flex-end;gap:8px;display:flex}.btn.btn-sm{height:32px;padding:0 12px;font-size:12.5px}.dialog-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;animation:fadein .2s var(--ease);background:#14120e73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);text-align:center;width:min(420px,100%);animation:modal-in .25s var(--ease);padding:28px 26px 22px}.dialog-icon{background:var(--bad-50);width:56px;height:56px;color:var(--bad-700);border-radius:16px;place-items:center;margin:0 auto 16px;display:grid}.dialog-title{color:var(--ink-900);margin:0;font-size:18px;font-weight:600}.dialog-body{color:var(--ink-600);margin:8px 0 22px;font-size:13.5px;line-height:1.5}.dialog-actions{justify-content:center;gap:10px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--ink-700);font-size:12.5px;font-weight:500}.form-group .required{color:var(--clay-500)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--line-2);border-radius:var(--r-md);width:100%;height:38px;color:var(--ink-900);background:var(--surface);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);padding:0 12px;font-size:13.5px}.form-group textarea{resize:vertical;height:auto;min-height:120px;padding:10px 12px;line-height:1.5}.form-group select{appearance:none;background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23807B70' stroke-width='1.6' stroke-linecap='round'><path d='M3 5l3 3 3-3'/></svg>") no-repeat right 10px center;cursor:pointer;padding-inline-end:30px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 15%, transparent);outline:none}.form-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 20px;display:flex}.form-actions.nav-actions{border-top:0;padding:4px 0 0}.page-header{margin-bottom:22px}.page-header h1{letter-spacing:-.02em;color:var(--ink-900);margin:0;font-size:26px;font-weight:600;line-height:1.2}.page-header p{color:var(--ink-500);max-width:760px;margin:6px 0 0;font-size:14px;line-height:1.55}.btn .btn-ic{place-items:center;display:inline-grid}.btn .btn-ic svg{display:block}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.choice-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);cursor:pointer;text-align:start;transition:transform .15s var(--ease), box-shadow .2s var(--ease), border-color .15s var(--ease);flex-direction:column;align-items:flex-start;gap:14px;padding:22px 20px;display:flex}.choice-card:hover{box-shadow:var(--sh-2);border-color:var(--clay-300);transform:translateY(-2px)}.choice-card .choice-ic{background:var(--clay-50);width:46px;height:46px;color:var(--clay-600);border-radius:12px;place-items:center;display:grid}.choice-card .choice-title{color:var(--ink-900);font-size:16px;font-weight:600}.choice-card .choice-meta{color:var(--ink-500);font-size:12.5px}.choice-card .choice-cta{color:var(--clay-600);align-items:center;gap:6px;margin-top:auto;font-size:13px;font-weight:500;display:inline-flex}.viewer-shell{flex-direction:column;gap:16px;display:flex}.viewer-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);justify-content:center;align-items:center;min-height:60vh;padding:20px 76px;display:flex;position:relative;overflow:hidden}.viewer-stage img{object-fit:contain;border-radius:var(--r-sm);width:auto;max-width:100%;height:auto;max-height:calc(100vh - 280px);display:block}.viewer-nav{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);width:48px;height:64px;box-shadow:var(--sh-1);color:var(--ink-700);cursor:pointer;z-index:5;transition:background .12s var(--ease), color .12s var(--ease), box-shadow .12s var(--ease);place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav:hover:not(:disabled){background:var(--clay-50);color:var(--clay-700);box-shadow:var(--sh-2)}.viewer-nav:disabled{opacity:.35;cursor:default}.viewer-nav.prev{inset-inline-start:14px}.viewer-nav.next{inset-inline-end:14px}[dir=rtl] .viewer-nav svg{transform:scaleX(-1)}.viewer-counter{background:var(--ink-900);color:var(--surface);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:500;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.viewer-thumbs{gap:8px;padding:6px 2px;display:flex;overflow-x:auto}.viewer-thumb{border-radius:var(--r-sm);border:2px solid var(--line);background:var(--surface-2);cursor:pointer;width:64px;height:80px;transition:border-color .12s var(--ease);flex:none;padding:0;overflow:hidden}.viewer-thumb img{object-fit:cover;width:100%;height:100%;display:block}.viewer-thumb.active{border-color:var(--clay-500)}.viewer-empty{text-align:center;color:var(--ink-500);padding:80px 20px}.page-fullscreen{z-index:1000;background:#0b1016;max-width:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.page-fullscreen .fullscreen-exit-wrap{top:10px;z-index:1010;position:fixed;inset-inline-start:10px}.page-fullscreen .fullscreen-exit{color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff14;border:0;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.page-fullscreen .fullscreen-exit:hover{background:#ffffff24}.page-fullscreen .viewer-shell-fullscreen{gap:0;margin:0;position:fixed;inset:0}.page-fullscreen .viewer-stage-fullscreen{width:100vw;height:100vh;min-height:100vh;box-shadow:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;padding:14px;position:fixed;inset:0;overflow:hidden}.page-fullscreen .viewer-stage-fullscreen img{object-fit:contain;pointer-events:none;border-radius:0;width:auto;max-width:calc(100vw - 28px);height:auto;max-height:calc(100vh - 28px)}.page-fullscreen .fullscreen-loading{color:#ffffffc7;place-items:center;font-size:14px;display:grid;position:fixed;inset:0}.page-fullscreen .page-head,.page-fullscreen .viewer-thumbs,.page-fullscreen .viewer-nav,.page-fullscreen .viewer-counter{display:none!important}@media (max-width:640px){.template-options{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{justify-content:center;width:100%}.viewer-stage{min-height:46vh;padding:14px 14px 56px}.viewer-nav{width:40px;height:52px}.viewer-nav.prev{inset-inline-start:8px}.viewer-nav.next{inset-inline-end:8px}.issue-item{gap:8px}.page-fullscreen .viewer-stage-fullscreen{padding:10px}.page-fullscreen .viewer-stage-fullscreen img{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.saved-reports-layout{grid-template-columns:1fr}.saved-reports-sidebar{position:static}.folder-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.report-detail-topbar{flex-direction:column;align-items:flex-start}.report-detail-topbar-actions{flex-wrap:wrap;width:100%}}.student-unassigned{color:var(--warn-700);background:var(--warn-50);border:1px solid var(--warn-200,var(--line));white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.student-plan-chips{flex-wrap:wrap;gap:4px;display:flex}.student-plan-chip{white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:1px 6px;font-size:10.5px;font-weight:650;line-height:1.5;display:inline-flex}.student-plan-chip .dot{border-radius:50%;flex:none;width:6px;height:6px}.student-therapy-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.student-therapy-head .lbl{color:var(--ink-600);font-size:12px;font-weight:650}.student-therapy-head .org-inline-select{min-width:190px}.dash{flex-direction:column;gap:18px;display:flex}.dash-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-head h1{margin:0;font-size:24px}.dash-head .sub{color:var(--ink-500);margin-top:2px;font-size:13px}.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.dash-kpi{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);cursor:pointer;text-align:left;transition:box-shadow .12s var(--ease), transform 50ms var(--ease);flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;display:flex}.dash-kpi:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.dash-kpi .ic{background:var(--clay-50,#e7f1f8);width:30px;height:30px;color:var(--clay-600);border-radius:9px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.dash-kpi .v{color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.05}.dash-kpi .l{color:var(--ink-500);font-size:12px}.dash-kpi.warn .ic{background:var(--warn-50);color:var(--warn-700)}.dash-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.dash-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.dash-card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:13px 16px;display:flex}.dash-card-head h3{margin:0;font-size:14px}.dash-card-sub{color:var(--ink-500);font-size:12px}.dash-agenda{flex-direction:column;margin:0;padding:4px;list-style:none;display:flex}.dash-agenda-row{border-radius:var(--r-md);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;display:flex}.dash-agenda-row:hover{background:var(--surface-2)}.dash-agenda-row .t{color:var(--ink-700);font-variant-numeric:tabular-nums;flex:none;width:58px;font-size:12px;font-weight:650}.dash-agenda-row .rail{border-radius:3px;flex:none;width:4px;height:26px}.dash-agenda-row .who{flex:1;min-width:0}.dash-agenda-row .who .nm{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.dash-agenda-row .who .mt{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.dash-agenda-row .st{text-transform:capitalize;background:var(--surface-2);color:var(--ink-600);border:1px solid var(--line);border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:650}.dash-agenda-row .st.st-completed{background:var(--good-50);color:var(--good-700);border-color:#0000}.dash-agenda-row .st.st-no_show{background:var(--bad-50);color:var(--bad-700);border-color:#0000}.dash-empty{color:var(--ink-500);align-items:center;gap:8px;padding:22px 16px;font-size:13px;display:flex}.dash-empty svg{color:var(--good-500)}.dash-launchers{grid-template-columns:1fr 1fr;align-content:start;gap:10px;display:grid}.dash-launchers.full{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dash-launch{text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;box-shadow:var(--sh-1);transition:box-shadow .12s var(--ease), transform 50ms var(--ease);align-items:center;gap:11px;padding:13px 14px;display:flex}.dash-launch:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.dash-launch .ic{background:var(--surface-2);width:38px;height:38px;color:var(--clay-600);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dash-launch .tx{flex:1;min-width:0}.dash-launch .lb{color:var(--ink-900);align-items:center;gap:7px;font-size:13.5px;font-weight:650;display:flex}.dash-launch .sb{color:var(--ink-500);margin-top:1px;font-size:11.5px;display:block}.dash-launch>svg{color:var(--ink-300);flex:none}.dash-badge{background:var(--clay-500);color:var(--on-brand);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}@media (max-width:860px){.dash-body{grid-template-columns:1fr}.dash-launchers{grid-template-columns:1fr 1fr}}@media (max-width:520px){.dash-launchers,.dash-launchers.full{grid-template-columns:1fr}}.parent-access-empty p{color:var(--ink-600);max-width:62ch;margin:0 0 14px}.parent-access-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px;display:grid}.parent-access-form label{flex-direction:column;gap:6px;display:flex}.parent-access-form label span{color:var(--ink-600);font-size:12px;font-weight:600}.parent-access-form input,.parent-access-form select{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);height:38px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);outline:none;padding:0 10px}.parent-access-form input:focus,.parent-access-form select:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent)}.parent-access-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.parent-access-summary>div{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:10px 12px}.parent-access-summary span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500);margin-bottom:4px;font-size:11px;display:block}.parent-access-summary strong{color:var(--ink-900);font-size:14px}.parent-access-summary .tone-good{color:var(--good-700)}.parent-access-summary .tone-bad{color:var(--bad-700)}.parent-access-actions{flex-wrap:wrap;gap:8px;display:flex}.parent-access-slip{border:1px solid var(--good-500);background:var(--good-50);border-radius:var(--r-lg);margin-top:18px;padding:14px 16px}.parent-access-slip-head{color:var(--good-700);align-items:center;gap:8px;margin-bottom:6px;display:flex}.parent-access-slip p{color:var(--ink-700);margin:0 0 12px;font-size:13px}.parent-access-slip dl{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 12px;display:grid}.parent-access-slip dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500);margin-bottom:3px;font-size:11px}.parent-access-slip dd{color:var(--ink-900);word-break:break-all;margin:0;font-size:15px;font-weight:600}.goals-plan-card{border-left:3px solid var(--clay-400);margin-bottom:16px}.goals-plan-card textarea{width:100%;margin-top:4px}.goals-months-field{color:var(--ink-500);align-items:center;gap:6px;font-size:12px;display:inline-flex}.goals-months-field input{text-align:center;width:56px;padding:4px 6px}.goals-periods-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.goals-partition-pill{background:var(--surface-2);color:var(--ink-500);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:650}.goals-partition-pill.complete{background:var(--good-50);color:var(--good-700)}.goals-partition-pill.over{background:var(--bad-50);color:var(--bad-700)}.goals-period-list{gap:10px;margin-bottom:14px;display:grid}.goals-period-card{border-left:3px solid var(--line)}.goals-period-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.goals-period-label-input{background:0 0;border:none;border-radius:6px;flex:1;min-width:120px;padding:2px 4px;font-weight:650}.goals-period-label-input:hover,.goals-period-label-input:focus{background:var(--surface-2)}.goals-period-items{width:100%;margin-top:2px}.goals-new-period{border-style:dashed;border-left-color:var(--line)}.goals-sessions-toggle{color:var(--clay-600);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:4px 0;font-size:12px;font-weight:600}.goals-sessions-toggle:hover{text-decoration:underline}.goals-session-list{gap:6px;margin-top:8px;display:grid}.goals-session-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.goals-session-row-toggle{cursor:pointer;width:100%;color:var(--ink-700);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;display:flex}.goals-session-row-toggle:hover{background:var(--surface-2)}.goals-session-mini{border-top:1px solid var(--line);padding:4px 12px 12px}.goals-mini-checkbox-label{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.date-input{border:1px solid var(--line);background:var(--surface);box-sizing:border-box;border-radius:10px;align-items:center;gap:0;width:100%;height:38px;padding:0 10px;display:inline-flex}.date-input:focus-within{border-color:var(--clay-400);outline:2px solid var(--clay-100)}.date-input-seg{text-align:center;color:var(--ink-900);-moz-appearance:textfield;width:28px;min-width:0;font-size:14px;background:0 0!important;border:none!important;outline:none!important;padding:0!important}.date-input-seg.date-input-year{width:44px}.date-input-seg::placeholder{color:var(--ink-400)}.date-input-sep{color:var(--ink-400);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px}.auth-field .date-input{border-radius:10px}.su-card{width:min(100%,560px)}.su-step-kicker{justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;display:flex}.signup-step-badge{align-items:center;gap:8px;display:flex}.signup-step-dots{gap:5px;display:flex}.signup-dot{background:var(--line-2);border-radius:50%;width:7px;height:7px;transition:background .18s}.signup-dot.active{background:var(--clay-500)}.signup-dot.done{background:var(--good-400)}.signup-step-label{color:var(--ink-500);letter-spacing:.03em;font-size:11px;font-weight:600}.su-field{flex-direction:column;gap:6px;display:flex}.su-label{color:var(--ink-700);align-items:baseline;gap:6px;font-size:12px;font-weight:650;display:flex}.su-hint{color:var(--ink-400);font-size:11px;font-weight:400}.su-input{border:1px solid var(--line-2);background:var(--surface);box-sizing:border-box;border-radius:11px;outline:none;width:100%;padding:11px 13px;font-size:14px;transition:border-color .14s,box-shadow .14s}.su-input:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 11.0%, transparent)}.su-abbr{text-transform:uppercase;letter-spacing:.06em;max-width:140px}.su-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.su-error{background:var(--bad-50);color:var(--bad-700);border:1px solid var(--bad-200,#f5c6c0);border-radius:11px;align-items:flex-start;gap:8px;padding:11px 13px;font-size:13px;display:flex}.su-error svg{flex-shrink:0;margin-top:1px}.su-colour-grid{grid-template-columns:repeat(8,1fr);gap:6px;padding:10px;display:grid}.su-swatch{background:var(--swatch);cursor:pointer;border:2px solid #0000;border-radius:8px;width:28px;height:28px;transition:transform .12s,border-color .12s}.su-swatch:hover{transform:scale(1.15)}.su-swatch.selected{border-color:var(--ink-800);box-shadow:inset 0 0 0 2px #fff}.su-category-list{flex-direction:column;gap:10px;display:flex}.su-category-row{align-items:center;gap:8px;display:flex;position:relative}.su-cat-swatch-preview{border:1px solid #00000014;border-radius:7px;flex-shrink:0;width:24px;height:24px}.su-cat-name{flex:1}.su-cat-colour-btn{border:1px solid var(--line-2);background:var(--swatch,var(--surface-alt));width:34px;height:34px;color:var(--on-brand);cursor:pointer;filter:drop-shadow(0 1px 2px #0000002e);border-radius:9px;flex-shrink:0;place-items:center;transition:opacity .12s;display:grid}.su-cat-colour-btn:hover{opacity:.82}.su-cat-remove{border:1px solid var(--line-2);background:var(--surface-alt);width:28px;height:28px;color:var(--ink-500);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;transition:background .12s,color .12s;display:grid}.su-cat-remove:hover{background:var(--bad-50);color:var(--bad-600)}.su-colour-popover{z-index:80;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-3);border-radius:14px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.su-colour-done{border-top:1px solid var(--line-1);background:var(--surface-alt);width:100%;color:var(--ink-700);cursor:pointer;border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.su-add-row{color:var(--clay-600);border:1px dashed var(--clay-300);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;margin-top:2px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:flex}.su-add-row:hover{background:var(--clay-50);border-color:var(--clay-400)}.su-day-grid{flex-wrap:wrap;gap:6px;display:flex}.su-day-btn{border:1.5px solid var(--line-2);background:var(--surface-alt);color:var(--ink-600);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:650;transition:all .14s}.su-day-btn.active{background:var(--clay-100);border-color:var(--clay-400);color:var(--clay-700)}.su-break-list{flex-direction:column;gap:8px;display:flex}.su-break-row{align-items:center;gap:8px;display:flex}.su-time{max-width:120px}.su-break-to{color:var(--ink-500);flex-shrink:0;font-size:12px}.su-label-row{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.su-add-inline{color:var(--clay-600);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:2px 4px;font-size:11px;font-weight:650;display:flex}.su-invite-list{flex-direction:column;gap:8px;display:flex}.su-invite-row{align-items:center;gap:8px;display:flex}.su-invite-email{flex:1}.su-invite-role{flex-shrink:0;width:136px}.su-role-legend{background:var(--surface-alt);color:var(--ink-600);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;font-size:11.5px;line-height:1.5;display:flex}.su-btn-row{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.su-btn-main{align-items:center;gap:6px;display:flex}.su-invite-results{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.su-invite-result{border:1px solid;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.su-invite-result.ok{background:var(--good-50);color:var(--good-700);border-color:var(--good-200,#bbdfc0)}.su-invite-result.fail{background:var(--bad-50);color:var(--bad-700);border-color:var(--bad-200,#f5c6c0)}.su-result-label{margin-left:auto;font-size:11px;font-weight:600}.su-done-box{background:var(--good-50);border:1px solid var(--good-300,#90d09a);color:var(--good-800,#1e6329);border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}html[data-auth-screen] .app{grid-template-rows:0 1fr!important;grid-template-columns:0 1fr!important}html[data-auth-screen] .side,html[data-auth-screen] .topbar{display:none!important}html[data-auth-screen] .main{grid-area:1/1/-1/-1;padding:0;overflow:auto}.org-centre-setup{flex-direction:column;gap:16px;display:flex}.org-setup-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-block:8px 0;display:flex}.org-setup-head h2{margin:0}.org-field-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:14px;display:grid}.org-field-grid.narrow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.org-field-grid+.org-field-grid,.org-set-status+.org-field-grid{margin-top:14px}.org-set-field{flex-direction:column;gap:6px;min-width:0;display:flex}.org-set-field>label{color:var(--ink-600);font-size:12px;font-weight:600}.org-set-field input,.org-set-field select{border:1px solid var(--line-2);border-radius:var(--r-md);width:100%;min-width:0;height:40px;font:inherit;background:var(--surface);color:var(--ink-800);padding:0 12px;font-size:13.5px}.org-set-field input:focus,.org-set-field select:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent);outline:none}.org-set-hint{color:var(--ink-400);font-size:11.5px;line-height:1.45}.org-set-note{color:var(--ink-600);font-size:12.5px;line-height:1.55}.org-set-note strong{color:var(--ink-800)}.org-choice-list{flex-direction:column;gap:10px;display:flex}.org-choice{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:10px;display:grid}.org-choice>input{width:16px;height:16px;accent-color:var(--clay-600);flex:none;margin:1px 0 0}.org-choice-text{flex-direction:column;gap:3px;min-width:0;display:flex}.org-choice-text strong{color:var(--ink-900);font-size:13px;font-weight:600}.org-choice-text span{color:var(--ink-500);font-size:12px;line-height:1.5}.org-set-group{margin-top:18px}.org-set-group:first-child{margin-top:0}.org-set-group>h4{color:var(--ink-800);margin:0 0 4px;font-size:12.5px;font-weight:650}.org-set-group>.org-set-note{margin-bottom:10px}.org-disclosure{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.org-disclosure>summary{cursor:pointer;color:var(--ink-700);align-items:center;gap:6px;font-size:12.5px;font-weight:600;list-style:none;display:flex}.org-disclosure>summary::-webkit-details-marker{display:none}.org-disclosure>summary:before{content:"";border-right:1.5px solid var(--ink-400);border-bottom:1.5px solid var(--ink-400);width:6px;height:6px;transition:transform .16s var(--ease);transform:rotate(-45deg)}.org-disclosure[open]>summary:before{transform:rotate(45deg)}.org-disclosure>summary:hover{color:var(--ink-900)}.org-disclosure-body{margin-top:12px}.org-set-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.org-set-status{color:var(--ink-700);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;font-size:12.5px;display:flex}@media (max-width:720px){.org-centre-setup{gap:14px}.org-field-grid{grid-template-columns:1fr;gap:12px}.org-set-actions>.btn{flex:auto;justify-content:center}}.org-grow-input{flex:auto;min-width:140px}.org-abbr-input{text-transform:uppercase;max-width:160px}.org-role-tag{margin-inline-start:6px}.org-cat-archived .org-role-section-label{margin-top:16px}.org-break-add+.sch-day-toggles{margin-top:10px}.org-centre-setup .org-inline-select,.org-centre-setup input[type=time],.org-centre-setup input[type=number],.org-centre-setup .org-color-input{min-height:40px}.org-page .crumb-sep{color:var(--ink-300)}.org-page .crumb-current{color:var(--ink-800)}.org-page .dashboard-grid>.col{gap:16px}.org-intro-copy{color:var(--ink-500);font-size:14px;line-height:1.6}.org-invite-form,.org-invite-alert{margin-bottom:20px}.org-alert-title{margin-bottom:6px;font-weight:600}.org-sub-wide{max-width:520px}.org-note-top{margin-top:12px}.org-note-bottom{margin-bottom:12px}.org-link-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.org-link-input{flex:320px;min-width:0}.org-actions-col{text-align:end}.org-row-end{flex-wrap:wrap;justify-content:flex-end}.org-role-body{padding:0 16px 16px}.org-role-section-label-spaced{margin-top:14px}@media (max-width:720px){.org-page .dashboard-grid>.col{gap:14px}.org-row-end{justify-content:flex-start}.org-link-input{flex-basis:100%}.org-sub-wide{max-width:none}}@media (max-width:860px){.org-page .student-table{min-width:620px}.org-page .student-table-wrap{-webkit-overflow-scrolling:touch}}.cir-shell{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:20px;display:grid}.cir-rail{top:calc(var(--top-h) + 16px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-1);flex-direction:column;gap:12px;padding:14px;display:flex;position:sticky}.cir-rail-progress{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:2px 4px 12px;display:flex}.cir-rail-progress-row{color:var(--ink-500);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.cir-rail-progress-row strong{color:var(--clay-700);font-variant-numeric:tabular-nums;font-size:15px}.cir-meter{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.cir-meter span{border-radius:inherit;background:var(--clay-500);height:100%;transition:width .3s var(--ease);display:block}.cir-save-status{color:var(--ink-500);font-size:11.5px}.cir-rail-list{flex-direction:column;gap:2px;display:flex}.cir-rail-item{border-radius:var(--r-md);width:100%;color:var(--ink-700);font:inherit;text-align:left;cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:8px;font-size:13px;display:flex}.cir-rail-item:hover{background:var(--surface-2);color:var(--ink-900)}.cir-rail-item.active{background:var(--clay-50);color:var(--clay-800);font-weight:600}.cir-rail-index{border:1px solid var(--line-2);background:var(--surface);width:22px;height:22px;color:var(--ink-500);border-radius:999px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.cir-rail-item.active .cir-rail-index{border-color:var(--clay-500);color:var(--clay-600)}.cir-rail-item.complete .cir-rail-index{border-color:var(--good-500);background:var(--good-500);color:var(--on-brand)}.cir-rail-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.cir-rail-count{color:var(--ink-400);font-variant-numeric:tabular-nums;font-size:11.5px}.cir-stage{flex-direction:column;gap:14px;min-width:0;display:flex}.cir-stage-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cir-view-toggle{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px;display:inline-flex}.cir-view-toggle button{height:30px;color:var(--ink-600);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex}.cir-view-toggle button.active{background:var(--ink-900);color:var(--surface)}.cir-dots{align-items:center;gap:6px;display:flex}.cir-dots span{background:var(--line-2);width:8px;height:8px;transition:width .2s var(--ease), background .2s var(--ease);border-radius:999px}.cir-dots span.done{background:var(--clay-300)}.cir-dots span.current{background:var(--clay-500);width:22px}.cir-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-2);animation:cir-card-in-forward .28s var(--ease);border-radius:22px;outline:none;flex-direction:column;gap:22px;padding:30px 32px 28px;display:flex;position:relative}.cir-card.back{animation-name:cir-card-in-back}.cir-card:before{content:"";border:1px solid var(--line);background:var(--surface-2);z-index:-1;border-top:0;border-radius:0 0 20px 20px;height:14px;position:absolute;inset:auto 18px -7px}.cir-card:focus-visible{box-shadow:var(--sh-2), 0 0 0 3px color-mix(in srgb, var(--clay-500) 18.0%, transparent)}@keyframes cir-card-in-forward{0%{opacity:0;transform:translate(18px)scale(.99)}to{opacity:1;transform:none}}@keyframes cir-card-in-back{0%{opacity:0;transform:translate(-18px)scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cir-card,.cir-card.back{animation:none}}.cir-card-head{flex-direction:column;gap:6px;display:flex}.cir-card-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--clay-600);align-items:center;gap:10px;font-size:11.5px;font-weight:600;display:flex}.cir-card-kicker span+span{color:var(--ink-400);letter-spacing:.04em}.cir-card-kicker span+span:before{content:"·";margin-right:10px}.cir-card-head h2{letter-spacing:-.01em;color:var(--ink-900);text-wrap:balance;margin:0;font-size:clamp(20px,2.4vw,26px);font-weight:650;line-height:1.25}.cir-card-help{color:var(--ink-500);max-width:62ch;margin:0;font-size:13.5px;line-height:1.5}.cir-body{flex-direction:column;gap:22px;display:flex}.cir-block{flex-direction:column;gap:10px;display:flex}.cir-block-label{color:var(--ink-800);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.cir-optional,.cir-count{background:var(--surface-2);color:var(--ink-500);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.cir-count{background:var(--clay-50);color:var(--clay-700)}.cir-options{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.cir-options.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cir-option{border:1.5px solid var(--line);background:var(--surface);min-height:52px;color:var(--ink-800);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s var(--ease), background .12s var(--ease), transform .12s var(--ease), box-shadow .12s var(--ease);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;line-height:1.4;display:flex}.cir-option:hover{border-color:var(--clay-200);background:var(--paper);box-shadow:var(--sh-1);transform:translateY(-1px)}.cir-option:active{transform:translateY(0)scale(.99)}.cir-option:focus-visible{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 16.0%, transparent);outline:none}.cir-option.active{border-color:var(--clay-500);background:var(--clay-50);color:var(--ink-900)}.cir-option-mark{border:1.5px solid var(--line-2);background:var(--surface);width:20px;height:20px;color:var(--on-brand);transition:background .12s var(--ease), border-color .12s var(--ease);border-radius:999px;flex:none;place-items:center;display:grid}.cir-option-mark.square{border-radius:6px}.cir-option.active .cir-option-mark{background:var(--clay-500);border-color:var(--clay-500)}.cir-option-label{flex:auto;min-width:0}.cir-kbd{border:1px solid var(--line-2);background:var(--surface);min-width:20px;height:20px;color:var(--ink-500);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;font-family:inherit;font-size:10.5px;font-weight:600;display:inline-grid}.cir-option .cir-kbd{opacity:0;transition:opacity .12s var(--ease)}.cir-option:hover .cir-kbd,.cir-card:focus-within .cir-option .cir-kbd{opacity:1}.cir-options-foot{justify-content:space-between;align-items:center;gap:10px;min-height:22px;display:flex}.cir-foot-note{color:var(--ink-500);font-size:12px}.cir-link{font:inherit;color:var(--clay-600);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.cir-link:hover{text-decoration:underline}.cir-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px;display:grid}.cir-field{flex-direction:column;gap:6px;min-width:0;display:flex}.cir-field.wide{grid-column:1/-1}.cir-field-label{color:var(--ink-700);font-size:12.5px;font-weight:600}.cir-field-help{color:var(--ink-500);font-size:11.5px;line-height:1.45}.cir-field>input,.cir-inline-input,.cir-autotext{border:1.5px solid var(--line-2);background:var(--surface);width:100%;min-width:0;color:var(--ink-900);font:inherit;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:12px;font-size:14px}.cir-field>input,.cir-inline-input{height:46px;padding:0 14px}.cir-field .date-input{border-width:1.5px;border-radius:12px;min-height:46px}.cir-field.readonly>input{background:var(--surface-2);color:var(--ink-600);border-style:dashed}.cir-autotext{resize:none;min-height:46px;padding:12px 14px;line-height:1.5;display:block;overflow:hidden}.cir-field>input:focus,.cir-inline-input:focus,.cir-autotext:focus{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent);outline:none}.cir-field>input::placeholder,.cir-inline-input::placeholder,.cir-autotext::placeholder{color:var(--ink-400)}.cir-inline-input{animation:cir-reveal .2s var(--ease)}.cir-custom{border:1px dashed var(--line-2);background:var(--paper);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.cir-custom-row{align-items:flex-start;gap:8px;display:flex}.cir-custom-row .cir-autotext{background:var(--surface);flex:auto}.cir-custom-row .btn{flex:none;height:46px}.cir-custom-list{flex-wrap:wrap;gap:8px;display:flex}.cir-custom-chip{border:1.5px solid var(--clay-500);background:var(--clay-50);max-width:100%;color:var(--ink-900);animation:cir-reveal .18s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:13px;display:inline-flex}.cir-custom-chip>span{overflow-wrap:anywhere}.cir-custom-chip button{width:22px;height:22px;color:var(--clay-700);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.cir-custom-chip button:hover{background:var(--clay-100)}.cir-yesno{border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.cir-yesno-row{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.cir-yesno-row+.cir-yesno-row{border-top:1px solid var(--line)}.cir-yesno-label{color:var(--ink-800);font-size:14px;line-height:1.45}.cir-segment{background:var(--surface-2);border-radius:999px;flex:none;padding:3px;display:inline-flex}.cir-segment button{min-width:58px;height:32px;color:var(--ink-600);font:inherit;cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.cir-segment button.active.yes{background:var(--clay-500);color:var(--on-brand)}.cir-segment button.active.no{background:var(--surface);color:var(--ink-900);box-shadow:var(--sh-1)}.cir-hint{background:var(--info-50);color:var(--info-700);animation:cir-reveal .2s var(--ease);border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.cir-hint.warn{background:var(--warn-50);color:var(--warn-700)}.cir-hint svg{flex:none;margin-top:1px}@keyframes cir-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cir-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.cir-nav .btn{justify-content:center;min-width:112px}.cir-nav-hint{color:var(--ink-400);align-items:center;gap:4px;font-size:11.5px;display:flex}.cir-nav-sep{background:var(--line-2);width:1px;height:12px;margin:0 8px}.cir-board-wrap{outline:none;flex-direction:column;gap:14px;display:flex}.cir-board-intro{color:var(--ink-500);margin:0;font-size:13px}.cir-board{flex-direction:column;gap:22px;display:flex}.cir-board.compact{gap:16px}.cir-board-section{flex-direction:column;gap:10px;display:flex}.cir-board-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-600);justify-content:space-between;align-items:baseline;font-size:12px;font-weight:600;display:flex}.cir-board-tally{color:var(--ink-400);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:12px}.cir-board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.cir-board.compact .cir-board-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.cir-tile{border:1px solid var(--line);background:var(--surface);min-height:118px;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s var(--ease), transform .12s var(--ease), box-shadow .12s var(--ease);border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}.cir-tile:hover{border-color:var(--clay-200);box-shadow:var(--sh-2);transform:translateY(-2px)}.cir-tile:focus-visible{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 16.0%, transparent);outline:none}.cir-tile.answered{background:linear-gradient(180deg, var(--clay-50), var(--surface) 70%);border-color:var(--clay-100)}.cir-tile.current{border-color:var(--clay-500)}.cir-tile-top{justify-content:space-between;align-items:center;display:flex}.cir-tile-num{color:var(--ink-400);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.cir-dot{background:var(--line-2);border-radius:999px;width:8px;height:8px}.cir-dot.answered{background:var(--clay-500)}.cir-dot.seen{background:var(--good-500)}.cir-tile-title{color:var(--ink-900);font-size:13.5px;font-weight:600;line-height:1.35}.cir-tile-summary{-webkit-line-clamp:3;color:var(--ink-500);-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.cir-tile.open .cir-tile-summary{color:var(--ink-400);font-style:italic}.cir-review{flex-direction:column;gap:18px;display:flex}.cir-review-hero{background:var(--surface-2);border-radius:16px;align-items:center;gap:16px;padding:16px 18px;display:flex}.cir-review-avatar{background:var(--clay-500);width:48px;height:48px;color:var(--on-brand);border-radius:999px;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.cir-review-name{color:var(--ink-900);font-size:17px;font-weight:650}.cir-review-meta{color:var(--ink-500);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12.5px;display:flex}.cir-review-score{flex-direction:column;align-items:flex-end;margin-left:auto;display:flex}.cir-review-score strong{color:var(--clay-700);font-variant-numeric:tabular-nums;font-size:20px}.cir-review-score span{color:var(--ink-500);font-size:11.5px}@media (max-width:1024px){.cir-shell{grid-template-columns:minmax(0,1fr);gap:14px}.cir-rail{gap:10px;padding:10px;position:static}.cir-rail-progress{padding:0 4px 10px}.cir-rail-list{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;gap:6px;overflow-x:auto}.cir-rail-list::-webkit-scrollbar{display:none}.cir-rail-item{border:1px solid var(--line);border-radius:999px;flex:none;width:auto;padding:7px 12px 7px 8px}.cir-rail-item.active{border-color:var(--clay-300)}.cir-rail-title{overflow:visible}}@media (max-width:640px){.cir-card{border-radius:18px;gap:18px;padding:22px 18px 20px}.cir-options{grid-template-columns:minmax(0,1fr)}.cir-options.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.cir-option{min-height:48px}.cir-kbd,.cir-nav-hint{display:none}.cir-fields{grid-template-columns:minmax(0,1fr)}.cir-yesno-row{flex-direction:column;align-items:stretch;gap:10px}.cir-segment{align-self:flex-start}.cir-board-grid,.cir-board.compact .cir-board-grid{grid-template-columns:minmax(0,1fr)}.cir-tile{min-height:0}.cir-review-hero{flex-wrap:wrap}.cir-review-score{align-items:flex-start;margin-left:0}.cir-nav{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 -16px;position:sticky;bottom:0}.cir-nav .btn{flex:1 1 0;min-width:0}.cir-dots{display:none}}.new-student-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;margin-top:16px;display:grid}.new-student-mode{border:1.5px solid var(--line);background:var(--surface);color:inherit;transition:border-color .12s var(--ease), background .12s var(--ease), box-shadow .12s var(--ease);border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.new-student-mode:hover{border-color:var(--clay-200);box-shadow:var(--sh-1)}.new-student-mode:focus-visible{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 16.0%, transparent);outline:none}.new-student-mode.active{border-color:var(--clay-500);background:var(--clay-50)}.new-student-mode-icon{background:var(--surface-2);width:34px;height:34px;color:var(--ink-600);border-radius:10px;flex:none;place-items:center;display:grid}.new-student-mode.active .new-student-mode-icon{background:var(--clay-500);color:var(--on-brand)}.new-student-mode-copy{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.new-student-mode-copy strong{color:var(--ink-900);font-size:14px}.new-student-mode-copy span{color:var(--ink-500);font-size:12.5px;line-height:1.45}.new-student-mode-check{border:1.5px solid var(--line-2);width:20px;height:20px;color:var(--on-brand);border-radius:999px;flex:none;place-items:center;display:grid}.new-student-mode.active .new-student-mode-check{background:var(--clay-500);border-color:var(--clay-500)}.cir-form{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}.cir-form.single{grid-template-columns:minmax(0,1fr);max-width:880px}.cir-form-main{flex-direction:column;gap:16px;min-width:0;display:flex}.cir-form-section{scroll-margin-top:calc(var(--top-h) + 16px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-1);padding:22px 24px 8px}.cir-form-section-head{border-bottom:1px solid var(--line);padding-bottom:14px}.cir-form-section-head h2{color:var(--ink-900);margin:0;font-size:17px;font-weight:650}.cir-form-section-head p{color:var(--ink-500);margin:4px 0 0;font-size:12.5px}.cir-form-q{flex-direction:column;gap:12px;padding:18px 0;display:flex}.cir-form-q+.cir-form-q{border-top:1px dashed var(--line)}.cir-form-q-head h3{color:var(--ink-800);margin:0;font-size:14px;font-weight:600}.cir-form-q-head p{color:var(--ink-500);margin:3px 0 0;font-size:12px;line-height:1.45}.cir-form .cir-options{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.cir-form .cir-option{border-radius:12px;min-height:44px;padding:9px 12px;font-size:13px}.cir-form-empty{border:1px dashed var(--clay-300);border-radius:var(--r-xl);background:var(--clay-50);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.cir-form-empty strong{color:var(--ink-900);font-size:14px}.cir-form-empty p{color:var(--ink-600);margin:4px 0 0;font-size:12.5px;line-height:1.45}.cir-form-empty .btn{flex:none}.cir-form-bar{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--sh-2);border-radius:16px;justify-content:flex-end;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;bottom:0}.cir-form-bar-note{color:var(--ink-500);margin-right:auto;font-size:12.5px}@media (max-width:1024px){.cir-form{grid-template-columns:minmax(0,1fr);gap:14px}.cir-form-index{top:var(--top-h);z-index:4;position:sticky}}@media (max-width:640px){.new-student-modes{grid-template-columns:minmax(0,1fr)}.cir-form-section{padding:18px 16px 4px}.cir-form .cir-options{grid-template-columns:minmax(0,1fr)}.cir-form-empty{flex-direction:column;align-items:stretch}.cir-form-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;margin:0 -16px}.cir-form-bar-note{display:none}.cir-form-bar .btn{flex:1 1 0;justify-content:center}}.cir-switch{font:inherit;color:var(--ink-600);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-right:auto;padding:0 4px;font-size:12.5px;font-weight:600;display:inline-flex}.cir-switch-track{background:var(--line-2);width:32px;height:18px;transition:background .15s var(--ease);border-radius:999px;position:relative}.cir-switch-track span{background:var(--surface);width:14px;height:14px;box-shadow:var(--sh-1);transition:transform .15s var(--ease);border-radius:999px;position:absolute;top:2px;left:2px}.cir-switch.on{color:var(--clay-700)}.cir-switch.on .cir-switch-track{background:var(--clay-500)}.cir-switch.on .cir-switch-track span{transform:translate(14px)}.cir-switch:focus-visible{outline:none}.cir-switch:focus-visible .cir-switch-track{box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 20.0%, transparent)}.cir-autoadvance{background:var(--clay-50);color:var(--clay-800);animation:cir-reveal .15s var(--ease);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;font-weight:600;display:flex;position:relative;overflow:hidden}.cir-autoadvance:after{content:"";background:var(--clay-500);transform-origin:0;width:100%;height:3px;animation:.7s linear forwards cir-advance-bar;position:absolute;bottom:0;left:0}@keyframes cir-advance-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.cir-autoadvance:after{animation:none}}.cir-view{flex-direction:column;gap:18px;display:flex}.cir-view-filter{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.cir-view-filter::-webkit-scrollbar{display:none}.cir-view-filter button{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--ink-700);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.cir-view-filter button span{color:var(--ink-400);font-size:11px;font-weight:600}.cir-view-filter button.active{border-color:var(--clay-500);background:var(--clay-50);color:var(--clay-800)}.cir-view-filter button.active span{color:var(--clay-600)}.cir-view-section{flex-direction:column;gap:10px;display:flex}.cir-view-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.cir-view-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cir-view-card h4{color:var(--ink-900);margin:0;font-size:13.5px;font-weight:600;line-height:1.35}.cir-view-answers{flex-direction:column;gap:8px;display:flex}.cir-view-answer{flex-direction:column;gap:5px;min-width:0;display:flex}.cir-view-answer.row-style{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px}.cir-view-answer.row-style strong{color:var(--ink-900);text-align:right;overflow-wrap:anywhere;font-size:13px;font-weight:600}.cir-view-label{color:var(--ink-500);font-size:12px;line-height:1.4}.cir-view-chips{flex-wrap:wrap;gap:6px;display:flex}.cir-view-chip{background:var(--clay-50);border:1px solid var(--clay-100);color:var(--clay-800);border-radius:999px;padding:4px 10px;font-size:12.5px;line-height:1.4}.cir-view-note{color:var(--ink-800);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}@media (max-width:640px){.cir-view-grid{grid-template-columns:minmax(0,1fr)}.cir-switch{margin-right:0}}.assess-deck{flex-direction:column;gap:14px;display:flex}.assess-deck-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.assess-deck-bar .assessment-view-toggle{margin:0}.assess-card{gap:18px;padding:24px 26px 20px}.assess-card .cir-card-head h2{font-size:clamp(18px,2vw,22px)}.cir-view-filter button.has-count:not(.active){border-color:var(--clay-200)}.issue-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.issue-grid>.notes-empty{grid-column:1/-1}.issue-list{flex-direction:column;gap:8px;display:flex}.assess-search{max-width:420px;position:relative}.assess-search-clear{width:22px;height:22px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.assess-search-clear:hover{color:var(--ink-800);background:var(--surface-2)}.issue-option.row{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.issue-option.row:hover{transform:none}.issue-option.row .issue-option-slot{justify-content:flex-end;width:210px;padding:0 12px 0 0;display:flex}.issue-option.row .issue-option-specifics{max-width:100%;margin:0}.issue-option{border:1.5px solid var(--line);background:var(--surface);transition:border-color .12s var(--ease), background .12s var(--ease), box-shadow .12s var(--ease), transform .12s var(--ease);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.issue-option:hover{border-color:var(--clay-200);box-shadow:var(--sh-1);transform:translateY(-1px)}.issue-option.active{border-color:var(--clay-500);background:var(--clay-50)}.issue-option.disabled{opacity:.7}.issue-option.disabled:hover{box-shadow:none;transform:none}.issue-option-main{min-height:52px;color:var(--ink-800);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;line-height:1.4;display:flex}.issue-option-main:disabled{cursor:default}.issue-option-main:focus-visible{box-shadow:inset 0 0 0 2px var(--clay-400);border-radius:12px;outline:none}.issue-option.active .cir-option-mark{background:var(--clay-500);border-color:var(--clay-500)}.issue-option-text{flex:auto;min-width:0}.issue-option .ext-badge{flex:none}.issue-option-specifics{border:1px dashed var(--clay-300);background:var(--surface);color:var(--clay-700);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:6px;margin:0 10px 10px 46px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.issue-option-specifics span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.issue-option-specifics.has-value{border-style:solid;border-color:var(--clay-200);background:var(--clay-100);color:var(--clay-800)}.assess-card-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.assess-card-total{color:var(--ink-500);font-size:12px}.assess-card-last{color:var(--ink-500);font-size:12px;font-weight:600}.academic-subjects{margin-bottom:10px}.academic-notes-dot{opacity:.6;background:currentColor;border-radius:999px;width:6px;height:6px;display:inline-block}.assess-view-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.assess-view-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.assess-view-head span{color:var(--clay-700);font-size:11.5px;font-weight:600}.assess-view-issues{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.assess-view-issues li{color:var(--ink-800);align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.assess-view-issues em{color:var(--clay-700);margin-top:2px;font-size:12px;font-style:normal;display:block}.assess-view-mark{background:var(--clay-500);border-radius:999px;flex:none;width:7px;height:7px;margin-top:7px}.assess-qa-list{gap:12px;display:grid}.assess-qa-answer{color:var(--ink-900);font-size:14px;font-weight:600}.assess-hidden-note{color:var(--ink-500);margin-top:12px;font-size:12px}@media (max-width:640px){.assess-card{padding:20px 16px 16px}.issue-grid,.assess-view-grid,.issue-option.row{grid-template-columns:minmax(0,1fr)}.issue-option.row .issue-option-slot{justify-content:flex-start;width:auto;padding:0 12px 10px 46px}.issue-option.row .issue-option-slot:empty{display:none}.assess-card-nav{flex-wrap:wrap}.assess-card-total{text-align:center;order:3;width:100%}}.report-step-strip{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);flex-direction:column;gap:8px;margin-bottom:14px;padding:12px 14px;display:flex}.report-step-strip .cir-view-filter{margin-top:4px}.report-step-strip .report-step-num{background:var(--surface-2);width:18px;height:18px;color:var(--ink-500);border-radius:999px;place-items:center;font-size:10.5px;display:inline-grid}.report-step-strip button.active .report-step-num{background:var(--clay-500);color:var(--on-brand)}.report-step-strip button.has-count:not(.active) .report-step-num{background:var(--clay-100);color:var(--clay-700)}.cir-view-filter button:disabled{opacity:.45;cursor:not-allowed}.cir-view-value{color:var(--ink-900);font-size:15px;font-weight:600}.fileno-input{border:1.5px solid var(--line-2);background:var(--surface);min-width:0;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:12px;align-items:stretch;display:flex;overflow:hidden}.student-field .fileno-input{border-radius:var(--r-md);border-width:1px}.fileno-input:focus-within{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent)}.fileno-prefix{background:var(--surface-2);border-right:1px solid var(--line);font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-600);place-items:center;padding:0 10px 0 12px;font-size:13px;font-weight:600;display:grid}.fileno-input input,.student-field .fileno-input input{min-width:0;height:44px;font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-900);background:0 0;border-radius:0;outline:none;flex:auto;padding:0 12px;font-size:14px;box-shadow:none!important;border:0!important}.student-field .fileno-input input{height:40px}.cir-age{background:var(--clay-50);min-height:46px;color:var(--clay-800);transition:background .2s var(--ease), color .2s var(--ease);border-radius:12px;align-items:center;padding:0 14px;font-size:15px;font-weight:650;display:flex}.cir-age.empty{background:var(--surface-2);color:var(--ink-400);font-size:13px;font-weight:500}.cir-review-card{font:inherit;text-align:left;cursor:pointer;transition:border-color .12s var(--ease), box-shadow .12s var(--ease)}.cir-review-card:hover{border-color:var(--clay-200);box-shadow:var(--sh-1)}.cir-review-card:focus-visible{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 16.0%, transparent);outline:none}.cir-review-card-head{color:var(--ink-400);justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.cir-review-card-title{color:var(--ink-900);font-size:13.5px;font-weight:600;line-height:1.35}.date-input .date-input-seg,.date-input input.date-input-seg{width:28px;height:auto;min-height:0;box-shadow:none;font:inherit;background:0 0;border:none;border-radius:0;flex:none;padding:0;font-size:14px}.date-input .date-input-seg.date-input-year{width:44px}.student-field .date-input{border:1px solid var(--line-2);border-radius:var(--r-md);height:42px;padding:0 12px}.student-field .date-input:focus-within{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 12.0%, transparent);outline:none}.cir-field .date-input{border-color:var(--line-2);padding:0 14px}.cir-field .date-input:focus-within{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent);outline:none}.phone-input{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);width:100%;min-width:0;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);align-items:stretch;display:flex;overflow:hidden}.cir-field .phone-input{border-width:1.5px;border-radius:12px}.phone-input:focus-within{border-color:var(--clay-400);box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-500) 14.0%, transparent)}.phone-input select,.student-field .phone-input select,.parent-access-form .phone-input select{border:0;border-right:1px solid var(--line);background:var(--surface-2);width:108px;height:auto;min-height:40px;box-shadow:none;font:inherit;color:var(--ink-700);cursor:pointer;border-radius:0;outline:none;flex:none;padding:0 8px 0 12px;font-size:13px;font-weight:600}.phone-input input,.student-field .phone-input input,.parent-access-form .phone-input input{width:auto;min-width:0;height:auto;min-height:40px;box-shadow:none;font:inherit;color:var(--ink-900);background:0 0;border:0;border-radius:0;outline:none;flex:auto;padding:0 12px;font-size:14px}.cir-field .phone-input select,.cir-field .phone-input input{min-height:44px}.parent-access-form .phone-input select,.parent-access-form .phone-input input{min-height:36px}.parent-access-phone{flex-direction:column;gap:6px;display:flex}.parent-access-phone>span{color:var(--ink-600);font-size:12px;font-weight:600}.cir-dot.progress{background:var(--warn-500)}.cir-tile.progress{border-color:var(--clay-100)}.phone-code{border-right:1px solid var(--line);background:var(--surface-2);color:var(--ink-700);flex:none;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.phone-code svg{color:var(--ink-400)}.phone-input .phone-code select,.student-field .phone-input .phone-code select,.parent-access-form .phone-input .phone-code select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.phone-input:focus-within .phone-code{color:var(--clay-700)}.date-input-wrap{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.date-input{cursor:text;position:relative}.date-input.disabled{cursor:default;opacity:.7}.date-input .date-input-seg{caret-color:var(--clay-500);transition:background .12s var(--ease);border-radius:6px}.date-input .date-input-seg:focus{background:var(--clay-50)}.date-input .date-input-seg::selection{background:var(--clay-200)}.date-input-actions{align-items:center;gap:2px;margin-left:auto;padding-left:8px;display:inline-flex}.date-input-btn{width:28px;height:28px;color:var(--ink-400);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.date-input-btn:hover{background:var(--surface-2);color:var(--clay-700)}.date-input-btn:disabled{cursor:default;opacity:.5}.date-input-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.date-input.invalid,.student-field .date-input.invalid,.cir-field .date-input.invalid{border-color:var(--bad-500)}.date-input.invalid:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--bad-500) 14.0%, transparent)}.date-input-error{color:var(--bad-700);font-size:11.5px;line-height:1.4}.cir-rail-item.active .cir-rail-count{color:var(--clay-700);font-weight:700}.cir-rail-item.partial .cir-rail-index{border-color:var(--clay-300);background:conic-gradient(var(--clay-100) 0 50%, var(--surface) 50% 100%);color:var(--clay-700)}.assess-card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.assess-issues{flex-direction:column;gap:14px;display:flex}.ext-badge.ext-PO{background:var(--surface-2);color:var(--ink-500);border-color:var(--line)}.ext-badge.ext-PU{background:var(--info-50);color:var(--info-700);border-color:var(--clay-200)}.assess-toolbar{top:calc(var(--ly-top,60px) + env(safe-area-inset-top,0px) + 6px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex;position:sticky}.assess-toolbar .assess-search{flex:220px;max-width:none;margin:0}.assess-toolbar .assess-search input{font-size:16px}.assess-filter-pill{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink-700);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.assess-filter-pill.active{border-color:var(--clay-500);background:var(--clay-50);color:var(--clay-800)}.assess-filter-pill:disabled{opacity:.5;cursor:default}.assess-jump{flex:220px;align-items:center;min-width:0;display:flex;position:relative}.assess-jump select{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:40px;color:var(--ink-900);font:inherit;appearance:none;text-overflow:ellipsis;padding:0 34px 0 12px;font-size:14px}.assess-jump svg{pointer-events:none;color:var(--ink-500);position:absolute;right:12px}.assess-chips{overscroll-behavior-x:contain;scroll-snap-type:x proximity}.assess-chips button{scroll-snap-align:start}.assess-section-label{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin:4px 0 8px;font-size:11px;font-weight:500}.assess-board{flex-direction:column;gap:16px;display:flex}.assess-result-group+.assess-result-group{margin-top:14px}.assess-result-head{cursor:pointer;font:inherit;color:var(--clay-700);background:0 0;border:0;align-items:center;gap:6px;margin:0 0 8px;padding:2px 0;font-size:12.5px;font-weight:600;display:inline-flex}.assess-result-head:hover{text-decoration:underline}.assess-folder-title{color:var(--ink-900);margin:0 0 12px;font-size:18px;font-weight:600}.assess-folders{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.assess-folder{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);min-height:96px;color:var(--ink-800);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:6px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.assess-folder:hover{border-color:var(--clay-300);box-shadow:0 2px 8px #0000000f}.assess-folder:focus-visible{box-shadow:0 0 0 2px var(--clay-400);outline:none}.assess-folder.answered{border-color:var(--clay-300);background:var(--clay-50)}.assess-folder-top{color:var(--clay-700);justify-content:space-between;align-items:center;display:flex}.assess-folder-badge{background:var(--clay-500);color:#fff;text-align:center;border-radius:999px;min-width:22px;padding:1px 7px;font-size:11.5px;font-weight:600}.assess-folder-name{color:var(--ink-900);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.35}.assess-folder-meta{color:var(--ink-500);font-size:12px}.assess-crumbs{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 12px;font-size:12.5px;display:flex}.assess-crumbs button{border-radius:var(--r-md);min-height:32px;font:inherit;color:var(--clay-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:2px 8px;font-weight:600;display:inline-flex}.assess-crumbs button:hover:not(:disabled){background:var(--clay-50)}.assess-crumbs button:disabled{color:var(--ink-500);cursor:default}.assess-crumbs [aria-current]{color:var(--ink-900);padding:2px 8px;font-weight:600}@media (max-width:640px){.assess-folders{grid-template-columns:minmax(0,1fr)}.assess-folder{min-height:72px}}.assess-skeleton{border-radius:var(--r-lg);background:var(--surface-2);height:56px;animation:1.2s ease-in-out infinite assess-pulse}.assess-skeleton.tall{height:320px}@keyframes assess-pulse{50%{opacity:.55}}.issue-option-main{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.academic-search-results{margin-bottom:8px}.popup-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain}.popup{max-height:calc(100dvh - 48px)}.popup-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0}.popup-tabs{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;overflow-x:auto}.popup-tabs::-webkit-scrollbar{display:none}.popup-tab{white-space:nowrap;flex:none;min-height:40px}.char-btn{touch-action:manipulation}.preview-chips{overscroll-behavior:contain;max-height:30dvh;overflow-y:auto}.rg-autosave{color:var(--ink-500);white-space:nowrap;font-size:12px}.rg-draft-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rg-draft-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.rg-draft-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.rg-draft-meta strong{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.rg-draft-meta span{color:var(--ink-500);font-size:12px}.rg-draft-actions{flex:none;align-items:center;gap:6px;display:flex}.rg-draft-empty,.rg-draft-note{color:var(--ink-500);margin:0;font-size:13px}.rg-draft-note{margin-top:12px}@media (max-width:640px){.assess-toolbar{top:calc(var(--ly-top,56px) + env(safe-area-inset-top,0px) + 4px);gap:6px;padding:6px}.assess-toolbar .assess-search{flex-basis:100%}.assess-jump{flex:1 1 0}.assess-chips{display:none}.assess-card-nav .btn{min-height:40px}.rg-autosave{display:none}.popup-overlay{place-items:end stretch;padding:0}.popup{border-end-end-radius:0;border-end-start-radius:0;width:100%;max-height:92dvh}.popup-header{padding:14px 16px}.popup-tabs{padding:8px 12px 0}.popup-body{padding:14px 16px}.popup-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:10px}.popup-actions{gap:8px;display:flex}.popup-actions .btn{flex:1;justify-content:center;min-height:44px}.char-grid{gap:6px}.char-btn{min-width:44px;min-height:44px}.rg-draft-item{flex-direction:column;align-items:stretch}.rg-draft-actions .btn-primary{flex:1;justify-content:center}}.issue-option.row{flex-direction:column;align-items:stretch;display:flex}.issue-option-main{align-items:flex-start}.issue-option-main .cir-option-mark{margin-top:1px}.issue-option-text{padding-top:1px}.ext-tag{border:1px solid var(--line);background:var(--surface-2);min-width:34px;color:var(--ink-500);font-family:var(--font-mono);white-space:nowrap;border-radius:6px;flex:none;justify-content:center;align-self:flex-start;align-items:baseline;gap:5px;padding:3px 7px;line-height:1.2;display:inline-flex}.ext-tag b{letter-spacing:.04em;font-size:10.5px;font-weight:600}.ext-tag small{font-family:var(--font-body,inherit);font-size:10.5px;font-weight:600}.ext-tag.ext-WE,.ext-tag.ext-PU{background:var(--info-50);color:var(--info-700);border-color:var(--clay-200)}.ext-tag.ext-WP{background:var(--warn-50);color:var(--warn-700);border-color:var(--warn-200)}.issue-specifics{border:1px dashed var(--clay-300);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-2px 14px 12px 46px;padding:8px 10px;display:flex}.issue-specifics.has-value{border-style:solid;border-color:var(--clay-200)}.issue-specifics-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-size:10.5px}.issue-specifics-empty{color:var(--ink-400);font-size:12.5px}.issue-specifics-chips{flex-wrap:wrap;gap:5px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.issue-specifics-chips li{background:var(--clay-100);max-width:100%;color:var(--clay-800);overflow-wrap:anywhere;border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:600;line-height:1.35}.issue-specifics-btn{border:1px solid var(--clay-300);background:var(--surface);min-height:32px;color:var(--clay-700);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.issue-specifics-btn:hover{background:var(--clay-50);border-color:var(--clay-500)}.issue-specifics-btn:disabled{opacity:.6;cursor:default}@media (max-width:640px){.issue-option-main{gap:10px;padding:12px}.issue-specifics{margin:-2px 12px 12px}.issue-specifics-btn{min-height:36px}}.ip-panel{border:1.5px solid var(--m-edge);border-radius:var(--r-lg);background:var(--m-sun-wash);box-shadow:var(--sh-1);gap:12px;padding:14px 16px;display:grid}.ip-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.ip-panel-title{font-family:var(--font-display);color:var(--ink-900);margin-top:2px;font-size:17px}.ip-panel-desc{color:var(--ink-600);max-width:52ch;margin:2px 0 0;font-size:13px}.ip-steps{color:var(--ink-500);flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.ip-steps li{align-items:center;gap:7px;display:inline-flex}.ip-steps li.is-now{color:var(--ink-900);font-weight:600}.ip-steps li.is-done{color:var(--ink-700)}.ip-step-dot{border:1.5px solid var(--m-edge);background:var(--surface);width:16px;height:16px;color:var(--ink-900);border-radius:50% 45% 52% 48%;place-items:center;display:inline-grid}.ip-steps li.is-done .ip-step-dot{background:var(--m-mint)}.ip-steps li.is-now .ip-step-dot{background:var(--m-sun);animation:1.1s cubic-bezier(.22,1,.36,1) infinite alternate ip-pulse}@keyframes ip-pulse{0%{transform:scale(.85)}to{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.ip-steps li.is-now .ip-step-dot{animation:none}}.ip-failed{color:var(--ink-800);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.ip-docs{gap:8px;display:grid}.ip-doc{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:10px;padding:8px 10px;display:flex}.ip-doc-num{border:1.5px solid var(--m-edge);background:var(--m-blue-wash);border-radius:50% 46% 52% 48%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:inline-grid}.ip-doc-main{flex:1;min-width:0;display:grid}.ip-doc-meta{color:var(--ink-500);font-size:12px}.ip-older summary{cursor:pointer;color:var(--ink-600);font-size:13px}.ip-older ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ip-older li{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ip-preview{gap:10px;display:grid}.ip-frame{border:1.5px solid var(--m-edge);border-radius:var(--r-md);background:var(--surface-2);height:min(72vh,900px);display:grid;overflow:hidden}.ip-frame iframe{border:0;width:100%;height:100%}.ip-frame-msg{color:var(--ink-500);text-align:center;place-self:center;padding:16px;font-size:14px}@media (max-width:700px){.ip-doc{flex-wrap:wrap}.ip-frame{height:64vh}}.goal-checklist{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.goal-checklist li{align-items:center;gap:8px;min-height:30px;display:flex}.goal-checklist li input[type=checkbox]{width:16px;height:16px;accent-color:var(--m-mint);flex:none}.goal-checklist-text{min-width:0;color:var(--ink-900);flex:1;font-size:13.5px}input.goal-checklist-text{border-radius:var(--r-sm);background:0 0;border:1px solid #0000;padding:4px 6px}input.goal-checklist-text:hover,input.goal-checklist-text:focus{border-color:var(--line-2);background:var(--surface)}.goal-checklist li.is-done .goal-checklist-text{color:var(--ink-500);text-decoration:line-through;-webkit-text-decoration-color:var(--m-mint);text-decoration-color:var(--m-mint)}.goal-checklist-add{color:var(--ink-400)}.goal-checklist-add>span{text-align:center;width:16px;font-weight:700}.goal-checklist-add input{border:1px dashed var(--line-2);border-radius:var(--r-sm);background:0 0;flex:1;min-width:0;padding:5px 8px;font-size:13px}.goal-plan-list li.is-done{color:var(--ink-500)}.sp-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sp-session{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);padding:8px 10px}.sp-head{align-items:center;gap:8px;font-size:13.5px;display:flex}.sp-head .mono{border:1.5px solid var(--m-edge);background:var(--m-sun);border-radius:50% 46% 52% 48%;place-items:center;width:22px;height:22px;font-size:11px;display:inline-grid}.sp-bullet{background:var(--clay-500);border-radius:50% 40% 55% 45%;flex:none;width:7px;height:7px;margin:0 4px 0 5px}.goals-ai-bar{border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-600);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.page-fullscreen .fullscreen-loading{text-align:center;align-content:center;justify-items:center;gap:14px;padding:24px}.page-fullscreen .fullscreen-loading p{margin:0}
