:root{--navy:#0B2545;--gold:#C8A24A;--canvas:#F3F5F9}html,body,#root{height:100%}body{margin:0;background:var(--canvas)}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;letter-spacing:.2px}.brand-mark{width:30px;height:30px;border-radius:8px;background:#1d5fd0;display:grid;place-items:center;box-shadow:inset 0 -3px 0 var(--gold)}.context-bar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #E3E8F0;padding:8px 24px;display:flex;flex-wrap:wrap;gap:8px 6px;align-items:center}.context-bar .crumb{color:#98a2b3}.context-bar .ant-select{min-width:150px}.page{padding:20px 24px 40px;max-width:1500px}.page-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.page-title h1{margin:0;font-size:22px;color:#0b2545}.page-title p{margin:2px 0 0;color:#5b6678}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.eyebrow{color:#5b6678;font-size:12px;text-transform:uppercase;letter-spacing:.6px}.gold-rule{height:3px;width:36px;background:var(--gold);border-radius:2px;margin:6px 0 0}.login-wrap{min-height:100%;display:grid;place-items:center;padding:16px;background:linear-gradient(160deg,#0b2545,#13315c 55%,#1d5fd0 140%)}.login-card{width:100%;max-width:400px}.tt-scroll{overflow-x:auto;border:1px solid #D9DFE8;border-radius:10px;background:#fff}.tt-grid{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.tt-grid th,.tt-grid td{border-right:1px solid #D9DFE8;border-bottom:1px solid #D9DFE8;padding:9px 10px;vertical-align:top;font-size:13px;overflow-wrap:anywhere}.tt-grid tr:last-child th,.tt-grid tr:last-child td{border-bottom:0}.tt-grid th:last-child,.tt-grid td:last-child{border-right:0}.tt-grid thead th{position:sticky;top:0;z-index:1;background:#f1f5fa;color:#0b2545;text-align:left;font-weight:650}.tt-grid tbody th{background:#f7f9fc;color:#334155}.lesson-cell{border-left:3px solid #1D5FD0;padding:2px 0 2px 8px;margin-bottom:6px;min-height:42px}.lesson-cell.conflict{border-left-color:#c0392b;background:#fdf1ef}.lesson-cell.draft{border-left-color:#c77700}.lesson-cell strong,.lesson-cell small{display:block;line-height:1.35}.lesson-cell strong{color:#172033}.lesson-cell small{color:#5b6678;margin-top:2px}.tt-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:1px;margin-bottom:10px;overflow:hidden;border:1px solid #E3E8F0;border-radius:8px;background:#e3e8f0}.tt-summary div{background:#fff;padding:8px 10px}.tt-summary span,.tt-summary strong{display:block}.tt-summary span{color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.35px}.tt-summary strong{color:#172033;margin-top:2px}.tt-lunch th,.tt-lunch td{background:#fff8e7!important;color:#805b13;padding-top:6px;padding-bottom:6px}.tt-add{color:#6b7280}.tt-empty{color:#a0a8b5}.tree-pane{min-height:360px}.mono{font-variant-numeric:tabular-nums}@media(max-width:768px){.page{padding:12px 12px 32px}.context-bar{padding:8px 12px}.context-bar .ant-select{min-width:130px;flex:1 1 130px}.tt-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media print{.no-print,.ant-pro-sider,.ant-pro-sider-fixed,.context-bar,.ant-layout-header,.ant-pro-global-header{display:none!important}.ant-pro-layout .ant-layout-content{margin:0!important;padding:0!important}.ant-layout{background:#fff!important}body{background:#fff}@page{size:A4 landscape;margin:10mm}.page{padding:0;max-width:none}.tt-grid{min-width:0}.tt-grid th,.tt-grid td{font-size:9px;padding:5px}.tt-scroll{overflow:visible;border-color:#999}.ant-pro-layout{padding-inline-start:0!important}.ant-pro-layout-content{padding:0!important}.ant-layout-sider{display:none!important}.ant-pro-layout .ant-layout{margin-inline-start:0!important}}.page{min-width:0}.page .ant-select{max-width:100%}.page .ant-segmented{max-width:100%;overflow-x:auto}.page .ant-card-body{overflow-x:auto}.page .ant-tabs-nav{margin-bottom:12px}.page .ant-card-head-wrapper{flex-wrap:wrap;row-gap:8px}.page .ant-card-head-title{white-space:normal}.page .ant-card-extra{margin-inline-start:0;max-width:100%}.page .ant-card-extra .ant-space{flex-wrap:wrap}
