@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.woff2)format("woff2");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:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.rubik_3aa69d37-module__xM3c3q__className{font-family:Rubik,Rubik Fallback;font-style:normal}.rubik_3aa69d37-module__xM3c3q__variable{--font-rubik:"Rubik", "Rubik Fallback"}
:root{--bg:#f6f7fb;--surface:#fff;--border:#e4e7ef;--border-strong:#c3c6d4;--text-1:#323338;--text-2:#676879;--primary:#0073ea;--primary-hover:#0060c2;--primary-soft:#e5f0fd;--green:#00c875;--green-soft:#e6f9f1;--orange:#fdab3d;--orange-soft:#fff4e5;--red:#e2445c;--red-soft:#fce9ec;--blue:#579bfc;--blue-soft:#eaf2ff;--purple:#a25ddc;--purple-soft:#f4ecfb;--teal:#0f7b7b;--teal-soft:#e2f4f4;--gray-soft:#eceff8;--radius:8px;--radius-sm:4px;--shadow:0 1px 3px #232c5114;--shadow-hover:0 4px 12px #232c511f;--sidebar-width:230px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text-1);font-family:var(--font-rubik), "Segoe UI", system-ui, sans-serif;font-size:14px;line-height:1.5}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);z-index:70;background:var(--surface);border-inline-end:1px solid var(--border);flex-shrink:0;height:100vh;padding:16px 12px;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:var(--primary);padding:6px 10px 14px;font-size:17px;font-weight:700}.sidebar-section{margin-top:14px}.sidebar-section>span{color:var(--text-2);text-transform:uppercase;letter-spacing:.4px;padding:0 10px 6px;font-size:11px;font-weight:600;display:block}.sidebar a{border-radius:var(--radius-sm);color:var(--text-1);padding:7px 10px;font-size:14px;text-decoration:none;display:block}.sidebar a:hover{background:var(--gray-soft)}.sidebar a.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.sidebar-topbar{justify-content:space-between;align-items:center;display:flex}.sidebar-menu-button{display:none}.content{flex:1;min-width:0;padding:24px 32px 48px}.content>main{max-width:1040px;margin:0 auto}@media (max-width:767px){.app-shell{flex-direction:column}.sidebar{--topbar-height:57px;width:100%;height:var(--topbar-height);border-inline-end:0;border-bottom:1px solid var(--border);padding:8px 12px;overflow:visible}.sidebar-topbar{height:40px}.sidebar-brand{padding:6px 4px}.sidebar-menu-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--text-1);justify-content:center;align-items:center;font-size:18px;display:inline-flex}.sidebar-menu{display:none}.sidebar.menu-open .sidebar-menu{top:var(--topbar-height);background:var(--surface);padding:4px 12px 32px;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.content{padding:16px 16px 48px}}h1{margin:0 0 20px;font-size:24px;font-weight:700}h2{margin:0;font-size:16px;font-weight:600}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px 20px}.card-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-header .spacer{flex:1}button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-1);border-radius:var(--radius-sm);cursor:pointer;padding:7px 14px;font-family:inherit;font-size:14px;transition:background .12s,border-color .12s,box-shadow .12s}button:hover:not(:disabled){background:var(--gray-soft)}button:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--gray-soft);color:var(--text-1)}.btn-danger-ghost{color:var(--red);background:0 0;border-color:#0000}.btn-danger-ghost:hover:not(:disabled){background:var(--red-soft)}.row-btn{text-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.row-btn:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.pill{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-green{background:var(--green-soft);color:#00854d}.pill-orange{background:var(--orange-soft);color:#b36b00}.pill-red{background:var(--red-soft);color:var(--red)}.pill-blue{background:var(--blue-soft);color:var(--primary)}.pill-purple{background:var(--purple-soft);color:var(--purple)}.pill-teal{background:var(--teal-soft);color:var(--teal)}.pill-gray{background:var(--gray-soft);color:var(--text-2)}.table-wrap{border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.table-wrap table{box-shadow:none;min-width:640px}.group-place-row th{background:var(--gray-soft);color:var(--text-1);text-align:start;font-size:14px;font-weight:600}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}th{text-align:start;color:var(--text-2);border-bottom:1px solid var(--border);background:#fafbfe;padding:10px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);padding:10px 16px}tbody tr:hover{background:#fafbfe}tbody tr:last-child td{border-bottom:none}tfoot td{border-top:1px solid var(--border-strong);background:#fafbfe;border-bottom:none;font-weight:700}input,select{color:var(--text-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;font-family:inherit;font-size:14px}input:focus,select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.time-field{color:var(--text-1);align-items:center;gap:3px;font-weight:400;display:inline-flex}.time-field select{font-variant-numeric:tabular-nums;width:auto;padding-inline:6px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-width:640px;padding:20px 24px}.form-card label{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.form-card label>input,.form-card label>select{color:var(--text-1);font-weight:400}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 18px;margin-bottom:16px;display:grid}.form-actions{gap:10px;margin-top:18px;display:flex}.form-card fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0 0;padding:14px 16px}.form-card legend{color:var(--text-2);padding:0 6px;font-size:13px;font-weight:600}.check-row{align-items:center;flex-direction:row!important;gap:8px!important}.inline-title{background:0 0;border-color:#0000;min-width:180px;padding:4px 8px;font-size:16px;font-weight:600}.inline-title:hover{border-color:var(--border-strong)}.qty-cell{align-items:center;gap:8px;display:flex}.qty-cell input{text-align:center;width:72px}.chip{border:1px solid var(--border-strong);cursor:pointer;background:var(--surface);-webkit-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.chip input{display:none}.chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}ul,ol{margin:0;padding:0;list-style:none}[role=alert]{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);border:1px solid #f3c1cb;margin:10px 0;padding:8px 12px;font-size:13px}.modal-overlay{z-index:90;background:#232c5159;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:760px;max-height:82vh;padding:20px 24px;overflow-y:auto;box-shadow:0 12px 40px #232c5140}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text-1);padding:18px 20px;text-decoration:none;transition:box-shadow .12s,transform .12s;display:block}.tile:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.tile .tile-count{color:var(--primary);font-size:26px;font-weight:700}.tile .tile-label{margin-top:2px;font-size:14px;font-weight:600}.tile .tile-hint{color:var(--text-2);margin-top:2px;font-size:12px}.board-row{margin-bottom:10px}.board-row-main{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.board-date{min-width:78px;font-weight:700}.board-weekday{color:var(--text-2);min-width:40px;font-weight:600}.board-time{color:var(--text-2);font-variant-numeric:tabular-nums}.board-plan{font-weight:600}.board-expand{color:var(--text-2);margin-inline-start:auto;font-size:12px}.board-detail{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;margin-top:-6px;margin-bottom:10px;padding:14px 18px}.block-list{margin-top:16px}.block-btn{border-inline-start:3px solid var(--primary);flex-direction:column;align-items:stretch;gap:6px;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.block-row[data-expanded=true] .block-btn{border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow-hover)}.block-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.block-grow{flex:1}.block-span{font-variant-numeric:tabular-nums;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm);padding:1px 8px;font-weight:600}.block-place{font-weight:600}.block-sub{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;padding-inline-start:90px;font-size:13px;display:flex}.block-top{align-items:stretch;gap:6px;display:flex}.block-top .block-btn{flex:1;min-width:0}.block-edit{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:44px;color:var(--text-2);cursor:pointer;box-shadow:var(--shadow);flex:none;font-size:17px}.block-edit:hover{color:var(--primary);border-color:var(--primary)}@media (max-width:600px){.block-top .block-sub{padding-inline-start:0}}.class-lines li{flex-wrap:wrap;align-items:center;gap:10px;padding:3px 0;display:flex}.lesson-gaps{margin-top:14px}.lesson-gaps-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.lesson-gaps-head .section-title{color:var(--text-1);margin:0;font-size:14px}.lesson-gaps-head .muted,.gap-why{font-size:12px}.gap-cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:10px;display:grid}.gap-col{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfe;padding:10px 12px}.gap-col-title{color:var(--text-2);font-size:13px;font-weight:600}.gap-none{color:var(--teal);margin:6px 0 0;font-size:13px}.gap-lines{margin:0;padding:0;list-style:none}.gap-lines li{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.gap-line-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.gap-line-top .item-name{font-size:14px;font-weight:500}.gap-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.gap-actions .btn-ghost{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:4px 10px;font-size:12px}.gap-on-site{margin:10px 0 0;font-size:13px}@media (max-width:767px){.gap-col-empty{display:none}}.stock-field{flex-direction:column;gap:4px;margin-top:12px;font-size:13px;display:flex}.stock-field input{max-width:140px}.stock-contents{flex-wrap:wrap;gap:10px;display:flex}.stock-contents label{flex-direction:column;gap:4px;font-size:13px;display:flex}.stock-contents input{width:70px}.item-excluded{color:var(--text-2);text-decoration:line-through}.form-card fieldset.edit-scope{border:0;margin:0;padding:0}.form-card .edit-scope legend{color:var(--text-2);margin-bottom:4px;padding:0;font-size:13px;font-weight:400}.form-card .edit-scope label{color:var(--text-1);cursor:pointer;padding:2px 0;font-size:14px;font-weight:400;display:block}.edit-remarks{gap:6px;margin:0 0 4px;padding:0;list-style:none;display:grid}.edit-remarks li{white-space:normal;display:block}.composer-row-fields .edit-row-remark{white-space:normal;flex-basis:100%;margin:0;display:block}.form-card label.inline-field{cursor:pointer;flex-direction:row;align-items:center;gap:6px}.edit-adjust{border-top:1px solid var(--border);margin-top:18px;padding-top:4px}.class-time{font-variant-numeric:tabular-nums;color:var(--text-2);min-width:92px;font-weight:600}.filter-row{margin:4px 0 0}a.chip{color:var(--text-1);text-decoration:none}a.chip:hover{border-color:var(--primary);color:var(--primary)}.checklist{flex-direction:column;gap:8px;display:flex}.checklist li{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfe;align-items:center;gap:10px;padding:8px 12px;display:flex}.checklist .item-name{flex:1;font-weight:500}.checklist label{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.gap-line{align-items:center;gap:8px;padding:4px 0;display:flex}.section-title{color:var(--text-2);margin:14px 0 6px;font-size:13px;font-weight:600}.detail-block{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.muted{color:var(--text-2);font-size:13px}.place-groups{color:var(--text-2);flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.preview-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.preview-row:last-child{border-bottom:none}.instructor-grid{grid-template-columns:2fr 1fr;align-items:start;gap:16px;max-width:1400px;margin:0 auto;display:grid}.instructor-grid>.instructor-board>main{max-width:none}.instructor-side{flex-direction:column;gap:16px;min-width:0;display:flex}@media (max-width:900px){.instructor-grid{grid-template-columns:1fr}}.toolbar .spacer{flex:1}.instructor-strip{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;max-width:1400px;margin:0 auto 16px;display:grid}.instructor-strip:empty{display:none}.next-up{border:2px solid var(--primary)}.next-up .block-list{margin-top:10px}.errand{border-radius:var(--radius-sm);background:var(--red-soft);color:var(--red);margin-top:8px;padding:6px 10px;font-size:13px}.errand-done{background:var(--green-soft);color:var(--teal)}.todo-line{border-radius:var(--radius-sm);background:var(--gray-soft);width:100%;color:var(--text-1);font:inherit;text-align:start;border:none;align-items:center;gap:10px;margin-top:6px;padding:8px 10px;font-size:13px;display:flex}button.todo-line{cursor:pointer}.todo-text{flex:1}.todo-hours{padding:6px 4px 0}.hours-row{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.hours-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.hours-time{align-items:center;gap:6px;font-size:12px;display:inline-flex}.board-section-title{color:var(--text-2);margin:18px 0 0;font-size:13px;font-weight:600}.board-section .block-list{margin-top:8px}.board-history-toggle{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:4px 0;font-size:13px;font-weight:600}@media (min-width:901px){.next-up{display:none}.instructor-strip:not(:has(>:not(.next-up))){display:none}}.instructor-tabbar{display:none}@media (max-width:900px){.instructor-screen{padding-bottom:72px}.instructor-screen [data-pane]{display:none}.instructor-screen[data-tab=today] [data-pane~=today],.instructor-screen[data-tab=board] [data-pane~=board],.instructor-screen[data-tab=equipment] [data-pane~=equipment],.instructor-screen[data-tab=trainings] [data-pane~=trainings],.instructor-screen[data-tab=me] [data-pane~=me]{display:block}.instructor-screen[data-tab=today] .instructor-board main>h1,.instructor-screen[data-tab=today] .instructor-board main>:not(.board-section),.instructor-screen[data-tab=today] .instructor-board .board-section:not([data-section=thisWeek]),.instructor-screen[data-tab=today] .instructor-board .block-row.is-next{display:none}.instructor-screen[data-tab=today] .instructor-board .board-section:not(:has(.block-row:not(.is-next))){display:none}.instructor-tabbar{bottom:0;left:0;right:var(--sidebar-width);height:58px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:65;display:flex;position:fixed}.instructor-tabbar a{color:var(--text-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.instructor-tabbar a span:first-child{font-size:17px}.instructor-tabbar a[aria-current=page]{color:var(--primary);font-weight:600}}@media (max-width:767px){.instructor-tabbar{right:0}}.lesson-material{background:var(--surface-2,#f6f7fb);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 4px;padding:8px 10px;display:flex}.lesson-material p{flex:1;min-width:180px;margin:0;font-size:14px;line-height:1.5}.lesson-material a{white-space:nowrap;color:var(--accent,#0073ea);font-weight:600;text-decoration:none}.slot-row{border:1px solid var(--border,#e0e3ea);background:var(--surface,#fff);border-radius:8px;margin-bottom:12px;padding:12px}.inline-dialog{border:1px dashed var(--accent,#0073ea);background:var(--surface-2,#f6f7fb);border-radius:8px;margin:8px 0;padding:12px}.board-table{table-layout:fixed}.board-table td{vertical-align:top;padding:8px 12px}.board-table .cell-index{color:var(--text-2);font-variant-numeric:tabular-nums}.board-table .cell-name{font-weight:600}.cell-link{margin-inline-start:6px}.cell-button{all:unset;cursor:text;border-radius:var(--radius-sm);width:100%;padding:4px 6px;line-height:1.5;display:block}.cell-button:hover{background:var(--primary-soft);cursor:pointer}.cell-button:focus-visible{outline:2px solid var(--primary)}.cell-empty{color:var(--text-2);font-size:13px}.cell-list{margin:0;padding:0;font-size:13px;line-height:1.6;list-style:none}.cell-editor{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-hover);flex-direction:column;gap:8px;padding:8px;display:flex}.cell-editor-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cell-editor-list li{align-items:center;gap:8px;display:flex}.cell-editor-actions{gap:8px;display:flex}.cell-saved{color:var(--green);align-items:center;gap:6px;margin-inline-start:8px;font-size:12px;display:inline-flex}.cell-error{color:var(--red);margin:4px 0 0;font-size:12px}.cell-controls{white-space:nowrap}.course-pencil{flex:none}.course-add{align-items:end;gap:8px;padding:10px 16px;display:flex}.domain-delete{background:var(--red-soft);border-radius:var(--radius);margin-top:8px;padding:10px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h3{color:var(--text-2);margin:20px 0 8px;font-size:14px;font-weight:600}.icon-btn{min-width:26px;height:26px;color:var(--text-2);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:600;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--text-1);background:var(--gray-soft);border-color:var(--border)}.error-text{color:var(--red);margin:8px 0 0;font-size:13px}.error-banner{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);margin:8px 0 0;padding:8px 12px;font-size:13px}.hint{color:var(--text-2);margin:6px 0 0;font-size:12px}.composer-summary{color:var(--text-1);margin:12px 0 0;font-size:13px;font-weight:600}.composer-modes{gap:6px;display:flex}.table-wrap table.composer-sheet{min-width:0}.composer-sheet{font-size:13px}.composer-sheet th,.composer-sheet td{vertical-align:middle;padding:6px 8px}.composer-sheet th:first-child,.composer-sheet td:first-child{text-align:center;width:40px;color:var(--text-2)}.composer-sheet th:nth-child(2),.composer-sheet td:nth-child(2){white-space:nowrap;width:132px}.table-wrap table.composer-sheet{table-layout:fixed}.composer-sheet tbody tr.alt{background:var(--bg)}.composer-sheet select{width:100%;min-width:0}.composer-sheet th.sheet-col-head{color:var(--text-1);white-space:nowrap;font-size:13px;font-weight:600}.sheet-date{border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:1px solid #0000;padding:2px 4px;font-size:13px}.sheet-date:hover{border-color:var(--border-strong)}.moved-day{color:var(--orange);font-weight:700}.form-card.composer{max-width:900px}.composer-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.composer-head h2{margin:0;font-size:17px;font-weight:600}.composer-head-gap{flex:auto}.composer-row{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:10px;display:grid}.composer-row-label{color:var(--text-2);text-align:start;font-size:13px}.composer-row-fields{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.composer-row-fields>select,.composer-row-fields>input{margin:0}.composer-row-fields .grow{flex:170px;min-width:0}.composer-row-fields .time-field{flex:none}.composer-row-fields input[type=date]{flex:none;width:160px}.inherited-field{min-width:0;color:var(--text-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex:0 auto;align-self:stretch;align-items:center;gap:8px;padding:7px 10px;font-size:14px;line-height:normal;display:inline-flex}.inherited-field button{color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;font-size:15px;line-height:1}.inherited-field button:hover{color:var(--text-1)}.inline-field{color:var(--text-2);flex:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.inline-field input{width:62px}.row-hint{color:var(--text-2);font-size:12px}.composer-row-fields.checks{gap:18px}.composer-row-fields.checks label{color:var(--text-1);flex-direction:row;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:400;display:inline-flex}.composer-row-fields.checks input[type=checkbox]{width:auto;margin:0}.composer-foot{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.composer-foot .composer-summary{margin:0}.sheet-actions{white-space:nowrap}.domain-row{align-items:baseline;gap:10px;display:flex}.course-add{flex-wrap:wrap}.course-add-results{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;gap:4px;margin:0;padding:4px;list-style:none;display:flex}.composer-sheet .sheet-cell{align-items:center;gap:5px;min-width:0;display:flex}.composer-sheet .sheet-cell select{flex:auto;min-width:0}.composer-sheet .sheet-cell .time-field{flex:none}.composer-sheet .sheet-cell .time-field select{flex:none;padding:3px 2px;font-size:12px}.composer-sheet .trio{flex:none;gap:1px;display:inline-flex}.composer-sheet .trio .icon-btn{min-width:24px;height:24px;color:var(--text-2);opacity:.65;padding:0}.composer-sheet .trio .icon-btn:hover:not(:disabled),.composer-sheet .trio .icon-btn:focus-visible{opacity:1;color:var(--primary);background:var(--primary-soft)}.composer-sheet .trio .icon-btn:disabled{opacity:.25;cursor:not-allowed}.composer-sheet th.sheet-merged{text-align:center;color:var(--text-2);background:var(--primary-soft);font-weight:500}.trainings-summary .summary-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.trainings-summary .summary-counts{color:var(--text-2);font-size:13px}.trainings-summary .summary-counts span[style]{font-weight:600}.trainings-summary .summary-sep{color:var(--border-strong)}.trainings-summary .summary-groups{flex-direction:column;gap:12px;margin-top:12px;display:flex}.trainings-summary .summary-groups h4{margin:0 0 6px;font-size:12px;font-weight:600}.trainings-summary .chip-faint{opacity:.5}.swatch-row{align-items:center;gap:4px;display:inline-flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0}.swatch.on{border-color:var(--text-1)}.map-canvas{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);direction:ltr;height:520px;margin-top:12px}@media (max-width:767px){.map-canvas{display:none}}.map-node{border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;box-shadow:var(--shadow);direction:rtl;justify-content:center;align-items:center;padding:0 10px;font-size:13px;display:flex}.map-node-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-node-held{background:var(--green-soft);border-color:var(--green)}.map-node-held_out_of_order{background:var(--orange-soft);border-color:var(--orange)}.map-node-available{background:var(--surface);border-color:var(--primary)}.map-node-locked{background:var(--gray-soft);border-color:var(--border);color:var(--text-2)}.map-node-faint{opacity:.45}.map-area{border-radius:var(--radius);border:2px dashed;width:100%;height:100%}.map-area-label{top:6px;direction:rtl;font-size:12px;font-weight:600;position:absolute;inset-inline-start:10px}.map-edge-delete{border:1px solid var(--border-strong);background:var(--surface);width:18px;height:18px;color:var(--text-2);cursor:pointer;border-radius:50%;font-size:12px;line-height:1;position:absolute}.map-edge-delete.hot{border-color:var(--red);color:var(--red)}.map-legend{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.map-legend-item{border:2px solid;border-radius:999px;padding:2px 8px;font-size:12px}.map-admin-list .preview-row{flex-wrap:wrap}.map-admin-list .inline-title{min-width:0}.confirm-panel{background:var(--red-soft);border:1px solid var(--red);border-radius:var(--radius);margin-top:16px;padding:14px 16px}.confirm-title{color:var(--red);margin:0 0 8px;font-size:14px;font-weight:600}.confirm-list{color:var(--text-1);max-height:160px;margin:0 0 6px;padding-inline-start:18px;font-size:13px;overflow-y:auto}.confirm-panel .form-actions{margin-top:12px;margin-bottom:0}.trainings-summary .chip-locked{opacity:.55;border-style:dashed}.trainings-summary .chip-available{border-color:var(--primary)}.trainings-summary .chip-held-out-of-order{border-color:var(--orange);background:var(--orange-soft)}.eq-s-ok{background:var(--green)}.eq-s-low{background:var(--orange)}.eq-s-defective{background:#a3a6b8}.eq-s-unverified{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}.eq-s-needs_size{background:repeating-linear-gradient(135deg, var(--border-strong) 0 2px, transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--border-strong)}.eq-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 20px;display:grid}.eq-sum-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.eq-sum-head b{font-variant-numeric:tabular-nums;font-size:22px}.eq-stack{border-radius:7px;gap:2px;height:14px;display:flex;overflow:hidden}.eq-stack button{border:0;border-radius:0;min-width:6px;padding:0}.eq-stack button.eq-dim{opacity:.25}.eq-legend{flex-wrap:wrap;gap:4px 14px;margin-top:10px;display:flex}.eq-legend button{color:var(--text-2);background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:13px;display:inline-flex}.eq-legend button:hover:not(:disabled){color:var(--text-1);background:0 0}.eq-legend button b{color:var(--text-1);font-variant-numeric:tabular-nums}.eq-legend button.eq-on{color:var(--text-1);text-underline-offset:4px;text-decoration:underline}.eq-sw{border-radius:3px;width:10px;height:10px;display:inline-block}.eq-counters{flex-wrap:wrap;gap:10px;display:flex}.eq-counter{text-align:start;border:1px solid var(--border);border-radius:var(--radius);min-width:128px;color:var(--text-1);font:inherit;cursor:pointer;background:#fafbfe;gap:2px;padding:10px 14px;text-decoration:none;display:grid}.eq-counter:hover{border-color:var(--border-strong)}.eq-counter b{font-variant-numeric:tabular-nums;font-size:22px;line-height:1.1}.eq-counter span{color:var(--text-2);font-size:12px}.eq-counter.eq-alert b{color:var(--red)}.eq-counter.eq-warn b{color:#b36b00}.eq-counter[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.eq-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;margin-top:14px;display:grid}.eq-layout.eq-layout-full{grid-template-columns:minmax(0,1fr)}.eq-main{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.eq-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.eq-seg{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;display:inline-flex;overflow:hidden}.eq-seg button{color:var(--text-2);border:0;border-radius:0;padding:6px 14px}.eq-seg button+button{border-inline-start:1px solid var(--border)}.eq-seg button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);font-weight:600}.eq-seg-sm{vertical-align:middle;border-radius:5px}.eq-seg-sm button{padding:2px 8px;font-size:11px;line-height:1.5}.eq-gap-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.eq th.eq-gap-col,.eq td.eq-gap-col{z-index:1;position:sticky;inset-inline-end:0}.eq td.eq-gap-col{background:var(--surface)}.eq tbody tr:hover td.eq-gap-col{background:#fafbfe}.eq .table-wrap table{overflow:visible}.eq-seg-sm button{white-space:nowrap}.eq-search{flex:220px;max-width:360px}.eq-search input{width:100%}.eq-chip-toggle{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:16px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.eq-chip-toggle[aria-pressed=true]{border-color:var(--red);color:var(--red);background:var(--red-soft);font-weight:600}.eq-active-filter{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.eq-name-btn{color:var(--text-1);text-align:start;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.eq-name-btn:hover:not(:disabled){color:var(--primary);background:0 0}.eq-name-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eq-row{cursor:pointer}.eq-num{font-variant-numeric:tabular-nums;white-space:nowrap}.eq th{white-space:nowrap}.eq-empty{text-align:center;padding:28px}.eq-squares{flex-wrap:wrap;gap:3px;max-width:230px;display:flex}.eq-square{border-radius:3px;width:11px;height:11px;display:inline-block}.eq-squares.eq-sm .eq-square{border-radius:2px;width:8px;height:8px}.eq-spread{flex-wrap:wrap;gap:4px;display:flex}.eq-pchip{border:1px solid var(--border);color:var(--text-2);white-space:nowrap;background:#fafbfe;border-radius:10px;padding:1px 8px;font-size:12px}.eq-pchip b{color:var(--text-1);font-variant-numeric:tabular-nums}.eq-kchips{flex-wrap:wrap;gap:6px;display:flex}.eq-kchip{border:1px solid var(--border);white-space:nowrap;background:#fafbfe;border-radius:10px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.eq-gap-lines{gap:3px;font-size:13px;display:grid}.eq-gap-lines .eq-g{color:var(--red);font-weight:500}.eq-hint{color:var(--text-2);font-size:12px}.eq-ok-mark{color:#00854d;font-size:13px}.pill-gap{background:var(--red-soft);color:var(--red)}.eq-matrix-tools{border-bottom:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.eq-matrix th.eq-pl{text-align:center;font-weight:600;line-height:1.2}.eq-matrix td.eq-cell{text-align:center;font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--primary) var(--h,0%), transparent);min-width:64px;padding:8px}.eq-matrix td.eq-cell.eq-zero{color:var(--text-2)}.eq-matrix td.eq-cell.eq-has-gap{box-shadow:inset 0 0 0 2px var(--red)}.eq-matrix td.eq-cell input{text-align:center;background:var(--surface);width:58px}.eq-matrix .eq-sticky{background:var(--surface);z-index:1;box-shadow:-1px 0 0 var(--border) inset;min-width:180px;position:sticky;inset-inline-start:0}.eq-matrix th.eq-sticky{background:#fafbfe}.eq-tag{unicode-bidi:isolate;margin-inline-start:3px;font-size:11px;font-weight:600}.eq-matrix td.eq-cell .eq-tag{background:var(--surface);box-shadow:0 0 0 1px var(--border);border-radius:6px;padding:0 4px;line-height:16px;display:inline-block}.eq-tag-gap{color:var(--red)}.eq-tag-def{color:#5b5e70}.eq-tag-claim{color:var(--primary)}.eq-matrix-legend{color:var(--text-2);border-top:1px solid var(--border);background:#fafbfe;flex-wrap:wrap;gap:6px 18px;padding:10px 14px;font-size:12px;display:flex}.eq-heat-sw{vertical-align:middle;background:linear-gradient(to left, color-mix(in srgb, var(--primary) 6%, transparent), color-mix(in srgb, var(--primary) 46%, transparent));border-radius:3px;width:40px;height:10px;display:inline-block}.eq-queue{grid-template-columns:minmax(0,1fr);gap:4px;margin:0;padding:14px 16px;display:grid;position:sticky;top:12px}.eq-queue select{min-width:0;max-width:100%}.eq-queue-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.eq-queue-head h2{margin:0;font-size:16px}.eq-qsec{border-top:1px solid var(--border);padding-block:8px}.eq-qsec>h3{align-items:center;gap:8px;margin:0 0 6px;font-size:14px;display:flex}.eq-qcount{background:var(--gray-soft);border-radius:10px;margin-inline-start:auto;padding:1px 8px;font-size:12px;font-weight:700}.eq-qlist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.eq-qitem{border:1px solid var(--border);text-align:start;width:100%;font:inherit;color:inherit;background:#fafbfe;border-radius:6px;gap:2px;padding:8px 10px;display:grid}button.eq-qitem{cursor:pointer}button.eq-qitem:hover:not(:disabled){border-color:var(--border-strong);background:#fafbfe}.eq-qitem .eq-m{color:var(--text-2);font-size:12px}.eq-queue-empty{color:var(--text-2);font-size:13px}.eq-scrim{z-index:40;background:#14162859;position:fixed;inset:0}.eq-drawer{background:var(--surface);z-index:41;flex-direction:column;width:min(680px,100vw);display:flex;position:fixed;inset-block:0;inset-inline-end:0;box-shadow:0 12px 40px #232c5138}.eq-d-head{border-bottom:1px solid var(--border);gap:10px;padding:18px 22px 14px;display:grid}.eq-d-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.eq-d-title h2{margin:0;font-size:20px}.eq-d-actions{flex-wrap:wrap;gap:8px;display:flex}.eq-d-body{flex:1;align-content:start;gap:22px;padding:16px 22px 96px;display:grid;overflow:hidden auto}.eq-d-sec{gap:10px;display:grid}.eq-d-sec>h3{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.eq-d-body .card{margin:0}.eq-where{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.eq-where-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,1.2fr) minmax(0,1.4fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.eq-where-row:last-child{border-bottom:0}.eq-where-row .eq-need{color:var(--text-2);text-align:end;white-space:nowrap;font-size:12px}.eq-copy-grid td,.eq-copy-grid th{text-align:center;padding:6px 8px}.eq-copy-grid td.eq-lbl,.eq-copy-grid th.eq-lbl{text-align:start;white-space:nowrap}.eq-copy-grid tr.eq-hl td{box-shadow:inset 0 2px 0 var(--primary), inset 0 -2px 0 var(--primary)}.eq-copy-grid tr.eq-sel td{background-color:color-mix(in srgb, var(--primary) 7%, transparent)}.eq-grid-tools{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.eq-selbar{inset-inline:16px;background:var(--text-1);color:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;bottom:16px;box-shadow:0 12px 40px #232c5138}.eq-selbar label{align-items:center;gap:8px;display:inline-flex}.eq-selbar select{background:var(--surface)}.eq-selbar [role=alert]{flex-basis:100%;margin:0}.eq-cons-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,1.3fr) 90px;align-items:center;gap:10px;padding:8px 12px;display:grid}.eq-cons-row:last-child{border-bottom:0}.eq-cons-row input{text-align:center;width:80px}@media (max-width:1150px){.eq-layout{grid-template-columns:minmax(0,1fr)}.eq-queue{position:static}}@media (max-width:720px){.eq-summary{grid-template-columns:minmax(0,1fr)}.eq-counter{flex:120px;min-width:0}.eq-where-row{grid-template-columns:minmax(0,1fr) auto}.eq-where-row .eq-squares{grid-area:2/1/auto/-1}.eq-d-head,.eq-d-body{padding-inline:16px}}.library{grid-template-columns:250px minmax(0,1fr);min-height:100vh;margin:-24px -32px -48px;display:grid}.library a,.program-page a,.drawer a{color:inherit;text-decoration:none}.library-rail{background:var(--surface);border-inline-end:1px solid var(--border);flex-direction:column;gap:22px;height:100vh;padding:20px 14px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.rail-search{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;padding:9px 12px}.rail-block{flex-direction:column;gap:2px;display:flex}.rail-title{justify-content:space-between;align-items:baseline;padding:0 8px 6px;display:flex}.rail-title h2{color:var(--text-2);letter-spacing:.5px;font-size:11px;font-weight:600}.rail-unit{color:var(--text-2);opacity:.8;font-size:11px}.rail-domains{flex-direction:column;gap:2px;display:flex}.library .rail-domain{border-radius:var(--radius-sm);color:var(--text-1);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.library .rail-domain:hover{background:var(--gray-soft)}.library .rail-domain[aria-current=true]{background:var(--primary-soft);color:var(--primary);font-weight:600}.rail-count{color:var(--text-2);text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-size:12px;font-weight:400}.rail-domain[aria-current=true] .rail-count{color:var(--primary)}.library .rail-domain-none{color:var(--text-2)}.rail-sep{background:var(--border);height:1px;margin:6px 8px}.rail-chips{flex-wrap:wrap;gap:6px;padding:0 6px;display:flex}.library .rail-chip{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px;font-size:13px}.library .rail-chip:hover{border-color:var(--border-strong)}.library .rail-chip[aria-current=true]{background:var(--primary);border-color:var(--primary);color:#fff}.rail-manage{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;display:flex}.rail-add{color:var(--primary);text-align:start;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-weight:600}.rail-add:hover{background:var(--primary-soft)}.rail-add-form{flex-direction:column;gap:6px;padding:4px 6px 8px;display:flex}.rail-add-form input{width:100%}.program-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.confirm-delete{background:var(--red-soft);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.confirm-delete p{margin:0}.confirm-delete .btn-danger-ghost{background:var(--surface);border-color:var(--red)}.drawer-hint{color:var(--text-2);margin:0;font-size:12.5px}.drawer-edit{border-top:1px solid var(--border);padding-top:14px}.drawer-delete{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.drawer-refusal{background:var(--red-soft);border-radius:var(--radius-sm);align-self:stretch;padding:10px 12px;font-size:13px}.drawer-refusal p{margin:0}.drawer-refusal ul{max-height:180px;margin:8px 0 0;padding-inline-start:18px;overflow-y:auto}.drawer-delete .confirm-delete{align-self:stretch}.library-main{flex-direction:column;gap:18px;min-width:0;padding:26px 32px 64px;display:flex}.library-main>*{width:100%;max-width:1080px;margin-inline:auto}.library-head,.program-head{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.library-head{align-items:flex-end}.program-head{align-items:flex-start}.library-head h1,.program-head h1{margin:2px 0 0}.crumbs{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.library .crumbs a,.program-page .crumbs a{color:var(--primary)}.crumbs a:hover{text-decoration:underline}.library-sub{color:var(--text-2);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px}.library-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-secondary{border:1px solid var(--primary);background:var(--surface);color:var(--primary);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--primary-soft)}.library-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.library-tabs{gap:4px;display:flex}.library .library-tab{color:var(--text-2);border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 14px;font-weight:500;display:flex}.library .library-tab:hover{color:var(--text-1)}.library .library-tab[aria-current=page]{color:var(--primary);border-bottom-color:var(--primary)}.tab-count{background:var(--gray-soft);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:12px}.library-tab[aria-current=page] .tab-count{background:var(--primary-soft);color:var(--primary)}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:8px;display:flex}.library .filter-chip{background:var(--primary-soft);color:var(--primary);border:0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.filter-chip span[aria-hidden]{opacity:.7;font-size:14px;line-height:1}.library .filter-clear{color:var(--text-2);padding:3px 4px;font-size:12px;text-decoration:underline}.library-nothing{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:36px 16px}.shelf{flex-direction:column;gap:12px;display:flex}.shelf+.shelf{margin-top:18px}.shelf-head{align-items:baseline;gap:10px;display:flex}.shelf-head h2{font-size:15px}.shelf-count{color:var(--text-2);font-size:12px}.shelf-rule{background:var(--border);flex:1;align-self:center;height:1px}.set-aside .shelf-head h2{color:var(--text-2);font-weight:500}.shelf-hint{color:var(--text-2);margin:-6px 0 0;font-size:12px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.library .course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px 16px 14px;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex}.library .course-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong);transform:translateY(-1px)}.card-top{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.course-card h3{color:var(--text-1);margin:0;font-size:16px}.card-age{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.card-age.missing{opacity:.8;font-style:italic}.spine{gap:3px;height:26px;display:flex}.spine i{background:var(--primary-soft);color:var(--primary);border-radius:3px;flex:1;place-items:center;font-size:11px;font-style:normal;font-weight:500;display:grid}.spine i.arch{background:var(--gray-soft);color:var(--text-2)}.card-needs{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:12.5px;display:grid}.card-needs dt{color:var(--text-2);opacity:.8}.card-needs dd{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.card-foot{color:var(--text-2);border-top:1px solid var(--border);justify-content:space-between;margin-top:auto;padding-top:10px;font-size:12px;display:flex}.tags{flex-wrap:wrap;gap:4px;display:flex}.tag{background:var(--gray-soft);color:var(--text-1);border-radius:var(--radius-sm);white-space:nowrap;padding:1px 7px;font-size:12px}.lesson-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.lesson-list-head,.lesson-list-row{grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) minmax(0,1.1fr) 86px;gap:16px;padding:12px 16px;display:grid}.lesson-list-head{color:var(--text-2);background:var(--bg);border-bottom:1px solid var(--border);padding-block:8px;font-size:11.5px;font-weight:500}.lesson-list-head span:last-child,.lesson-list-use{text-align:end}.lesson-list-row{text-align:start;width:100%;font:inherit;color:inherit;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;align-items:start}.lesson-list-head+.lesson-list-row{border-top:0}.lesson-list-row:hover:not(:disabled){background:var(--bg)}.lesson-list-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-list-name{font-weight:600}.lesson-list-summary{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12.5px;overflow:hidden}.lesson-list-use{color:var(--text-2);white-space:nowrap;font-size:12px}.content>main.program-page{flex-direction:column;gap:18px;max-width:1200px;display:flex}.needs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.needs-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.needs-box h4{color:var(--text-2);margin:0;font-size:12px;font-weight:500}.scrim{z-index:10;background:#232c5147;position:fixed;inset:0}.drawer{top:0;bottom:0;background:var(--surface);z-index:11;flex-direction:column;width:min(440px,100vw);animation:.18s ease-out drawer-in;display:flex;position:fixed;inset-inline-end:0;box-shadow:-12px 0 40px #232c512e}.drawer:focus{outline:none}@keyframes drawer-in{0%{opacity:.4;transform:translate(-24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.drawer{animation:none}.library .course-card{transition:none}}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.drawer-head h2{margin:0;font-size:19px}.drawer-body{flex-direction:column;gap:18px;padding:16px 20px 24px;display:flex;overflow-y:auto}.drawer-field{flex-direction:column;gap:6px;display:flex}.drawer-field .lbl{color:var(--text-2);font-size:12px;font-weight:500}.drawer .drawer-field>a{color:var(--primary);align-self:flex-start;font-size:13px}.used-in{flex-direction:column;gap:4px;display:flex}.drawer .used-in a{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;gap:8px;padding:7px 10px;display:flex}.drawer .used-in a:hover{border-color:var(--primary)}.used-in small{color:var(--text-2);font-variant-numeric:tabular-nums}.drawer-warn{color:var(--text-2);background:var(--primary-soft);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:12.5px}.drive-browser{flex-direction:column;gap:8px;display:flex}.drive-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.drive-list li+li{border-top:1px solid var(--border)}.drive-row{width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;display:flex}.drive-row:hover:not(:disabled){background:var(--primary-soft)}.drive-row:disabled{opacity:.6;cursor:default}.drive-name{flex:1}.import-note{background:var(--orange-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.import-note p{color:var(--text-2);margin:0 0 6px}.import-note ul{margin:0;padding-inline-start:18px}.import-note li>*{margin-inline-end:8px}.import-note small{color:var(--text-2)}.import-note-remove{color:var(--text-2);padding:0 6px}@media (max-width:1180px){.app-shell:has(.library) .sidebar{display:none}}@media (max-width:767px){.library{margin:-16px -16px -48px}}@media (max-width:760px){.library{grid-template-columns:minmax(0,1fr)}.library-rail{border-inline-end:0;border-bottom:1px solid var(--border);gap:14px;height:auto;padding:16px;position:static}.rail-domains{flex-flow:wrap;gap:4px}.library .rail-domain{border:1px solid var(--border);background:var(--surface)}.rail-domains .rail-sep{display:none}.library-main{padding:18px 16px 48px}.lesson-list-head,.lesson-list-row{grid-template-columns:minmax(0,1fr) auto}.lesson-list-head>:nth-child(2),.lesson-list-head>:nth-child(3),.lesson-list-row>:nth-child(2),.lesson-list-row>:nth-child(3){display:none}}.my-feedback-list{margin:10px 0 0;padding:0;list-style:none}.my-feedback-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.my-feedback-list li:first-child{border-top:0}.sidebar .sidebar-action{text-align:start;width:100%;color:var(--primary);border-radius:var(--radius-sm);background:0 0;border:none;padding:7px 10px;display:block}.sidebar .sidebar-action:hover,.sidebar .sidebar-action[aria-expanded=true]{background:var(--primary-soft)}.feedback-drawer{top:0;right:var(--sidebar-width);background:var(--surface);border-left:1px solid var(--border);z-index:60;visibility:hidden;width:min(400px,100vw);padding:18px 22px;transition:transform .2s,visibility 0s linear .2s;position:fixed;bottom:0;overflow-y:auto;transform:translate(100%);box-shadow:-8px 0 32px #232c5129}.feedback-drawer.open{visibility:visible;transition:transform .2s;transform:translate(0)}@media (max-width:767px){.feedback-drawer{border-left:0;border-top:1px solid var(--border);width:auto;max-height:85vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));z-index:80;border-radius:14px 14px 0 0;top:auto;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 32px #232c5129}.feedback-drawer.open{transform:translateY(0)}}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--primary);justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--primary-soft)}.feedback-drawer-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.feedback-form{flex-direction:column;gap:14px;display:flex}.feedback-form label{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.feedback-form textarea{color:var(--text-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;padding:7px 10px;font-family:inherit;font-size:14px}.feedback-form textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.feedback-form input[type=range]{accent-color:var(--primary);border:none;padding:0}.feedback-urgency-head{justify-content:space-between;align-items:center;display:flex}.feedback-urgency-ends{justify-content:space-between;font-size:11px;font-weight:400;display:flex}.feedback-saved{background:var(--green-soft);color:#00854d;border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-size:13px}.feedback-boxes{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.feedback-box{margin-bottom:0}.feedback-box .card-header{margin-bottom:10px}.feedback-item{border-top:1px solid var(--border);padding:10px 0}.feedback-item.is-fixed{opacity:.6}.feedback-item-head{align-items:center;gap:8px;display:flex}.feedback-item-head h3{flex:1;margin:0;font-size:14px;font-weight:600}.feedback-item-head select{padding:3px 6px;font-size:12px}.feedback-urgency{justify-content:center;min-width:28px}.feedback-body{white-space:pre-wrap;margin:6px 0 4px}.feedback-read-more{margin:0 0 4px;color:var(--primary);margin-inline-start:-8px;padding:3px 8px;font-size:12px;display:block}.feedback-meta{color:var(--text-2);margin:0;font-size:12px}.feedback-attach{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.feedback-attach-title{font-weight:500}.feedback-attach-buttons{gap:8px;display:flex}.feedback-attach-hint{font-size:11px}@media (hover:hover) and (pointer:fine){.feedback-camera{display:none}}@media (hover:none),(pointer:coarse){.feedback-attach-hint{display:none}}.feedback-attached{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px;display:flex}.feedback-attached img{object-fit:cover;border-radius:4px;width:56px;height:56px}.feedback-attached-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-1);flex:1;overflow:hidden}.feedback-drawer.dragging{outline:2px dashed var(--primary);outline-offset:-6px}.feedback-image-toggle{color:var(--primary);margin-inline-start:-8px;padding:3px 8px;font-size:12px}.feedback-image img{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:100%;max-height:420px;margin:6px 0;display:block}input.picker{text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23676879' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:9px;background-repeat:no-repeat;min-width:0;padding-inline-end:26px}input.picker:disabled{opacity:.6;cursor:not-allowed}input.picker[aria-expanded=true]::placeholder{color:var(--text-2)}.picker-pop{z-index:200;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);max-width:min(420px,100vw - 8px);box-shadow:var(--shadow-hover);font-size:14px;position:fixed;overflow:hidden}.picker-pop ul{max-height:240px;margin:0;padding:4px;list-style:none;overflow-y:auto}.picker-pop li{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-1);padding:7px 10px}.picker-pop li[role=option]:hover,.picker-pop li.active{background:var(--primary-soft)}.picker-pop li[aria-selected=true]{color:var(--primary);font-weight:600}.picker-pop li.picker-empty{color:var(--text-2)}.picker-pop li.picker-none{color:var(--text-2);cursor:default;font-size:13px}.picker-add{text-align:start;width:100%;font:inherit;color:var(--primary);background:var(--surface);border:0;border-top:1px solid var(--border);cursor:pointer;padding:9px 14px;font-weight:600;display:block}.picker-add:hover,.picker-add:focus-visible{background:var(--primary-soft)}.picker-add.inline{border:1px dashed var(--border-strong);border-radius:16px;align-self:flex-start;width:auto;padding:4px 12px;font-size:13px}.popup-overlay{z-index:120}.modal.modal-sm{max-width:440px}.field,.quick-add label{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.field>input,.quick-add label>input,.quick-add label>select,.quick-add label>textarea{color:var(--text-1);font-weight:400}.quick-add{flex-direction:column;gap:14px;margin-top:12px;display:flex}.quick-add textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;padding:7px 10px;font-family:inherit;font-size:14px}.quick-add .form-actions{margin-top:4px}input.chip-search{align-self:stretch;padding:5px 9px;font-size:13px}.composer-sheet input.picker{width:100%}.composer-sheet .sheet-cell input.picker{flex:auto;width:auto}.eq-queue input.picker{max-width:100%}.eq-selbar input.picker{background-color:var(--surface)}@media (max-width:767px){.pill{white-space:normal}.block-sub{padding-inline-start:0}.costs-table{display:block;overflow-x:auto}}.view-toggle{background:var(--gray-soft);border-radius:var(--radius);gap:2px;margin-bottom:12px;padding:3px;display:inline-flex}.view-toggle a{color:var(--text-2);border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none}.view-toggle a[aria-current=true]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.places-legend{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.legend-swatch{border-radius:3px;width:12px;height:12px;margin-inline-start:10px}.legend-swatch:first-child{margin-inline-start:0}.legend-swatch.is-mine{background:var(--primary)}.legend-swatch.is-other{background:var(--border-strong)}.place-columns{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;align-items:start;gap:14px;margin-top:12px;padding-bottom:6px;display:grid;overflow-x:auto}.place-column{min-width:0}.place-column-title{border-bottom:2px solid var(--border);margin:0;padding-bottom:6px;font-size:15px}.place-column .block-list{margin-top:10px}.place-column>.muted{margin:10px 0 0}.place-column-add{margin-top:10px}.place-column .block-place{display:none}.place-column .block-sub{padding-inline-start:0}.block-row.is-other .block-btn{border-inline-start-color:var(--border-strong);background:var(--gray-soft);box-shadow:none}.block-row.is-other .block-btn,.block-row.is-other .block-btn .pill,.block-row.is-other .block-span{color:var(--text-2)}.block-row.is-other .block-btn .pill,.block-row.is-other .block-span{background:#dfe2ec}.block-row.is-other .block-edit{background:var(--gray-soft);box-shadow:none}.block-row.is-brief{margin-bottom:6px}.block-row.is-brief .block-btn{padding:6px 12px;font-size:13px}.block-row.is-brief .block-head{flex-wrap:nowrap;gap:8px}.block-row.is-brief .board-date{min-width:0;font-weight:600}.block-row.is-brief .board-plan{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.block-row.is-brief .block-edit{width:34px;font-size:14px}.place-switch{display:none}@media (max-width:900px){.instructor-screen[data-tab=today] .instructor-board .view-toggle{display:none}.view-toggle{display:flex}.view-toggle a{text-align:center;flex:1}.place-switch{gap:6px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.place-switch .chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:6px 12px;font-size:13px}.place-switch .chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.place-columns{display:block;overflow:visible}.place-column[data-current=false],.place-columns .place-column-title{display:none}}.change-log-table td{vertical-align:top}.change-log-when{white-space:nowrap;text-align:right;direction:ltr}.cal-bar{align-items:center;gap:8px;display:flex}.cal-title{text-align:center;min-width:120px;margin:0;font-size:16px}.cal-grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%;margin-top:8px}.cal-grid th{color:var(--text-2);text-align:center;padding:2px 0;font-size:12px;font-weight:600}.cal-grid td{vertical-align:top;height:1px;padding:0}.cal-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:100%;min-height:78px;color:var(--text-1);font:inherit;text-align:start;cursor:pointer;flex-direction:column;align-items:stretch;gap:3px;padding:5px 6px;display:flex}.cal-day:hover{border-color:var(--border-strong)}.cal-grid td.is-outside .cal-day{color:var(--text-2);opacity:.6;background:0 0}.cal-day[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.cal-num{text-align:center;border-radius:999px;align-self:flex-start;min-width:20px;font-size:12px;font-weight:600;line-height:20px}.cal-day[aria-current=date] .cal-num{background:var(--primary);color:#fff}.cal-lesson{border-inline-start:3px solid var(--primary);background:var(--primary-soft);border-radius:4px;flex-direction:column;min-width:0;padding:2px 6px;font-size:12px;line-height:1.35;display:flex}.cal-time{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:600}.cal-place{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-lesson.is-cancelled{border-inline-start-color:var(--border-strong);background:var(--gray-soft);color:var(--text-2);text-decoration:line-through}.cal-lesson.is-cancelled .cal-time{color:var(--text-2)}.cal-chosen{margin-top:14px}.cal-chosen-title{border-bottom:2px solid var(--border);margin:0;padding-bottom:6px;font-size:15px}.cal-chosen .block-list,.cal-chosen>.muted{margin:10px 0 0}@media (max-width:900px){.cal-grid{border-spacing:2px}.cal-day{flex-flow:wrap;place-content:flex-start center;align-items:center;gap:3px;min-height:46px;padding:4px 2px}.cal-num{flex:0 0 20px;align-self:auto;margin-inline:calc(50% - 10px)}.cal-lesson{background:var(--primary);border:none;border-radius:999px;width:7px;height:7px;padding:0}.cal-lesson.is-cancelled{background:var(--border-strong)}.cal-lesson>*{display:none}}.planning{border-top:2px solid var(--border);margin-top:36px;padding-top:24px}.planning .form-card{flex-direction:column;gap:12px;max-width:720px;margin-bottom:16px;display:flex}.planning-form textarea{font:inherit;color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;padding:8px 10px;font-weight:400}.planning-kind{gap:16px;display:flex}.planning-kind label{align-items:center;flex-direction:row!important;gap:6px!important}.planning-level-field{align-items:flex-end;gap:6px;margin-bottom:8px;display:flex}.planning-level-field label{flex:1}.planning-hint{margin-top:-6px;font-size:12px}.planning-group{margin-top:20px}.planning-group-title{margin:0 0 10px;font-size:16px}.planning-systems{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:14px;margin:0;padding:0;list-style:none;display:grid}.planning-systems>li>.planning-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.planning-item .feedback-item-head .pill{white-space:nowrap}.planning-levels{flex-direction:column;gap:4px;margin:6px 0;padding-inline-start:20px;display:flex}.planning-levels li.is-current .planning-level-text{font-weight:600}.planning-levels .pill{margin-inline-start:6px}.planning-spec{background:var(--gray-soft);border-radius:var(--radius);padding:8px 10px}.planning-spec.is-stale{background:var(--red-soft)}.planning-actions{align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.planning-actions button{padding:3px 8px;font-size:12px}@media (max-width:600px){.planning-systems{grid-template-columns:1fr}}.feedback-kind{border:0;gap:8px;margin:0;padding:0;display:flex}.feedback-kind legend{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500}.feedback-form .feedback-kind label.chip{cursor:pointer;flex-direction:row;align-items:center;gap:6px}.feedback-kind input[type=radio]{opacity:0;pointer-events:none;position:absolute}.feedback-part{margin-bottom:28px}.feedback-part-title{margin:0 0 12px;font-size:18px}.feedback-box .card-header h3{margin:0;font-size:15px}.feedback-item-head h4{flex:1;margin:0;font-size:14px;font-weight:600}.spec-pill{white-space:nowrap;margin-top:6px;display:inline-flex}
