@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.legacy-workbook{--legacy-navy: #21213e;--legacy-grid: #b6bbc1;--legacy-row-width: 36px;--legacy-subject-width: 260px;border:1px solid #c8cbd1;border-radius:12px;overflow:hidden;background:#fff;color:#21212c}.sheet-mode .legacy-workbook{display:flex;flex-direction:column;flex:1;min-height:0}.sheet-mode .planner-heading .eyebrow,.sheet-mode .planner-heading p{display:none}.sheet-mode .planner-heading h1{margin-top:0}.sheet-mode .legacy-filter-panel{padding:12px 16px 8px}.sheet-mode .legacy-filter-summary{padding-top:8px}.sheet-mode .legacy-guide{padding:4px 16px}.sheet-mode .legacy-scroll-controls{padding-top:0;padding-bottom:4px}.sheet-mode .legacy-scroll-controls .icon-btn{height:24px}.sheet-mode .legacy-workbook>:not(.legacy-grid-scroll){flex-shrink:0}.sheet-mode .legacy-grid-scroll{flex:1;min-height:0;max-height:none;overscroll-behavior:contain;scroll-padding-top:60px}.sheet-mode .legacy-title{padding-top:12px;padding-bottom:12px}.sheet-mode .legacy-date,.sheet-mode .legacy-total{padding-top:6px;padding-bottom:6px}.sheet-mode .legacy-date strong,.sheet-mode .legacy-total strong,.sheet-mode .legacy-title strong{font-size:20px}.sheet-mode .legacy-sheet-tabs :is(button,a){padding-top:10px;padding-bottom:10px}.legacy-cover{display:flex;align-items:stretch;background:var(--legacy-navy);color:#fff;font-family:Inter Variable,Segoe UI,sans-serif}.legacy-title{padding:20px 22px;display:flex;align-items:center;gap:12px;flex:1;min-width:215px}.legacy-title strong{display:block;font-size:24px;letter-spacing:.7px}.legacy-title span{font-size:10px;letter-spacing:2px;color:#b9bfd9}.legacy-date,.legacy-total{display:flex;flex-direction:column;justify-content:center;padding:16px 22px;border-left:1px solid #42425b;min-width:115px}.legacy-cover div>span{font-size:10px;color:#b9bfd9;letter-spacing:1px}.legacy-date strong,.legacy-total strong{font-size:23px;line-height:1.5;font-variant-numeric:tabular-nums}.legacy-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;background:#f3f4f7;border-bottom:1px solid #d8dae0}.legacy-toolbar .search{flex:1;min-width:210px;max-width:380px;background:#fff}.legacy-toolbar select{background:#fff;font-size:12px}.legacy-filter-panel{position:relative;z-index:8;padding:18px 20px 12px;background:#f5f5f8;border-bottom:1px solid #d8dae0}.legacy-filter-popover{position:absolute;top:calc(100% - 8px);left:12px;right:12px;padding:16px;border:1px solid #d6d8e1;border-radius:9px;background:#fff;box-shadow:0 8px 24px #21213e22;max-height:calc(100dvh - 260px);overflow-y:auto}.legacy-filter-popover>.btn{margin-top:14px}.legacy-tool-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:0}.legacy-tool-row .search{flex:1;min-width:210px;background:#fff;border:1px solid #d6d8e1;border-radius:8px}.legacy-tool-row .search:focus-within{border-color:#626287;box-shadow:0 0 0 3px #21213e0b}.legacy-tool-row .search input{font-size:12px}.legacy-search-clear{display:flex;padding:4px;border:0;background:transparent;color:#73768a}.legacy-filter-toggle,.legacy-order-direction{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d6d8e1;border-radius:8px;background:#fff;color:#41415d;min-height:39px;padding:9px 12px;font-size:12px}.legacy-filter-toggle.active{border-color:#737396;background:#ececf4}.legacy-filter-toggle>span{padding:1px 6px;border-radius:5px;background:#21213e;color:#fff;font-size:10px}.legacy-order-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#64687a}.legacy-order-label select{max-width:180px;min-height:39px;border-color:#d6d8e1;font-size:12px;background:#fff}.legacy-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.legacy-filter-fields>label{display:flex;flex-direction:column;gap:6px;color:#565a6c;font-size:11px;font-weight:500}.legacy-filter-fields select,.legacy-filter-fields input{width:100%;min-width:0;background:#fff;border:1px solid #d6d8e1;border-radius:7px;font-size:12px;min-height:39px}.legacy-extra-filters{padding-top:14px}.legacy-filter-error{grid-column:1/-1;font-size:12px;color:#8a1831}.legacy-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:13px}.legacy-result-count{color:#696d7e;font-size:11px}.legacy-result-count strong{color:#21213e}.legacy-active-filters{flex:1;display:flex;flex-wrap:wrap;gap:5px}.legacy-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d6d8e1;border-radius:6px;padding:4px 7px;color:#41415d;background:#e9e9f1;font-size:10px;max-width:100%;overflow-wrap:anywhere}.legacy-area-chip-CIR,.legacy-area-chip-CLM,.legacy-area-chip-GO,.legacy-area-chip-PED,.legacy-area-chip-PREV{background:#e1e5d7}.legacy-reset-filters{border:0;background:transparent;color:#555575;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:4px}.legacy-sort-button{display:flex;align-items:center;justify-content:space-between;gap:3px;width:100%;min-height:36px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:6px}.legacy-sort-button>svg{flex-shrink:0;opacity:.45}.legacy-sort-button:hover,.legacy-sort-button.sorted{box-shadow:inset 0 -3px #ffffff90}.legacy-sort-button.sorted>svg,.legacy-sort-button:hover>svg{opacity:1}.legacy-sort-button:focus-visible{outline:2px solid #9bc3e6;outline-offset:-2px}.legacy-grid .legacy-number-col+.legacy-number-col{width:50px}.legacy-count{margin-left:auto;font-size:12px;color:#575d6b}.legacy-guide{position:relative;z-index:7;padding:8px 16px;font-size:12px;line-height:1.6}.legacy-guide summary{cursor:pointer;color:#555575;font-size:11px}.legacy-guide-content{position:absolute;top:100%;left:8px;right:8px;padding:14px;border:1px solid #d6d8e1;border-radius:8px;background:#fff;box-shadow:0 6px 20px #21213e22}.legacy-guide p{margin:0 0 8px}.legacy-guide strong{font-weight:600}.legacy-key{display:flex;flex-wrap:wrap;gap:8px 17px;color:#535968}.legacy-key span{display:flex;align-items:center;gap:6px}.legacy-key i{width:12px;height:12px;border:1px solid #9da1aa;display:inline-block}.legacy-key .key-edit{background:#d8d8d8}.legacy-key .key-done{background:#c6efce}.legacy-key .key-late{background:#ffc7ce}.legacy-scroll-controls{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#616571;padding:4px 16px 8px}.legacy-scroll-controls>div{display:flex;gap:6px}.legacy-scroll-controls .icon-btn{border:1px solid #d8dae0;background:#f3f4f7;width:30px;height:28px}.legacy-grid-scroll{overflow:auto;max-height:65vh;min-height:220px;position:relative;border-top:1px solid #b6bbc1;outline-offset:-3px;scrollbar-color:#9a9caf #eeeef3}.legacy-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-family:Inter Variable,Segoe UI,sans-serif;font-size:12px;line-height:1.25;font-variant-numeric:tabular-nums}.legacy-grid caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.planner-heading .actions{flex-wrap:wrap;max-width:100%}.legacy-grid .legacy-row-col{width:var(--legacy-row-width)}.legacy-grid .legacy-subject-col{width:var(--legacy-subject-width)}.legacy-grid .legacy-area-col{width:110px}.legacy-grid .legacy-date-col{width:82px}.legacy-grid .legacy-relevance-col{width:104px}.legacy-grid .legacy-number-col{width:46px}.legacy-grid .legacy-summary-col{width:70px}.legacy-grid th,.legacy-grid td{padding:0;border-right:1px solid var(--legacy-grid);border-bottom:1px solid var(--legacy-grid);height:36px;min-width:46px;text-align:center;color:#21212c;background:#fff;white-space:nowrap}.legacy-grid thead th{position:sticky;z-index:3;text-transform:none;font-size:12px;letter-spacing:0}.legacy-grid .legacy-column-letters th{top:0;height:24px;min-height:24px;background:#e8e9ed;color:#656873;font-size:11px;font-weight:400}.legacy-grid .legacy-column-headings th{top:24px;height:34px;font-weight:700}.legacy-grid .legacy-row-number{position:sticky;left:0;min-width:var(--legacy-row-width);width:var(--legacy-row-width);background:#e8e9ed;color:#656873;font-weight:400;z-index:2}.legacy-grid .legacy-subject{position:sticky;left:var(--legacy-row-width);width:var(--legacy-subject-width);min-width:var(--legacy-subject-width);max-width:var(--legacy-subject-width);text-align:left;z-index:2;border-right:2px solid #818697;box-shadow:3px 0 5px #21213e0a}.legacy-grid thead .legacy-subject,.legacy-grid thead .legacy-row-number{z-index:5}.legacy-grid .legacy-column-headings .legacy-subject,.legacy-grid .legacy-column-headings .legacy-area{background:#747373;color:#fff;padding:0}.legacy-grid .legacy-column-headings .legacy-input-heading{background:#a5a5a5;color:#fff}.legacy-grid .legacy-column-headings .legacy-relevance-heading{background:#9bc3e6;color:#1c304b}.legacy-grid .legacy-column-headings .legacy-stage-heading{background:#000;color:#fff}.legacy-grid .legacy-column-headings .legacy-totals-heading{background:#a9d18e;color:#000}.legacy-grid .legacy-column-headings .legacy-meta-heading{background:#ffa6c3;color:#000}.legacy-grid .legacy-entry,.legacy-grid .legacy-blocked{background:#d8d8d8}.legacy-grid .legacy-relevance{background:#fff}.legacy-grid .legacy-meta{background:#fff;font-weight:700}.legacy-grid .legacy-totals{background:#fff}.legacy-grid .legacy-stage-date{border-left:1px solid #737985}.legacy-grid .legacy-done{background:#c6efce;color:#176533;font-weight:600}.legacy-grid .legacy-late{background:#ffc7ce;color:#8a1831}.legacy-grid .legacy-today{background:#ffeb9c;color:#795500}.legacy-grid .legacy-below-target{background:#fff1d8;color:#8a4c14}.legacy-grid .legacy-rate{font-weight:700}.legacy-grid .legacy-area-CIR{background:#f0f5e7}.legacy-grid tr.legacy-area-tone-alt .legacy-area-CIR{background:#e1e5d7}.legacy-grid .legacy-area-CLM{background:#f0f5e7}.legacy-grid tr.legacy-area-tone-alt .legacy-area-CLM{background:#e1e5d7}.legacy-grid .legacy-area-GO{background:#f0f5e7}.legacy-grid tr.legacy-area-tone-alt .legacy-area-GO{background:#e1e5d7}.legacy-grid .legacy-area-PED{background:#f0f5e7}.legacy-grid tr.legacy-area-tone-alt .legacy-area-PED{background:#e1e5d7}.legacy-grid .legacy-area-PREV{background:#f0f5e7}.legacy-grid tr.legacy-area-tone-alt .legacy-area-PREV{background:#e1e5d7}.legacy-cell-button{display:block;width:100%;height:100%;min-height:35px;padding:5px 6px;background:transparent;border:none;border-radius:0;font:inherit;color:inherit;cursor:pointer}.legacy-cell-button:hover:not(:disabled){background:#ffffff60;outline:2px solid var(--brand);outline-offset:-2px}.legacy-cell-button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.legacy-cell-button:disabled{cursor:not-allowed;opacity:.7}.legacy-topic-button{text-align:left;padding:8px 10px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.legacy-grid tbody tr:hover td{filter:none;box-shadow:inset 0 1px #21213e35,inset 0 -1px #21213e35}.legacy-sheet-tabs{min-height:44px;scrollbar-width:none;display:flex;align-items:stretch;overflow-x:auto;padding-left:12px;background:#e9e9ef;border-top:1px solid #b7bbc6;gap:2px}.legacy-sheet-tabs :is(button,a){flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:42px;font-family:Inter Variable,Segoe UI,sans-serif;font-size:11px;font-weight:600;border:0;border-right:1px solid #d4d5dd;padding:13px 16px;background:#f6f6f8;color:#595968;cursor:pointer}.legacy-sheet-tabs::-webkit-scrollbar{display:none}.legacy-sheet-tabs :is(button,a).active{background:#fff;color:#21213e;box-shadow:inset 0 -3px #21213e}.legacy-sheet-tabs :is(button,a):hover{background:#fff}.legacy-navigation{margin-bottom:14px;border:1px solid #b7bbc6;border-radius:6px;padding-left:0}.legacy-week-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.legacy-month-filter{display:flex;align-items:center;gap:8px;font-size:12px}.legacy-record-grid td{padding:7px 9px;white-space:normal;overflow-wrap:anywhere}.legacy-record-grid .legacy-column-headings th{padding:0}.legacy-record-grid .legacy-column-headings th .legacy-sort-button{padding:7px 9px}.legacy-record-grid td:has(.legacy-cell-button){padding:0}.legacy-record-grid .legacy-cell-button{min-height:36px}.legacy-rate-good,.legacy-rate-low{display:block;padding:5px 6px;font-weight:600}.legacy-rate-good{background:#c6efce;color:#176533}.legacy-rate-low{background:#fff1d8;color:#8a4c14}.legacy-statusbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:9px 16px;background:#f3f3f7;font-size:10px;color:#575d6b}@media(max-width:900px){.legacy-cover{flex-wrap:wrap}.legacy-title,.legacy-date{min-width:50%}.legacy-total{flex:1;padding:12px 16px}}@media(max-width:700px){.sheet-mode .legacy-navigation{scrollbar-width:none}.sheet-mode .legacy-navigation::-webkit-scrollbar{display:none}.sheet-mode .planner-heading{gap:10px;margin-bottom:12px}.sheet-mode .planner-heading .eyebrow,.sheet-mode .planner-heading p{display:none}.sheet-mode .planner-heading h1{margin-top:0;font-size:21px}.sheet-mode .legacy-cover{flex-wrap:nowrap}.sheet-mode .legacy-cover .legacy-title,.sheet-mode .legacy-cover .legacy-date{display:none}.sheet-mode .legacy-cover .legacy-total{min-width:0;padding:7px 10px}.sheet-mode .legacy-cover .legacy-total strong{font-size:17px;line-height:1.3}.sheet-mode .legacy-cover div>span{font-size:8px}.sheet-mode .legacy-guide{padding:8px 12px}.sheet-mode .legacy-statusbar{padding:5px 8px;font-size:8px}.sheet-mode .legacy-statusbar>span:first-child:not(:last-child){display:none}.legacy-filter-popover{position:fixed;top:78px;left:12px;right:12px;z-index:50;max-height:calc(100dvh - 96px)}.legacy-filter-panel{padding:14px 12px}.legacy-tool-row .search{flex-basis:100%}.legacy-order-label{flex:1}.legacy-order-label select{min-width:0;width:100%;max-width:none}.legacy-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-filter-fields>label:last-of-type{grid-column:1/-1}.legacy-active-filters{flex-basis:100%;order:3}.legacy-reset-filters{margin-left:auto}.legacy-workbook{--legacy-row-width: 28px;--legacy-subject-width: 145px}.legacy-title{padding:15px 12px;gap:7px}.legacy-title strong{font-size:19px}.legacy-title svg{width:18px}.legacy-date{padding:12px}.legacy-date strong,.legacy-total strong{font-size:19px}.legacy-total{min-width:0}.legacy-toolbar{padding:12px}.legacy-toolbar .search{max-width:none;flex-basis:100%}.legacy-toolbar select{flex:1;width:135px;min-width:0}.legacy-count{width:100%;margin-left:0}.legacy-guide{padding:12px}.legacy-scroll-controls{padding:4px 12px 8px;gap:8px}.legacy-scroll-controls>span{max-width:215px}.legacy-grid-scroll{max-height:65vh}.legacy-sheet-tabs{padding-left:0}}:root{font-family:Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#28283d;background:#f4f4f8;font-synthesis:none;font-size:14px;--brand: #21213e;--brand-hover: #33335b;--deep: #17172d;--muted: #858590;--line: #e0e0e9;--paper: #fff;--brand-soft: #eeeef6;--terracotta: #b97561}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8787a7;outline-offset:3px}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}input,select,textarea{border:1px solid #dbdbe5;border-radius:7px;padding:11px 12px;min-width:0;color:#2d2d44;background:#fff;font-size:13px}input::placeholder,textarea::placeholder{color:#9f9fa7}input:focus,select:focus,textarea:focus{border-color:#79799f;outline:none;box-shadow:0 0 0 3px #e7e7f1}textarea{resize:vertical}select{padding-right:27px}strong{font-weight:600}h1,h2,h3{font-family:Inter Variable,Segoe UI,sans-serif}h1{letter-spacing:-1px}small{color:#858590}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border-radius:7px;font-weight:550;font-size:12px;white-space:nowrap;border:1px solid transparent;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand);color:#fff;box-shadow:0 2px 3px #1d1d3710}.btn.primary:hover{background:var(--brand-hover)}.btn.secondary{background:#fff;border-color:#d9d9e6;color:#474761}.btn.secondary:hover{background:#f1f1f8}.btn.small{font-size:11px;padding:8px 12px}.btn.danger{background:#a65e4e;color:#fff}.actions{display:flex;gap:9px}.text-btn{border:0;background:none;padding:5px 0;color:#52526c;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.text-btn:hover{color:#1d1d37}.icon-btn{padding:7px;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#7d7d8a}.icon-btn:hover{background:#ededf3;color:#272748}.destructive{color:#aa6c5c}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:600;color:#71718c;display:block}.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;box-shadow:0 2px 2px #27273e02}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.section-head h3{font-size:13px;font-weight:700;letter-spacing:-.2px}.section-head p{font-size:10.5px;margin-top:6px;color:#90909a;line-height:1.5}.progress{height:5px;border-radius:10px;background:#e4e4ed;overflow:hidden}.progress span{display:block;height:100%;background:#6f6f9e;border-radius:10px;transition:width .4s}.badge{display:inline-flex;border-radius:5px;padding:5px 7px;font-size:9px;line-height:1;font-weight:550;white-space:nowrap;background:#ededf2;color:#7a7a85}.badge.success{background:#eaf1e4;color:#5d7c49}.badge.danger{background:#f8ebe4;color:#b27a65}.badge.warning{background:#fbf2e0;color:#a08243}.badge.area-CIR,.area-symbol.area-CIR{background:#ecf0e8;color:#688163}.badge.area-CLM,.area-symbol.area-CLM{background:#eaf0f2;color:#6e8994}.badge.area-GO,.area-symbol.area-GO{background:#f4ece6;color:#a98c76}.badge.area-PED,.area-symbol.area-PED{background:#efedf4;color:#8a809a}.badge.area-PREV,.area-symbol.area-PREV{background:#f4eced;color:#ae8591}.text-green{color:#60834a}.form-error{background:#fbebe7;color:#9e5748;padding:13px 16px;border-radius:7px;font-size:12px;margin-bottom:18px;display:flex;gap:12px;align-items:center;justify-content:space-between}.success-alert{background:#e8f1e4;color:#5b784b;padding:13px 16px;border-radius:7px;font-size:12px;display:flex;gap:9px;margin-bottom:18px}.empty{padding:32px 18px;text-align:center;color:#7f7f92}.empty>span{width:50px;height:50px;margin:0 auto 14px;background:#ededf5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#767694}.empty h3{font-size:13px;color:#4e4e6b;margin-bottom:7px}.empty p{font-size:11px;line-height:1.65;max-width:400px;margin:0 auto 14px}.mt{margin-top:22px}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:14px;color:#656586;font-size:13px}.app-loading.inner{min-height:350px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:flex;height:100dvh;min-height:0;overflow:hidden}.sidebar{width:232px;background:#fff;border-right:1px solid #dedee9;position:fixed;left:0;top:0;bottom:0;z-index:35;padding:30px 18px 17px;display:flex;flex-direction:column}.sidebar{overflow-y:auto;transition:width .2s ease}.sidebar nav>button>svg{flex-shrink:0}.sidebar-mobile-close{display:none;position:absolute;top:12px;right:10px}.brand{display:flex;align-items:center;gap:11px;padding:0 13px;margin-bottom:43px}.brand-mark{font-family:Georgia,serif;font-size:45px;font-style:italic;font-weight:700;color:var(--brand);letter-spacing:-5px;line-height:1;position:relative;padding-right:7px}.brand-mark>span{font-size:16px;letter-spacing:0;position:absolute;right:0;top:-1px;transform:rotate(-10deg);color:#8181a7}.brand strong{font-family:Inter Variable,sans-serif;font-size:10px;letter-spacing:2.6px;display:block;color:var(--brand)}.brand small{font-size:5.6px;letter-spacing:.55px;display:block;margin-top:7px;color:#8181a0}.nav-label{font-size:8px;letter-spacing:1.4px;color:#9696a7;margin:0 16px 12px;font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav>button{display:flex;align-items:center;gap:12px;padding:12px 13px;border:none;background:transparent;text-align:left;font-size:10.6px;color:#7a7a8b;border-radius:7px;font-weight:450;min-height:41px}.sidebar nav>button:hover{background:#f2f2f8;color:#46466c}.sidebar nav>button.active{background:#e7e7f2;color:#383867;font-weight:600}.nav-count{margin-left:auto;background:#d0d0e5;color:#4b4b85;padding:3px 5px;border-radius:4px;font-size:8px;min-width:19px;text-align:center}.admin-label{margin-top:31px}.admin-dot{width:4px;height:4px;background:#71719e;border-radius:50%;margin-left:auto}.settings-nav{margin-top:20px;padding-top:16px;border-top:1px solid #e9e9f0}.sidebar-bottom{margin-top:auto;padding-top:27px}.sidebar-quote{border:1px solid #d8d8e8;background:#f4f4f9;border-radius:8px;padding:18px 14px;color:#68688b;margin-bottom:18px}.sidebar-quote>span{color:#7a7aa5;font-size:19px}.sidebar-quote p{font-size:10px;line-height:1.8;margin-top:8px}.sidebar-quote strong{font-weight:500;color:#53537e}.sidebar-bottom>a{display:flex;align-items:center;gap:8px;padding:0 13px;font-size:10px;color:#737393}.sidebar-bottom>a>svg:last-child{margin-left:auto}.sidebar-bottom>small{display:block;text-align:center;font-size:8px;margin-top:24px;color:#a4a4b5}.app-body{height:100%;min-height:0;display:flex;flex-direction:column;margin-left:232px;width:calc(100% - 232px);transition:margin-left .2s ease,width .2s ease}.app-shell.no-sidebar .app-body{margin-left:0;width:100%;min-width:0}.topbar-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.topbar-brand .brand-mark{font-size:32px;letter-spacing:-3px}.topbar-brand .brand-mark>span{font-size:12px}.breadcrumb .topbar-brand strong{color:var(--brand);font-weight:700;letter-spacing:2px;font-size:9px}.topbar-admin{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9d9e6;border-radius:7px;background:#fff;padding:8px 10px;color:#474761;font-size:11px;white-space:nowrap}.topbar-admin:hover{background:#f1f1f8}.topbar{flex-shrink:0;position:sticky;top:0;z-index:40;height:78px;background:#fffffff2;border-bottom:1px solid #e1e1e9;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:10px;color:#9696a5}.breadcrumb>span:nth-last-child(2){color:#b9b9c7}.breadcrumb strong{font-size:10px;font-weight:500;color:#5f5f78}.topbar-right{display:flex;gap:23px;align-items:center}.header-date{font-size:9px;color:#7e7e97}.notification{border:0;background:none;color:#74748d;position:relative;padding:0 18px 0 0;border-right:1px solid #ddddea;display:flex;align-items:center;height:28px}.notification i{position:absolute;width:4px;height:4px;background:#b69b76;left:14px;top:2px;border:1px solid white;border-radius:50%}.user-dropdown{position:relative}.user-btn{border:0;background:none;display:flex;align-items:center;gap:10px;padding:0;text-align:left}.avatar{background:#dedeee;color:#595981;display:inline-flex;align-items:center;justify-content:center;min-width:32px;width:32px;height:32px;border-radius:50%;font-size:10px;font-weight:600}.user-btn strong{font-size:10px;display:block;font-weight:600;color:#505072}.user-btn small{font-size:8px;display:block;margin-top:4px;color:#9494aa}.user-btn>svg{color:#8e8ea5;margin-left:7px}.dropdown{position:absolute;right:0;top:45px;width:170px;border:1px solid #dfdfe9;background:#fff;padding:7px;border-radius:8px;box-shadow:0 7px 24px #27273e15;z-index:60}.dropdown button{border:0;background:none;width:100%;display:flex;align-items:center;gap:9px;padding:11px;font-size:11px;color:#565674;border-radius:5px}.dropdown button:hover{background:#ececf5}.page-content{width:100%;flex:1;min-height:0;overflow-y:auto;max-width:1430px;padding:32px 36px 18px;margin:0 auto}.app-shell.no-sidebar .page-content{padding-top:20px}.sheet-page{min-height:0;display:flex;flex-direction:column;flex:1}.sheet-page[hidden]{display:none}.sheet-mode .page-content{display:flex;flex-direction:column;overflow:hidden;padding-top:20px}.sheet-mode .page-content>.page-footer{display:none}.sheet-mode .viewing-banner,.sheet-mode .form-error,.sheet-mode .legacy-navigation,.sheet-mode .planner-heading{flex-shrink:0}.sheet-mode .legacy-navigation{margin-bottom:14px}.sheet-mode .planner-heading{margin-bottom:16px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading h1{font-size:26px;color:var(--brand);font-weight:650;margin-top:9px;letter-spacing:-.85px}.page-heading p{color:#8f8fa2;font-size:10.8px;margin-top:9px;line-height:1.5}.page-footer{margin-top:28px;padding-top:18px;border-top:1px solid #dbdbe9;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#9c9caf}.mobile-toggle{display:none}.overview-grid{display:grid;grid-template-columns:minmax(0,2.65fr) minmax(220px,1fr);gap:19px;margin-bottom:21px}.journey{border-radius:11px;background:#e0e0ef;min-height:184px;position:relative;overflow:hidden;display:flex;align-items:center;padding:23px 28px;border:1px solid #d5d5e8}.journey-copy{position:relative;z-index:2}.journey-pill{font-size:7.5px;letter-spacing:.9px;color:#626292;display:flex;align-items:center;gap:6px;margin-bottom:14px}.journey-pill>span{height:4px;width:4px;background:#6e6eaa;border-radius:50%}.journey h2{font-family:Inter Variable,sans-serif;font-size:27px;line-height:1.14;letter-spacing:-.5px;font-weight:400;color:#424264}.journey h2 em{font-weight:400;color:#545484;font-size:27px}.journey p{font-size:9px;color:#7d7d9c;margin-top:12px}.journey button{border:0;background:none;padding:0;margin-top:17px;display:flex;align-items:center;gap:13px;color:#494980;font-size:9px;font-weight:600}.journey-art{position:absolute;width:260px;height:240px;right:10px;bottom:-30px}.orbit{position:absolute;left:50%;top:50%;border:1px solid #c0c0dd;border-radius:50%;transform:translate(-50%,-50%)}.orbit1{width:110px;height:110px}.orbit2{width:175px;height:175px;border-style:dashed;border-color:#c2c2dd}.orbit3{width:240px;height:240px;border-color:#cacae2}.art-center{position:absolute;left:50%;top:50%;width:76px;height:76px;border-radius:50%;background:#ebebf4;border:1px solid #bdbddc;display:flex;align-items:center;justify-content:center;color:#606094;transform:translate(-50%,-50%) rotate(-12deg);box-shadow:0 3px 16px #50509208}.leaf{position:absolute;width:33px;height:71px;border-radius:100% 0;background:#8585bb;transform:rotate(25deg)}.leaf1{left:63px;bottom:25px;transform:rotate(-10deg);background:#a8a8d0}.leaf2{left:95px;bottom:30px;transform:rotate(27deg);background:#7676a9}.leaf3{left:160px;top:30px;width:25px;height:55px;transform:rotate(47deg);background:#acacd0}.art-star{position:absolute;right:49px;top:69px;font-size:26px;color:#6b6baa}.art-dot{position:absolute;left:55px;top:65px;width:7px;height:7px;background:#8989bd;border-radius:50%}.weekly-goal{padding:23px;background:#fff;border:1px solid var(--line);border-radius:11px;display:flex;flex-direction:column;justify-content:center}.goal-top{display:flex;justify-content:space-between;font-size:10px;color:#777796;gap:10px}.goal-top svg{color:#8c8cae}.weekly-goal>strong{font-family:Inter Variable,sans-serif;font-size:30px;margin:14px 0 12px;color:#424265;letter-spacing:-1px;font-weight:600}.weekly-goal>strong span{font-size:14px;color:#9898ae;font-weight:400;letter-spacing:0}.weekly-goal .progress{height:5px}.weekly-goal>p{font-size:8.5px;color:#9595ad;margin-top:9px}.goal-bottom{border-top:1px solid #e6e6f0;margin-top:18px;padding-top:11px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#9090ac}.goal-bottom>span:first-child{color:#757597;display:flex;align-items:center;gap:5px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:23px}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 20px;min-height:125px}.metric.highlight{background:#eaeaf3;border-color:#cecee4}.metric-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9.5px;color:#7d7d9a}.metric-icon{width:29px;height:29px;background:#f0f0f7;border:1px solid #e5e5f0;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#8888af}.metric.highlight .metric-icon{background:#ddddec;border-color:#d1d1e6;color:#7b7ba7}.metric.attention .metric-icon{background:#faf1e9;color:#bd9b7f;border-color:#f3e8de}.metric>strong{display:block;font-family:Inter Variable,sans-serif;font-size:28px;letter-spacing:-.6px;font-weight:600;color:#46466e;margin:4px 0 10px}.metric.attention>strong{color:#b49478}.metric-bottom{display:flex;align-items:center;gap:5px;font-size:8px;color:#9c9caf;min-height:14px}.metric-badge{padding:3px 5px;border-radius:4px;background:#dadaeb;font-size:7px;color:#66669d;display:flex;align-items:center;gap:2px}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:21px;margin-bottom:23px}.chart{height:220px;font-size:11px}.chart.tall{height:300px}.chart .recharts-wrapper{outline:none}.chart-key{font-size:8px;display:flex;gap:5px;align-items:center;white-space:nowrap;color:#8080a2}.chart-key i{width:5px;height:5px;background:#60608c;border-radius:50%}.chart-key span{color:#b6b099;margin-left:8px}.area-list{display:flex;flex-direction:column;gap:16px}.area-line>div:first-child{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:9px;color:#808099}.area-symbol{border-radius:4px;padding:3px 4px;font-size:7px;min-width:31px;text-align:center}.area-line strong{margin-left:auto;font-weight:500;font-size:9px;color:#747498}.area-line .progress{height:3px}.areas-foot{display:flex;justify-content:space-between;font-size:8px;border-top:1px solid #e6e6f0;margin-top:20px;padding-top:12px;color:#9b9bb0}.areas-foot strong{font-weight:500;color:#737399}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:21px}.next-card .section-head{margin-bottom:12px}.next-list{display:flex;flex-direction:column}.next-row{border:0;border-bottom:1px solid #e8e8f0;background:none;display:flex;width:100%;align-items:center;padding:14px 0;text-align:left;gap:12px}.next-row:last-child{border-bottom:0}.next-row:hover .next-info>strong{color:#3d3d60}.next-icon{width:32px;min-width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#ececf5;color:#7c7ca6}.next-icon.late{background:#faf0e9;color:#bea38a}.next-info{min-width:0;flex:1}.next-info>strong{font-size:10px;font-weight:500;display:block;color:#666685;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.next-info>small{font-size:8px;display:block;margin-top:5px;color:#9494ae}.next-info>small span{padding:0 5px}.next-row>svg{color:#9393b0;margin-left:2px}.routine-day{display:flex;justify-content:space-between;background:#f4f4f9;border-radius:6px;padding:9px 11px;font-size:8px;color:#9191af;margin-top:-4px;margin-bottom:16px}.routine-day strong{font-size:8px;font-weight:500;color:#7777a0}.habit-line{display:flex;align-items:center;gap:12px;margin:18px 0}.habit-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f1f7;border-radius:7px;color:#b5b5cb}.habit-icon.checked{background:#e6e6f1;color:#7a7ab3}.habit-line strong{display:block;font-size:10px;color:#79799a;font-weight:500}.habit-line small{font-size:8px;display:block;margin-top:5px;color:#9c9cb7}.routine>.btn{width:100%;padding:9px;font-size:9px;margin-top:8px;color:#79799c;background:#f6f6fa;border-color:#dadaeb}.mentor-card{margin-top:22px}.mentor-card p{font-size:12px;line-height:1.7;white-space:pre-wrap}.mentor-card small{display:block;font-size:10px;margin:8px 0 15px}.planner-summary{display:flex;align-items:center;gap:28px;font-size:11px;color:#8686a0;margin:0 0 23px}.planner-summary strong{font-size:14px;color:#606088;margin-right:4px}.planner-summary>span{display:flex;gap:7px;align-items:center}.dot{width:5px;height:5px;border-radius:50%}.dot.green{background:#8383b3}.dot.terracotta{background:#c4a387}.table-card{padding:0;overflow:hidden}.filters{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #e7e7f0}.filters select{font-size:10px;padding:10px 28px 10px 12px;background:#fafafc;border-color:#dfdfeb}.search{display:flex;align-items:center;gap:9px;border:1px solid #dfdfeb;border-radius:6px;background:#fafafc;padding:0 12px;flex:1;max-width:380px;color:#9393b0}.search input{border:0;background:transparent;padding:10px 0;font-size:11px;width:100%;box-shadow:none}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px;text-align:left}th{font-size:9px;font-weight:500;color:#8c8caa;background:#f7f7fb;padding:14px 17px;white-space:nowrap;border-bottom:1px solid #dfdfed}td{padding:15px 17px;color:#7e7e9b;border-bottom:1px solid #e7e7f0;white-space:nowrap}td strong{font-weight:500;font-size:10px}.topic-name{white-space:normal;min-width:220px;width:30%;color:#666689;font-weight:500;line-height:1.65}.topic-name button{border:0;background:none;padding:0;font-size:10px;text-align:left;color:inherit;font-weight:500;line-height:1.6}.table-card tbody tr:hover{background:#f7f7fb}.table-card tbody tr{cursor:pointer}.relevance{display:flex;gap:3px;align-items:center}.relevance i{width:4px;height:11px;background:#dfdfee;border-radius:3px}.relevance i.active{background:#8787b6}.stage-tag{display:inline-block;font-size:8px;padding:3px 4px;border-radius:3px;background:#e9e9f3;margin-right:3px;color:#7f7fa5}.pagination{padding:15px 22px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#9898b0}.pagination>div{display:flex;align-items:center;gap:14px}.pagination .icon-btn{border:1px solid #dfdfed;padding:4px}.help-strip{display:flex;align-items:center;gap:13px;padding:20px 5px;color:#8787a7}.help-strip>svg{flex-shrink:0}.help-strip>p{font-size:10px;line-height:1.8;color:#9696ac}.help-strip strong{font-weight:500;color:#75759d}.tabs{display:flex;gap:4px;padding:4px;background:#e5e5f1;border:1px solid #dcdceb;border-radius:7px}.tabs button{border:0;background:none;padding:9px 14px;font-size:10px;color:#8b8ba8;border-radius:4px;white-space:nowrap}.tabs button.active{background:#fff;color:#5a5a86;box-shadow:0 2px 4px #30305909}.tabs button>span{padding:2px 4px;background:#dedeed;font-size:8px;margin-left:5px;border-radius:3px}.review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:23px 0}.review-toolbar select{font-size:11px}.week-control{display:flex;align-items:center;gap:9px;color:#6c6c91;font-size:11px}.week-control strong{font-weight:500}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d8d8e9;border-radius:10px;overflow:hidden;background:#fff}.day-column{border-right:1px solid #dfdfeb;min-height:360px;padding:14px 9px}.day-column:last-child{border:0}.day-column.today{background:#f4f4f9}.day-column header{text-align:center;padding:6px 0 17px;border-bottom:1px solid #e2e2ef;margin-bottom:15px}.day-column header span{font-size:9px;color:#8f8fb0;text-transform:uppercase;display:block;letter-spacing:1px}.day-column header strong{font-size:24px;font-weight:450;display:block;margin:7px 0;color:#6d6d9b}.day-column.today header strong{background:#6e6e9e;color:#fff;border-radius:50%;width:38px;height:38px;line-height:38px;margin:7px auto}.day-column header small{font-size:8px;color:#a0a0bb}.review-item{border:1px solid #d9d9eb;background:#f8f8fb;display:flex;align-items:flex-start;flex-direction:column;text-align:left;gap:9px;border-radius:7px;padding:12px 10px;margin-bottom:10px;width:100%;min-width:0;transition:transform .15s}.review-item:hover{transform:translateY(-2px);border-color:#a0a0c7}.review-item strong{font-size:10px;line-height:1.6;font-weight:500;color:#6a6a94;overflow-wrap:anywhere}.review-item>span:not(.badge){font-size:8px;color:#9595b6}.review-item small{display:flex;align-items:center;justify-content:space-between;font-size:8px;width:100%;color:#9e9ebd}.day-empty{text-align:center;font-size:9px;color:#b1b1cc;line-height:1.8;padding:40px 0}.late-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.late-grid .review-item{margin:0}.performance-areas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.performance-areas article{background:#f8f8fb;border:1px solid #dfdfed;border-radius:8px;padding:18px}.performance-areas h3{font-size:11px;margin:14px 0;color:#727297;font-weight:500;min-height:32px}.performance-areas article>strong{display:block;font-size:27px;color:#676799;font-family:Inter Variable,sans-serif;margin-bottom:12px}.performance-areas article>p{font-size:8px;line-height:1.7;margin-top:12px;color:#9797b4}.performance-areas article>small{font-size:8px;display:block;margin-top:5px;color:#a4a4be}.cell-sub{display:block;font-size:8px;margin-top:4px;color:#a8a8c0}.note-cell{white-space:normal;max-width:220px;font-size:9px;line-height:1.5}.table-note{font-size:10px;color:#9898b5;padding:20px}.exam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.exam-card header{display:flex;align-items:center;gap:9px}.exam-icon{background:#e8e8f2;color:#8787b3;border-radius:7px;display:flex;align-items:center;justify-content:center;width:35px;height:35px}.exam-card header>.icon-btn{margin-left:auto}.exam-card h3{font-size:13px;color:#696995;margin:17px 0 12px}.exam-score{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:15px}.exam-score>strong{font-size:26px;color:#696999;font-family:Inter Variable,sans-serif}.exam-score>span{font-size:8px;color:#9e9ebd}.exam-areas{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;margin-top:18px;border-top:1px solid #e2e2ef}.exam-areas>div{display:flex;flex-direction:column;gap:6px;font-size:8px;color:#9c9cbd;flex:1}.exam-areas strong{font-size:9px;color:#7676a4;font-weight:450}.exam-card>small{font-size:8px;display:block;margin-top:16px}.exam-note{font-size:9px;line-height:1.65;margin-top:14px;color:#9d9dbb;white-space:pre-wrap}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e7e7f0}.student-name{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;padding:0}.student-name strong{font-size:11px;color:#6d6d9c;display:block}.student-name small{font-size:8px;color:#9a9ab9;display:block;margin-top:4px}.row-actions{display:flex;gap:3px}.viewing-banner{background:#e0e0ef;border:1px solid #c8c8e1;border-radius:7px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;color:#696996;font-size:11px}.viewing-banner>div{display:flex;align-items:center;gap:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .card{padding:25px}.settings-save{display:flex;justify-content:flex-end;margin-top:20px}.setting-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e7f0;padding:11px 0;gap:15px;font-size:11px;color:#8585a7}.setting-line>div{display:flex;align-items:center;gap:9px;color:#a0a0be;font-size:10px}.setting-line input{width:64px;padding:7px 9px;text-align:center;font-size:11px}.area-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.area-chips>span{padding:8px 10px;background:#e6e6f2;border:1px solid #d9d9ea;border-radius:5px;font-size:10px;color:#7878a5;display:flex;gap:8px;align-items:center}.area-chips button{border:0;background:none;padding:0;color:#7575a5;display:flex}.area-add{display:flex;gap:9px;align-items:center}.area-add input{width:100%}.source-import{grid-column:1/-1}.source-import p{font-size:11px;line-height:1.8;color:#8f8fb2;margin-bottom:16px}.source-import small{display:block;font-size:10px;line-height:1.8;margin-top:14px;color:#9898b9}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#20203266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:25px;overflow-y:auto}.modal{width:100%;max-width:510px;max-height:90vh;overflow:auto;padding:27px;background:#fff;border-radius:13px;box-shadow:0 20px 90px #19192f30;outline:none}.modal.wide{max-width:760px}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.modal h2{font-size:18px;line-height:1.4;color:#43436f;letter-spacing:-.5px}.modal>header p{font-size:11px;line-height:1.7;color:#8f8fac;margin-top:8px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;font-size:11px;color:#7575a0}.field>span{font-weight:500}.field input,.field select,.field textarea{width:100%;font-size:12px;min-height:42px}.field small{font-size:9px;font-weight:400;color:#a0a0bd;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #dfdfed;padding-top:19px;margin-top:15px}.form-hint{font-size:10px;color:#9393b7;line-height:1.85;margin:12px 0 17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topic-page-back{margin-bottom:12px}.topic-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.topic-page-heading h1{font-size:21px;line-height:1.35;letter-spacing:-.5px;color:var(--brand)}.topic-page-heading>.btn{flex-shrink:0}.topic-page-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;color:#6a6a80;font-size:11px;margin-top:10px}.topic-page-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px}.topic-page-layout.has-editor{grid-template-columns:minmax(0,1fr) 310px}.topic-cycle-card{min-width:0;background:#fff;border:1px solid #d9d9e6;border-radius:9px;overflow:hidden}.topic-cycle-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#21213e;color:#fff}.topic-cycle-card h2{font-size:12px}.topic-cycle-card>header>span{font-size:10px;color:#d2d2de}.topic-cycle-scroll{overflow-x:auto}.topic-cycle-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11px}.topic-cycle-table thead th{background:#747373;color:#fff;padding:9px 12px;text-align:left;font-size:10px;font-weight:550}.topic-cycle-table tbody th,.topic-cycle-table tbody td{padding:4px 12px;height:34px;border-bottom:1px solid #dfdfe9;color:#3b3b51;text-align:left;white-space:nowrap}.topic-cycle-table tbody th{background:#f0f5e7;font-weight:600}.topic-cycle-table tbody tr:nth-child(2n) th{background:#e1e5d7}.topic-cycle-table tbody tr:last-child>*{border-bottom:0}.topic-cycle-table tbody tr.selected>*{background:#e8e8f3}.topic-cycle-table tbody tr.selected th{box-shadow:inset 3px 0 #383868}.topic-cycle-table .topic-date-pending,.topic-cycle-goal{color:#787885;font-size:10px}.topic-cycle-table .btn{min-width:70px;padding:5px 8px;font-size:10px}.topic-cycle-table td:last-child{text-align:right}.topic-stage-editor{background:#fff;border:1px solid #d9d9e6;border-top:3px solid #383868;border-radius:9px;padding:19px}.topic-stage-editor h2{font-size:16px;margin-bottom:8px}.topic-stage-editor>p{font-size:10px;color:#6e6e81;line-height:1.6;margin-bottom:19px}.topic-stage-editor .form-footer{margin-top:18px;gap:8px}.topic-stage-editor .form-footer .btn{font-size:10px;padding:10px 11px}.topic-stage-editor .form-hint{color:#6e6e81}.topic-page-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.topic-page-footer p{font-size:10px;color:#6e6e81;line-height:1.6}@media(max-width:1000px){.topic-page-layout.has-editor{grid-template-columns:minmax(0,1fr)}.topic-stage-editor{grid-row:1}.topic-stage-editor form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 15px}.topic-stage-editor .form-error,.topic-stage-editor .form-hint,.topic-stage-editor .form-footer{grid-column:1 / -1}}@media(max-width:700px){.topic-page-heading{flex-wrap:wrap;gap:12px}.topic-page-heading h1{font-size:19px}.topic-page-meta{gap:8px 12px}.topic-stage-editor form{grid-template-columns:minmax(0,1fr)}}.topic-detail-top{display:flex;align-items:center;gap:24px;background:#f3f3f9;border:1px solid #e0e0ee;border-radius:8px;padding:18px;margin-bottom:20px;flex-wrap:wrap}.topic-detail-top>div{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#9696bc}.topic-detail-top>div strong{font-size:11px;font-weight:500;color:#7d7dae}.topic-detail-top>.btn{margin-left:auto}.cycle-list{margin-bottom:15px}.cycle-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e6e6f2;padding:13px 0}.cycle-node{height:30px;min-width:30px;border:1px solid #dbdbec;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;background:#f5f5fa;color:#b4b4cf}.cycle-row.done .cycle-node{background:#e7e7f2;color:#8888bd;border-color:#d5d5e8}.cycle-row>div:nth-child(2){min-width:150px;flex:1}.cycle-row strong{display:block;font-size:11px;color:#8080ae;font-weight:500}.cycle-row small{display:block;font-size:8px;color:#a5a5c7;margin-top:4px}.cycle-volume,.cycle-score{min-width:72px}.cycle-volume strong span{font-size:9px;color:#aeaece}.cycle-row>.badge{min-width:63px;text-align:center;justify-content:center}.cycle-row .btn{min-width:68px}.review-form-info{display:flex;align-items:center;justify-content:space-between;background:#f2f2f8;border-radius:6px;padding:13px 15px;color:#8d8db4;font-size:10px;margin-bottom:22px;gap:15px}.review-form-info strong{font-size:10px;font-weight:500;color:#7d7daf}.habit-inputs{display:flex;align-items:center;gap:25px;margin:12px 0 24px;font-size:11px;color:#8c8cb9}.habit-inputs label{display:flex;align-items:center;gap:8px;cursor:pointer}.habit-inputs input{accent-color:#7979aa;width:16px;height:16px;min-height:0}.form-subheading{font-size:12px;font-weight:500;color:#8282af;margin:20px 0 15px}.form-subheading>span{font-size:10px;font-weight:400;color:#a6a6c8;margin-left:7px}.exam-entry,.exam-entry-head{display:grid;grid-template-columns:1fr 100px 100px;align-items:center;gap:12px;margin-bottom:10px}.exam-entry-head{font-size:9px;color:#a0a0c7}.exam-entry>.badge{justify-self:start}.exam-entry input{font-size:11px;min-height:34px;padding:8px 10px}.exam-topic-entry{display:grid;grid-template-columns:1fr 75px 75px 30px;align-items:center;gap:9px;margin-bottom:10px}.exam-topic-entry input,.exam-topic-entry select{padding:8px;font-size:10px}.confirmation-text{font-size:12px;color:#9393bc;line-height:1.8;margin-bottom:20px}.invite-success{text-align:center;padding:10px 15px 25px}.invite-success>span{display:flex;align-items:center;justify-content:center;margin:0 auto 13px;width:53px;height:53px;border-radius:50%;background:#e6e6f2;color:#8181ba}.invite-success h3{font-size:15px;color:#8484b7;margin-bottom:8px}.invite-success p{font-size:10px;color:#a0a0c9;line-height:1.7}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%);padding:13px 20px;z-index:150;background:var(--brand);color:#fff;border-radius:8px;font-size:12px;box-shadow:0 3px 15px #1f1f3a20}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-story{background:var(--brand);padding:44px 55px;color:#e7e7f2;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:100vh}.auth-story .brand{padding:0;position:relative;z-index:2}.auth-story .brand-mark{color:#d3d3e7;font-size:54px}.auth-story .brand-mark>span{color:#9e9ec9}.auth-story .brand strong{color:#bdbddc;font-size:13px}.auth-story .brand small{color:#8585ae;font-size:6.5px;letter-spacing:1px}.auth-message{margin:auto 0;position:relative;z-index:2;padding:40px 0;max-width:490px}.eyebrow.light{color:#7e7eb1;letter-spacing:2px;font-size:10px}.auth-message h1{font-family:Inter Variable,sans-serif;font-size:clamp(40px,4.7vw,69px);font-weight:400;line-height:1.12;letter-spacing:-1.6px;margin:24px 0}.auth-message h1 em{color:#9797c5;font-weight:400}.auth-message>p{font-size:12px;line-height:1.95;color:#9d9dc2;max-width:345px}.auth-features{display:flex;flex-direction:column;gap:19px;margin-top:35px}.auth-features>div{display:flex;align-items:center;gap:13px;font-size:11px;color:#acaccd}.auth-features svg{color:#7777b0}.auth-footer{border-top:1px solid #ffffff19;padding-top:22px;display:flex;align-items:center;justify-content:space-between;font-size:10px;position:relative;z-index:2;color:#9595c4}.auth-footer>span{color:#70709f;font-size:9px}.auth-circles{position:absolute;right:-220px;bottom:-90px;width:600px;height:600px;border:1px solid #61619423;border-radius:50%;pointer-events:none}.auth-circles:before,.auth-circles:after{content:"";position:absolute;inset:70px;border:1px solid #61619426;border-radius:50%}.auth-circles:after{inset:140px;border-style:dashed}.auth-form{padding:80px max(40px,6.5vw);background:#f7f7fb;display:flex;justify-content:center;flex-direction:column;min-height:100vh;max-width:850px}.auth-form h2{font-size:29px;font-weight:600;letter-spacing:-1px;color:#434373;margin:16px 0 11px}.auth-form>p{color:#8d8db2;font-size:12px;line-height:1.7;margin-bottom:30px}.auth-form form{max-width:420px}.auth-form .field{margin-bottom:23px;font-size:11px}.auth-form .field input{background:#fff;min-height:48px;border-color:#d2d2e7;color:#5e5e8d}.auth-form .field>span{color:#7575a3}.password-input{display:flex;align-items:center;background:#fff;border:1px solid #d2d2e7;border-radius:7px}.password-input input{border:0!important;box-shadow:none!important}.password-input button{background:none;border:0;color:#9393bd;padding:13px;display:flex}.auth-submit{width:100%;justify-content:space-between;padding:14px 18px;background:var(--brand)!important;font-size:12px;margin-top:12px}.forgot{font-size:10px;color:#9292bc;line-height:1.8;text-align:right}.forgot a{color:#6666a2}.auth-invite{display:flex;gap:12px;align-items:center;border:1px solid #dbdbec;background:#eeeef6;border-radius:8px;margin-top:35px;padding:17px 19px;max-width:420px;color:#8181b7}.auth-invite p{font-size:10px;line-height:1.8;color:#7777ac}.auth-invite p>span{color:#9b9bc6;font-size:9px}.auth-copyright{font-size:8px;color:#a9a9cc;margin-top:45px}.auth-mobile-brand{display:none}.section-head p,.metric-bottom,.goal-bottom,.weekly-goal>p,.areas-foot,.page-heading p,.next-info>small,.habit-line small,.routine-day,.planner-summary,.breadcrumb,.header-date,.table-note,.page-footer,.field small,.form-hint,.help-strip>p,.cycle-row small,.topic-detail-top>div,.day-empty,.day-column header small,.review-item>span:not(.badge),.review-item small,.exam-card>small,.exam-note,.confirmation-text,.source-import p,.source-import small,.setting-line,.setting-line>div,.student-name small{color:#737389}th{color:#73738d}td{color:#6b6b85}.field>span{color:#636388}.auth-form>p,.auth-form .field>span,.forgot,.auth-invite p,.auth-invite p>span,.auth-copyright{color:#6a6a91}.auth-form .field small{color:#6a6a91}.auth-form h2{color:#363663}.auth-message>p{color:#adadcc}@media(min-width:1600px){.page-content{padding-top:40px}.journey{min-height:210px}.journey h2,.journey h2 em{font-size:33px}.chart{height:260px}.page-heading h1{font-size:31px}.sidebar{width:250px}.app-body{margin-left:250px;width:calc(100% - 250px)}}@media(max-width:1200px){.sidebar{width:205px;padding-left:13px;padding-right:13px}.brand{padding-left:9px}.sidebar nav>button{font-size:9.7px;gap:8px;padding-left:11px}.app-body{margin-left:205px;width:calc(100% - 205px)}.page-content{padding:26px}.topbar{padding:0 26px}.journey-art{right:-35px;opacity:.8}.journey-copy{max-width:70%}.metric{padding:15px}.metrics{gap:12px}.dashboard-middle,.dashboard-bottom{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px}.chart-key{display:none}.performance-areas{grid-template-columns:repeat(3,minmax(0,1fr))}.week-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(140px,1fr))}.card{padding:20px}.table-card{padding:0}.next-info>strong{font-size:9px}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.overview-grid{grid-template-columns:1.7fr 1fr}.journey{padding:22px}.journey-art{right:-90px;opacity:.4}.journey-copy{max-width:100%}.journey h2,.journey h2 em{font-size:26px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric>strong{font-size:26px}.dashboard-middle,.dashboard-bottom{grid-template-columns:1fr}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.area-line>div:first-child>span:not(.area-symbol){font-size:8px}.chart-key{display:flex}.routine>.btn{max-width:320px}.page-heading h1{font-size:23px}.page-heading{align-items:flex-start}.page-heading .btn{font-size:10px;padding:10px 12px}.topbar-right{gap:13px}.header-date{display:none}.settings-grid{grid-template-columns:1fr}.source-import{grid-column:auto}.late-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-story{padding:35px}.auth-form{padding:40px}.auth-message h1{font-size:47px}.viewing-banner{align-items:flex-start;flex-direction:column}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics.three .metric{padding:14px}.metric-top{font-size:9px}.performance-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.no-sidebar .breadcrumb{min-width:0}.no-sidebar .breadcrumb>strong{display:none}.topbar-admin>span{display:none}.topbar-admin{padding:8px}.sidebar{transform:translate(-100%);transition:transform .2s;width:232px;z-index:80}.sidebar.open{transform:translate(0)}.sidebar-shade{display:block;position:fixed;inset:0;border:0;background:#1b1b3166;z-index:70}.app-body{margin-left:0;width:100%}.topbar{height:66px;padding:0 18px}.mobile-toggle{display:inline-flex;margin-left:-7px}.sidebar-toggle{display:none}.sidebar-mobile-close{display:inline-flex}.breadcrumb{gap:7px;font-size:9px}.breadcrumb strong{font-size:9px}.breadcrumb>span:first-of-type{display:none}.breadcrumb>span:nth-last-child(2){display:none}.user-btn>span:nth-child(2){display:none}.user-btn>svg{display:none}.notification{padding-right:12px}.topbar-right{gap:14px}.page-content{padding:23px 17px 18px}.page-heading{flex-wrap:wrap;gap:17px}.page-heading>div:first-child{width:100%}.page-heading h1{font-size:25px}.page-heading>button,.page-heading>.actions{margin-top:0}.eyebrow{font-size:8px}.overview-grid{grid-template-columns:1fr;gap:14px}.journey{min-height:198px;padding:25px}.journey-art{right:0;opacity:.8}.journey-copy{max-width:70%}.journey h2,.journey h2 em{font-size:28px}.journey-pill{font-size:7px}.weekly-goal{padding:20px;display:grid;grid-template-columns:1fr auto;gap:10px}.weekly-goal>strong{margin:0;grid-column:2;grid-row:1/3;font-size:27px}.weekly-goal .progress{grid-column:1;align-self:center}.weekly-goal>p{margin:0;grid-column:1/-1;font-size:9px}.goal-bottom{margin:0;grid-column:1/-1}.metrics{gap:12px;margin-bottom:18px}.metric{padding:15px;min-height:121px}.metric-top{font-size:9px}.metric>strong{font-size:27px}.metric-bottom{font-size:8px;line-height:1.6;flex-wrap:wrap}.dashboard-middle,.dashboard-bottom{gap:16px;margin-bottom:18px}.card{padding:20px}.table-card{padding:0}.areas-card .area-list{grid-template-columns:1fr}.area-line>div:first-child>span:not(.area-symbol){font-size:10px}.areas-foot{font-size:9px}.next-info>strong{font-size:10px}.next-info>small{font-size:8px}.next-row>.badge{font-size:8px}.chart{height:210px}.section-head h3{font-size:13px}.section-head p{font-size:10px}.chart-key{display:none}.planner-summary{font-size:9px;gap:10px;flex-wrap:wrap}.filters{flex-wrap:wrap;gap:9px;padding:16px}.filters .search{max-width:none;flex-basis:100%}.filters select{flex:1;max-width:100%}.pagination{padding:14px 16px}.help-strip{padding:16px 3px}.help-strip>p{font-size:9px}.help-strip svg{width:17px}.review-toolbar{align-items:flex-start;flex-wrap:wrap}.week-control{font-size:10px;width:100%;justify-content:space-between}.tabs button{padding:9px 12px;font-size:9px}.late-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.performance-areas{grid-template-columns:1fr 1fr;gap:10px}.performance-areas article{padding:15px}.performance-areas article>strong{font-size:23px}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metrics.three .metric{padding:12px 10px}.metrics.three .metric-top{font-size:8px;line-height:1.6}.metrics.three .metric-icon{display:none}.metrics.three .metric>strong{font-size:22px;margin-top:10px}.metrics.three .metric-bottom{font-size:7px}.exam-grid{grid-template-columns:1fr}.exam-score>strong{font-size:29px}.exam-areas>div{font-size:10px}.exam-areas strong{font-size:10px}.exam-card>small,.exam-note{font-size:10px}.settings-grid .card{padding:21px}.settings-save .btn{width:100%}.area-add{flex-wrap:wrap}.area-add input{flex:1;min-width:100px}.area-add .btn{padding:10px}.admin-toolbar{padding:15px;gap:10px;flex-wrap:wrap}.viewing-banner>div:last-child{flex-wrap:wrap}.modal-backdrop{padding:12px;align-items:center}.modal{padding:22px 18px;max-height:94vh}.modal.wide{padding:22px 17px}.modal h2{font-size:17px}.cycle-row{gap:9px;padding:12px 0;flex-wrap:wrap}.cycle-row>div:nth-child(2){min-width:90px;flex:1}.cycle-volume,.cycle-score{min-width:53px}.cycle-row>.badge{margin-left:39px}.cycle-row>.btn{margin-left:auto}.topic-detail-top{gap:16px;padding:15px}.topic-detail-top>.btn{margin-left:0}.form-grid{gap:0 12px}.field{font-size:10px}.field input,.field select,.field textarea{font-size:11px;padding:10px}.habit-inputs{gap:15px;font-size:10px;flex-wrap:wrap}.form-footer .btn{font-size:11px;padding:11px 13px}.exam-topic-entry{grid-template-columns:1fr 58px 58px 24px;gap:5px}.exam-topic-entry select{font-size:9px;max-width:100%;padding-right:15px}.exam-entry,.exam-entry-head{grid-template-columns:1fr 83px 83px}.review-form-info{font-size:9px;gap:7px;flex-wrap:wrap}.page-footer{font-size:7px}.auth{grid-template-columns:1fr}.auth-story{display:none}.auth-form{padding:45px 28px;min-height:100vh;max-width:550px;width:100%;margin:auto}.auth-mobile-brand{display:block;font-family:Georgia,serif;font-size:27px;color:#7171ae;margin-bottom:65px}.auth-mobile-brand span{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-left:7px;font-family:Inter Variable,sans-serif}.auth-form h2{font-size:27px}.auth-form .eyebrow{font-size:7px;letter-spacing:1px}.auth-form>p{font-size:11px}.auth-copyright{margin-top:38px}}@media(min-width:701px){.sidebar-collapsed .sidebar{width:76px;padding-left:10px;padding-right:10px}.sidebar-collapsed .app-body{margin-left:76px;width:calc(100% - 76px)}.sidebar-collapsed .sidebar .brand{justify-content:center;padding:0}.sidebar-collapsed .sidebar .brand>div,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-text,.sidebar-collapsed .admin-dot,.sidebar-collapsed .sidebar-quote,.sidebar-collapsed .sidebar-bottom>small,.sidebar-collapsed .sidebar-bottom>a>span,.sidebar-collapsed .sidebar-bottom>a>svg:last-child{display:none}.sidebar-collapsed .sidebar nav>button{justify-content:center;padding:12px;position:relative}.sidebar-collapsed .nav-count{position:absolute;top:2px;right:2px;padding:1px 3px;min-width:14px}.sidebar-collapsed .admin-nav{margin-top:24px}.sidebar-collapsed .sidebar-bottom>a{justify-content:center;min-height:41px;padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
