:root{--bg-page:#f4f7f8;--bg-card:#fff;--border:#e1e8eb;--text:#13262f;--text-muted:#566e79;--navy:#244a5c;--brand:#4e859e;--blue:#3d6e84;--blue-soft:#edf3f5;--purple:#7c3aed;--purple-soft:#f3eeff;--teal:#0d9488;--teal-soft:#e6f6f4;--amber:#d97706;--amber-soft:#fef3e2;--green:#16a34a;--green-soft:#e8f7ee;--gray-soft:#f1f3f6;--danger:#dc2626;--danger-soft:#fdecec;--radius-card:12px;--radius-btn:8px;--shadow-card:0 1px 2px #1018280f}*{box-sizing:border-box}body{color:var(--text);background:var(--bg-page);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}h1{color:var(--text);margin:0;font-size:28px;font-weight:700}h2{color:var(--text);margin:0 0 .75rem;font-size:18px;font-weight:600}button{font:inherit;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--bg-card);color:var(--text);cursor:pointer;padding:.5rem 1rem}button.primary,a.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-action{background:var(--blue);border-color:var(--blue);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}a.primary{padding:.5rem 1rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-btn);width:100%;color:var(--text);background:var(--bg-card);padding:.5rem .6rem}label{flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.9rem;display:flex}label.checkbox{flex-direction:row;align-items:center;gap:.4rem}label.checkbox input{width:auto}a{color:var(--blue)}.muted{color:var(--text-muted);font-size:.85em}.error{color:var(--danger)}.success{color:var(--green)}.login-screen{text-align:center;max-width:320px;margin:10vh auto}.login-screen form{flex-direction:column;gap:.75rem;display:flex}.denied{text-align:center;max-width:400px;margin:10vh auto}.shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;flex:none;width:240px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{margin-bottom:1.5rem;padding:0 .75rem}.sidebar-logo-label{letter-spacing:.04em;color:var(--text-muted);margin-top:.15rem;font-size:12px;font-weight:500;display:block}.sidebar-nav{flex-direction:column;gap:.25rem;display:flex}.sidebar-nav a{color:var(--text);border-radius:var(--radius-btn);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a svg{flex:none;width:18px;height:18px}.sidebar-nav a.active{background:var(--blue-soft);color:var(--blue)}.sidebar-nav a.active svg{color:var(--brand)}.sidebar-backdrop{background:color-mix(in srgb, var(--text) 40%, transparent);z-index:90;position:fixed;inset:0}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;height:64px;padding:0 1.5rem;display:flex}.hamburger{background:0 0;border:none;padding:.25rem;display:none}.student-search{flex:1;max-width:320px;position:relative}.search-results{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-card);z-index:10;position:absolute;top:100%;left:0;right:0}.search-hit{color:inherit;border-bottom:1px solid var(--border);cursor:pointer;padding:.5rem;text-decoration:none;display:block}.search-hit:last-child{border-bottom:none}.notifications{position:relative}.bell-btn{background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex;position:relative}.bell-btn svg{width:20px;height:20px;color:var(--text-muted)}.bell-btn .badge{background:var(--danger);color:#fff;border-radius:999px;padding:2px 5px;font-size:.7rem;line-height:1;position:absolute;top:0;right:0}.notif-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);width:320px;max-height:400px;box-shadow:var(--shadow-card);z-index:10;margin-top:.4rem;position:absolute;top:100%;right:0;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;padding:.6rem .75rem;font-size:.85rem}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:var(--blue-soft);font-weight:600}.who{margin-left:auto;position:relative}.who-trigger{color:var(--text);background:0 0;border:none;align-items:center;gap:.6rem;padding:.25rem .4rem;font-size:14px;display:flex}.who-trigger svg{width:16px;height:16px;color:var(--text-muted)}.who-role{font-size:.85em}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.who-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);z-index:80;flex-direction:column;min-width:160px;padding:.4rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.who-menu[hidden]{display:none}.who-menu a,.who-menu button{text-align:left;width:100%;color:var(--text);border-radius:var(--radius-btn);background:0 0;border:none;padding:.5rem .6rem;font-size:14px;text-decoration:none;display:block}.who-menu a:hover,.who-menu button:hover{background:var(--gray-soft)}.highlight-row{outline:2px solid var(--blue);outline-offset:-2px}main#outlet{width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:2rem}@media (width<=767px){.sidebar{z-index:100;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none}.sidebar-backdrop:not([hidden]){display:block}.hamburger{justify-content:center;align-items:center;display:flex}.who-name{display:none}main#outlet{padding:1.25rem}}@media (width>=768px){.sidebar-backdrop{display:none!important}}.screen-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.screen-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.screen-actions button,.screen-actions a.primary{flex-shrink:0}.kanban{align-items:flex-start;gap:1rem;display:flex;overflow-x:auto}.kanban-column{background:var(--gray-soft);border-radius:var(--radius-btn);flex:0 0 240px;padding:.75rem}.kanban-column h2{justify-content:space-between;margin:0 0 .75rem;font-size:.95rem;display:flex}.count{color:var(--text-muted);font-weight:400}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.card-title{margin-bottom:.25rem;font-weight:600}.course-picker-results{border:1px solid var(--border);border-radius:var(--radius-btn);max-height:240px;margin-top:.5rem;overflow-y:auto}.course-picker-results label.checkbox{border-bottom:1px solid var(--border);margin-bottom:0;padding:.5rem .75rem}.course-picker-results label.checkbox:last-child{border-bottom:none}.tag-recommended{color:var(--blue);background:var(--blue-soft);border-radius:999px;margin-left:.25rem;padding:.1rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.card-line{margin-bottom:.15rem;font-size:.85rem}.card-line.overdue{color:var(--danger);font-weight:600}.card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:12px;font-weight:600;display:inline-flex}.pill svg{width:12px;height:12px}.pill-blue{background:var(--blue-soft);color:var(--blue)}.pill-purple{background:var(--purple-soft);color:var(--purple)}.pill-amber{background:var(--amber-soft);color:var(--amber)}.pill-teal{background:var(--teal-soft);color:var(--teal)}.pill-green{background:var(--green-soft);color:var(--green)}.pill-gray{background:var(--gray-soft);color:var(--text-muted)}.pill-red{background:var(--danger-soft);color:var(--danger)}.alert-card{border-radius:var(--radius-card);margin-bottom:1.5rem;padding:1rem 1.5rem}.alert-card h2{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:15px;display:flex}.alert-card h2 svg{width:18px;height:18px}.alert-card table{box-shadow:none}.alert-card-danger{background:var(--danger-soft);border:1px solid var(--danger)}.alert-card-danger h2{color:var(--danger)}.stat-card-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;flex:150px;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.stat-card.is-active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.stat-card-icon{border-radius:var(--radius-btn);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-card-icon svg{width:18px;height:18px}.stat-card-icon-blue{background:var(--blue-soft);color:var(--blue)}.stat-card-icon-purple{background:var(--purple-soft);color:var(--purple)}.stat-card-icon-amber{background:var(--amber-soft);color:var(--amber)}.stat-card-icon-teal{background:var(--teal-soft);color:var(--teal)}.stat-card-icon-green{background:var(--green-soft);color:var(--green)}.stat-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.stat-card-number{font-size:20px;font-weight:700;line-height:1.2}.stat-card-label{color:var(--text-muted);font-size:12px}.stat-card-chevron{width:16px;height:16px;color:var(--text-muted);flex:none}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar input[type=search]{flex:220px;width:auto;min-width:160px}.filter-bar select{flex:none;width:auto}.filter-toggle{white-space:nowrap}.filter-toggle.is-active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.link-button{color:var(--blue);white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.table-person{align-items:center;gap:.6rem;display:flex}.table-person-body{min-width:0}.table-person-name{font-weight:600}.stage-cell,.row-actions-cell{align-items:center;display:inline-flex;position:relative}.row-actions-cell svg{width:18px;height:18px;color:var(--text-muted)}.overlay-select{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.row-open-link{white-space:nowrap;align-items:center;gap:.2rem;font-weight:500;text-decoration:none;display:inline-flex}.row-open-link svg{width:14px;height:14px}.section-card-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.section-card-header h2{margin:0}.block-row td{background:var(--gray-soft);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.link-with-icon{white-space:nowrap;align-items:center;gap:.3rem;font-weight:500;text-decoration:none;display:inline-flex}.link-with-icon svg{width:16px;height:16px}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.empty-state svg{width:32px;height:32px}.empty-state p{margin:0}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.pagination-actions{gap:.5rem;display:flex}.tabs{border-bottom:1px solid var(--border);gap:1.5rem;margin-bottom:1rem;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.6rem 0;font-size:14px;font-weight:500}.tab.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:600}.record-back{margin:0 0 1rem}.record-back a{align-items:center;gap:.35rem;font-weight:500;text-decoration:none;display:inline-flex}.record-back svg{width:16px;height:16px}.record-header{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.avatar-lg{width:56px;height:56px;font-size:18px}.record-header-body{flex:200px;min-width:0}.record-header-body h1{overflow-wrap:anywhere;font-size:24px}.record-header-body p{margin:.15rem 0 0}.record-facts{flex-wrap:wrap;gap:.75rem 2rem;margin:0;display:flex}.record-facts dt{color:var(--text-muted);font-size:12px}.record-facts dd{margin:.1rem 0 0;font-weight:600}.tab-content{min-width:0}.record-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:1.5rem}.record-card h2{margin-top:0}.record-card table,.tb-column table{box-shadow:none;border:none;border-radius:0}.record-card>:last-child{margin-bottom:0}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form input,.inline-form select{flex:160px;width:auto}.inline-form label{margin-bottom:0}dl.profile dd button,td button{white-space:nowrap;padding:.25rem .7rem;font-size:13px}td.nowrap{white-space:nowrap}dl.profile dd{overflow-wrap:anywhere;min-width:0}.table-actions{align-items:center;gap:.5rem;display:flex}.icon-btn{color:var(--text-muted);background:0 0;border:none;align-items:center;padding:.2rem;display:inline-flex}.icon-btn svg{width:14px;height:14px}.plan-category{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:1.25rem 1.5rem}.plan-category-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.plan-category-header h2{margin:0}.plan-category .card-line{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.35rem 0;font-size:14px;display:flex}.balance-summary{margin:0 0 1rem;padding:1rem 1.5rem}.email-body-row td{background:var(--gray-soft);white-space:normal;overflow-wrap:anywhere}.tabs{white-space:nowrap;overflow-x:auto}.tab{flex:none}dl.profile .pill{vertical-align:middle}@media (width<=767px){.tab-content dl.profile{grid-template-columns:1fr;gap:.15rem}.tab-content dl.profile dd{margin-bottom:.6rem}.record-card,.plan-category{padding:1rem}}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:14px}th{color:var(--text-muted);background:0 0;font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:none}tr.clickable-row{cursor:pointer}tr.clickable-row:hover{background:var(--gray-soft)}dl.profile{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:var(--radius-card);grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;padding:1.5rem;display:grid}dl.profile dt{color:var(--text-muted)}dl.profile dd{margin:0}.recommendation-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:var(--radius-card);max-width:480px;margin-top:1.5rem;padding:1.5rem}.recommendation-card h2{margin-top:0}.danger-zone{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid var(--danger);max-width:480px;margin-top:1.5rem;padding:1.5rem}.danger-zone h2{color:var(--danger);margin-top:0}.transfer-bank{grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:1rem;display:grid}.transfer-bank>.tb-column{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0;padding:1.25rem}@media (width<=1279px){.transfer-bank{grid-template-columns:1fr}}.tb-column h2{margin:0 0 .5rem;font-size:1rem}.tb-column h3{color:var(--text-muted);margin:1rem 0 .4rem;font-size:.85rem}.tb-column h3:first-child,.tb-col-head+.tb-category h3:first-child{margin-top:0}.tb-hint{margin:0 0 .75rem;font-size:.85rem}.tb-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-btn);cursor:pointer;margin-bottom:.5rem;padding:.7rem .85rem}.tb-card:hover{border-color:var(--blue)}.tb-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tb-card.tb-card-selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue)}.tb-card.dragging{opacity:.4}.tb-card-mapped{cursor:default;opacity:.7}.tb-card-mapped:hover{border-color:var(--border)}.tb-card-title{font-size:.9rem;font-weight:600}.tb-card-meta{margin-top:.15rem;font-size:.85rem}.tb-card-pill{margin-top:.4rem}.tb-card-action{margin-top:.5rem;padding:.25rem .6rem;font-size:.8rem}.tb-card-allocations{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.35rem}.tb-card-allocation{font-size:.8rem}.tb-mapped{margin-top:.75rem}.tb-mapped summary{cursor:pointer;color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}[data-tb-unmapped-dropzone].drag-over{outline:2px dashed var(--blue);outline-offset:4px;border-radius:var(--radius-btn)}.tb-col-head{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.tb-col-head h2{margin:0 auto 0 0}.tb-selected-banner{z-index:2;border:1px solid var(--blue);border-radius:var(--radius-btn);background:var(--blue-soft);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.6rem .85rem;font-size:.85rem;display:flex;position:sticky;top:0}.tb-selected-banner button{flex:none;padding:.2rem .6rem;font-size:.8rem}.tb-block{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:.9rem 0 .4rem;font-size:.75rem;font-weight:600}.tb-all-met{margin:0;font-size:.85rem}.tb-req{border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--bg-card);margin-bottom:.4rem;padding:.6rem .75rem}.tb-req.tb-req-met{border-color:color-mix(in srgb, var(--green) 40%, var(--border))}.tb-req.tb-drop-zone.drag-over{border-color:var(--blue);background:var(--blue-soft)}.tb-req.tb-req-target{border:2px solid var(--blue);background:var(--blue-soft);cursor:pointer;padding:calc(.6rem - 1px) calc(.75rem - 1px)}.tb-req.tb-req-dim{opacity:.5}.tb-req-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tb-req-label{min-width:0;font-size:.9rem;font-weight:600}.tb-req-progress{align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.tb-req-count{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8rem}.tb-bar{background:var(--gray-soft);border-radius:999px;flex:1;height:6px;display:flex;overflow:hidden}.tb-bar-lg{height:10px}.tb-bar-approved{background:var(--green)}.tb-bar-pending{background:var(--amber)}.tb-chips{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.tb-chip{border-radius:999px;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;max-width:100%;padding:.2rem .3rem .2rem .6rem;font-size:.8rem;display:inline-flex}.tb-chip-pending{background:var(--amber-soft);cursor:grab}.tb-chip-approved{background:var(--green-soft)}.tb-chip.dragging{opacity:.4}.tb-chip-text{overflow-wrap:anywhere;min-width:0}.tb-chip button{border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.tb-apply-here{margin-top:.6rem;padding:.3rem .8rem;font-size:.85rem}.tb-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0 0;display:grid}.tb-stats div{min-width:0}.tb-stats dt{color:var(--text-muted);font-size:.75rem}.tb-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:700}.tb-progress-note{margin:.25rem 0 .75rem;font-size:.8rem}.tb-approve-all{width:100%}.tb-activity{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:.25rem}.tb-activity-list{margin:0;padding:0;list-style:none}.tb-activity-list li{border-bottom:1px solid var(--border);padding:.5rem 0;font-size:.85rem}.tb-activity-list li:last-child{border-bottom:0}.tb-activity-list .muted{margin-top:.1rem;font-size:.8rem}.tb-warn{border-radius:var(--radius-btn);background:var(--amber-soft);color:#8a4a00;margin:.25rem 0;padding:.5rem .75rem;font-size:.85rem}.tb-rules-title{margin:.75rem 0 .25rem}.modal-overlay{background:color-mix(in srgb, var(--text) 40%, transparent);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);width:420px;max-width:90vw;max-height:85vh;padding:1.5rem;overflow-y:auto}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.form-error{color:var(--danger);font-size:.85rem}.detail-form{max-width:480px}.study-packs-page-section{max-width:none}.study-packs-page-section h2{margin:0 0 .5rem}.course-photo-section{max-width:none}.course-photo-section h2{margin:0 0 .5rem}.course-photo-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-btn);border:1px solid var(--border);width:100%;max-width:320px;margin-bottom:.75rem;display:block}.study-pack-list{flex-direction:column;margin:0 0 .75rem;padding:0;font-size:.9rem;list-style:none;display:flex}.study-pack-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.study-pack-list li:last-child{border-bottom:none}.study-pack-row{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.study-pack-row input{flex:1;width:auto}.study-pack-row select{flex:none;width:auto}.study-pack-name{overflow-wrap:anywhere;min-width:0}.pill-select{cursor:pointer;border:1px solid #0000;border-radius:999px;flex:none;width:auto;padding:.2rem .5rem;font-size:12px;font-weight:600}.pill-select.pill-purple{background:var(--purple-soft);color:var(--purple)}.pill-select.pill-teal{background:var(--teal-soft);color:var(--teal)}.study-pack-row .remove-study-pack-row{flex:none;padding:.2rem .5rem}.pdf-viewer-overlay{z-index:200;background:#202124;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-viewer-header{color:#fff;background:#2d2e31;flex:none;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.pdf-viewer-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.pdf-viewer-nav{align-items:center;gap:.5rem;display:flex}.pdf-viewer-nav button{color:#fff;background:#3c4043;border-color:#5f6368}.pdf-viewer-nav button:disabled{opacity:.4;cursor:default}.pdf-viewer-page-indicator{color:#dcdcdc;text-align:center;min-width:6rem;font-size:.85rem}.pdf-viewer-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.pdf-viewer-body{flex:1;justify-content:center;align-items:flex-start;padding:1.5rem;display:flex;overflow:auto}.pdf-viewer-status{color:#fff;margin-top:2rem}.pdf-viewer-canvas{background:#fff;max-width:100%;box-shadow:0 2px 12px #0006}.course-thumb{object-fit:cover;border:1px solid var(--border);border-radius:6px;flex:none;width:44px;height:32px}.course-thumb-icon{background:var(--blue-soft);color:var(--blue);justify-content:center;align-items:center;display:inline-flex}.course-thumb-icon svg{width:16px;height:16px}.card-stack{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.card-stack .record-card{margin-bottom:0}.card-stack h2,.course-photo-section h2,.study-packs-page-section h2{margin:0 0 .75rem}.record-card+.record-card{margin-top:1rem}.remove-study-pack-row svg{width:14px;height:14px}.record-card .card-line{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.course-flags{flex-wrap:wrap;gap:.35rem;display:flex}.screen-actions input[type=search]{width:220px;max-width:100%}.card-stack .detail-form{max-width:none}.card-stack .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem;display:grid}.card-stack .detail-wide textarea,.card-stack .detail-grid input,.card-stack .detail-grid select{box-sizing:border-box;width:100%}@media (width<=720px){.card-stack .detail-grid{grid-template-columns:minmax(0,1fr)}}.screen-header{flex-wrap:wrap;gap:.5rem 1rem}.study-pack-row input{min-width:0}@media (width<=720px){.study-pack-row{flex-wrap:wrap}.study-pack-row input{flex:100%}.study-pack-row .remove-study-pack-row{flex:none}}.stat-card-sub{color:var(--text-muted);font-size:12px}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.dash-grid>.record-card,.dash-slot>.record-card{margin:0}.dash-card-title{align-items:center;gap:.5rem;font-size:15px;display:flex}.dash-card-title svg{width:18px;height:18px;color:var(--text-muted)}.dash-count{font-size:12px;font-weight:500}.dash-row-link{color:inherit;text-decoration:none}.dash-toggle{margin-top:.75rem}.stat-card-row .stat-card{min-width:0}@media (width<=1199px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.dashboard .stat-card{flex:200px}.dashboard .stat-card-row{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1199px){.dashboard .stat-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.dashboard .stat-card-row{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.dashboard .hide-sm,.dashboard .avatar{display:none}.dashboard th,.dashboard td{padding-left:.4rem;padding-right:.4rem}}.dialog-overlay{z-index:200}.dialog{width:400px}.dialog h2{margin:0 0 .5rem;font-size:1.1rem}.dialog-message{color:var(--text-muted);overflow-wrap:anywhere;margin:0;line-height:1.5}@media (width<=480px){.dialog .form-actions{flex-direction:column-reverse}.dialog .form-actions button{width:100%}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}.brand-logo{width:200px;max-width:70%;height:auto;margin:0 auto 1.5rem;display:block}.sidebar-logo img{width:150px;max-width:100%;height:auto;display:block}.nav-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:600;line-height:1.3}@media (width<=520px){.stack-sm thead{display:none}.stack-sm tr{border-bottom:1px solid var(--border);padding:.75rem 0;display:block}.stack-sm tr:last-child{border-bottom:none}.stack-sm td{border:none;padding:.15rem 0;display:block}.stack-sm td[data-label]:before{content:attr(data-label);color:var(--text-muted);font-size:12px;display:block}.stack-sm td:last-child{padding-top:.5rem}}.course-video-wrap{margin-bottom:.75rem}.course-video-player{border-radius:var(--radius-btn);background:#000;width:100%;max-width:560px;display:block}.video-upload-progress{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0;display:flex}.video-upload-progress[hidden]{display:none}.video-upload-progress progress{min-width:8rem;height:10px;accent-color:var(--blue);flex:12rem}.course-video-legacy{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.course-video-legacy h3{margin:0 0 .35rem;font-size:.9rem}.course-video-legacy p{overflow-wrap:anywhere;margin:0 0 .35rem}.assign-course-list{flex-direction:column;gap:.4rem;max-height:18rem;margin:.75rem 0;display:flex;overflow-y:auto}.assign-course-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius-btn);cursor:pointer;flex-flow:wrap;align-items:center;gap:.4rem .75rem;margin-bottom:0;padding:.55rem .75rem;font-size:.9rem;display:flex}.assign-course-row:hover:not(.is-assigned){border-color:var(--blue)}.assign-course-row input{flex:none;width:auto}.assign-course-row.is-assigned{opacity:.6;cursor:default}.assign-course-main{flex-direction:column;flex:12rem;min-width:0;display:flex}[data-enrollment-row] button[data-unassign]{margin-top:.4rem;padding:.2rem .6rem;font-size:.8rem}.transfer-bank.tb-no-plan{grid-template-columns:1fr 2.4fr}@media (width<=1279px){.transfer-bank.tb-no-plan{grid-template-columns:1fr}}.tb-col-head .tb-add-credit{flex:none;padding:.3rem .7rem;font-size:.85rem}.tb-card-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.tb-card-actions .tb-card-action{margin-top:0}.tb-locked{font-size:.8rem}.tb-decisions{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-top:1.25rem;padding:.9rem 1.25rem}.tb-decisions summary{cursor:pointer;font-weight:600}.tb-decisions .table-scroll{margin-top:.75rem}.plan-summary{border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--blue-soft);margin:0 0 1rem;padding:.7rem 1rem}.plan-needs{margin:0 0 .5rem;font-size:.9rem}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
