:root{--ink:#222536;--muted:#848795;--line:#e9eaf0;--purple:#7160db;--purple-deep:#6250cd;--purple-soft:#f0ecfc;--teal:#219d8b;--teal-soft:#e8f5f0;--surface:#fff;--bg:#fafbfc}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:13px;line-height:1.5}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a,button{touch-action:manipulation}button{border:0;background:none}a,button{color:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #bdb3f4;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #c8bef7;outline-offset:1px}h1,h2,h3,p{margin:0}svg{flex-shrink:0;vertical-align:middle}small{font-size:11px}input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}input,select,textarea{border:1px solid #e1e3eb;border-radius:7px;padding:9px 12px;background:#fff;min-width:0;color:var(--ink)}select{padding-right:25px}input:disabled,select:disabled,textarea:disabled{opacity:.8;background:#f7f8fb}textarea{resize:vertical}kbd{font-family:inherit}.muted{color:var(--muted)}.text-green{color:var(--teal)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;z-index:30;display:flex;flex-direction:column;background:#f5f6f9;border-right:1px solid #e5e7ef;padding:29px 16px 0}.brand{display:flex;align-items:center;gap:9px;padding:0 9px 27px;font-size:24px;font-weight:750;letter-spacing:-1px;line-height:1.1}.brand-upper{color:var(--purple)}.brand small{display:block;color:#999aaa;letter-spacing:1.55px;font-size:7px;font-weight:600;margin-top:7px}.brand-icon{width:36px;height:36px;display:grid;place-items:center;color:white;background:var(--purple);border-radius:10px;transform:rotate(-5deg)}.workspace-label{display:flex;align-items:center;gap:9px;margin:0 2px 20px;padding:11px 8px;border:1px solid #e4e6ee;background:#fcfcfd;border-radius:8px;font-size:12px;font-weight:650}.workspace-label>svg{margin-left:auto;color:#b1b2bf}.workspace-label small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:1px}.workspace-mark{display:grid;place-items:center;width:31px;height:31px;background:#eceaf4;border:1px solid #dedbe9;border-radius:7px;color:#6a617e;font-size:10px;font-weight:700}.sidebar-search{display:flex;align-items:center;gap:8px;color:#898c9b;border:1px solid #e1e3ec;border-radius:6px;background:#f9fafc;padding:8px 9px;font-size:11px;margin:0 3px 26px}.sidebar-search kbd{margin-left:auto;font-size:9px;letter-spacing:1px}.nav-label{font-size:9px;letter-spacing:1.15px;font-weight:600;color:#a1a3b0;margin:0 12px 10px}.nav-item{display:flex;align-items:center;text-align:left;gap:11px;padding:10px 12px;width:100%;border-radius:7px;font-weight:500;margin-bottom:5px;color:#747988}.nav-item>svg{color:#969aaa;stroke-width:1.7}.nav-item.active{background:#eae6fa;color:#6e59d0}.nav-item.active>svg{color:#7560d8}.nav-item:hover:not(.active){background:#ebeef4}.nav-count{margin-left:auto;background:#e9ebf0;padding:0 6px;border-radius:4px;font-size:10px}.tiny-dot{width:5px;height:5px;border-radius:50%;background:#b0a3e9;margin-left:auto}.direction-label{margin-top:30px}.direction-item{display:flex;gap:10px;align-items:center;padding:7px 12px;font-size:11px;color:#616578;width:100%}.direction-dot{height:8px;width:8px;background:#9985e4;border-radius:3px}.mini-label{margin-left:auto;font-size:9px;color:#a3a5b3;border:1px solid #dedfe8;padding:0 4px;border-radius:3px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-help{margin:10px 5px 23px;padding:15px;border:1px solid #e3dfef;border-radius:9px;background:#f0edf8}.sidebar-help .help-icon{display:block;color:#9a84d5;margin-bottom:10px}.sidebar-help strong{font-size:11px;font-weight:650}.sidebar-help p{font-size:10px;line-height:1.7;color:#9b92ad;margin:6px 0 10px}.sidebar-help button{padding:0;font-size:10px;color:#8774b4;display:flex;gap:12px;align-items:center}.profile-area{position:relative;border-top:1px solid #e4e6ed;padding:15px 0}.profile-button{display:flex;align-items:center;gap:9px;width:100%;padding:0 3px}.profile-button>span:nth-child(2){text-align:left;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:11px}.profile-button small{font-weight:400;display:block;color:#9c9eac;font-size:10px;margin-top:2px}.profile-button>svg{color:#a6a8b6}.avatar{width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:-.4px;font-weight:600;flex-shrink:0;border:1px solid #ffffffaa;background:#eee9fb;color:#8b74ba}.avatar.small{width:29px;height:29px;font-size:9px}.avatar.tiny{width:23px;height:23px;font-size:8px}.avatar.violet{background:#e9e3f7;color:#8b72b8}.avatar.blue{background:#e0ecf9;color:#6794bd}.avatar.rose{background:#f8e4e8;color:#c58998}.avatar.amber{background:#f7edda;color:#b89b66}.avatar.green{background:#e0eee4;color:#7ba58b}.avatar.teal{background:#dcefee;color:#71a4a4}.avatar.pink{background:#f1e1f0;color:#b881ac}.avatar.slate{background:#e5e7ed;color:#8a92a5}.profile-popover{position:absolute;bottom:76px;left:0;width:260px;max-height:65vh;overflow:auto;border:1px solid var(--line);background:white;border-radius:10px;padding:7px;box-shadow:0 8px 30px #1c174518;z-index:80}.popover-heading{font-size:10px;letter-spacing:.3px;color:var(--muted);padding:7px 8px 10px}.profile-popover button{display:flex;align-items:center;gap:9px;width:100%;padding:6px;border-radius:6px;text-align:left;font-size:11px}.profile-popover button:hover{background:#f5f3fb}.profile-popover button>span:nth-child(2){flex:1}.profile-popover button small{display:block;color:var(--muted);font-size:9px}.profile-popover>a{display:block;padding:10px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);margin-top:5px}.main-shell{margin-left:232px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:65px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 35px;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20}.breadcrumbs,.topbar{display:flex;align-items:center}.breadcrumbs{gap:14px;font-size:11px;color:#acafbd}.breadcrumbs span:last-child{color:#5f6374}.topbar-actions{gap:16px}.demo-tag,.topbar-actions{display:flex;align-items:center}.demo-tag{gap:5px;font-size:9px;color:#9a94ac}.demo-tag>span{width:5px;height:5px;background:#b3a6d4;border-radius:50%}.topbar-divider{width:1px;height:21px;background:var(--line)}.icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#8b8f9f;padding:0;flex-shrink:0}.icon-btn:hover{background:#f0eef8;color:var(--purple)}.bell{position:relative}.bell i{position:absolute;width:5px;height:5px;background:#e6b486;border:1px solid white;border-radius:50%;right:6px;top:5px}.notification-area{position:relative}.notification-popover{position:absolute;top:43px;right:-15px;width:330px;background:white;border:1px solid var(--line);border-radius:9px;padding:15px;box-shadow:0 6px 30px #29203c16}.notification-popover h3{font-size:14px;margin-bottom:10px}.notification-popover>button{display:flex;gap:12px;padding:12px 0;text-align:left;border-bottom:1px solid var(--line);width:100%;font-size:11px}.notification-popover>button>svg{color:var(--purple);margin-top:3px}.notification-popover small{display:block;color:var(--muted);margin-top:3px}.notification-popover>p{font-size:10px;color:var(--muted);padding-top:10px}.main-content{padding:36px 38px;max-width:1630px;width:100%;margin:0 auto;flex:1}.page-heading{justify-content:space-between;gap:22px;margin-bottom:30px}.eyebrow,.page-heading{display:flex;align-items:center}.eyebrow{gap:10px;color:#aaa9b8;letter-spacing:1.1px;font-size:9px;font-weight:600;margin-bottom:9px}.eyebrow-divider{width:17px;height:1px;background:#ceccd9}.page-heading h1{font-size:29px;letter-spacing:-1px;font-weight:650;line-height:1.25}.heading-dot{color:#9c8cda}.page-heading p{font-size:12px;color:#999baa;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e3e4ec;background:#fff;white-space:nowrap;padding:9px 14px;border-radius:7px;font-size:11px;font-weight:550;transition:background .15s}.btn:hover{background:#f4f2fa}.btn.primary{color:#fff;background:var(--purple);border-color:var(--purple)}.btn.primary:hover{background:var(--purple-deep)}.btn.danger{color:#c8757f;background:#fff;border-color:#efdee1}.btn.danger:hover{background:#fff3f4}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:27px}.metric{border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:18px 19px;opacity:1!important}.metric:not(:disabled):hover{border-color:#cfc5ef}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;color:#8c90a0}.metric-label>span:last-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#f5f5fa;border-radius:7px;color:#adabc0}.metric>strong{display:flex;align-items:center;gap:8px;font-size:30px;letter-spacing:-1px;font-weight:600;margin:4px 0 2px}.metric>strong svg{color:#b5b1c9;margin-left:auto;width:13px}.metric:disabled>strong svg{display:none}.metric>p{font-size:10px;color:#a3a6b3;white-space:normal}.metric.accent .metric-label>span:last-child{background:#ecf5f2;color:#88b9a6}.metric.accent>strong{color:#4c9e82}.overview-columns{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px}.overview-primary{display:flex;flex-direction:column;gap:24px;min-width:0}.panel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.panel-head{justify-content:space-between;gap:10px;padding:19px 21px}.panel-head,.panel-head h2{display:flex;align-items:center}.panel-head h2{font-size:13px;font-weight:600;gap:9px}.count-bubble{background:#f3f0fb;color:#9a89c6;border-radius:5px;padding:1px 5px;font-size:9px}.text-btn{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:500;color:#9989c6;padding:0}.text-btn:hover{color:#6c51b5}.approval-row{display:flex;align-items:center;gap:12px;border-top:1px solid #f1f1f5;padding:14px 20px;min-height:77px}.approval-title{min-width:0;text-align:left;flex:1;padding:0}.approval-title>span{font-size:10px;color:#73798a;display:flex;align-items:center;gap:9px}.approval-title small{font-size:9px;color:#b0b1bf;max-width:155px}.approval-title small,.approval-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-title strong{display:block;font-weight:500;font-size:11px;color:#454a5e;margin-top:5px;max-width:100%}.approval-age{font-size:9px;white-space:nowrap;color:#b3afbd}.approve-btn{width:28px;height:28px;border:1px solid #ded7f4;color:#b09ad5;display:grid;place-items:center;border-radius:7px;background:#fcfbff;flex-shrink:0}.approve-btn:hover{background:var(--purple);color:white;border-color:var(--purple)}.approve-btn.small-btn{width:24px;height:24px}.reconfirm-label{font-size:9px;color:#c78b72}.student-progress-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 20px;border-top:1px solid #f1f1f5}.student-progress-row:hover{background:#fdfcff}.student-name{flex:1;min-width:110px;font-size:11px;color:#616577}.student-name small{display:block;color:#b1b1bf;font-size:9px;margin-top:3px}.student-meter{width:34%;max-width:190px}.meter{height:5px;background:#f0eff5;border-radius:5px;display:flex;overflow:hidden;width:100%}.meter>span{height:100%;background:#a392d5}.meter>i{height:100%;background:#ddd1f0}.student-meter small{font-size:8px;color:#b4b1c1;display:block;margin-top:5px}.student-progress-row>strong{font-size:12px;min-width:35px;color:#9291a4;font-weight:500;text-align:right}.student-progress-row>strong small{font-size:9px;margin-left:2px}.student-progress-row>svg{color:#c4c4cf}.overview-secondary{display:flex;flex-direction:column;gap:26px;min-width:0}.next-meeting{background:#eff6f4;border:1px solid #dcece6;border-radius:10px;padding:20px}.section-eyebrow{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1px;font-weight:600;color:#8fa99f}.section-eyebrow>svg{margin-left:auto;color:#96b2a6}.live-dot{width:5px;height:5px;border-radius:50%;background:#92bda9}.next-meeting h2{font-size:18px;line-height:1.5;font-weight:550;letter-spacing:-.4px;color:#52786b;margin:15px 0}.meeting-date{display:flex;gap:8px;align-items:center;font-size:11px;color:#92a99f;margin:7px 0}.meeting-date svg{color:#a4bfb3}.meeting-members{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:19px 0 17px}.avatar-stack{display:flex;padding-left:4px}.avatar-stack>.avatar{margin-left:-4px;border:2px solid #eff6f4}.meeting-members small{font-size:9px;color:#99aba3}.meeting-button{width:100%;background:#fff9;border-color:#d8e6df;color:#7a9c8c;justify-content:space-between;font-size:10px}.meeting-button:hover{background:white}.activity-section .panel-head{padding:0 0 18px}.activity-section h2{font-size:12px}.live-label{color:#bcb3d5;font-size:7px;letter-spacing:1px}.activity-row{display:flex;gap:12px;position:relative;padding-bottom:19px}.activity-row:before{content:"";position:absolute;width:1px;background:#e8e6ef;left:11px;top:25px;bottom:0}.activity-row:last-child:before{display:none}.activity-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f1edf9;color:#b6a5d6;flex-shrink:0}.activity-icon.green{background:#e9f3ec;color:#a3c2ae}.activity-row p{font-size:10px;color:#9d9eac;line-height:1.8}.activity-row strong{font-weight:500;color:#72798b}.activity-row small{font-size:8px;color:#b7b7c2;display:block;margin-top:5px}.activity-intro{display:flex;gap:12px;color:#b0a7c5;font-size:11px;line-height:1.8}.activity-intro>svg{margin-top:4px}.learning-note{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:20px;color:#b4adc3}.learning-note strong{font-size:10px;font-weight:500;color:#9691a4}.learning-note p{font-size:10px;line-height:1.8;margin-top:4px;color:#b4b1be}.app-footer{justify-content:space-between;gap:10px;padding:12px 38px 20px;font-size:9px;color:#b6b7c3}.app-footer,.app-footer>span{display:flex;align-items:center}.app-footer>span{gap:7px}.toolbar{justify-content:space-between;gap:15px;margin:0 0 18px}.toolbar,.toolbar>.muted{display:flex;align-items:center}.toolbar>.muted{gap:7px;font-size:11px}.input-search{display:flex;align-items:center;gap:9px;border:1px solid #e3e5ed;background:#fff;border-radius:7px;padding:0 11px;color:#a1a3b2;min-width:250px}.input-search input{border:0;background:transparent;padding:9px 0;outline:none;min-width:0;flex:1;font-size:11px}.input-search input::placeholder{color:#afb0bd}.input-search:focus-within{outline:2px solid #c8bef7}.input-search.compact{min-width:180px;width:220px}.table-container{overflow:auto}.students-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.students-table th{font-size:9px;font-weight:500;color:#afb0bd;background:#fdfdfe;padding:16px 23px;border-bottom:1px solid var(--line)}.students-table td{padding:19px 23px;border-bottom:1px solid #f0eff5;font-size:11px}.students-table tbody tr{cursor:pointer}.students-table tbody tr:hover{background:#fbfaff}.students-table tbody tr:last-child td{border-bottom:0}.table-person{display:flex;align-items:center;gap:12px}.table-person>span{font-weight:500;color:#62677b}.table-person small{display:block;font-size:9px;font-weight:400;color:#aaa9bb;margin-top:3px}.table-progress{min-width:140px;width:100%;max-width:250px}.table-progress>span{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:8px}.table-progress strong{font-size:11px;font-weight:500;color:#9a8dc0}.table-progress small{font-size:8px;color:#b3b0c2}.pending-number{display:inline-flex;align-items:center;gap:13px;color:#b69f79;background:#fcf7ed;border:1px solid #f3eadc;border-radius:5px;padding:3px 9px;font-size:10px}.focus-cell{max-width:210px;overflow:hidden;text-overflow:ellipsis;color:#a3a1b1}.legend{flex-wrap:wrap;gap:18px;color:#a8a5b5;font-size:9px;margin-top:16px}.legend,.legend>span{display:flex;align-items:center}.legend>span{gap:6px}.legend-line{height:4px;width:15px;border-radius:3px}.legend-line.approved{background:#a392d5}.legend-line.submitted{background:#ddd1f0}.plan-summary{display:flex;align-items:center;gap:17px;border:1px solid #e6e2f0;background:#f6f3fb;border-radius:10px;padding:20px 24px;margin-bottom:25px}.plan-summary-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:11px;background:#eae3f7;color:#ae98cf}.plan-summary>div{flex:1;max-width:550px}.plan-summary strong{font-size:13px;font-weight:550}.plan-summary p{color:#a49ab6;font-size:10px;margin:4px 0 11px}.plan-percent{font-size:30px;letter-spacing:-1px;color:#ac97cc;font-weight:500;margin-left:auto}.plan-percent small{font-size:17px}.student-select{font-size:11px;min-width:180px}.plan-toolbar{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}.tabs{border:1px solid #e6e5ee;border-radius:7px;padding:3px;background:#f4f4f8;gap:2px}.tabs,.tabs button{display:inline-flex}.tabs button{align-items:center;gap:7px;border-radius:4px;font-size:10px;padding:6px 10px;color:#a3a0b2;white-space:nowrap}.tabs .selected{background:white;color:#9381bd;box-shadow:0 1px 3px #39304b08}.filter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.filter-controls select{font-size:10px;color:#9c97ac;padding-top:8px;padding-bottom:8px;max-width:180px}.plan-stages{display:flex;flex-direction:column;gap:12px}.stage-panel{border:1px solid #e6e5ed;border-radius:8px;background:white;overflow:hidden}.stage-heading{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:17px 19px}.chapter-number{height:34px;width:34px;border-radius:8px;background:#f2eff8;color:#b09dcf;display:grid;place-items:center;font-size:12px;font-weight:550}.chapter-number.done{background:#edf5ef;color:#9cbaa2}.stage-heading>span:nth-child(2){flex:1}.stage-heading strong{font-size:12px;font-weight:550;color:#656477}.stage-heading small{display:block;font-size:9px;color:#b6b1c1;margin-top:4px}.stage-heading>svg{color:#c2bdcc;transition:transform .2s}.rotated{transform:rotate(180deg)}.stage-progress{display:flex;align-items:center;gap:14px;width:130px;max-width:25%}.stage-progress .meter{flex:1;height:4px}.stage-progress small{margin-top:0;white-space:nowrap}.stage-body{border-top:1px solid #efedf4}.stage-description{font-size:11px;color:#a09aae;line-height:1.9;padding:16px 22px 3px;max-width:920px}.topic-group{margin:0 20px 15px}.topic-label{justify-content:space-between;text-transform:uppercase;font-size:8px;letter-spacing:1px;color:#b5acc5;padding:17px 0 9px}.topic-label,.topic-row{display:flex;align-items:center}.topic-row{gap:12px;min-height:44px;border-top:1px solid #f2eff6}.topic-check{border:1.4px solid #ded7e8;border-radius:4px;width:16px;height:16px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:white}.topic-check.approved{background:#a4bcae;border-color:#a4bcae}.topic-check.reconfirm,.topic-check.submitted{background:#c2b2d9;border-color:#c2b2d9}.topic-check.learning{border-color:#b4a2d0;background:#f3eef9}.topic-title{font-size:11px;color:#797085;flex:1;text-align:left;display:flex;gap:10px;align-items:center;padding:8px 0;min-width:0}.topic-title>span{overflow-wrap:anywhere}.topic-title small{margin-left:auto;color:#b7a7b9;font-size:9px;white-space:nowrap;display:flex;gap:4px;align-items:center}.topic-title .overdue{color:#c27c7c}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;font-size:8px;font-weight:500;white-space:nowrap;border-radius:4px;border:1px solid transparent;color:#9c94a8;background:#f4f1f7}.status-dot{display:inline-block;height:4px;width:4px;border-radius:50%;background:currentColor}.badge.approved{color:#91ac99;background:#edf5ef;border-color:#e0ece3}.badge.submitted{color:#bdab83;background:#fcf7ed;border-color:#f1e9d9}.badge.learning{color:#a18cbb;background:#f3eef9;border-color:#e8dff1}.badge.not_started{color:#b1aabb;background:#f6f4f8;border-color:#eeeaf2}.badge.reconfirm{color:#c5947d;background:#fdf2ed;border-color:#f2e3d9}.approval-mentor{width:25px;text-align:center}.row-end-space{width:25px;flex-shrink:0}.program-item-icon{width:18px;color:#c2b7cf}.topic-resources{display:flex;align-items:center;gap:7px 13px;flex-wrap:wrap;border-top:1px solid #f3eff7;padding:12px 0 0;color:#bcaed0;font-size:9px}.topic-resources a{display:flex;align-items:center;gap:3px;color:#a692bf}.topic-resources a:hover{color:var(--purple)}.topic-resources>span{font-size:8px;color:#beb5c8}.soon-label{font-size:9px;padding:2px 7px;border:1px solid #ede7f2;background:#f8f5fb;border-radius:4px;color:#c1b5cf}.kanban{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:15px;align-items:start;overflow:auto;padding-bottom:15px}.kanban-column{background:#f2eff7;border:1px solid #e9e4f0;border-radius:8px;padding:12px;min-width:0}.kanban-column>h3{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;color:#a397b4;margin-bottom:13px}.kanban-column>h3 small{margin-left:auto;font-size:9px}.kanban-column>div{display:flex;flex-direction:column;gap:9px;max-height:70vh;overflow:auto}.kanban-card{background:#fff;border:1px solid #e6dfed;border-radius:7px;text-align:left;padding:13px;width:100%}.kanban-card>small{font-size:8px;color:#b2a4c0}.kanban-card strong{display:block;font-size:11px;font-weight:500;color:#8b7d9c;line-height:1.7;margin-top:5px}.kanban-card>div{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:16px}.kanban-card>div>span:first-child{font-size:8px;display:flex;gap:4px;align-items:center;color:#b8abc6}.route-row{display:flex;align-items:center;gap:13px;width:100%;padding:15px 20px;border-top:1px solid #f1eef5;text-align:left;font-size:11px;color:#8e829d}.route-number{width:29px;height:29px;display:grid;place-items:center;border:1px solid #e5ddef;border-radius:7px;color:#baaccb}.route-number.done{color:#9aba9e;background:#f0f7f0;border-color:#e5efe5}.route-row>span:nth-child(2){flex:1}.route-row .meter{margin-top:7px;max-width:230px;height:3px}.route-row>small{color:#baacc9;font-size:9px}.route-row>svg{color:#d0c6db}.calendar-toolbar{justify-content:space-between;gap:14px;margin-bottom:20px}.calendar-navigation,.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap}.calendar-navigation{gap:7px}.calendar-navigation h2{font-size:16px;font-weight:500;letter-spacing:-.4px;margin-left:6px;color:#80768f}.calendar-date-input{padding:5px 7px;font-size:9px;color:#a89bb6;margin-left:6px;max-width:115px}.calendar-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:20px 0 15px}.calendar-filters .legend{margin:0}.calendar-filters>div{display:flex;gap:10px;flex-wrap:wrap}.calendar-filters select{font-size:9px;padding:6px 18px 6px 8px;color:#a196ae;max-width:190px}.legend-circle{width:6px;height:6px;border-radius:2px}.legend-circle.violet{background:#ad9acc}.legend-circle.teal{background:#a1c3b4}.calendar-scroll{border:1px solid #e9e2ef;border-radius:9px;overflow:auto;background:#fff}.calendar-grid{display:grid;min-width:780px}.calendar-corner{align-items:flex-end;padding-bottom:15px;font-size:8px;color:#c3b8ce}.calendar-corner,.calendar-day-heading{display:flex;justify-content:center;border-bottom:1px solid #eee7f4;height:80px}.calendar-day-heading{border-left:1px solid #f4eff8;flex-direction:column;align-items:center;gap:3px;color:#b9adc6}.calendar-day-heading>span{font-size:9px}.calendar-day-heading>button{font-size:21px;letter-spacing:-1px;line-height:32px;width:32px;height:32px;border-radius:50%;font-weight:400;padding:0}.calendar-day-heading.today{color:#a38cc1}.calendar-day-heading.today>button{background:#b59ccd;color:white}.calendar-hours{position:relative;height:784px;font-size:9px;color:#c2b6cf}.calendar-hours>span{position:absolute;right:9px;transform:translateY(-50%)}.calendar-hours>span:first-child{transform:translateY(4px)}.calendar-day-column{position:relative;height:784px;border-left:1px solid #f2edf6}.time-slot{position:absolute;left:0;width:100%;height:28px;border-top:1px solid #f6f2f9;padding:0}.time-slot:nth-child(odd){border-top-color:#eee7f4}.time-slot:disabled{opacity:1}.time-slot:not(:disabled):hover{background:#f8f4fc}.calendar-event{position:absolute;z-index:2;border-radius:5px;padding:6px 7px;text-align:left;overflow:hidden;border:1px solid #e8dff1;border-left:3px solid #baa5d0;background:#f3edf9;color:#a48cbf;line-height:1.4}.calendar-event>span{display:flex;align-items:center;gap:3px;font-size:8px;white-space:nowrap}.calendar-event>span>svg:last-child:not(:first-child){margin-left:auto}.calendar-event strong{font-size:9px;font-weight:550;line-height:1.4;max-height:27px}.calendar-event strong,.calendar-event>small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.calendar-event>small{font-size:8px;opacity:.8;white-space:nowrap}.calendar-event.group{background:#edf5f0;border-color:#dcebe1 #dcebe1 #dcebe1 #a3c3af;color:#91b29c}.calendar-event:hover{filter:brightness(.98)}.calendar-footnote{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:9px;color:#c0b6cd}.month-calendar{border:1px solid #e7dfef;border-radius:9px;overflow:hidden;background:#fff}.month-grid,.month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-head>span{padding:12px;text-align:center;font-size:10px;color:#bbadca;border-right:1px solid #f3edf7}.month-cell{min-height:115px;padding:8px 6px;border-top:1px solid #efe8f5;border-right:1px solid #efe8f5;overflow:hidden}.month-cell>button:first-child{font-size:11px;width:25px;height:25px;padding:0;margin-bottom:5px;color:#a994bf;border-radius:50%}.month-cell .today-number{background:#b19aca;color:#fff!important}.month-cell.other-month{background:#fdfbff;opacity:.55}.month-cell .month-event{display:flex;gap:3px;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;background:#f4edf9;color:#b29bc8;border-radius:3px;padding:3px 4px;margin-bottom:3px;width:100%;text-align:left}.month-event>span{width:3px;height:3px;border-radius:50%;background:currentColor;flex-shrink:0}.month-cell .month-event.group{background:#edf5ee;color:#a7c0ac}.sprint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:start}.sprint-card{padding:22px}.sprint-top{display:flex;align-items:center;gap:9px;margin-bottom:18px}.sprint-top>.icon-btn{margin-left:auto}.sprint-icon{width:36px;height:36px;background:#f2eafa;color:#c3a9d7;display:grid;place-items:center;border-radius:8px}.sprint-card h2{font-size:17px;font-weight:500;color:#a08ab3}.sprint-card>p{font-size:10px;color:#c0b0cc;margin:7px 0 22px}.sprint-progress{display:flex;justify-content:space-between;margin:9px 0 20px;font-size:10px;color:#bda7ce}.sprint-progress strong{font-weight:400}.sprint-progress small{font-size:9px}.sprint-items{display:flex;flex-direction:column}.sprint-items>button{display:flex;align-items:center;gap:9px;text-align:left;border-top:1px solid #f1e9f7;padding:12px 0;font-size:10px;color:#bba7cd}.sprint-items>button>span{flex:1}.sprint-items>button>svg{color:#d2c1df}.new-sprint-card{min-height:220px;border:1px dashed #ddd0e9;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#faf7fd;color:#c2a9d5;padding:25px}.new-sprint-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f0e7f7;margin-bottom:13px}.new-sprint-card strong{font-size:12px;font-weight:500}.new-sprint-card p{font-size:10px;margin-top:6px;color:#ccb9db}.integration-list{display:flex;flex-direction:column;gap:19px}.integration-card{display:grid;grid-template-columns:auto 1fr 310px;align-items:start;gap:22px;padding:26px}.integration-logo{display:grid;place-items:center;width:49px;height:49px;border:1px solid #e9e0ef;border-radius:12px;font-size:30px}.integration-logo.yandex{color:#d39ab1;background:#fdf2f6}.integration-logo.telegram{color:#9bbfdf;background:#f1f7fd}.integration-card h2{font-size:17px;font-weight:500;letter-spacing:-.4px;color:#b09bc4}.integration-card p{font-size:11px;color:#c0adcf;line-height:1.8;margin-top:6px}.connection-state{display:flex;align-items:center;gap:6px;color:#c9b7d7;font-size:9px;margin-top:13px}.connection-state>span{width:5px;height:5px;border-radius:50%;background:#d3c2df}.connection-state.connected{color:#a5c1af}.connection-state.connected>span{background:#a5c1af}.integration-detail{padding-left:25px;border-left:1px solid #f1e8f7;color:#c8b3d8}.integration-detail p{font-size:10px;margin:7px 0 10px;line-height:1.9}.integration-detail .muted{font-size:9px;color:#cbb8db}.security-note{display:flex;align-items:flex-start;gap:15px;padding:25px;margin-top:24px;background:#f4eff8;border-radius:9px;color:#c2a9d4}.security-note strong{font-size:12px;font-weight:500}.security-note p{font-size:11px;line-height:1.9;color:#c6b3d5;margin-top:4px}.empty-state{padding:35px 20px;text-align:center;color:#bba7cc}.empty-state h3{font-size:13px;font-weight:500;margin:12px 0 4px}.empty-state p{font-size:10px;color:#c8b8d4}.toast{position:fixed;bottom:25px;left:calc(50% + 116px);transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 35px);background:white;border:1px solid #ded6eb;border-radius:9px;padding:13px 17px;font-size:11px;color:#91809f;box-shadow:0 6px 25px #38304414;z-index:1000}.toast>svg{color:#a9b9a4}.toast>button{padding:0;display:flex;color:#c4b4ce}.toast.error{border-color:#eed6df;color:#c195a7}.toast.error>svg{color:#d2a5b8}.saving-indicator{position:fixed;right:22px;bottom:22px;display:flex;gap:6px;align-items:center;background:white;border:1px solid #e9dff1;padding:8px 12px;border-radius:7px;font-size:10px;color:#c2aed3;z-index:1001}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}dialog{border:1px solid #e3deeb;padding:0;background:white;color:var(--ink);max-height:92vh;overflow:auto}dialog::backdrop{background:#30254644;backdrop-filter:blur(2px)}.modal{border-radius:12px;width:min(520px,calc(100vw - 32px));margin:auto;box-shadow:0 25px 100px #19112525}.modal.wide{width:min(620px,calc(100vw - 32px))}.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(490px,100vw);height:100dvh;max-height:100dvh;border:0;border-left:1px solid #e7dfef;border-radius:0}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-bottom:1px solid #eee8f4;position:sticky;top:0;background:white;z-index:5}.dialog-head h2{font-size:13px;font-weight:500;color:#b09bc2}.search-modal{padding:20px}.search-modal .input-search{width:100%}.search-results{display:flex;flex-direction:column;gap:3px;margin-top:15px;max-height:55vh;overflow:auto}.search-results>button{padding:11px 9px;display:flex;align-items:center;gap:12px;text-align:left;font-size:11px;color:#b6a1c9;border-radius:5px}.search-results>button:hover{background:#f7f1fb}.search-results>button>span{flex:1}.search-results>button>small{font-size:9px;color:#d1c1df}.drawer-body{padding:23px 26px}.drawer-breadcrumb{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;color:#baa5ce;margin-bottom:16px}.drawer-body h1{font-size:23px;letter-spacing:-.6px;font-weight:500;color:#9982b0;line-height:1.5}.drawer-status{display:flex;align-items:center;gap:10px;margin:17px 0 22px}.item-code{font-size:9px;color:#cbb7db}.drawer-person{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#b7a1c9;border-bottom:1px solid #f0e8f7;padding:0 0 16px}.drawer-person>span:last-child{display:flex;gap:6px;align-items:center}.topic-description{font-size:12px;color:#ae99c0;line-height:1.9;margin:22px 0}.subtopics{list-style:none;padding:0;margin:18px 0;color:#b9a2ca;font-size:11px}.subtopics li{display:flex;align-items:flex-start;gap:8px;margin:8px 0}.subtopics li>span{width:4px;height:4px;border-radius:50%;background:#d2bedf;margin-top:7px;flex-shrink:0}.completion-box{border:1px solid #e9deef;border-radius:8px;background:#faf7fc;padding:17px;margin:22px 0}.completion-box>label{display:flex;align-items:center;gap:11px;font-size:12px;color:#ad94bf}.completion-box small{display:block;font-size:9px;color:#cbb5db;margin-top:3px}.completion-box .btn{width:100%;margin-top:14px;font-size:10px}.completion-box>.text-btn{margin-top:13px;font-size:9px}.approved-stamp{display:flex;gap:9px;align-items:center;border-top:1px solid #e5deea;padding-top:13px;margin-top:15px;font-size:10px;color:#9bb8a5}.approved-stamp small{font-size:8px;color:#b7c8bd}.approval-explanation{display:flex;align-items:center;gap:8px;font-size:9px;color:#baa5cb;margin-top:15px}.deadline-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#bda3d0;padding:0 0 20px;border-bottom:1px solid #eee4f5}.deadline-field label{display:flex;align-items:center;gap:7px}.deadline-field input{font-size:10px;color:#bea4d0;padding:5px 8px;border-color:#eaddf2}.drawer-section{margin-top:27px}.drawer-section h3{font-size:11px;font-weight:500;color:#b498c8;margin-bottom:15px;display:flex;align-items:center;gap:9px}.drawer-section h3 small{font-size:9px;color:#d1bbdf}.resource-link{display:flex;align-items:center;gap:10px;font-size:10px;color:#bba0ce;padding:10px 0;border-bottom:1px solid #f1e7f8}.resource-link>span:nth-child(2){flex:1}.resource-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;background:#f7f0fb;color:#c8b1d8}.resource-link>svg{color:#d4bee2}.comment{display:flex;gap:9px;margin-bottom:17px}.comment>div{flex:1;min-width:0}.comment strong{display:flex;gap:8px;align-items:center;font-size:10px;font-weight:500;color:#bba0ce}.comment strong small{font-size:8px;font-weight:400;color:#d6c0e4}.comment p{font-size:11px;color:#b79acb;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.comment-form textarea{width:100%;min-height:90px;border-color:#e9daF3;color:#bba0ce;font-size:11px;background:#fdfbfe}.comment-form textarea::placeholder{color:#d1b9e1}.comment-form .btn{display:flex;margin-top:8px;margin-left:auto;font-size:10px}.history-row{display:flex;gap:12px;margin-bottom:15px}.history-dot{width:5px;height:5px;border-radius:50%;background:#d6bce5;flex-shrink:0;margin-top:5px}.history-row p{font-size:10px;color:#b99bcd}.history-row small{display:block;font-size:8px;color:#d1b8df;margin-top:4px}.meeting-form,.standard-form{padding:23px 26px}.form-label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#a788c0;margin-bottom:17px}.form-label>input,.form-label>select,.form-label>textarea{width:100%;font-size:11px;color:#a788c0;border-color:#e6d7f0;padding:10px 12px}.form-label input::placeholder,.form-label textarea::placeholder{color:#ceb3e0}.form-label>span{display:flex;align-items:center;gap:6px}.form-label>.muted{display:inline;color:#d6b9e5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:24px;border-top:1px solid #eee1f5;padding-top:18px}.form-actions .btn{font-size:10px}.form-actions .danger{margin-right:auto}.meeting-type{display:flex;gap:9px;margin-bottom:19px}.meeting-type>button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border:1px solid #eaddf4;border-radius:7px;padding:11px;font-size:11px;color:#c9aadd}.meeting-type>button.selected{color:#ae88c7;background:#f6edfc;border-color:#d9bde9}.group-recipients{display:flex;align-items:center;gap:10px;font-size:11px;color:#b998d0;padding:13px;border:1px solid #eaddf3;border-radius:7px;align-self:start;margin-top:21px;min-height:40px}.group-recipients small{display:block;font-size:8px;color:#d0b4e2;margin-top:3px}.repeat-box{background:#fcf9fe;border:1px solid #eadbf5;border-radius:8px;padding:14px 15px;margin-bottom:18px}.repeat-box .form-label:last-child{margin-bottom:0}.repeat-interval{font-size:10px;color:#b992d1;margin-bottom:12px}.repeat-interval input{width:49px;font-size:10px;padding:4px 7px;border-color:#e2c9f1;color:#bd96d3;margin:0 5px}.weekday-picker{display:flex;gap:6px;margin-bottom:15px;flex-wrap:wrap}.weekday-picker>label{position:relative;display:grid;place-items:center;width:32px;height:30px;border:1px solid #e6cef3;border-radius:6px;font-size:10px;color:#c7a4db;cursor:pointer}.weekday-picker input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.weekday-picker .selected{background:#e9d8f5;border-color:#d6b5e9;color:#b183ca}.weekday-picker>label:focus-within{outline:2px solid #c7a5dd;outline-offset:2px}.video-link-box{display:flex;align-items:center;gap:12px;border:1px solid #ead8f5;border-radius:8px;padding:15px;margin-bottom:19px;background:#fdfaff}.video-mark{display:grid;place-items:center;width:35px;height:35px;background:#f5eafa;color:#c99fdf;border-radius:7px}.video-link-box>div{flex:1}.video-link-box strong{font-size:11px;font-weight:500;color:#b68dce}.video-link-box p{font-size:9px;color:#c8a7dc;margin-top:3px;line-height:1.7}.video-link-box a{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:10px;color:#b88fd0}.reminder-options{font-size:10px;color:#b58bce}.reminder-options>span{display:flex;gap:6px;align-items:center}.reminder-options>div{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px}.reminder-options label{display:flex;gap:6px;align-items:center;font-size:10px;color:#c39cd8}.reminder-options small{display:block;font-size:8px;color:#d3b5e4;margin-top:10px}.scope-label{padding:12px;background:#f8f0fc;border:1px solid #e8d4f4;border-radius:7px}.form-footnote{display:flex;align-items:center;gap:5px;font-size:8px;color:#d4b4e6;margin-top:15px}.sprint-topic-picker{max-height:230px;overflow:auto;border:1px solid #e4c9f1;border-radius:7px;padding:5px 12px}.sprint-topic-picker>label{display:flex;align-items:center;gap:9px;font-size:10px;color:#b98bd0;border-bottom:1px solid #f0e0f8;padding:10px 0}.major-change{display:flex;gap:11px;font-size:11px;color:#b285cc;align-items:flex-start;padding:15px;background:#f8effc;border:1px solid #e4ccf1;border-radius:7px}.major-change input{margin-top:3px}.major-change small{display:block;font-size:9px;color:#c49dda;line-height:1.8;margin-top:5px}.form-info{display:flex;align-items:center;gap:7px;font-size:9px;color:#caa4df;margin-top:16px;line-height:1.8}.mobile-menu,.mobile-scrim{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{max-width:420px;border:1px solid var(--line);border-radius:15px;padding:40px;background:#fff}.login-card .brand{padding:0;margin-bottom:35px}.login-card h1{font-size:25px;font-weight:600;letter-spacing:-.6px}.login-card p{font-size:13px;color:#9991a8;line-height:1.9;margin:15px 0 25px}.login-card .btn{width:100%;font-size:12px;padding:12px}.login-card small{display:block;color:#b8a8c9;font-size:10px;margin-top:20px;line-height:1.8}.approval-title strong,.route-row,.stage-heading strong,.student-name,.table-person>span,.topic-title{color:#5c5468}.page-heading h1{color:#383040}.drawer-body h1,.integration-card h2,.sprint-card h2{color:#6f5b83}.drawer-section h3,.form-label,.form-label>input,.form-label>select,.form-label>textarea,.meeting-form input,.meeting-form select,.standard-form input,.standard-form select,.standard-form textarea{color:#7d658e}.comment p,.completion-box>label,.deadline-field,.drawer-person,.history-row p,.resource-link,.sprint-items>button,.subtopics,.topic-description{color:#8d769e}.activity-row p,.integration-card p,.learning-note p,.security-note p{color:#a197ad}.form-footnote,.form-info,.major-change small,.reminder-options small,.video-link-box p{color:#a58bb7}.calendar-event{color:#9b80b6}.calendar-event.group{color:#7c9f88}@media(min-width:1600px){.main-content{padding-top:44px}.overview-columns{grid-template-columns:minmax(0,1fr) 330px;gap:28px}.overview-metrics{gap:22px}.page-heading h1{font-size:34px}.metric{padding:22px}.approval-row,.student-progress-row{padding:17px 23px}.sidebar{width:244px}.main-shell{margin-left:244px}.toast{left:calc(50% + 122px)}}@media(max-width:1200px){.sidebar{width:211px;padding-left:12px;padding-right:12px}.main-shell{margin-left:211px}.main-content{padding:28px 25px}.topbar{padding:0 25px}.overview-columns{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.overview-metrics{gap:12px}.metric{padding:15px}.metric-label{font-size:10px}.metric-label>span:last-child{width:25px;height:25px}.approval-age{display:none}.approval-row{gap:10px}.approval-row,.student-progress-row{padding:13px 15px}.student-name{min-width:100px}.student-meter{width:30%}.page-heading h1{font-size:25px}.page-heading>.btn{padding:9px 11px;font-size:10px}.integration-card{grid-template-columns:auto 1fr}.integration-detail{grid-column:2;border-left:0;padding:10px 0 0;border-top:1px solid var(--line)}.toast{left:calc(50% + 105px)}.filter-controls .input-search{width:160px;min-width:130px}.students-table td,.students-table th{padding-left:16px;padding-right:16px}.focus-cell{max-width:160px}.approval-title small{max-width:125px}.brand{font-size:22px}.brand-icon{width:33px;height:33px}.sidebar-help{padding:12px}}@media(max-width:1000px){.overview-columns{grid-template-columns:minmax(0,1fr)}.overview-secondary{display:grid;grid-template-columns:1fr 1fr;gap:22px}.learning-note{grid-column:1/-1}.overview-metrics{gap:10px}.metric{padding:13px}.metric-label>span:last-child{display:none}.metric>p{font-size:8px}.metric>strong{font-size:27px}.approval-age{display:inline}.student-meter{width:35%}.page-heading{gap:15px}.page-heading>.btn{max-width:180px;white-space:normal;text-align:center}.sidebar-help{display:none}.sprint-grid{grid-template-columns:1fr}.calendar-navigation h2{font-size:14px}.calendar-date-input{display:none}.main-content{padding:25px 22px}.plan-toolbar{align-items:flex-start}.filter-controls{justify-content:flex-start}.topic-title small{display:none}.badge{font-size:7px}.calendar-grid{min-width:720px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:232px}.sidebar.mobile-open{transform:none}.mobile-scrim{display:block;position:fixed;inset:0;background:#21152c55;z-index:29}.main-shell{margin-left:0}.mobile-menu{display:flex}.topbar{height:58px;padding:0 17px;gap:10px}.breadcrumbs{margin-right:auto;font-size:10px;gap:8px}.breadcrumbs>span:first-child,.breadcrumbs>svg{display:none}.topbar-actions{gap:9px}.demo-tag{font-size:8px}.topbar-actions>.icon-btn{display:none}.main-content{padding:25px 19px}.page-heading{align-items:flex-start;margin-bottom:24px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;max-width:300px}.page-heading>.btn{font-size:0;min-width:35px;width:35px;height:35px;padding:8px}.page-heading>.btn svg{width:17px}.page-heading .student-select{min-width:125px;max-width:150px;font-size:10px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.metric{padding:16px}.metric-label>span:last-child{display:flex}.metric>p{font-size:9px}.overview-secondary{gap:19px}.overview-columns{gap:22px}.overview-primary{gap:20px}.toast{left:50%;font-size:10px}.app-footer{padding:10px 20px 20px}.app-footer>span:last-child{font-size:8px}.toolbar .input-search{min-width:0;width:100%}.toolbar>.muted{display:none}.approval-title small{max-width:155px}.plan-summary{padding:17px;gap:12px}.plan-summary-icon{width:40px;height:40px}.plan-summary strong{font-size:12px}.plan-summary p{font-size:9px}.plan-percent{font-size:25px}.stage-heading{padding:14px;gap:9px}.chapter-number{width:29px;height:29px;font-size:11px}.stage-progress{width:100px}.topic-group{margin:0 14px 15px}.stage-description{padding:14px 15px 0;font-size:10px}.topic-title{font-size:10px}.topic-row{gap:8px}.approval-mentor,.row-end-space{width:23px}.topic-resources{font-size:8px;gap:7px 9px}.filter-controls{width:100%}.filter-controls .input-search{flex:1}.filter-controls select{font-size:9px;max-width:155px}.calendar-toolbar{gap:13px}.calendar-navigation{gap:4px}.calendar-navigation h2{font-size:13px}.calendar-toolbar>.tabs{margin-left:auto}.calendar-filters{margin-top:15px}.calendar-filters>div:last-child{width:100%;justify-content:space-between}.calendar-filters select{max-width:170px}.calendar-footnote{font-size:8px;line-height:1.8;align-items:flex-start}.calendar-footnote svg{margin-top:4px}.calendar-content{padding-left:15px;padding-right:15px}.integration-card{padding:20px;gap:17px}.integration-card h2{font-size:16px}.integration-logo{width:42px;height:42px}.security-note{padding:19px;font-size:11px}.form-grid{gap:12px}.modal .dialog-head{padding:15px 20px}.meeting-form,.standard-form{padding:20px}.notification-popover{right:-45px;width:min(330px,calc(100vw - 30px))}.month-cell{min-height:85px;padding:5px 3px}.month-cell .month-event{font-size:6px;padding:2px}.month-cell>button:first-child{font-size:9px;width:21px;height:21px}.month-head>span{font-size:9px;padding:9px 0}.month-event>span{display:none}.form-label>input,.form-label>select,.form-label>textarea{font-size:12px}.sidebar-help{display:block}}@media(max-width:450px){.topbar-actions .demo-tag{display:none}.overview-secondary{grid-template-columns:1fr}.learning-note{grid-column:auto}.eyebrow{font-size:8px;letter-spacing:.8px}.page-heading h1{font-size:22px;max-width:290px}.metric-label{font-size:10px}.approval-title small{display:none}.approval-age{font-size:8px}.approval-row{gap:9px;padding:13px}.approval-row>.avatar{width:30px;height:30px;font-size:9px}.approval-title strong{font-size:10px;max-width:170px}.approval-title>span{font-size:9px}.student-progress-row{padding:12px;gap:9px}.student-name{min-width:90px;font-size:10px}.student-meter{width:27%}.student-meter small{font-size:7px}.student-progress-row>strong{min-width:30px;font-size:10px}.student-progress-row>svg{display:none}.page-heading .student-select{max-width:125px;min-width:105px;font-size:9px;padding:8px 5px}.stage-progress{width:63px}.stage-progress>.meter{display:none}.stage-progress small{margin-left:auto}.topic-row .badge{font-size:0;padding:4px;border-radius:50%;width:12px;height:12px;justify-content:center}.topic-row .badge>.status-dot{width:4px;height:4px}.topic-row{min-height:47px}.topic-title{font-size:10px}.topic-resources>span{display:none}.plan-summary{padding:14px}.plan-summary p{max-width:210px}.plan-summary-icon{display:none}.plan-toolbar .filter-controls .input-search{width:100%;flex:auto}.filter-controls select{flex:1;max-width:none}.form-grid{grid-template-columns:1fr;gap:0}.group-recipients{margin:0 0 17px}.form-actions{flex-wrap:wrap}.form-actions .danger{font-size:9px;padding:8px}.form-actions .btn{font-size:9px;padding:8px 10px}.drawer-body{padding:20px}.drawer-body h1{font-size:21px}.calendar-toolbar>.tabs{margin-left:0}.calendar-toolbar{align-items:flex-start}.calendar-navigation h2{margin-left:3px}.calendar-navigation .btn{font-size:10px;padding:7px 9px}.calendar-navigation .icon-btn{width:25px}.calendar-filters select{font-size:8px;max-width:150px}.calendar-filters .legend{gap:12px;font-size:8px}.integration-card{grid-template-columns:1fr;gap:12px}.integration-detail{grid-column:1;padding-top:13px}.security-note p{font-size:10px}.app-footer{font-size:8px;flex-wrap:wrap}.sprint-grid{grid-template-columns:minmax(0,1fr)}.sprint-card{padding:18px}.calendar-date-input{display:none}.month-grid .month-cell{min-height:76px}.major-change,.meeting-type>button{font-size:10px}.reminder-options>div{gap:10px}.reminder-options label{font-size:9px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.calendar-grid{min-width:600px}.calendar-day-heading{color:#9e91ad}.calendar-hours{color:#a79bb4}.calendar-event{color:#8c72a5}.calendar-event.group{color:#648b73}.calendar-navigation h2{color:#72617f}.calendar-footnote{color:#a79ab4}.badge.approved{color:#678d74}.badge.submitted{color:#9c8150}.badge.learning{color:#8c6fa9}.badge.not_started{color:#94849f}.badge.reconfirm{color:#b37a5e}.dialog-head h2,.form-label{color:#786184}.meeting-type>button,.reminder-options,.video-link-box strong{color:#9a78b0}@media(max-width:450px){.topic-row .badge{font-size:7px;width:auto;height:auto;padding:3px 5px;border-radius:4px;gap:4px;white-space:nowrap}.topic-row .badge>.status-dot{width:3px;height:3px}.topic-row .topic-title{font-size:10px}}.account-area{position:relative}.account-trigger{display:flex;align-items:center;gap:7px;padding:3px;border-radius:7px}.account-trigger:hover{background:#f1edf9}.account-trigger>svg{color:#958aa5}.account-menu{position:absolute;right:0;top:45px;width:245px;padding:8px;background:#fff;border:1px solid #e4deed;border-radius:10px;box-shadow:0 10px 35px #32234316;z-index:60}.account-menu-person{display:flex;gap:10px;align-items:center;padding:11px 8px 15px;border-bottom:1px solid #eee9f4;margin-bottom:6px;overflow-wrap:anywhere}.account-menu-person>span:last-child{min-width:0;font-size:12px;color:#65556f;font-weight:550}.account-menu-person small{display:block;color:#a18fae;font-size:10px;font-weight:400;margin-top:3px}.account-menu>a,.account-menu>button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 9px;border-radius:6px;color:#8c769f;font-size:11px}.account-menu>a:hover,.account-menu>button:hover{background:#f7f2fc}.account-menu>a{font-size:10px;color:#a99ab5}.profile-preview{display:flex;gap:14px;align-items:center;padding:4px 0 24px}.profile-preview>.avatar{width:48px;height:48px;font-size:16px}.profile-preview>span:last-child{font-size:15px;font-weight:550;color:#6d547d;overflow-wrap:anywhere}.profile-preview small{font-size:10px;color:#ad96bc;display:block;margin-top:4px;font-weight:400}.profile-explanation{font-size:11px;line-height:1.8;color:#a38caf}.meeting-organizer{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#f8f5fc;border:1px solid #e9e0f2;border-radius:8px;margin-bottom:19px}.meeting-organizer>span:nth-child(2){flex:1;font-size:12px;color:#79638a}.meeting-organizer small{display:block;margin-top:2px;font-size:9px;color:#b49cc4}.meeting-organizer>svg{color:#b59eca}.meeting-student .group-recipients{margin:0 0 19px}.student-picker{position:relative}.student-picker>label{font-size:10px;color:#786184}.student-picker-field{display:flex;align-items:center;gap:9px;border:1px solid #e6d7f0;background:#fff;border-radius:7px;padding:0 11px;color:#b59cc8}.student-picker-field:focus-within{outline:2px solid #c8bef7;outline-offset:1px}.student-picker-field input{padding:10px 0;border:0!important;box-shadow:none!important;outline:0!important;flex:1;min-width:0;font-size:11px;color:#7d658e!important;background:transparent}.student-picker-field input::placeholder{color:#bca4cc}.student-picker-field:has(input:disabled){background:#f8f5fb;opacity:.8}.student-picker-results{position:absolute;z-index:10;left:0;right:0;top:calc(100% + 5px);max-height:240px;overflow:auto;background:#fff;border:1px solid #e4d6ee;border-radius:8px;box-shadow:0 8px 25px #39224c15;padding:5px}.student-picker-results>button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 8px;border-radius:5px;font-size:11px;color:#7e658e}.student-picker-results>button>span:nth-child(2){flex:1}.student-picker-results small{display:block;color:#b49dc5;font-size:9px;margin-top:2px}.student-picker-results>button.highlighted,.student-picker-results>button:hover{background:#f4edf9}.student-picker-results>button>svg{color:#a78aba}.student-picker-empty{display:flex;gap:9px;align-items:center;padding:18px 12px;color:#af95c0;font-size:11px}.field-error{font-size:10px;color:#c47786;margin:-8px 0 15px}.student-picker-field:has(input:focus-visible){outline:2px solid #c8bef7}.saving-indicator{pointer-events:none}.profile-form .form-grid input{color:#786184}@media(max-width:450px){.account-menu{width:235px;right:-5px}.student-picker-field input{font-size:12px}.student-picker-results>button{padding:11px 8px}.profile-form .form-grid{grid-template-columns:1fr;gap:0}}.sidebar{height:100vh;height:100dvh;padding-top:0}.sidebar-navigation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:29px;scrollbar-width:thin}.sidebar-navigation>.sidebar-help{margin-top:30px}.sidebar-bottom{flex:none;margin-top:0;padding-top:0;padding-bottom:env(safe-area-inset-bottom,0)}.profile-popover{max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px)}@media(max-width:760px){.sidebar:not(.mobile-open){visibility:hidden}}.kanban-hint{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-3px 0 15px;font-size:10px;color:#92839e}.kanban-hint>span{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:#9985b3}.kanban-column{min-height:240px;transition:border-color .12s,background .12s}.kanban-column.drop-active{border:1px solid #a38bdc;background:#ebe3fa;box-shadow:inset 0 0 0 1px #b6a0e4}.kanban-column.drop-blocked{border-style:dashed;background:#f3f2f6}.kanban-column>.kanban-cards{min-height:175px;padding:1px 2px 10px}.kanban-card{cursor:grab;transition:box-shadow .12s,border-color .12s}.kanban-card:hover{border-color:#cbb8e0;box-shadow:0 3px 10px #55406c09}.kanban-card.dragging{opacity:.35;cursor:grabbing}.kanban-card>.kanban-card-top{margin:0;display:flex;align-items:center;justify-content:space-between;color:#c1b3ce}.kanban-card-top small{font-size:8px;color:#aa97b9}.kanban-card-title{display:block;width:100%;text-align:left}.kanban-card-title:hover{color:#7653ad}.kanban-card>.kanban-card-actions{margin-top:13px;gap:5px}.kanban-move{display:inline-flex;align-items:center;gap:5px;color:#9e88b2;min-width:0}.kanban-move select{border:0;outline-offset:0;padding:5px 0;background:transparent;font-size:9px;color:#967eaa;width:108px;max-width:100%;cursor:pointer}.kanban-approval,.kanban-deadline{display:flex;align-items:center;gap:5px;font-size:9px;margin-top:10px;color:#a18daf}.kanban-approval{color:#7b9a82;overflow-wrap:anywhere}.kanban-reconfirm{font-size:9px;color:#b38a68;margin-top:8px}.kanban-empty{display:flex;align-items:center;justify-content:center;text-align:center;min-height:145px;border:1px dashed #dfd5ea;border-radius:7px;padding:18px;font-size:10px;color:#b3a2c1}.drop-active .kanban-empty{border-color:#ad93d1;color:#8c70ac;background:#ffffff50}@media(max-width:760px){.kanban-hint{font-size:9px;line-height:1.8}.kanban-hint>span{margin-left:0;width:100%}.kanban-card-title{font-size:12px}.kanban-move select{padding:10px 0}.kanban-column{padding:10px}}.kanban-smooth{align-items:stretch;height:clamp(300px,calc(100dvh - 460px),720px);overflow-x:auto;overflow-y:hidden;padding:3px 2px 13px;scrollbar-width:thin;scrollbar-color:#cfc4df transparent;scroll-behavior:auto}.kanban-smooth .kanban-column{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;transition:background .16s,border-color .16s,box-shadow .16s}.kanban-smooth .kanban-column>h3{position:relative;flex:none;min-height:23px;color:#867493;padding:0 1px;margin-bottom:10px;gap:7px}.kanban-smooth .kanban-column>h3>small{padding:1px 6px;border-radius:4px;background:#e7e1f0;color:#9680a8}.kanban-smooth .kanban-column>.kanban-cards{min-height:0;max-height:none;flex:1;padding:2px 3px 16px;gap:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9bcda transparent;scrollbar-gutter:stable}.kanban-smooth.is-dragging,.kanban-smooth.is-dragging *{cursor:grabbing!important}.kanban-smooth .kanban-card{position:relative;flex:none;user-select:none;-webkit-user-select:none;cursor:grab;padding:14px;border-color:#e4dced;box-shadow:0 1px 2px #3c245907;transition:box-shadow .15s,border-color .15s,background .15s}.kanban-smooth .kanban-card:focus-within,.kanban-smooth .kanban-card:hover{border-color:#beabdb;background:#fefcff;box-shadow:0 4px 12px #48306210}.kanban-card-open{position:absolute;inset:0;width:100%;height:100%;z-index:1;border-radius:7px;cursor:grab;padding:0;touch-action:manipulation}.kanban-card-open:active{cursor:grabbing}.kanban-card-open:focus-visible{outline:2px solid #9e82d9;outline-offset:2px}.kanban-card-title{margin:0;padding:7px 0 0;font-size:11px;font-weight:500;line-height:1.7;color:#7f6d91;overflow-wrap:anywhere}.kanban-open-hint{opacity:0;color:#a08ab8;transition:opacity .15s}.kanban-card:focus-within .kanban-open-hint,.kanban-card:hover .kanban-open-hint{opacity:1}.kanban-card .kanban-move{position:relative;z-index:2}.kanban-card .kanban-move select{min-height:30px}.kanban-smooth .kanban-card.dragging{opacity:.3;border:1px dashed #9c7bc8;box-shadow:none;background:#e8def3}.kanban-smooth .drop-active{border-color:#a184d0;background:#eae1f7;box-shadow:inset 0 0 0 1px #b9a0df}.kanban-smooth .drop-active:after{content:"";position:absolute;inset:42px 5px 5px;border:1px dashed #b49bd5;border-radius:6px;pointer-events:none}.kanban-smooth .drop-blocked{background:#f0eef3;border-color:#e0dbe7}.kanban-release{position:absolute;right:0;top:26px;padding:4px 7px;border-radius:5px;font-size:9px;background:#9373c4;color:white;box-shadow:0 2px 8px #67448a22;z-index:3;pointer-events:none}.kanban-smooth .kanban-empty{flex:1;min-height:150px;display:flex;flex-direction:column;gap:12px;border:0;color:#b19cbf;background:none;line-height:1.8;padding:25px 15px}.kanban-empty>svg{color:#c4b0d4}.kanban-locked{position:absolute;left:12px;right:12px;bottom:10px;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;background:#e9e4efed;border-radius:6px;font-size:9px;color:#a18eae;pointer-events:none}.kanban-card-overlay{position:relative;margin:0;pointer-events:none;user-select:none;cursor:grabbing;padding:14px;border-color:#ad8dd4;background:#fff;box-shadow:0 18px 45px #3c20522b,0 4px 12px #5031681a;transform:rotate(1.5deg);will-change:transform}.kanban-card-overlay .kanban-card-top{margin:0;color:#b9a1ce}.kanban-card-overlay .kanban-open-hint{opacity:0}.kanban-preview-destination{display:inline-flex;align-items:center;gap:5px;min-height:30px;min-width:0;font-size:9px;color:#9775bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-overlay .kanban-card-actions{margin-top:13px}@media(max-width:760px){.kanban-smooth{height:400px;grid-template-columns:repeat(4,minmax(230px,1fr))}.kanban-smooth .kanban-card{padding:15px}.kanban-smooth .kanban-card-title{font-size:12px}.kanban-card .kanban-move select{min-height:36px}.kanban-open-hint{opacity:.55}}@media(prefers-reduced-motion:reduce){.kanban-card-overlay{transform:none}}.notification-issue{display:grid;gap:6px;padding:12px 16px;background:#fff5ed;border-radius:8px;font-size:12px;line-height:1.6}.notification-issue span{color:#8a4e28}.access-panel{max-width:1180px;margin:0 auto}.access-card{background:var(--surface,#fff);border:1px solid var(--border,#e9e7ef);border-radius:14px;padding:24px;margin-bottom:20px}.access-card h2{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 22px}.access-invite{display:grid;grid-template-columns:1fr 1.2fr 140px auto;align-items:end;gap:14px}.access-invite .btn{min-height:42px}.access-card>.muted{font-size:12px;line-height:1.7;margin-top:16px}.access-row{display:flex;align-items:center;gap:16px;min-height:72px;padding:14px 0;border-top:1px solid var(--border,#e9e7ef)}.access-row>div:first-child{flex:1;min-width:150px}.access-row small,.access-row strong{display:block}.access-row strong{font-size:14px}.access-row small{margin-top:5px}.access-row small,.access-row>span{font-size:12px;color:var(--muted,#837d93)}.access-row select{max-width:160px}.access-revoked{opacity:.75}.access-error{background:#fff0f2;color:#a82e4b;padding:14px 18px;border-radius:10px}.invite-result{display:flex;align-items:end;gap:12px;border-top:1px solid var(--border,#e9e7ef);padding-top:18px;margin-top:18px}.invite-result>label{flex:1}.invite-result input{font-family:monospace;font-size:12px}@media(max-width:950px){.access-invite{grid-template-columns:1fr 1fr}.access-row,.invite-result{flex-wrap:wrap}.invite-result>label{min-width:100%}}@media(max-width:600px){.access-invite{grid-template-columns:1fr}.access-card{padding:18px}.access-row{gap:10px}.access-row>div:first-child{flex-basis:100%}}.operations-status{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;line-height:1.6;margin-bottom:18px}.operations-status strong{font-weight:500}.operations-actions{display:flex;gap:12px;flex-wrap:wrap}.restore-confirm{padding:18px;background:#fff5f5;border:1px solid #f0dada;border-radius:10px;margin-top:18px}.restore-confirm p{font-size:13px;line-height:1.7}.restore-confirm .btn{margin:14px 8px 0 0}@media(max-width:700px){.operations-status{grid-template-columns:1fr}}