:root{color:#132239;font-synthesis:none;--navy:#062543;--blue:#0b63f6;--green:#15a36d;--teal:#10a6a4;--amber:#f0a21a;--line:#dfe5ec;--muted:#708096;background:#f5f7fa;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:30;background:linear-gradient(#062543 0%,#062b4c 100%);flex-direction:column;width:194px;padding:20px 12px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;padding:0 6px 28px;display:flex}.brand-mark{border:2px solid #fff;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.brand-mark svg{width:23px}.brand b{font-size:17px;display:block}.brand span{opacity:.66;font-size:11px}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#d9e7f4;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:13px;height:44px;padding:0 14px;font-size:14px;display:flex}.sidebar nav button svg{width:19px}.sidebar nav button.active,.sidebar nav button:hover{color:#fff;background:#0b63f6}.profile{border-top:1px solid #31506b;align-items:center;gap:9px;margin-top:auto;padding:18px 7px 0;display:flex}.profile>span{color:#17334e;background:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.profile div{display:grid}.profile b{font-size:13px}.profile small{opacity:.65;font-size:11px}.profile svg{opacity:.6;width:16px;margin-left:auto}.workspace{flex:1;min-width:0;margin-left:194px;padding:0 22px 24px}.workspace>header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:16px;height:86px;margin:0 -22px 20px;padding:0 22px;display:flex}.workspace h1{margin:0 0 4px;font-size:22px}.workspace header p{color:var(--muted);margin:0;font-size:12px}.workspace header .primary{margin-left:auto}.primary{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 17px;font-size:13px;font-weight:650;display:inline-flex;box-shadow:0 5px 14px #0b63f62b}.primary svg{width:17px}.mobile-menu{background:0 0;border:0;display:none}.metrics{grid-template-columns:repeat(4,minmax(145px,1fr));gap:14px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:13px;min-height:92px;padding:16px;display:flex}.metric-icon{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.metric-icon svg{width:21px}.metric-icon.blue{color:var(--blue);background:#eaf2ff}.metric-icon.green{color:var(--green);background:#e9f7f1}.metric-icon.teal{color:var(--teal);background:#e8f7f7}.metric-icon.amber{color:var(--amber);background:#fff4df}.metric div:last-child{display:grid}.metric span,.metric small{color:var(--muted);font-size:11px}.metric strong{font-size:21px;line-height:1.35}.content-grid{grid-template-columns:minmax(550px,1.65fr) minmax(390px,.95fr);align-items:start;gap:16px;display:grid}.student-area,.detail{border:1px solid var(--line);background:#fff;border-radius:8px}.toolbar{border-bottom:1px solid var(--line);gap:10px;padding:13px;display:flex}.search{border:1px solid var(--line);border-radius:6px;flex:1;align-items:center;gap:8px;height:38px;padding:0 11px;display:flex}.search svg{color:#9aa8ba;width:17px}.search input{border:0;outline:0;width:100%;font-size:12px}.toolbar select{border:1px solid var(--line);color:#40516a;background:#fff;border-radius:6px;padding:0 10px;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#718197;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 12px;font-size:11px;font-weight:600}td{vertical-align:middle;cursor:pointer;white-space:nowrap;border-bottom:1px solid #e9edf2;padding:13px 12px}td small{color:#7b899c;margin-top:4px;font-size:10px;display:block}tr.selected{box-shadow:inset 3px 0 var(--blue);background:#edf5ff}tbody tr:hover{background:#f6f9fc}.progress-cell{min-width:80px}.progress-cell>span{font-size:11px}.progress-cell>div{background:#e5eaf0;border-radius:5px;height:4px;margin-top:6px}.progress-cell i{background:#10a15f;border-radius:5px;height:100%;display:block}.status{border:1px solid;border-radius:5px;padding:3px 7px;font-size:10px}.s-练习中{color:#0b63f6;background:#f4f8ff;border-color:#8ab5ff}.s-已完成{color:#16865f;background:#effaf5;border-color:#87d1b4}.s-未开始{color:#718197}.s-待付款{color:#a56700;background:#fff8e8;border-color:#efc46f}.empty{text-align:center;color:var(--muted);padding:50px}.detail{overflow:hidden}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px;display:flex}.detail-head h2{margin:0;font-size:17px}.detail-head span{color:var(--muted);font-size:10px}.detail button{cursor:pointer;background:0 0;border:0}.detail-head button svg{width:18px}.identity{gap:14px;padding:14px;display:flex}.avatar{color:#17344f;background:linear-gradient(145deg,#dfe9f3,#9eb8cf);border-radius:8px;place-items:center;width:75px;height:88px;font-size:18px;font-weight:800;display:grid;position:relative}.avatar button{background:#fff;border-radius:50%;width:25px;height:25px;position:absolute;bottom:3px;right:3px;box-shadow:0 2px 8px #223b5a30}.avatar svg{width:13px}.contact{gap:5px;min-width:0;display:grid}.contact span{color:#40516a;overflow-wrap:anywhere;align-items:center;gap:7px;font-size:10px;display:flex}.contact svg{color:#63758c;flex:none;width:14px}.license-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 125px;gap:12px;padding:13px 14px;display:grid}.license-row>div:first-child{display:grid}.license-row small{color:var(--muted);font-size:10px}.license-row strong{font-size:16px}.license-row span{color:var(--blue);margin:3px 0;font-size:11px}.license-row em{color:var(--muted);font-size:10px;font-style:normal}.document{border:1px dashed #a8b5c4;border-radius:7px;place-items:center;padding:8px;font-size:9px;display:grid}.document svg{color:#53708b;width:22px}.document b{color:var(--green)}.detail>section:not(.license-row){border-bottom:1px solid var(--line);padding:13px 14px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h3{margin:0 0 10px;font-size:13px}.section-title button{color:var(--blue);font-size:10px;font-weight:650}.section-title svg{color:#8896a8;width:15px}.course-grid{grid-template-columns:1.05fr 100px .85fr;align-items:stretch;gap:9px;display:grid}.course-grid>div{border:1px solid var(--line);border-radius:7px;padding:10px}.package{align-content:center;display:grid}.package small,.remaining span,.remaining small{color:var(--muted);font-size:9px}.package strong{margin:3px 0 10px;font-size:11px}.package button{text-align:left;padding:0;font-size:11px;font-weight:750}.package button.paid{color:#18334d}.package button.unpaid{color:#a56700}.ring{--pct:0deg;aspect-ratio:1;background:conic-gradient(var(--blue) var(--pct),#e5eaf0 0);border-radius:50%;padding:7px}.ring>div{text-align:center;background:#fff;border-radius:50%;place-content:center;height:100%;display:grid}.ring strong{font-size:20px}.ring strong small{font-size:10px}.ring span{color:var(--muted);font-size:9px}.remaining{align-content:center;display:grid}.remaining b{color:var(--blue);margin:7px 0;font-size:13px}.mini-charts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-charts>div{border:1px solid var(--line);border-radius:7px;height:112px;padding:9px}.mini-charts small{color:var(--muted);font-size:9px;display:block}.mini-charts strong{font-size:17px}.bars{border-bottom:1px solid #dfe5ec;align-items:end;gap:8px;height:56px;margin-top:7px;display:flex}.bars i{background:#0b63f6;border-radius:2px 2px 0 0;flex:1;min-height:3px}.mini-charts svg{width:100%;height:55px}.mini-charts path{fill:none;stroke:#10a6a4;stroke-width:3px}.mini-charts circle{fill:#10a6a4}.event{gap:10px;padding:7px 0 7px 2px;display:flex;position:relative}.event>i{background:#0b63f6;border-radius:50%;width:8px;height:8px;margin-top:3px;box-shadow:0 0 0 4px #eaf2ff}.event>div{display:grid}.event b{font-size:10px}.event span{color:var(--muted);margin-top:3px;font-size:9px}.modal-backdrop{z-index:100;background:#061b2e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(430px,100%);box-shadow:0 24px 70px #0005}.modal-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.modal-title h2{margin:0;font-size:18px}.modal-title button{background:0 0;border:0}.modal-title svg{width:19px}.modal form{gap:14px;padding:20px;display:grid}.modal label{gap:6px;font-size:12px;font-weight:650;display:grid}.modal input{border:1px solid var(--line);outline-color:var(--blue);border-radius:6px;height:40px;padding:0 10px;font-weight:400}.modal .primary{margin-top:4px}.mobile-menu svg{width:21px}.action-notice{color:#176c4c;background:#eaf8f1;border:1px solid #9ed8be;border-radius:8px;align-items:center;gap:9px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}.action-notice>svg{flex:none;width:18px}.action-notice span{line-height:1.45}.action-notice button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px}.action-notice button svg{width:16px;display:block}.schedule-count{color:var(--blue);font-size:10px;font-weight:700}.schedule-list{gap:8px;display:grid}.schedule-item{background:#f8fbff;border:1px solid #dfe8f2;border-radius:8px;gap:5px;padding:10px 76px 10px 10px;display:grid;position:relative}.schedule-item.cancelled{background:#f7f8fa;border-color:#e3e7ec}.schedule-item.cancelled>.schedule-date,.schedule-item.cancelled>span,.schedule-item.cancelled>small{opacity:.62}.schedule-date{color:#123b63;align-items:center;gap:6px;display:flex}.schedule-date svg{width:14px}.schedule-date b{font-size:11px}.schedule-item>span{color:#31465f;font-size:10px}.schedule-item>small{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.schedule-item>small svg{flex:none;width:12px}.schedule-status{border-radius:999px;padding:3px 7px;font-size:9px;font-style:normal;font-weight:700;position:absolute;top:10px;right:9px}.schedule-status.scheduled{color:var(--blue);background:#eaf2ff}.schedule-status.completed{color:var(--green);background:#e9f7f1}.schedule-status.cancelled{color:#6f7c8c;background:#f1f3f5}.schedule-actions{border-top:1px solid #e3eaf2;margin-top:3px;padding-top:7px}.schedule-actions .schedule-cancel{color:#b63a34;padding:0;font-size:10px;font-weight:700}.schedule-actions .schedule-cancel:hover{text-decoration:underline}.cancel-schedule-modal{gap:14px;padding:20px;display:grid}.cancel-schedule-summary{background:#f5f8fc;border:1px solid #dde6ef;border-radius:8px;align-items:center;gap:11px;padding:12px;display:flex}.cancel-schedule-summary>svg{color:var(--blue);width:20px}.cancel-schedule-summary div{gap:3px;display:grid}.cancel-schedule-summary b{font-size:13px}.cancel-schedule-summary span{color:var(--muted);font-size:11px}.cancel-schedule-modal>p{color:#41546a;margin:0;font-size:12px;line-height:1.55}.calendar-warning{color:#72551b;background:#fff7e8;border:1px solid #efcd87;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;font-size:11px;line-height:1.5;display:flex}.calendar-warning>svg{color:#b77b0a;flex:none;width:18px}.calendar-warning span{gap:2px;display:grid}.calendar-warning b{font-size:11px}.modal-actions{justify-content:flex-end;gap:9px;margin-top:2px;display:flex}.modal-secondary,.danger{cursor:pointer;border-radius:7px;height:39px;padding:0 16px;font-size:12px;font-weight:700}.modal-secondary{color:#24415d;background:#fff;border:1px solid #cfd9e4}.danger{color:#fff;background:#bd3f39;border:1px solid #bd3f39}.modal-secondary:disabled,.danger:disabled{cursor:not-allowed;opacity:.55}.demo-banner,.error-banner{border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.demo-banner{color:#755719;background:#fff8e8;border:1px solid #edcf8e}.error-banner{color:#8f2f2b;background:#fff0ef;border:1px solid #e3aaa6}.demo-banner>svg,.error-banner>svg{flex:none;width:18px}.demo-banner span,.error-banner span{gap:1px;display:grid}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px}.error-banner button svg{width:16px;display:block}.calendar-workspace{padding-bottom:12px}.calendar-workspace>.calendar-page-header{height:58px;margin-bottom:7px}.calendar-page-header h1{margin-bottom:1px;font-size:18px}.calendar-page-header p{font-size:9px}.calendar-page-header .google-connect,.calendar-page-header .calendar-header-sync{height:32px;padding:0 9px;font-size:10px}.calendar-page-header .road-test-reminder-toggle{min-height:34px;padding:3px 7px}.calendar-workspace>.demo-banner{align-items:center;gap:7px;min-height:34px;margin:0 12px 6px;padding:5px 9px;font-size:9px}.calendar-workspace>.demo-banner>svg{width:15px}.calendar-workspace>.demo-banner span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;display:flex;overflow:hidden}.sidebar nav button{position:relative}.sidebar nav button small{opacity:.72;margin-left:auto;font-size:8px}.sidebar nav button.coming-soon{cursor:not-allowed;opacity:.52}.sidebar nav button.coming-soon:hover{color:#d9e7f4;background:0 0}.profile>button{color:#fff;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:9px}.profile>button svg{opacity:.75;width:17px;margin:0;display:block}.detail-empty{color:var(--muted);text-align:center;place-items:center;gap:8px;min-height:260px;padding:35px;display:grid}.detail-empty>svg{color:#9cabbc;width:34px}.detail-empty>b{color:#3a4d63;font-size:13px}.detail-empty>span{font-size:11px;line-height:1.5}.document.unavailable{background:#f8f9fb}.document.unavailable b{color:#7a8796}.schedule-empty{color:var(--muted);background:#f8fafc;border:1px dashed #cbd6e1;border-radius:8px;align-items:center;gap:9px;padding:12px;font-size:10px;line-height:1.45;display:flex}.schedule-empty>svg{flex:none;width:18px}.schedule-empty span{display:grid}.paid-total{color:#18334d;margin:2px 0 7px;font-size:14px}.package .record-payment{color:var(--blue);text-align:center;background:#edf4ff;border-radius:5px;padding:6px 8px;font-size:10px}.section-title button:disabled{color:#8b98a8;cursor:not-allowed}.form-context{color:#4d6075;background:#f5f8fc;border:1px solid #dce5ef;border-radius:7px;padding:10px;font-size:11px;line-height:1.5}.form-error{color:#a13732;background:#fff0ef;border:1px solid #e3aaa6;border-radius:7px;padding:9px 10px;font-size:11px;line-height:1.45}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal select{border:1px solid var(--line);outline-color:var(--blue);background:#fff;border-radius:6px;height:40px;padding:0 10px}.search:focus-within{border-color:#6aa0fa;box-shadow:0 0 0 3px #0b63f617}.table-wrap tbody tr:focus-visible,.sidebar button:focus-visible,.detail button:focus-visible,.workspace button:focus-visible{outline-offset:2px;outline:3px solid #78a8f7}.modal .primary{min-height:44px}.empty{justify-items:center;gap:10px;display:grid}.empty b{font-size:12px}.empty button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}@media (width<=1180px){.content-grid{grid-template-columns:minmax(520px,1fr) 370px}.metrics{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:1fr 95px}.remaining{display:none}}@media (width<=900px){.sidebar{transition:all .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:10px 0 30px #001b3380}.workspace{margin-left:0;padding:0 14px 20px}.workspace>header{margin:0 -14px 14px;padding:0 14px}.mobile-menu{place-items:center;display:grid}.content-grid{grid-template-columns:1fr}.detail{position:relative}.metrics{grid-template-columns:repeat(4,minmax(140px,1fr));overflow:auto}.metric{min-width:150px}}@media (width<=600px){.workspace>header{height:74px}.workspace header p{display:none}.workspace h1{font-size:18px}.primary{padding:0 12px}.header-actions .primary{font-size:0}.header-actions .primary svg{margin:0}.metrics{scroll-snap-type:x mandatory;display:flex;overflow:auto}.metric{scroll-snap-align:start;min-width:148px}.content-grid{display:block}.student-area{border-radius:8px}.toolbar{flex-direction:column}.toolbar select{height:38px}.table-wrap{overflow:visible}table,thead,tbody,tr,td{display:block}thead{display:none}tbody{display:grid}.table-wrap tr{border-bottom:1px solid var(--line);padding:13px 44px 13px 14px;position:relative}td{white-space:normal;border:0;padding:2px 0}td:nth-child(2),td:nth-child(3),td:nth-child(6){display:none}td:nth-child(4){width:65%;margin-top:9px}td:nth-child(5){position:absolute;top:14px;right:12px}.detail{z-index:60;border-radius:0;margin:0;position:fixed;inset:0;overflow:auto}.detail-head{z-index:3;background:#fff;position:sticky;top:0}.detail-empty{display:none}.identity{grid-template-columns:70px 1fr;display:grid}.avatar{width:70px;height:80px}.license-row{grid-template-columns:1fr 105px}.course-grid{grid-template-columns:1fr 90px}.form-row{grid-template-columns:1fr}.modal form{padding:16px}.modal .primary{width:100%;font-size:13px}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px);overflow:auto}}.detail-load-error{text-align:center;align-content:center;justify-items:center;gap:12px;min-height:320px;padding:36px;display:grid}.detail-load-error>svg{color:#d4564e;width:34px}.detail-load-error h2{margin:0;font-size:17px}.detail-load-error p{color:var(--muted);max-width:280px;margin:0;font-size:11px;line-height:1.6}.detail-load-error .primary{background:var(--blue);color:#fff;margin-top:6px}.lesson-records{gap:8px;display:grid}.lesson-record.road-test-record{border-left:3px solid #dc3b35}.lesson-record.road-test-record .lesson-record-meta strong,.lesson-record.road-test-record .lesson-record-meta span{color:#b62f2a}.schedule-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.schedule-actions .schedule-confirm{color:#08734c;background:#eaf8f1;border:1px solid #9bd7ba;border-radius:6px;align-items:center;gap:4px;min-height:30px;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.schedule-actions .schedule-confirm:hover{background:#ddf4e9}.schedule-actions .schedule-confirm:disabled{cursor:wait;opacity:.62}.schedule-actions .schedule-confirm svg{width:13px}.schedule-actions .schedule-confirm.waiting{color:#6f7d8e;cursor:default;background:#f2f4f7;border-color:#d7dde5}.lesson-record{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;gap:9px;padding:11px 12px;transition:border-color .18s,box-shadow .18s;display:grid}.lesson-record:focus-within{border-color:#8ab5ff;box-shadow:0 0 0 3px #0b63f612}.lesson-record.voided{background:#f7f8fa;border-style:dashed;border-color:#dfe4ea}.lesson-record.voided .lesson-record-main,.lesson-record.voided .lesson-record-main strong,.lesson-record.voided .lesson-record-main p{color:#667587}.lesson-record-main{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.lesson-record-main>*{min-width:0}.lesson-record-main strong{color:#263b53;overflow-wrap:anywhere;font-size:12px;line-height:1.45;display:block}.lesson-record-main p{color:#52657b;overflow-wrap:anywhere;margin:3px 0 0;font-size:11px;line-height:1.5}.lesson-record-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:10px;line-height:1.45;display:flex}.lesson-record-meta svg{flex:none;width:13px}.lesson-record-actions{border-top:1px solid #e8edf2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;padding-top:8px;display:flex}.lesson-record-actions button,.detail .calendar-sync-action,.detail .calendar-retry{color:#1553a4;cursor:pointer;background:#edf4ff;border:1px solid #c9dcfb;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.lesson-record-actions button:hover,.detail .calendar-sync-action:hover,.detail .calendar-retry:hover{filter:brightness(.97)}.lesson-record-actions button:disabled,.detail .calendar-sync-action:disabled,.detail .calendar-retry:disabled{cursor:not-allowed;opacity:.55}.lesson-record-actions button svg,.calendar-sync-action svg,.calendar-retry svg{flex:none;width:14px}.lesson-record-actions .lesson-void,.detail .lesson-void{color:#a13732;background:#fff4f3;border:1px solid #e7b3af;border-radius:6px;font-weight:700}.void-lesson-modal{gap:14px;padding:20px;display:grid}.void-lesson-modal textarea{border:1px solid var(--line);font:inherit;outline-color:var(--blue);resize:vertical;border-radius:6px;width:100%;min-height:96px;padding:9px 10px;line-height:1.5}.void-impact{color:#72551b;background:#fff7e8;border:1px solid #efcd87;border-radius:8px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:11px;line-height:1.55;display:flex}.void-impact svg{color:#b77b0a;flex:none;width:18px;margin-top:1px}.void-impact>span,.void-impact>div{gap:2px;display:grid}.void-impact strong{font-size:11px}.calendar-sync-badge{color:#667587;background:#f1f3f5;border:1px solid #dce1e7;border-radius:999px;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px 8px;font-size:10px;font-style:normal;font-weight:700;line-height:1.2;display:inline-flex}.calendar-sync-badge svg{flex:none;width:13px}.calendar-sync-badge.synced,.calendar-sync-badge[data-state=synced]{color:#176c4c;background:#e9f7f1;border-color:#a4d9c3}.calendar-sync-badge.pending,.calendar-sync-badge[data-state=pending]{color:#225a9a;background:#eef4ff;border-color:#b9d2fa}.calendar-sync-badge.pending svg,.calendar-sync-badge[data-state=pending] svg{animation:1.1s linear infinite calendar-sync-spin}.calendar-sync-badge.failed,.calendar-sync-badge[data-state=failed]{color:#8f2f2b;background:#fff0ef;border-color:#e3aaa6}.calendar-sync-badge.unconfigured,.calendar-sync-badge[data-state=unconfigured]{color:#52657b;background:#f1f3f5;border-color:#d7dde4}.detail .calendar-sync-action{color:#7a5714;background:#fff7e8;border-color:#efcd87}.detail .calendar-retry{color:#993832;background:#fff4f3;border-color:#e3aaa6}.lesson-record-actions button:focus-visible,.lesson-void:focus-visible,.calendar-sync-action:focus-visible,.calendar-retry:focus-visible,.void-lesson-modal textarea:focus-visible{outline-offset:2px;outline:3px solid #78a8f7}@keyframes calendar-sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.lesson-record{transition:none}.calendar-sync-badge.pending svg,.calendar-sync-badge[data-state=pending] svg{animation:none}}@media (width<=600px){.lesson-record{padding:12px}.lesson-record-main{gap:6px;display:grid}.lesson-record-meta{font-size:11px}.lesson-record-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lesson-record-actions button,.detail .lesson-void,.detail .calendar-sync-action,.detail .calendar-retry,.detail .section-title button,.detail .record-payment,.header-actions .primary{min-width:44px;min-height:44px}.lesson-record-actions button,.detail .lesson-void,.detail .calendar-sync-action,.detail .calendar-retry{width:100%}.calendar-sync-action,.calendar-retry{min-height:44px}.calendar-sync-badge{white-space:normal;font-size:11px}.void-lesson-modal{padding:16px}.void-lesson-modal .modal-actions{grid-template-columns:1fr;display:grid}.void-lesson-modal .modal-secondary,.void-lesson-modal .danger{width:100%;min-height:44px}}.student-area{min-width:0}.student-table{table-layout:fixed;min-width:720px}.student-table .col-name{width:17%}.student-table .col-contact{width:18%}.student-table .col-package{width:20%}.student-table .col-booked{width:14%}.student-table .col-progress{width:13%}.student-table .col-status,.student-table .col-instructor{width:9%}.student-table td.col-name,.student-table td.col-package{overflow-wrap:anywhere;white-space:normal}.booked-hours{gap:2px;line-height:1.3;display:grid}.booked-hours>span{display:none}.booked-hours strong{color:#1553a4;font-size:12px}.booked-hours small{color:var(--muted);margin:0;font-size:9px}.booked-hours.empty-booking strong,.booked-hours.empty-booking small{color:#8996a7}.booked-detail{color:#1553a4;margin:3px 0 10px;font-size:11px}@media (width>=1400px){.content-grid{grid-template-columns:minmax(720px,1.9fr) minmax(370px,.85fr)}}@media (width>=601px) and (width<=1399px){.student-table .col-contact{display:none}}@media (width<=600px){.student-table{table-layout:auto;min-width:0}.student-table .col-name,.student-table .col-booked,.student-table .col-progress,.student-table .col-status{width:auto;display:block}.student-table .col-contact,.student-table .col-package,.student-table .col-instructor{display:none}.student-table td.col-booked{width:auto;margin-top:7px;padding:0}.student-table td.col-progress{width:100%;margin-top:10px;position:static}.student-table td.col-status{position:absolute;top:14px;right:12px}.booked-hours{align-items:center;gap:5px;display:flex}.booked-hours>span{color:var(--muted);font-size:10px;display:inline}.booked-hours strong{font-size:11px}.booked-hours small{display:none}}.calendar-sync-row{flex-direction:column;align-items:flex-start;gap:5px;margin-top:2px;display:flex}.calendar-sync-error{overflow-wrap:anywhere;max-width:100%;line-height:1.45;color:#8f2f2b!important;font-size:9px!important;display:block!important}.lesson-record-meta em{color:#667587;background:#f1f3f5;border-radius:999px;padding:2px 6px;font-style:normal;font-weight:700}.lesson-record:focus-visible{outline-offset:2px;outline:3px solid #78a8f7}.lesson-record:not(.voided),.lesson-record.active{border-left:3px solid #8ab5ff}.lesson-record.voided{border-left:3px solid #a7b0bc}.lesson-record-actions .lesson-edit,.detail .lesson-edit{color:#1553a4;background:#edf4ff;border:1px solid #c9dcfb}.lesson-record-actions .lesson-delete,.detail .lesson-delete{color:#993832;background:#fff4f3;border:1px solid #e3aaa6}.lesson-record-actions .lesson-delete:hover,.detail .lesson-delete:hover{color:#fff;filter:none;background:#bd3f39;border-color:#bd3f39}.lesson-record-actions .lesson-edit:disabled,.lesson-record-actions .lesson-delete:disabled,.detail .lesson-edit:disabled,.detail .lesson-delete:disabled{cursor:not-allowed;opacity:.55}.lesson-edit:focus-visible,.lesson-delete:focus-visible{outline-offset:2px;outline:3px solid #78a8f7}.edit-lesson-modal{gap:14px;padding:20px;display:grid}.edit-lesson-modal textarea{border:1px solid var(--line);font:inherit;outline-color:var(--blue);resize:vertical;border-radius:6px;width:100%;min-height:88px;padding:9px 10px;line-height:1.5}.edit-lesson-modal input:focus-visible,.edit-lesson-modal select:focus-visible,.edit-lesson-modal textarea:focus-visible{border-color:#6aa0fa;outline:0;box-shadow:0 0 0 3px #0b63f617}@media (width<=600px){.lesson-record-actions .lesson-edit,.lesson-record-actions .lesson-delete,.detail .lesson-edit,.detail .lesson-delete{width:100%;min-width:44px;min-height:44px}.edit-lesson-modal{padding:16px}.edit-lesson-modal .modal-actions{grid-template-columns:1fr;display:grid}.edit-lesson-modal .modal-secondary,.edit-lesson-modal .primary,.edit-lesson-modal .danger{width:100%;min-height:44px}}.quality-audit-bar{background:#ecf8f2;border:1px solid #9bd7ba;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 14px;display:flex}.quality-audit-bar>span{color:#176c4c;grid-template-columns:20px auto;align-items:center;column-gap:7px;display:grid}.quality-audit-bar>span>svg{grid-row:1/3;width:18px}.quality-audit-bar b{font-size:11px}.quality-audit-bar small{opacity:.78;font-size:9px}.quality-audit-bar button{color:#176c4c;cursor:pointer;background:#fff;border:1px solid #8bcbae;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:6px 10px;font-size:10px;font-weight:750;display:flex}.quality-audit-bar button svg{width:15px}.quality-audit-bar button:disabled{cursor:not-allowed;opacity:.6}.detail-head>div:first-child{min-width:0}.detail-head h2,.detail-head>div:first-child>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.detail-head-actions{flex:none;align-items:center;gap:6px;display:flex}.detail .detail-edit{color:#1553a4;background:#edf4ff;border:1px solid #c9dcfb;border-radius:6px;align-items:center;gap:5px;min-height:34px;padding:6px 9px;font-size:10px;font-weight:750;display:inline-flex}.detail .detail-edit:hover{background:#e4efff}.detail .detail-edit svg{flex:none;width:14px}.detail .detail-close{border-radius:6px;justify-content:center;align-items:center;min-width:34px;min-height:34px;display:inline-flex}.detail-action-notice{display:none}.contact .contact-note{color:#52657b;border-top:1px solid #e7ecf1;margin-top:2px;padding-top:5px;line-height:1.45}.detail .student-hours-summary{background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 100%);border-top:1px solid #dbe8f7;border-bottom:1px solid #cfe0f5;grid-template-columns:1.35fr 1fr 1fr;align-items:stretch;padding:0;display:grid}.student-hours-summary>div{align-content:center;gap:4px;min-height:72px;padding:12px 16px;display:grid}.student-hours-summary>div+div{border-left:1px solid #d8e5f3}.student-hours-summary span{color:#6a7d94;font-size:10px}.student-hours-summary strong{color:#153b65;font-size:22px;line-height:1}.student-hours-summary strong small{color:#5f7590;margin-left:3px;font-size:10px;font-weight:650}.student-hours-summary .hours-summary-primary{background:#e6f1ff;align-items:center;gap:10px;display:flex}.hours-summary-primary>svg{color:#fff;background:#0b63f6;border-radius:50%;flex:none;width:34px;height:34px;padding:8px}.hours-summary-primary>span{gap:5px;display:grid}.hours-summary-primary strong{color:#0b63f6;font-size:25px}.student-edit-dialog{flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.student-edit-dialog .modal-title{flex:none}.modal .student-edit-form{gap:16px;overflow:auto}.student-edit-form fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.student-edit-form fieldset+fieldset{border-top:1px solid #e5eaf0;padding-top:15px}.student-edit-form legend{color:#263b53;margin-bottom:11px;padding:0;font-size:13px;font-weight:800}.student-edit-form textarea{border:1px solid var(--line);font:inherit;outline-color:var(--blue);resize:vertical;border-radius:6px;width:100%;min-height:76px;padding:9px 10px;line-height:1.5}.student-edit-form input:focus-visible,.student-edit-form select:focus-visible,.student-edit-form textarea:focus-visible{border-color:#6aa0fa;outline:0;box-shadow:0 0 0 3px #0b63f617}.student-edit-form [aria-invalid=true]{border-color:#d87a75}.student-edit-help{color:var(--muted);margin-top:-5px;font-size:10px;line-height:1.45}.form-warning{color:#72551b;background:#fff7e8;border:1px solid #efcd87;border-radius:7px;align-items:flex-start;gap:8px;padding:9px 10px;font-size:11px;line-height:1.5;display:flex}.form-warning svg{flex:none;width:17px;margin-top:1px}.modal .student-edit-checkbox{cursor:pointer;background:#f5f8fc;border:1px solid #dce5ef;border-radius:7px;align-items:flex-start;gap:9px;padding:10px;display:flex}.student-edit-checkbox input{flex:none;width:18px;height:18px;margin:1px 0 0}.student-edit-checkbox span{gap:2px;display:grid}.student-edit-checkbox small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}.student-edit-form :disabled{cursor:not-allowed}.student-edit-form .primary:disabled{box-shadow:none;opacity:.55}@media (width<=600px){.student-hours-summary>div{min-height:66px;padding:10px 12px}.student-hours-summary strong{font-size:19px}.hours-summary-primary>svg{width:30px;height:30px;padding:7px}.hours-summary-primary strong{font-size:22px}.detail .detail-edit,.detail .detail-close{min-width:44px;min-height:44px}.detail .detail-edit{padding:6px 9px}.student-edit-dialog{max-height:calc(100dvh - 24px)}.modal .student-edit-form{padding:16px}.student-edit-form .modal-actions{grid-template-columns:1fr;display:grid}.student-edit-form .modal-secondary,.student-edit-form .primary{width:100%;min-height:44px}.detail-action-notice{color:#176c4c;background:#eaf8f1;border-bottom:1px solid #9ed8be;align-items:flex-start;gap:8px;padding:9px 14px;font-size:11px;line-height:1.45;display:flex}.detail-action-notice svg{flex:none;width:17px}}.profile{color:#fff;text-align:left;cursor:default;background:0 0;border-top:1px solid #31506b}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.google-connect{color:#40516a;cursor:pointer;background:#fff;border:1px solid #cfd9e4;border-radius:7px;align-items:center;gap:7px;height:40px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.google-connect svg{width:16px}.google-connect.connected{color:#176c4c;background:#eaf8f1;border-color:#8fd3b4}.google-connect:disabled{cursor:not-allowed;opacity:.6}.road-test-reminder-toggle{color:#40566e;cursor:pointer;text-align:left;background:#f7f9fc;border:1px solid #d8e1eb;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:28px auto;align-items:center;min-height:42px;padding:5px 10px;display:grid}.road-test-reminder-toggle>span{background:#aab6c3;border-radius:999px;grid-row:1/3;width:28px;height:16px;margin-right:8px;transition:all .2s;position:relative}.road-test-reminder-toggle>span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #17324c40}.road-test-reminder-toggle b{font-size:11px;line-height:1.1}.road-test-reminder-toggle small{color:#7b8998;font-size:9px;line-height:1.1}.road-test-reminder-toggle.on{color:#176c4c;background:#eaf8f1;border-color:#8fd3b4}.road-test-reminder-toggle.on>span{background:#22a06b}.road-test-reminder-toggle.on>span:after{transform:translate(12px)}.road-test-reminder-toggle:disabled{cursor:not-allowed;opacity:.6}.sync-monitor{background:linear-gradient(135deg,#f2fbf7,#fbfefd);border:1px solid #b9dfce;border-radius:12px;grid-template-columns:minmax(260px,1.35fr) minmax(420px,2fr) auto;align-items:center;gap:14px;min-height:64px;margin:12px 24px 0;padding:9px 14px;display:grid;position:relative}.calendar-workspace .sync-monitor{border-radius:9px;grid-template-columns:minmax(220px,1.2fr) minmax(390px,2fr) auto;gap:9px;min-height:44px;margin:6px 12px 0;padding:5px 10px}.calendar-workspace .sync-monitor-heading{gap:8px}.calendar-workspace .sync-monitor-heading b{font-size:11px}.calendar-workspace .sync-monitor-heading small{font-size:8px}.calendar-workspace .sync-monitor-icon{border-radius:7px;width:27px;height:27px}.calendar-workspace .sync-monitor-icon svg{width:16px}.calendar-workspace .sync-monitor-stats{gap:4px}.calendar-workspace .sync-monitor-stats span,.calendar-workspace .sync-monitor-stat-button{grid-template-columns:auto auto;align-items:center;gap:4px;padding-left:8px}.calendar-workspace .sync-monitor-stats small{font-size:8px}.calendar-workspace .sync-monitor-stats b{font-size:10px}.calendar-workspace .sync-monitor-retry{border-radius:7px;height:29px;padding:0 9px;font-size:10px}.calendar-workspace .sync-monitor-retry svg{width:13px}.sync-monitor.danger{background:linear-gradient(135deg,#fff4f3,snow);border-color:#f0b6b1}.sync-monitor.warning{background:#fffaf0;border-color:#eed49a}.sync-monitor.working{background:#f3f8fe;border-color:#a9ccef}.sync-monitor-heading{align-items:center;gap:11px;min-width:0;display:flex}.sync-monitor-heading>div{gap:1px;min-width:0;display:grid}.sync-monitor-heading b{color:#16344f;font-size:14px}.sync-monitor-heading small{color:#60758a;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.25;overflow:hidden}.sync-monitor-icon{color:#16805b;background:#dff4e9;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.sync-monitor-icon svg{width:19px}.sync-monitor.danger .sync-monitor-icon{color:#c64338;background:#ffe2df}.sync-monitor.working .sync-monitor-icon{color:#176bc1;background:#e0efff}.sync-monitor-stats{grid-template-columns:repeat(4,minmax(78px,1fr));gap:8px;display:grid}.sync-monitor-stats span{border-left:1px solid #d7e3e9;gap:2px;padding-left:12px;display:grid}.sync-monitor-stat-button{cursor:pointer;text-align:left;background:0 0;border:0;border-left:1px solid #d7e3e9;gap:2px;padding:0 0 0 12px;display:grid}.sync-monitor-stat-button:not(:disabled):hover b{color:#1266d6;text-underline-offset:3px;text-decoration:underline}.sync-monitor-stat-button:disabled{cursor:default}.sync-monitor-stats small{color:#738398;font-size:10px}.sync-monitor-stats b{color:#173854;font-size:13px}.sync-monitor-retry{color:#235477;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #9bb9d3;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 13px;font-weight:700;display:inline-flex}.sync-monitor-retry svg{width:15px}.sync-monitor-retry:disabled{opacity:.55;cursor:not-allowed}@media (width<=1100px){.sync-monitor{grid-template-columns:1fr auto}.sync-monitor-stats{grid-area:2/1/auto/-1}}@media (width<=700px){.sync-monitor{grid-template-columns:1fr;gap:12px;margin:12px 12px 0;padding:13px}.sync-monitor-retry{justify-content:center;width:100%}.sync-monitor-stats{grid-area:auto;grid-template-columns:repeat(2,1fr)}}.cloud-error,.login-error{color:#c23b32}.login-screen{background:radial-gradient(circle at 75% 15%,#dfeeff,#0000 35%),#f5f7fa;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:16px;width:min(390px,100%);padding:32px;display:grid;box-shadow:0 24px 70px #17334f1c}.login-card .brand-mark{background:var(--navy);color:#fff}.login-card h1{margin:0;font-size:25px}.login-card p{color:var(--muted);margin:-10px 0 6px;font-size:13px}.login-card label{gap:7px;font-size:12px;font-weight:650;display:grid}.login-card input{border:1px solid var(--line);outline-color:var(--blue);border-radius:7px;height:42px;padding:0 11px}.login-card .primary{width:100%;font-size:13px}.login-error{font-size:12px}.header-actions{gap:9px;margin-left:auto;display:flex}.workspace header .header-actions .primary{margin-left:0}.secondary{color:#24415d;cursor:pointer;background:#fff;border:1px solid #cfd9e4;border-radius:7px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 17px;font-size:13px;font-weight:650;display:inline-flex}.secondary svg{width:17px}.primary:disabled,.secondary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.google-import{gap:14px;padding:20px;display:grid}.google-note{color:#52657b;align-items:flex-start;gap:9px;margin:0;font-size:12px;line-height:1.5;display:flex}.google-note svg{color:var(--blue);flex:none;width:18px}.setup-notice{background:#fff8e8;border:1px solid #f0cf86;border-radius:7px;gap:4px;padding:12px;display:grid}.setup-notice b{color:#895a00;font-size:12px}.setup-notice span{color:#7a6a4c;font-size:11px}.google-search{border:1px solid var(--line);border-radius:7px;align-items:center;height:40px;padding:0 10px;gap:7px!important;display:flex!important}.google-search svg{color:#7c8ca0;width:17px}.google-search input{border:0;min-width:0;height:36px;padding:0}.contact-picker{border:1px solid var(--line);border-radius:8px;max-height:330px;overflow:auto}.contact-option{cursor:pointer;border-bottom:1px solid #edf0f4;flex-direction:row;align-items:center;padding:10px 12px;display:flex!important}.contact-option:last-child{border-bottom:0}.contact-option:hover{background:#f6f9fc}.contact-option input{width:17px;height:17px}.contact-option span{display:grid}.contact-option b{font-size:12px}.contact-option small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:400}@media (width<=600px){.header-actions{gap:5px}.header-actions .secondary{padding:0 12px;font-size:0}.header-actions .secondary svg{margin:0}}.calendar-overview{gap:14px;min-width:0;display:grid}.calendar-overview button{font:inherit}.calendar-google-layout{grid-template-columns:154px minmax(0,1fr) 190px;align-items:stretch;gap:0;min-width:0;display:grid}.calendar-main-column{border-left:1px solid #e0e6ed;border-right:1px solid #e0e6ed;min-width:0;padding:0 7px}.calendar-utility-rail{background:#fff;min-width:0;padding:0 9px 10px 0}.calendar-student-search{z-index:8;position:relative}.calendar-student-search>label{background:#fff;border:1px solid #d9e2ec;border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 8px;transition:border-color .16s,box-shadow .16s;display:flex}.calendar-student-search>label:focus-within{border-color:#75a7f7;box-shadow:0 0 0 3px #0b63f615}.calendar-student-search label svg{color:#73849a;flex:none;width:15px}.calendar-student-search input{color:#18324c;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:10px}.calendar-student-results{background:#fff;border:1px solid #dce4ed;border-radius:10px;width:272px;max-height:310px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 16px 38px #17324f2b}.calendar-student-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:50px;padding:7px;display:grid}.calendar-student-results button:hover{background:#f0f6ff}.calendar-student-results button>span{color:#244965;background:#e3edf8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:750;display:grid}.calendar-student-results button div{gap:3px;min-width:0;display:grid}.calendar-student-results b,.calendar-student-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-student-results b{color:#19324c;font-size:11px}.calendar-student-results small{color:#73849a;font-size:9px}.calendar-student-results em{color:#0b63f6;font-size:10px;font-style:normal;font-weight:700}.calendar-student-results p{color:#7b899a;text-align:center;margin:0;padding:18px 10px;font-size:11px}.calendar-student-drawer-layer{z-index:90;pointer-events:none;position:fixed;inset:0}.calendar-student-drawer-backdrop{opacity:1;pointer-events:auto;cursor:default;background:#071c303d;border:0;position:absolute;inset:0}.calendar-student-drawer{pointer-events:auto;background:#fff;width:min(480px,100vw - 24px);animation:.2s ease-out calendar-drawer-in;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-18px 0 48px #071c3030}.calendar-student-drawer .detail{border:0;border-radius:0;min-height:100%}.calendar-student-drawer .detail-head{z-index:5;background:#fff;position:sticky;top:0}@keyframes calendar-drawer-in{0%{opacity:.65;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.calendar-create{color:#fff;cursor:pointer;background:#0b63f6;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:36px;margin-bottom:10px;font-size:11px;font-weight:750;display:flex;box-shadow:0 5px 14px #0b63f626}.calendar-create:hover{background:#0759df}.calendar-create svg{width:17px}.calendar-mini{border-bottom:1px solid #e5eaf0;padding-bottom:11px}.calendar-mini>strong{color:#23374e;margin:0 2px 7px;font-size:11px;display:block}.calendar-mini-weekdays,.calendar-mini-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-mini-weekdays span{color:#8390a0;text-align:center;font-size:8px;font-weight:700}.calendar-mini-grid{gap:2px 0;margin-top:5px}.calendar-mini-grid button{aspect-ratio:1;color:#344a62;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:9px;font-weight:650}.calendar-mini-grid button:hover{background:#edf3fa}.calendar-mini-grid button.outside{color:#b1bbc7}.calendar-mini-grid button.selected{color:#075fcf;background:#dbeaff}.calendar-mini-grid button.today{color:#fff;background:#1a73e8}.calendar-type-filters{gap:2px;padding-top:10px;display:grid}.calendar-type-filters button{color:#40546b;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:8px 1fr 26px;align-items:center;gap:8px;min-height:27px;padding:3px 4px;font-size:10px;display:grid}.calendar-type-filters button:hover{background:#f3f6f9}.calendar-type-filters button>i{background:#7b8796;border-radius:50%;width:8px;height:8px}.calendar-type-filters button span{font-weight:700}.calendar-type-filters button small{color:#8996a6;font-size:8px;font-weight:600}.calendar-type-filters button em{background:#cbd4df;border-radius:999px;width:26px;height:15px;position:relative}.calendar-type-filters button em:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1e344b33}.calendar-type-filters button[aria-pressed=true] em{background:#0b63f6}.calendar-type-filters button[aria-pressed=true] em:after{left:13px}.calendar-type-filters button[aria-pressed=false]{opacity:.5}.calendar-filter-g2>i{background:#169b66!important}.calendar-filter-g>i{background:#1a73e8!important}.calendar-filter-road-test>i{background:#d93025!important}.calendar-selected-panel{background:#fff;min-width:0;padding:5px 0 10px 9px}.calendar-selected-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.calendar-selected-head span{color:#8794a5;font-size:8px}.calendar-selected-head h3{color:#20344a;margin:1px 0 0;font-size:13px}.calendar-selected-head>button{color:#0b63f6;cursor:pointer;background:#fff;border:1px solid #cfdbe7;border-radius:7px;align-items:center;gap:4px;height:28px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.calendar-selected-head>button:hover{background:#f2f7ff;border-color:#abc7ef}.calendar-selected-head svg{width:13px}.calendar-selected-panel>p{color:#7c8999;border-bottom:1px solid #e7ebf0;margin:8px 0 0;padding-bottom:7px;font-size:8px}.calendar-selected-list{display:grid}.calendar-selected-list>article{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.calendar-selected-student{color:#687789;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:7px minmax(0,1fr);align-items:start;gap:7px;padding:7px 2px;display:grid}.calendar-selected-student:hover{background:#f8fafc}.calendar-selected-student>i{background:currentColor;border-radius:50%;width:7px;height:7px;margin-top:3px}.calendar-selected-list span{gap:3px;min-width:0;display:grid}.calendar-selected-list b{color:#2f4359;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.calendar-selected-list small{color:#8794a5;font-size:8px}.calendar-selected-empty{color:#8a97a7;text-align:center;place-items:center;gap:7px;padding:32px 12px;font-size:9px;line-height:1.5;display:grid}.calendar-selected-empty svg{color:#9daaba;width:25px}.calendar-selected-more{color:#0b63f6;cursor:pointer;background:0 0;border:0;padding:10px 3px;font-size:9px;font-weight:750}.calendar-confirm-course{color:#08754e;cursor:pointer;white-space:nowrap;background:#ecfaf4;border:1px solid #84d5b3;border-radius:6px;justify-content:center;align-items:center;gap:3px;height:27px;margin-right:3px;padding:0 6px;font-size:8px;font-weight:750;display:inline-flex}.calendar-confirm-course:hover{background:#dcf6eb}.calendar-confirm-course:disabled{cursor:wait;opacity:.65}.calendar-confirm-course svg{width:11px}.calendar-confirm-course.waiting{color:#718096;cursor:default;background:#f3f5f7;border-color:#d8dee6}.calendar-overview-toolbar{justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:0 0 2px;display:flex}.calendar-month-controls{flex:none;align-items:center;gap:6px;display:flex}.calendar-month-controls h2{color:#13243a;letter-spacing:-.025em;white-space:nowrap;margin:0 0 0 5px;font-size:19px;font-weight:760}.calendar-today,.calendar-shift-controls button{color:#27415c;cursor:pointer;background:#fff;border:1px solid #cfdae6;justify-content:center;align-items:center;height:34px;font-size:11px;font-weight:750;display:inline-flex;box-shadow:0 1px 2px #15314d0a}.calendar-today{border-radius:9px;padding:0 13px}.calendar-shift-controls{gap:7px;display:flex}.calendar-shift-controls button{border-radius:9px;width:34px}.calendar-shift-controls button+button{margin-left:0}.calendar-shift-controls svg{width:16px}.calendar-today:hover,.calendar-shift-controls button:hover{color:#0c5fc5;background:#f3f7fb;border-color:#b9c9da}.calendar-loading{color:var(--muted);white-space:nowrap;font-size:10px}.calendar-status-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 18px;min-width:0;display:flex}.calendar-status-summary span{color:#718095;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.calendar-status-summary span>i{border-radius:50%;width:8px;height:8px}.calendar-status-summary b{color:#294058;font-size:10px;font-weight:760}.calendar-type-g2>i{background:#169b66}.calendar-type-g>i{background:#1a73e8}.calendar-type-road-test>i{background:#d93025}.calendar-type-other>i{background:#7b8796}.calendar-month-grid-wrap{background:#fff;border:1px solid #d6e0ea;border-radius:11px;min-width:0;overflow:hidden;box-shadow:0 10px 28px #1735520a,0 1px 2px #1735520a}.calendar-weekdays,.calendar-week-row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{background:#fbfcfe;border-bottom:1px solid #d8e2ec}.calendar-weekdays span{color:#607188;letter-spacing:.02em;text-align:center;padding:8px 6px;font-size:9px;font-weight:720}.calendar-month-grid{display:grid}.calendar-month-grid.weeks-5{grid-template-rows:repeat(5,minmax(130px,1fr));height:clamp(650px,100vh - 300px,1040px)}.calendar-month-grid.weeks-6{grid-template-rows:repeat(6,minmax(116px,1fr));height:clamp(696px,100vh - 300px,1040px)}.calendar-week-row{min-height:0}.calendar-day{color:#24364b;background:#fff;border-bottom:1px solid #e4e9ef;border-right:1px solid #e4e9ef;min-width:0;min-height:0;padding:3px 4px 5px;transition:background .12s;position:relative;overflow:hidden}.calendar-day:not(:has(button:hover)):hover{cursor:pointer}.calendar-week-row:last-child .calendar-day{border-bottom:0}.calendar-day:last-child{border-right:0}.calendar-day:first-child,.calendar-day:nth-child(7){background:#fafcff}.calendar-day:hover{background:#f7faff}.calendar-day.outside{color:#5f6f82;background:#f8fafc}.calendar-day.outside .calendar-day-events{opacity:.5}.calendar-day.selected{background:#eef5ff;box-shadow:inset 0 0 0 1px #c9dcf7}.calendar-day-select{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:34px;height:23px;margin:0 auto 2px;padding:0;display:flex}.calendar-day-select.month-start-control{width:62px}.calendar-day-number{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:760;display:inline-flex}.calendar-day-number.month-start{white-space:nowrap;border-radius:14px;width:auto;padding:0 6px}.calendar-day.today .calendar-day-number{color:#fff;background:#1a73e8}.calendar-day.selected:not(.today) .calendar-day-number{color:#1559b6;background:#dbe9ff}.calendar-day-events{gap:1px;min-width:0;display:grid}.calendar-event{color:#2b3e53;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #e5ebf1;border-left:3px solid;border-radius:4px;grid-template-columns:6px auto minmax(0,1fr) auto;align-items:center;gap:3px;width:100%;min-width:0;min-height:17px;padding:1px 4px 1px 3px;display:grid}.calendar-event:hover{background:#fff;border-color:#cfdbe7 #cfdbe7 #cfdbe7 currentColor;transform:translateY(-1px);box-shadow:0 4px 10px #1b3d5d12}.calendar-event-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.calendar-event span{white-space:nowrap;font-size:9px;font-weight:720}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:720;overflow:hidden}@media (width<=1800px){.calendar-event{grid-template-columns:6px auto minmax(0,1fr)}.calendar-event em{display:none}}.calendar-event em{color:#718095;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.calendar-event-completed{color:#118657}.calendar-event-scheduled{color:#1b62ba}.calendar-event-review{color:#a96300}.calendar-event-cancelled{color:#556270}.calendar-event.calendar-course-g2{color:#118657}.calendar-event.calendar-course-g{color:#1a73e8}.calendar-event.calendar-course-road-test{color:#c5221f}.calendar-event.calendar-course-other{color:#667587}.calendar-event.calendar-course-g2{background:#f5fbf8;border-color:#dcefe6 #dcefe6 #dcefe6 currentColor}.calendar-event.calendar-course-g{background:#f5f9ff;border-color:#dce8f8 #dce8f8 #dce8f8 currentColor}.calendar-event.calendar-course-road-test{background:#fff7f6;border-color:#f3dfdc #f3dfdc #f3dfdc currentColor}.calendar-event.calendar-course-other{background:#f7f9fb;border-color:#e3e8ee #e3e8ee #e3e8ee currentColor}.calendar-event-cancelled strong{text-decoration:line-through}.calendar-event.sync-failed .calendar-event-dot{box-shadow:0 0 0 2px #efaaa5}.calendar-more{color:#58708a;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;min-height:18px;padding:1px 7px;font-size:9px;font-weight:750}.calendar-more:hover{color:#174f94;background:#edf1f5}.calendar-mobile-markers{display:none}.calendar-data-note{color:#596a7d;align-items:center;gap:7px;padding:0 3px;font-size:9px;line-height:1.45;display:flex}.calendar-data-note>svg{flex:none;width:14px}.calendar-data-note>svg:last-child{margin-left:auto}.calendar-agenda-layer{z-index:90;position:fixed;inset:0}.calendar-agenda-backdrop{cursor:default;background:#10283f52;border:0;width:100%;position:absolute;inset:0}.calendar-agenda{background:#fff;grid-template-rows:auto minmax(0,1fr);width:380px;max-width:100%;height:100%;display:grid;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-14px 0 42px #0c203738}.calendar-agenda-head{border-bottom:1px solid #e1e7ee;justify-content:space-between;align-items:flex-start;min-height:104px;padding:22px 20px 17px;display:flex}.calendar-agenda-head>div{gap:2px;display:grid}.calendar-agenda-head span,.calendar-agenda-head p{color:#5f6f82;margin:0;font-size:10px}.calendar-agenda-head h2{color:#1c2e44;margin:1px 0 3px;font-size:20px}.calendar-agenda-head>button{color:#5f7084;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.calendar-agenda-head>button:hover{background:#eef2f6}.calendar-agenda-head svg{width:19px}.calendar-agenda-list{overflow:auto}.calendar-agenda-item{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8edf2;grid-template-columns:66px minmax(0,1fr) 16px;align-items:start;gap:11px;width:100%;padding:15px 18px;display:grid}.calendar-agenda-item:hover{background:#f7f9fc}.calendar-agenda-item>svg{color:#8a98aa;align-self:center;width:15px}.calendar-agenda-time{color:#40546c;padding-top:3px;font-size:10px;font-weight:750}.calendar-agenda-item>div{gap:4px;min-width:0;display:grid}.calendar-agenda-status{color:#586a7f;letter-spacing:.03em;align-items:center;gap:5px;font-size:8px;font-weight:800;display:flex}.calendar-agenda-status i{background:#8995a5;border-radius:50%;width:7px;height:7px}.calendar-agenda-item-completed .calendar-agenda-status i{background:#169b66}.calendar-agenda-item-scheduled .calendar-agenda-status i{background:#1a73e8}.calendar-agenda-item-review .calendar-agenda-status i{background:#a96300}.calendar-agenda-item-cancelled .calendar-agenda-status i{background:#6c7a8b}.calendar-agenda-item.calendar-course-g2 .calendar-agenda-status i{background:#169b66}.calendar-agenda-item.calendar-course-g .calendar-agenda-status i{background:#1a73e8}.calendar-agenda-item.calendar-course-road-test .calendar-agenda-status i{background:#d93025}.calendar-agenda-item.calendar-course-other .calendar-agenda-status i{background:#7b8796}.calendar-agenda-item strong{color:#20344c;font-size:12px}.calendar-agenda-item p{color:#52657b;overflow-wrap:anywhere;margin:0;font-size:9px;line-height:1.45}.calendar-agenda-item small{color:#5f6f82;flex-wrap:wrap;align-items:center;gap:3px 5px;font-size:8px;display:flex}.calendar-agenda-item small svg{width:10px}.calendar-agenda-empty{color:var(--muted);text-align:center;place-items:center;gap:7px;min-height:300px;padding:35px;display:grid}.calendar-agenda-empty svg{color:#95a4b5;width:34px}.calendar-agenda-empty b{color:#40546c;font-size:13px}.calendar-agenda-empty span{font-size:10px;line-height:1.5}.calendar-overview button:focus-visible{outline-offset:2px;outline:3px solid #0b63f6}.calendar-agenda-item:focus-visible{outline-offset:-3px}.calendar-day-select:focus-visible{outline-offset:-1px}.calendar-header-sync:disabled{cursor:not-allowed;opacity:.58}@keyframes calendar-overview-spin{to{transform:rotate(360deg)}}@media (width<=1350px){.calendar-google-layout{grid-template-columns:166px minmax(0,1fr)}.calendar-selected-panel{display:none}.calendar-main-column{border-right:0;padding-right:0}}@media (width<=900px){.calendar-google-layout{grid-template-columns:158px minmax(0,1fr)}.calendar-utility-rail{padding-right:10px}.calendar-main-column{padding-left:10px}}@media (width<=700px){.calendar-google-layout{display:block}.calendar-utility-rail{display:none}.calendar-main-column{border:0;padding:0}}@media (width<=1180px){.calendar-overview-toolbar{align-items:flex-start}.calendar-status-summary{max-width:420px}.calendar-month-grid{min-height:0}.calendar-event em{display:none}}@media (width<=900px){.calendar-overview-toolbar{align-items:stretch;gap:9px;display:grid}.calendar-status-summary{justify-content:flex-start;max-width:none}}@media (width<=700px){.calendar-overview{gap:10px}.calendar-month-controls{min-width:0}.calendar-month-controls h2{text-align:right;flex:1;margin-left:1px;font-size:18px}.calendar-loading{display:none}.calendar-today,.calendar-shift-controls button{min-width:44px;height:44px}.calendar-today{padding-inline:13px}.calendar-status-summary{background:#fff;border:1px solid #dfe5ec;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.calendar-status-summary span{min-height:38px;padding:7px 9px}.calendar-status-summary span:nth-child(2n){border-left:1px solid #e5eaf0}.calendar-status-summary span:nth-child(n+3){border-top:1px solid #e5eaf0}.calendar-month-grid-wrap{border-radius:9px}.calendar-weekdays span{padding:8px 1px;font-size:9px}.calendar-month-grid.weeks-5{grid-template-rows:repeat(5,64px);height:320px}.calendar-month-grid.weeks-6{grid-template-rows:repeat(6,64px);height:384px}.calendar-day{min-height:64px;padding:3px 1px}.calendar-day-select{width:100%;height:57px;margin:0 auto}.calendar-day-select.month-start-control{width:100%}.calendar-day-number{width:25px;height:25px;font-size:10px;position:absolute;top:3px}.calendar-day-number.month-start{padding-inline:2px}.calendar-day-events{display:none}.calendar-mobile-markers{flex-wrap:wrap;justify-content:center;gap:2px;max-width:28px;display:flex;position:absolute;bottom:10px}.calendar-mobile-markers i{background:#8995a5;border-radius:50%;width:5px;height:5px}.calendar-mobile-markers .marker-g2{background:#169b66}.calendar-mobile-markers .marker-g{background:#1a73e8;border-radius:1px}.calendar-mobile-markers .marker-road-test{background:#d93025;border-radius:1px;transform:rotate(45deg)}.calendar-mobile-markers .marker-other{background:#7b8796}.calendar-data-note{align-items:flex-start}.calendar-data-note>svg:last-child{display:none}.calendar-header-sync{min-width:44px;min-height:44px;padding:0 12px;font-size:0}.calendar-header-sync svg{margin:0}.calendar-agenda{height:min(78dvh,680px);padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;width:100%;top:auto;bottom:0}.calendar-agenda-head{min-height:92px;padding:16px 16px 13px}.calendar-agenda-item{grid-template-columns:60px minmax(0,1fr) 16px;min-height:78px;padding:14px 16px}}@media (prefers-reduced-motion:reduce){.spinning{animation:none}}.native-course-layer{z-index:120;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.native-course-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1e3485;border:0;position:absolute;inset:0}.native-course-modal{background:#fff;border:1px solid #d8e2ee;border-radius:22px;width:min(680px,100vw - 32px);max-height:calc(100vh - 40px);position:relative;overflow:auto;box-shadow:0 28px 80px #0f2a4847}.native-course-modal>header{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:flex-start;padding:24px 28px 20px;display:flex;position:sticky;top:0}.native-course-modal>header span{letter-spacing:.08em;color:#1473e6;text-transform:uppercase;font-size:12px;font-weight:800}.native-course-modal>header h2{color:#112845;margin:5px 0 4px;font-size:26px}.native-course-modal>header p{color:#667b94;margin:0;font-size:14px}.native-course-modal>header button{color:#34516e;background:#f3f6fa;border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.native-course-modal>header svg{width:20px}.native-course-body{grid-template-columns:1fr 1fr;gap:17px;padding:24px 28px;display:grid}.native-course-field{flex-direction:column;gap:8px;min-width:0;display:flex}.native-course-field.wide,.native-course-types,.native-course-hint,.native-course-error{grid-column:1/-1}.native-course-field>span,.native-course-types legend{color:#39516c;font-size:13px;font-weight:800}.native-course-field input,.native-course-field select,.native-course-field textarea{box-sizing:border-box;color:#17304d;width:100%;font:inherit;background:#fff;border:1px solid #cdd9e7;border-radius:11px;outline:none;padding:12px 13px}.native-course-field input:focus,.native-course-field select:focus,.native-course-field textarea:focus{border-color:#1b6ef3;box-shadow:0 0 0 3px #1b6ef321}.native-course-field textarea{resize:vertical}.native-input-icon{position:relative}.native-input-icon svg{color:#71869d;width:18px;position:absolute;top:12px;left:12px}.native-input-icon input{padding-left:39px}.native-course-types{border:0;grid-template-columns:repeat(4,1fr);gap:9px;margin:0;padding:0;display:grid}.native-course-types legend{margin-bottom:8px}.native-course-types button{color:#4d637b;background:#f8fafc;border:1px solid #d6e0eb;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 8px;font-weight:800;display:flex}.native-course-types button i{background:#7a899a;border-radius:50%;width:9px;height:9px}.native-course-types button.calendar-course-g2 i{background:#12956a}.native-course-types button.calendar-course-g i{background:#1a73e8}.native-course-types button.calendar-course-road-test i{background:#d93025}.native-course-types button[aria-pressed=true]{color:#145fc9;background:#f3f7ff;border-color:currentColor;box-shadow:inset 0 0 0 2px}.native-course-hint{color:#80580b;background:#fff6e6;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.native-course-hint svg{flex:none;width:19px}.native-course-error{color:#b3261e;background:#fff0ef;border-radius:10px;padding:11px 13px;font-size:13px;font-weight:700}.native-course-modal>footer{background:#fffffff7;border-top:1px solid #e2e9f1;justify-content:flex-end;gap:10px;padding:18px 28px;display:flex;position:sticky;bottom:0}.native-course-modal>footer button{color:#38526e;background:#fff;border:1px solid #cdd9e7;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:800;display:inline-flex}.native-course-modal>footer button.primary{color:#fff;background:#1769e8;border-color:#1769e8}.native-course-modal>footer svg{width:18px}.native-course-modal button:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.native-course-layer{place-items:end center;padding:0}.native-course-modal{border-radius:22px 22px 0 0;width:100%;max-height:94vh}.native-course-body{grid-template-columns:1fr;padding:20px}.native-course-field.wide,.native-course-types,.native-course-hint,.native-course-error{grid-column:1}.native-course-types{grid-template-columns:1fr 1fr}.native-course-modal>header{padding:20px}.native-course-modal>footer{padding:15px 20px}.native-course-modal>footer button.primary{flex:1}}.calendar-course-detail{background:#fff;border:1px solid #d8e2ee;border-radius:22px;width:min(520px,100vw - 32px);position:relative;overflow:hidden;box-shadow:0 28px 80px #0f2a4847}.calendar-course-detail>header{border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:flex-start;padding:26px 28px 23px;display:flex}.calendar-course-detail>header span{color:#56708b;align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.calendar-course-detail>header span i{background:#7a899a;border-radius:50%;width:10px;height:10px}.calendar-course-detail>header.calendar-course-g2 span i{background:#12956a}.calendar-course-detail>header.calendar-course-g span i{background:#1a73e8}.calendar-course-detail>header.calendar-course-road-test span i{background:#d93025}.calendar-course-detail>header h2{color:#112845;margin:8px 0 5px;font-size:27px}.calendar-course-detail>header p{color:#667b94;margin:0}.calendar-course-detail>header button{color:#34516e;background:#f3f6fa;border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.calendar-course-detail>header svg{width:20px}.calendar-course-detail-body{gap:2px;padding:18px 28px;display:grid}.calendar-course-detail-body>div{border-bottom:1px solid #edf1f5;grid-template-columns:24px 1fr;align-items:start;gap:12px;padding:12px 0;display:grid}.calendar-course-detail-body>div:last-child{border-bottom:0}.calendar-course-detail-body svg{color:#68819c;width:20px}.calendar-course-detail-body span{gap:3px;display:grid}.calendar-course-detail-body small{color:#778ba0}.calendar-course-detail-body b{color:#1b3552;font-size:14px;line-height:1.45}.calendar-course-detail>footer{background:#f8fafc;border-top:1px solid #e2e9f1;justify-content:flex-end;gap:10px;padding:18px 28px;display:flex}.calendar-course-detail>footer button{color:#38526e;background:#fff;border:1px solid #cdd9e7;border-radius:11px;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-weight:800;display:flex}.calendar-course-detail>footer button.primary{color:#fff;background:#1769e8;border-color:#1769e8}.calendar-course-detail>footer svg{width:18px}@media (width<=640px){.calendar-course-detail{border-radius:22px 22px 0 0;width:100%}.calendar-course-detail>header,.calendar-course-detail-body,.calendar-course-detail>footer{padding-left:20px;padding-right:20px}.calendar-course-detail>footer{flex-direction:column}.calendar-course-detail>footer button{justify-content:center}}.native-course-auto-note{color:#73879d;font-size:12px;line-height:1.45}.quality-layout{grid-template-columns:minmax(620px,1fr);gap:0;min-height:calc(100vh - 130px);display:grid}.quality-layout.has-inspector{grid-template-columns:minmax(600px,1fr) 390px}.quality-main{min-width:0}.quality-metrics{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid;overflow:hidden}.quality-metric{align-items:center;gap:11px;min-height:82px;padding:15px 18px;display:flex}.quality-metric+.quality-metric{border-left:1px solid var(--line)}.quality-metric>svg{border-radius:50%;width:40px;height:40px;padding:10px}.quality-metric>span{color:var(--muted);font-size:10px;display:grid}.quality-metric strong{color:#142842;font-size:24px;line-height:1.2}.quality-metric.blue>svg{color:var(--blue);background:#eaf2ff}.quality-metric.amber>svg,.quality-metric.orange>svg{color:#d98900;background:#fff3dd}.quality-metric.red>svg{color:#d3443c;background:#ffeded}.quality-panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.quality-tabs{border-bottom:1px solid var(--line);padding:0 14px;display:flex}.quality-tabs button{color:#40516a;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:15px 14px;font-size:12px;font-weight:700}.quality-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.quality-search{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.quality-search svg{color:#8c9caf;width:17px}.quality-search input{border:1px solid var(--line);outline-color:var(--blue);border-radius:6px;width:min(570px,100%);height:38px;padding:0 11px}.quality-error{color:#9d342f;background:#fff0ef;align-items:center;gap:8px;padding:10px 16px;font-size:11px;display:flex}.quality-error svg{width:17px}.quality-list{min-height:370px}.quality-issue{border-bottom:1px solid #e6ebf1;align-items:center;min-height:105px;padding:14px 16px;display:flex}.quality-issue.selected{box-shadow:inset 3px 0 var(--blue);background:#f0f6ff}.quality-issue-body{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.quality-issue-body>span:last-child{gap:5px;display:grid}.quality-issue-body b{color:#16304e;font-size:13px}.quality-issue-body small{color:var(--muted);font-size:10px}.quality-symbol{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.quality-symbol svg{width:17px}.quality-symbol.review,.quality-symbol.warning{color:#d98900;background:#fff3dd}.quality-symbol.danger{color:#d3443c;background:#ffeded}.quality-row-actions{gap:6px;display:flex}.quality-row-actions button{color:#4f6074;cursor:pointer;background:#fff;border:1px solid #d4dde8;border-radius:6px;min-height:34px;padding:6px 9px;font-size:10px;font-weight:700}.quality-row-actions button.primary-outline{color:var(--blue);border-color:#88b2fb}.quality-empty{color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:7px;min-height:350px;display:grid}.quality-empty svg{color:#45a77b;width:34px}.quality-empty b{color:#36516a;font-size:13px}.quality-empty span{font-size:10px}.quality-footnote{color:var(--muted);align-items:center;gap:7px;padding:13px 3px;font-size:10px;display:flex}.quality-footnote svg{width:16px}.quality-inspector{border-left:1px solid var(--line);background:#fff;min-height:calc(100vh - 86px);margin:-106px -22px -24px 16px;padding-bottom:22px;box-shadow:-12px 0 30px #1d395b0c}.quality-inspector-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.quality-inspector-head>div{gap:5px;display:grid}.quality-inspector-head b{font-size:15px}.quality-inspector-head span{color:var(--muted);font-size:10px}.quality-inspector-head button{cursor:pointer;background:0 0;border:0}.quality-inspector-head svg{width:20px}.comparison-profiles{grid-template-columns:1fr 1fr;display:grid}.comparison-profiles button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;align-content:start;justify-items:start;gap:6px;min-height:165px;padding:17px;display:grid}.comparison-profiles button+button{border-left:1px solid var(--line)}.comparison-profiles small{color:var(--blue);background:#eaf2ff;border-radius:4px;padding:3px 6px;font-size:9px}.comparison-profiles span{color:#1565dc;background:#dceaff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.comparison-profiles b{font-size:13px}.comparison-profiles em{color:#50647b;overflow-wrap:anywhere;font-size:9px;font-style:normal}.comparison-table h3,.record-comparison h3{margin:0;padding:15px 14px;font-size:11px}.comparison-table>div{grid-template-columns:76px 1fr 1fr;min-height:42px;display:grid}.comparison-table>div>*{border-top:1px solid var(--line);align-items:center;padding:9px 11px;font-size:9px;display:flex}.comparison-table>div span{color:var(--muted)}.comparison-table>div b+b{border-left:1px solid var(--line)}.comparison-table .different{color:#d44840}.comparison-more,.merge-warning{color:#85621e;margin:12px 16px;font-size:10px;line-height:1.5}.quality-inspector-actions{gap:8px;padding:16px;display:grid}.quality-inspector-actions button{border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:11px;font-weight:750;display:flex}.quality-inspector-actions button svg{width:16px}.quality-inspector-actions .danger-confirm{color:#fff;background:#c53c35;border:0}.merge-warning{background:#fff7e7;border:1px solid #efd29a;border-radius:6px;align-items:flex-start;margin:0;padding:9px;display:flex}.merge-warning svg{flex:none;width:16px}.record-comparison{padding:5px 16px}.record-comparison>div{border:1px solid var(--line);border-radius:7px;align-items:flex-start;gap:9px;margin-bottom:8px;padding:12px;display:flex}.record-comparison svg{color:#76899f;width:17px}.record-comparison span{gap:4px;display:grid}.record-comparison b{font-size:10px}.record-comparison small{color:var(--muted);font-size:9px}@media (width<=1100px){.quality-layout.has-inspector{grid-template-columns:1fr}.quality-inspector{border-left:0;border-top:1px solid var(--line);min-height:0;margin:16px 0 0}.quality-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.quality-metrics{grid-template-columns:1fr 1fr}.quality-metric{min-height:70px;padding:10px}.quality-metric>svg{width:34px;height:34px;padding:8px}.quality-issue{align-items:stretch;gap:10px;display:grid}.quality-row-actions{justify-content:flex-end}.quality-tabs{overflow:auto}.quality-tabs button{white-space:nowrap}.quality-inspector{bottom:0;inset-inline:0;z-index:70;margin:0;position:fixed;top:74px;overflow:auto}.quality-layout.has-inspector .quality-main{display:none}}.unmatched-resolver{display:grid}.unmatched-event-card{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f2f7ff,#fff);padding:18px 20px}.unmatched-event-label{color:#1768d8;background:#dfeeff;border-radius:999px;margin-bottom:10px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-block}.unmatched-event-card h3{color:#17304d;margin:0 0 13px;font-size:15px;line-height:1.35}.unmatched-event-card p{color:#60748c;align-items:flex-start;gap:8px;margin:7px 0;font-size:10px;line-height:1.5;display:flex}.unmatched-event-card p svg{flex:none;width:16px;height:16px}.unmatched-picker{padding:18px 20px}.unmatched-picker>h3{margin:0 0 11px;font-size:12px}.unmatched-picker>label{border:1px solid #cfd9e6;border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:flex}.unmatched-picker>label:focus-within{border-color:#4d8ff1;box-shadow:0 0 0 3px #e4efff}.unmatched-picker>label svg{color:#7890a9;width:16px}.unmatched-picker input{border:0;outline:0;width:100%;height:39px}.unmatched-student-list{gap:6px;max-height:310px;margin-top:10px;display:grid;overflow:auto}.unmatched-student-list button{cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ed;border-radius:8px;grid-template-columns:38px 1fr 18px;align-items:center;gap:2px;padding:9px;display:grid}.unmatched-student-list button>span{color:#254a70;background:#e7f0fb;border-radius:50%;grid-row:1/3;place-items:center;width:32px;height:32px;font-size:10px;font-weight:800;display:grid}.unmatched-student-list button b{font-size:11px}.unmatched-student-list button small{color:#72869d;grid-column:2;font-size:9px}.unmatched-student-list button>svg{color:#0000;grid-area:1/3/3;width:17px}.unmatched-student-list button.selected{background:#eef6ff;border-color:#5f9bf0;box-shadow:inset 3px 0 #1769e0}.unmatched-student-list button.selected>svg{color:#1769e0}.unmatched-no-result{color:#75869a;text-align:center;padding:20px;font-size:10px}.unmatched-actions{border-top:1px solid var(--line);gap:8px;padding:16px 20px;display:grid}.unmatched-actions button{border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:11px;font-weight:800;display:flex}.unmatched-actions button svg{width:17px}.unmatched-actions>p{color:#718398;text-align:center;margin:3px 0 0;font-size:9px;line-height:1.5}.smart-unmatched-bar{background:linear-gradient(100deg,#edf7ff,#f4f1ff);border:1px solid #c9dcfa;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:12px 16px;padding:13px 15px;display:flex}.smart-unmatched-bar>span{grid-template-columns:30px 1fr;align-items:center;gap:2px;display:grid}.smart-unmatched-bar>span>svg{color:#1769e0;grid-row:1/3;width:21px}.smart-unmatched-bar b{font-size:12px}.smart-unmatched-bar small{color:#60758e;font-size:9px}.smart-unmatched-bar button{color:#fff;white-space:nowrap;background:#1769e0;border:0;border-radius:7px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:10px;font-weight:800;display:flex}.smart-unmatched-bar button.confirming{background:#c56b0a}.smart-unmatched-bar button:disabled{cursor:not-allowed;opacity:.48}.smart-unmatched-bar button svg{width:15px}.unmatched-action-history{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0 16px;padding:0 0 11px;display:flex}.unmatched-action-history>b{white-space:nowrap;font-size:9px}.unmatched-action-history>span{color:#526980;background:#f5f8fc;border-radius:6px;align-items:center;gap:4px;max-width:260px;padding:5px 7px;font-size:8px;display:flex}.unmatched-action-history>span>svg{color:#1b966b;width:13px}.unmatched-action-history em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.unmatched-action-history button{color:#1769e0;white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;margin-left:auto;font-size:8px;display:flex}.unmatched-action-history button svg{width:11px}.smart-hint{border-radius:999px;width:max-content;margin-top:6px;padding:3px 7px;font-style:normal;font-weight:800;font-size:8px!important;display:inline-block!important}.smart-hint.private{color:#7750a8;background:#f2eafe}.smart-hint.student{color:#13805b;background:#e7f7f0}.smart-hint.manual{color:#9c6814;background:#fff4dd}.smart-analysis{border-radius:8px;align-items:center;gap:9px;margin:0 0 10px;padding:10px;display:flex}.smart-analysis>svg{flex:none;width:18px}.smart-analysis span{gap:2px;display:grid}.smart-analysis b{font-size:10px}.smart-analysis small{font-size:8px}.smart-analysis.match{color:#16795a;background:#eaf7f2}.smart-analysis.private{color:#76509f;background:#f4edfb}.unmatched-student-list button b{align-items:center;gap:6px;display:flex}.unmatched-student-list button b em{color:#13805b;background:#def4ea;border-radius:999px;padding:2px 5px;font-size:8px;font-style:normal}.unmatched-student-list button.suggested{border-color:#91d3b8}.unmatched-student-list button.suggested:not(.selected){background:#f7fcfa}@media (width<=600px){.smart-unmatched-bar{flex-direction:column;align-items:stretch}.smart-unmatched-bar button{justify-content:center}.unmatched-action-history{flex-direction:column;align-items:stretch}.unmatched-action-history>span{width:100%;max-width:none}}.quality-bulk-bar{background:#f7faff;border-bottom:1px solid #dce6f3;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px;display:flex}.quality-bulk-bar label{color:#40546d;cursor:pointer;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.quality-bulk-bar input,.quality-check input{accent-color:var(--blue);width:16px;height:16px}.quality-bulk-bar button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #8db5f3;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:6px 11px;font-size:10px;font-weight:800;display:flex}.quality-bulk-bar button.confirming{color:#fff;background:#1769e0}.quality-bulk-bar button:disabled{cursor:not-allowed;opacity:.45}.quality-bulk-bar svg{width:15px}.quality-undo{color:#267957;background:#edf9f3;border-bottom:1px solid #bde7d2;align-items:center;gap:7px;padding:9px 16px;font-size:10px;display:flex}.quality-undo>svg{width:16px}.quality-undo span{flex:1;font-weight:700}.quality-undo button{color:#1769e0;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.quality-undo button svg{width:14px}.quality-check{cursor:pointer;align-items:center;margin-right:11px;display:flex}.unmatched-actions .ignore{color:#8a5b08;background:#fff8e9;border:1px solid #e6bb67}.unmatched-actions .ignore.confirming{color:#fff;background:#a76414;border-color:#a76414}.unmatched-actions .ignore-note{color:#63778e;text-align:left;background:#f7f9fc;border-radius:6px;margin-top:0;padding:8px 10px}@media (width<=600px){.quality-bulk-bar{align-items:stretch;display:grid}.quality-bulk-bar button{width:100%}.quality-check{grid-row:1;margin:0}.quality-undo{flex-wrap:wrap;align-items:flex-start}}.private-cleanup-intro{background:linear-gradient(100deg,#f6f0ff,#fff8ef);border:1px solid #dfcff5;border-radius:10px;align-items:center;gap:10px;margin:12px 16px;padding:13px 15px;display:flex}.private-cleanup-intro>svg{color:#7c4cac;width:22px}.private-cleanup-intro span{gap:2px;display:grid}.private-cleanup-intro b{font-size:11px}.private-cleanup-intro small{color:#6e6680;font-size:9px}.private-cleanup-history{border-bottom:1px solid var(--line);gap:6px;margin:0 16px;padding:0 0 11px;display:grid}.private-cleanup-history>b{font-size:9px}.private-cleanup-history>span{color:#566b82;background:#f6f8fb;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:flex}.private-cleanup-history>span>svg{color:#19936a;width:14px}.private-cleanup-history em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.private-cleanup-history button{color:#1769e0;background:0 0;border:0;align-items:center;gap:3px;margin-left:auto;font-size:9px;display:flex}.private-cleanup-history button svg{width:12px}.private-cleanup-inspector{gap:16px;padding:20px;display:grid}.private-cleanup-score{background:linear-gradient(120deg,#f4ecff,#fff8ed);border:1px solid #e1d1f2;border-radius:10px;align-items:center;gap:10px;padding:13px;display:flex}.private-cleanup-score>svg{color:#7d4dad;width:25px}.private-cleanup-score span{gap:3px;display:grid}.private-cleanup-score b{font-size:13px}.private-cleanup-score small{color:#76598f;font-size:9px}.private-cleanup-inspector>h3{margin:0;font-size:12px}.private-impact-grid{border:1px solid #dce4ee;border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.private-impact-grid span{gap:4px;padding:13px;display:grid}.private-impact-grid span:nth-child(odd){border-right:1px solid #dce4ee}.private-impact-grid span:nth-child(-n+2){border-bottom:1px solid #dce4ee}.private-impact-grid small{color:#718399;font-size:9px}.private-impact-grid b{font-size:16px}.private-payment-warning{color:#875b16;background:#fff5e5;border:1px solid #efc77c;border-radius:9px;align-items:flex-start;gap:8px;margin:0;padding:11px;font-size:9px;line-height:1.5;display:flex}.private-payment-warning svg{flex:none;width:17px}.private-payment-warning span{gap:2px;display:grid}.private-cleanup-details{background:#f7f9fc;border-radius:9px;gap:7px;padding:12px;display:grid}.private-cleanup-details>b{font-size:10px}.private-cleanup-details p{color:#64778e;margin:0;padding-left:13px;font-size:9px;position:relative}.private-cleanup-details p:before{content:"";background:#7c4cac;border-radius:50%;width:4px;height:4px;position:absolute;top:5px;left:1px}.private-cleanup-inspector>button{color:#fff;background:#6f45a0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:11px;font-weight:800;display:flex}.private-cleanup-inspector>button.confirming{background:#b45920}.private-cleanup-inspector>button:disabled{opacity:.55}.private-cleanup-inspector>button svg{width:17px}@media (width<=600px){.private-impact-grid{grid-template-columns:1fr}.private-impact-grid span{border-bottom:1px solid #dce4ee!important;border-right:0!important}.private-impact-grid span:last-child{border-bottom:0!important}}.revenue-layout{grid-template-columns:1fr;min-height:calc(100vh - 130px);display:grid}.revenue-layout.has-drawer{grid-template-columns:minmax(650px,1fr) 360px}.revenue-main{min-width:0}.revenue-month{align-items:center;gap:7px;margin-bottom:12px;display:flex}.revenue-month button{border:1px solid var(--line);color:#3e5268;cursor:pointer;background:#fff;border-radius:7px;place-items:center;height:38px;padding:0 13px;display:grid}.revenue-month button svg{width:16px}.revenue-month strong{margin-left:7px;font-size:20px}.revenue-error{color:#9b332f;background:#fff0ef;border:1px solid #e3aaa6;border-radius:7px;margin-bottom:10px;padding:9px 12px;font-size:11px}.revenue-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.revenue-metric{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:94px;padding:16px;display:flex}.revenue-metric>div{gap:7px;display:grid}.revenue-metric span{color:var(--muted);font-size:10px;font-weight:650}.revenue-metric strong{font-size:23px}.revenue-metric>svg{opacity:.2;width:38px;height:38px}.revenue-metric.blue strong,.revenue-metric.blue svg{color:var(--blue)}.revenue-metric.green strong,.revenue-metric.green svg,.received{color:#16865f}.revenue-metric.amber strong,.revenue-metric.amber svg,.due{color:#d45b00}.revenue-metric.teal strong,.revenue-metric.teal svg,.prepaid{color:#008b8b}.revenue-overview{grid-template-columns:minmax(450px,1.8fr) minmax(245px,.8fr);gap:12px;margin-bottom:14px;display:grid}.revenue-chart,.pricing-panel,.receivables-panel{border:1px solid var(--line);background:#fff;border-radius:8px}.revenue-chart,.pricing-panel{padding:14px}.revenue-section-head{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.revenue-section-head h2{margin:0 0 3px;font-size:13px}.revenue-section-head span{color:var(--muted);font-size:9px}.revenue-section-head button{color:#3f5269;background:#fff;border:1px solid #ccd8e5;border-radius:6px;align-items:center;gap:4px;padding:6px 8px;font-size:9px;display:flex}.revenue-section-head button svg{width:13px}.chart-wrap svg{width:100%;height:190px}.chart-wrap line{stroke:#e0e7ef;stroke-width:1px}.chart-wrap polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.earned-line{stroke:#0b63f6}.paid-line{stroke:#18a36e}.chart-wrap>div{color:var(--muted);justify-content:space-between;padding:0 8px;font-size:8px;display:flex}.price-row{border:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px;display:flex}.price-row+.price-row{border-top:0}.price-row>span{color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.price-row .g2{background:#159a67}.price-row .g{background:#1875df}.price-row .road{background:#d33b35}.price-row b{font-size:12px}.receivables-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 13px;display:flex}.receivable-tabs{display:flex}.receivable-tabs button{color:#53667b;background:#fff;border:1px solid #d8e1eb;padding:8px 12px;font-size:10px}.receivable-tabs button:first-child{border-radius:6px 0 0 6px}.receivable-tabs button:last-child{border-radius:0 6px 6px 0}.receivable-tabs button+button{border-left:0}.receivable-tabs button.active{color:var(--blue);background:#edf4ff;font-weight:750}.receivables-toolbar>label{border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:flex}.receivables-toolbar svg{color:#8291a4;width:15px}.receivables-toolbar input{border:0;outline:0;width:220px;height:34px}.receivables-table-wrap{overflow:auto}.receivables-table{min-width:760px}.receivables-table td{height:58px}.receivables-table td:first-child{display:grid}.receivables-table td:first-child b{font-size:11px}.receivables-table td:first-child small{color:var(--muted);font-size:8px}.receivables-table tr.selected{box-shadow:inset 3px 0 var(--blue);background:#edf5ff}.receivables-table td:last-child button{color:var(--blue);background:#fff;border:1px solid #8ab5ff;border-radius:5px;padding:6px 8px;font-size:9px;font-weight:700}.revenue-status{border-radius:4px;padding:4px 7px;font-size:9px;font-weight:700}.revenue-status.settled{color:#16865f;background:#eaf8f1}.revenue-status.due{color:#a95d00;background:#fff3df}.revenue-status.prepaid{color:#087c7a;background:#e8f7f7}.revenue-empty{color:var(--muted);text-align:center;padding:45px;font-size:11px}.revenue-note{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.revenue-note svg{width:14px}.revenue-drawer{border-left:1px solid var(--line);background:#fff;min-height:calc(100vh - 86px);margin:-106px -22px -24px 16px;box-shadow:-12px 0 30px #1d395b0c}.revenue-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:18px;display:flex}.revenue-drawer-head>div{grid-template-columns:42px 1fr;gap:3px;display:grid}.revenue-drawer-head>div>span{color:#fff;background:#0b63f6;border-radius:50%;grid-row:1/3;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.revenue-drawer-head b{font-size:14px}.revenue-drawer-head small{color:var(--muted);font-size:9px}.revenue-drawer-head button{background:0 0;border:0}.revenue-drawer-head svg{width:19px}.drawer-totals{grid-template-columns:repeat(4,1fr);padding:13px;display:grid}.drawer-totals span{color:var(--muted);gap:4px;font-size:8px;display:grid}.drawer-totals b{color:#15304c;font-size:13px}.revenue-drawer section{border-top:1px solid var(--line);padding:14px}.revenue-drawer h3{margin:0 0 10px;font-size:11px}.charge-list{max-height:245px;overflow:auto}.charge-list>div{border-bottom:1px solid #e9edf2;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.charge-list span{gap:3px;display:grid}.charge-list b,.charge-list strong{font-size:9px}.charge-list small,.charge-list p{color:var(--muted);font-size:8px}.drawer-payment{color:#fff;background:#0b63f6;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:calc(100% - 32px);min-height:42px;margin:16px;font-size:11px;font-weight:750;display:flex}.drawer-payment svg{width:16px}.pricing-modal{width:min(420px,100%)}@media (width<=1100px){.revenue-layout.has-drawer{grid-template-columns:1fr}.revenue-drawer{border-top:1px solid var(--line);min-height:0;margin:16px 0 0}.revenue-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.revenue-overview{grid-template-columns:1fr}.revenue-metrics{grid-template-columns:1fr 1fr}.revenue-metric{min-height:78px;padding:11px}.revenue-metric strong{font-size:18px}.receivables-toolbar{flex-direction:column;align-items:stretch;gap:8px}.receivables-toolbar input{width:100%}.revenue-layout.has-drawer .revenue-main{display:none}.revenue-drawer{z-index:70;margin:0;position:fixed;inset:74px 0 0;overflow:auto}.revenue-month strong{font-size:17px}}.receivable-actions{align-items:center;gap:8px;display:flex}.receivable-actions>label{border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:flex}.calibrate-button{color:#0b63c9;white-space:nowrap;background:#edf5ff;border:1px solid #a9c8f7;border-radius:6px;align-items:center;gap:5px;height:36px;padding:0 10px;font-size:9px;font-weight:750;display:flex}.calibrate-button svg{color:#0b63c9}.calibration-modal{width:min(720px,100%);max-height:min(760px,90vh);overflow:auto}.calibration-modal .modal-title>div{gap:3px;display:grid}.calibration-modal .modal-title p{color:var(--muted);margin:0;font-size:10px}.calibration-summary{background:#f2f7fd;border:1px solid #d5e3f2;border-radius:7px;justify-content:space-between;margin:14px 0 10px;padding:11px 13px;font-size:11px;display:flex}.calibration-list{border:1px solid var(--line);border-radius:8px;max-height:400px;overflow:auto}.calibration-list>label{cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.calibration-list>label+label{border-top:1px solid var(--line)}.calibration-list input{width:16px;height:16px}.calibration-list span{gap:3px;min-width:0;display:grid}.calibration-list b{font-size:11px}.calibration-list small{color:#496078;font-size:9px}.calibration-list em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.calibration-list>label>strong{color:#173452;text-align:right;font-size:12px}.calibration-list strong small{border-radius:8px;padding:2px 5px;font-size:8px}.calibration-list strong small.high{color:#137653;background:#e6f7ef}.calibration-list strong small.medium{color:#a25a00;background:#fff2dc}.calibration-safety{color:#39705d;align-items:center;gap:6px;margin:10px 2px;font-size:9px;display:flex}.calibration-safety svg{width:14px}.calibration-confirm{justify-content:center;width:100%}.calibration-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:55px 15px;display:flex}.calibration-empty svg{color:#22a06b;width:34px;height:34px}.calibration-empty b{color:#173452;font-size:13px}.calibration-empty span{font-size:10px}@media (width<=1100px){.receivables-toolbar{flex-direction:column;align-items:stretch}.receivable-actions{justify-content:space-between}}@media (width<=700px){.receivable-actions{flex-direction:column;align-items:stretch}.calibrate-button{justify-content:center}.calibration-summary{flex-direction:column;gap:5px}}.row-payment-actions{align-items:center;gap:6px;display:flex}.receivables-table td:last-child .row-payment-actions .mark-paid{color:#137653;white-space:nowrap;background:#eaf8f1;border-color:#91d6b7;align-items:center;gap:3px;display:flex}.row-payment-actions svg{width:12px;height:12px}.settle-modal{width:min(440px,100%)}.settle-person{background:#f3f8ff;border:1px solid #d9e6f5;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin:15px 0;padding:14px;display:grid}.settle-person>svg{color:#16865f;background:#e5f7ee;border-radius:50%;width:38px;height:38px;padding:9px}.settle-person>div{gap:3px;display:grid}.settle-person span{color:var(--muted);font-size:9px}.settle-person b{font-size:13px}.settle-person strong{color:#16865f;font-size:18px}.settle-modal>p{color:#5b6d82;font-size:10px;line-height:1.7}.settle-actions{grid-template-columns:1fr 2fr;gap:8px;margin-top:16px;display:grid}.settle-actions button{border:1px solid #ccd8e5;border-radius:7px;min-height:40px}.settle-actions .primary{border-color:#0b63f6}.payment-audit-list>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.payment-audit-list .payment-row-actions{grid-column:1/3;gap:5px;display:flex}.payment-row-actions button{color:#446079;background:#fff;border:1px solid #c9d7e6;border-radius:5px;padding:4px 8px;font-size:8px}.payment-row-actions button:last-child{color:#b43f36;border-color:#e3b4af}.payment-audit-list .voided-payment{opacity:.72;background:#fff6f5;margin:0 -5px;padding:8px 5px}.voided-payment strong{color:#b43f36;font-size:8px}.payment-correction-modal{width:min(450px,100%)}.payment-action-context{color:#4f647b;background:#f3f7fb;border-radius:7px;padding:10px 12px;font-size:10px}.payment-audit-note{color:#4d705f;align-items:center;gap:6px;font-size:9px;display:flex}.payment-audit-note svg{width:14px;height:14px}.void-payment-summary{background:#fff4f2;border:1px solid #edc9c5;border-radius:8px;gap:4px;margin:14px 0;padding:13px;display:grid}.void-payment-summary span,.void-payment-summary small{color:#6c7887;font-size:9px}.void-payment-summary strong{color:#b43f36;font-size:19px}.void-payment-modal>p{color:#5b6d82;font-size:10px;line-height:1.7}.danger-payment-action{color:#fff;background:#c94338;font-weight:700;border-color:#c94338!important}.backup-page{gap:16px;display:grid}.backup-alert{border-radius:8px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:12px;display:flex}.backup-alert svg{flex:none;width:18px}.backup-alert span{gap:2px;display:grid}.backup-alert.error{color:#8f2f2b;background:#fff0ef;border:1px solid #e3aaa6}.backup-alert.success{color:#176c4c;background:#eaf8f1;border:1px solid #9ed8be}.backup-hero{background:linear-gradient(135deg,#fff 0%,#edf5ff 100%);border:1px solid #cfdff2;border-radius:12px;align-items:center;gap:16px;padding:22px;display:flex}.backup-hero-icon{color:#fff;background:#0b63f6;border-radius:12px;place-items:center;width:54px;height:54px;display:grid}.backup-hero-icon svg{width:28px}.backup-hero>div:nth-child(2){gap:3px;display:grid}.backup-hero span,.backup-hero small{color:var(--muted);font-size:11px}.backup-hero strong{font-size:22px}.backup-hero .primary{margin-left:auto}.backup-safety-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.backup-safety-grid article{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:flex-start;gap:11px;padding:15px;display:flex}.backup-safety-grid svg{color:#0b63f6;width:20px}.backup-safety-grid div{gap:5px;display:grid}.backup-safety-grid b{font-size:13px}.backup-safety-grid span{color:var(--muted);font-size:10px;line-height:1.5}.backup-history{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.backup-section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.backup-section-title h2{margin:0 0 3px;font-size:16px}.backup-section-title p{color:var(--muted);margin:0;font-size:10px}.backup-section-title button,.backup-actions button{color:#35506b;cursor:pointer;background:#fff;border:1px solid #ccd8e5;border-radius:6px;align-items:center;gap:5px;height:32px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.backup-section-title button svg,.backup-actions svg{width:14px}.backup-list{display:grid}.backup-list>article{border-bottom:1px solid #e8edf2;align-items:center;gap:12px;padding:14px 18px;display:flex}.backup-list>article:last-child{border-bottom:0}.backup-type{color:#0b63f6;background:#eaf2ff;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.backup-type.daily{color:#16865f;background:#e9f7f1}.backup-type.pre_restore{color:#a56700;background:#fff4df}.backup-type svg{width:20px}.backup-info{gap:2px;min-width:0;display:grid}.backup-info b{font-size:12px}.backup-info span,.backup-info small{color:var(--muted);font-size:10px}.backup-actions{gap:7px;margin-left:auto;display:flex}.backup-actions button.restore{color:#0b63f6;border-color:#8ab5ff}.backup-empty{color:var(--muted);text-align:center;padding:45px;font-size:12px}.restore-dialog-layer{z-index:120;background:#061b2e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.restore-dialog{background:#fff;border-radius:12px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 70px #0005}.restore-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.restore-dialog-head span{color:var(--muted);font-size:10px}.restore-dialog-head h2{margin:3px 0 0;font-size:17px}.restore-dialog-head button{cursor:pointer;background:0 0;border:0;font-size:27px}.restore-warning{color:#176c4c;background:#edf7f3;border:1px solid #a7d9c2;border-radius:8px;align-items:flex-start;gap:9px;margin:16px;padding:11px;font-size:11px;line-height:1.5;display:flex}.restore-warning svg{flex:none;width:18px}.restore-warning span{display:grid}.restore-comparison{border:1px solid var(--line);border-radius:8px;margin:0 16px;overflow:hidden}.restore-comparison>div{grid-template-columns:1.4fr repeat(3,.7fr);padding:10px 12px;font-size:11px;display:grid}.restore-comparison>div:first-child{color:var(--muted);background:#f5f8fc;font-size:9px}.restore-comparison>div+div{border-top:1px solid #e8edf2}.restore-comparison strong{color:#0b63f6}.restore-confirm{gap:7px;margin:16px;font-size:11px;font-weight:700;display:grid}.restore-confirm input{border:1px solid var(--line);border-radius:7px;height:40px;padding:0 10px}.restore-up-to-date{color:#16865f;align-items:center;gap:8px;margin:18px;font-size:12px;display:flex}.restore-up-to-date svg{width:18px}.restore-dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:15px 18px;display:flex}.restore-dialog-actions>button{cursor:pointer;border:1px solid #cfd9e4;border-radius:7px;height:40px;padding:0 16px}.restore-dialog-actions .primary{border:0}.spinning{animation:.8s linear infinite backup-spin}@keyframes backup-spin{to{transform:rotate(360deg)}}.drive-backup-card{background:linear-gradient(135deg,#f4fbf7,#fff);border:1px solid #a8dcc4;border-radius:11px;align-items:center;gap:14px;padding:18px;display:flex}.drive-backup-card.failed{background:#fff7f5;border-color:#e2ada6}.drive-backup-icon{color:#fff;background:#16865f;border-radius:10px;place-items:center;width:46px;height:46px;display:grid}.drive-backup-card.failed .drive-backup-icon{background:#c44a40}.drive-backup-icon svg{width:23px}.drive-backup-copy{gap:3px;min-width:0;display:grid}.drive-backup-copy span{color:#16865f;font-size:10px;font-weight:750}.drive-backup-copy strong{font-size:14px}.drive-backup-copy small{color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.45}.drive-backup-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.drive-backup-actions a{color:#176c4c;border:1px solid #9bcfb7;border-radius:7px;align-items:center;gap:5px;height:40px;padding:0 12px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.drive-backup-actions a svg,.drive-backup-actions button svg{width:15px}@media (width<=760px){.backup-safety-grid{grid-template-columns:1fr}.backup-hero,.drive-backup-card{flex-wrap:wrap;align-items:flex-start}.backup-hero .primary,.drive-backup-actions{width:100%;margin-left:0}.drive-backup-actions .primary{flex:1}.backup-list>article{flex-wrap:wrap;align-items:flex-start}.backup-actions{margin-left:52px}.restore-comparison>div{grid-template-columns:1.25fr repeat(3,.65fr)}}.daily-workbench{gap:16px;max-width:1500px;margin:0 auto;display:grid}.workbench-daybar{color:#fff;background:linear-gradient(110deg,#092b4b,#0c4977);border-radius:12px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:20px;padding:18px 20px;display:grid;box-shadow:0 10px 26px #082b4d1c}.workbench-date-nav{gap:7px;display:flex}.workbench-date-nav button{color:#fff;cursor:pointer;background:#ffffff17;border:1px solid #ffffff3b;border-radius:7px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 12px;display:flex}.workbench-date-nav button:hover{background:#ffffff29}.workbench-date-nav svg{width:17px}.workbench-daybar span{opacity:.72;font-size:10px}.workbench-daybar h2{margin:3px 0 0;font-size:20px}.workbench-daybar>p{opacity:.82;text-align:right;margin:0;font-size:11px}.workbench-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.workbench-metrics article{background:#fff;border:1px solid #dfe6ee;border-radius:10px;align-items:center;gap:13px;min-height:84px;padding:14px 16px;display:flex}.workbench-metrics article>svg{color:#0b63f6;background:#eaf2ff;border-radius:9px;width:40px;height:40px;padding:9px}.workbench-metrics article:nth-child(2)>svg{color:#159564;background:#e9f8f1}.workbench-metrics article:nth-child(3)>svg{color:#315d84;background:#eef4fb}.workbench-metrics article.attention>svg{color:#bd7600;background:#fff2dc}.workbench-metrics article div{gap:2px;display:grid}.workbench-metrics span{color:#74859a;font-size:10px}.workbench-metrics strong{color:#18324c;font-size:20px}.workbench-metrics strong small{color:#74859a;margin-left:3px;font-size:10px}.workbench-list-head{justify-content:space-between;align-items:end;padding:3px 2px;display:flex}.workbench-list-head h3{margin:0 0 4px;font-size:16px}.workbench-list-head p{color:#77869a;margin:0;font-size:10px}.workbench-list-head>span{color:#0b63f6;background:#eaf2ff;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:750}.workbench-course-list{gap:10px;display:grid}.workbench-course{background:#fff;border:1px solid #dfe6ee;border-left:4px solid #169b66;border-radius:10px;grid-template-columns:88px minmax(300px,1fr) 130px 210px;min-height:142px;display:grid;overflow:hidden}.workbench-course.g{border-left-color:#1a73e8}.workbench-course.road{border-left-color:#d93025}.workbench-time{background:#f8fafc;border-right:1px solid #e4e9ef;align-content:center;justify-items:center;display:grid;position:relative}.workbench-time>span{color:#173c60;font-size:17px;font-weight:800}.workbench-time>small{color:#8391a2;margin-top:2px;font-size:10px}.workbench-time>i{color:#315878;background:#dce8f4;border-radius:50%;margin-top:9px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800}.workbench-course-main{align-content:center;gap:8px;min-width:0;padding:16px 18px;display:grid}.workbench-course-title{align-items:center;gap:8px;min-width:0;display:flex}.workbench-course-title h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.course-type{color:#13825a;background:#e7f7ef;border-radius:5px;padding:4px 6px;font-size:9px;font-weight:800}.course-type.g{color:#1768cf;background:#e9f2ff}.course-type.road{color:#bd332d;background:#ffedeb}.workbench-course-title>em{white-space:nowrap;border-radius:999px;margin-left:auto;padding:4px 7px;font-size:9px;font-style:normal;font-weight:750}.workbench-course-title>em.done{color:#13825a;background:#e7f7ef}.workbench-course-title>em.review{color:#9c6508;background:#fff2dc}.workbench-course-title>em.upcoming{color:#1768cf;background:#eaf2ff}.workbench-course-name{color:#5d7086;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.workbench-contact{flex-wrap:wrap;gap:7px 14px;display:flex}.workbench-contact a,.workbench-contact span{color:#61758c;align-items:center;gap:5px;max-width:100%;font-size:9px;text-decoration:none;display:inline-flex}.workbench-contact a:hover{color:#0b63f6}.workbench-contact svg{flex:none;width:12px}.workbench-payment{border-left:1px solid #e8edf2;align-content:center;gap:4px;padding:15px;display:grid}.workbench-payment>span{color:#7c899a;font-size:9px}.workbench-payment>strong{color:#19334c;font-size:17px}.workbench-payment>em{font-size:9px;font-style:normal}.workbench-payment>em.unpaid{color:#a56600}.workbench-payment>em.paid{color:#16845d}.workbench-actions{background:#fbfcfe;border-left:1px solid #e8edf2;grid-template-columns:1fr 1fr;align-content:center;gap:7px;padding:12px;display:grid}.workbench-actions button,.workbench-actions a{color:#35506b;cursor:pointer;background:#fff;border:1px solid #d6e0ea;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 7px;font-size:9px;font-weight:700;text-decoration:none;display:flex}.workbench-actions button:hover,.workbench-actions a:hover{background:#f1f6fc;border-color:#a9c3df}.workbench-actions svg{width:12px}.workbench-actions .navigate{color:#0b63f6}.workbench-actions .payment{color:#9b6506}.workbench-actions .confirm,.workbench-actions .confirmed{color:#08754e;background:#e8f8f1;border-color:#9bd9bc;grid-column:1/-1}.workbench-actions .waiting{color:#778597;cursor:default;background:#f2f4f7;grid-column:1/-1}.workbench-actions button:disabled{opacity:.72;cursor:default}.workbench-empty{color:#708096;text-align:center;background:#fff;border:1px dashed #c9d5e1;border-radius:12px;place-items:center;min-height:300px;padding:40px;display:grid}.workbench-empty>svg{color:#8ea5ba;width:38px}.workbench-empty h3{color:#29425a;margin:8px 0 0;font-size:16px}.workbench-empty p{margin:0;font-size:11px}.workbench-empty button{color:#0b63f6;cursor:pointer;background:#edf4ff;border:0;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:750}@media (width<=1120px){.workbench-course{grid-template-columns:76px minmax(260px,1fr) 115px 190px}.workbench-actions{grid-template-columns:1fr}.workbench-actions .confirm,.workbench-actions .confirmed,.workbench-actions .waiting{grid-column:auto}}@media (width<=820px){.workbench-metrics{grid-template-columns:repeat(2,1fr)}.workbench-course{grid-template-columns:72px 1fr}.workbench-payment{border-top:1px solid #e8edf2;border-left:0;grid-column:2;padding:11px 16px}.workbench-actions{border-top:1px solid #e8edf2;border-left:0;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.workbench-actions .confirm,.workbench-actions .confirmed,.workbench-actions .waiting{grid-column:auto}}@media (width<=600px){.workbench-daybar{grid-template-columns:1fr;gap:12px;padding:14px}.workbench-daybar>p{text-align:left}.workbench-metrics{display:flex;overflow:auto}.workbench-metrics article{min-width:150px}.workbench-course{grid-template-columns:64px 1fr}.workbench-course-main{padding:14px 12px}.workbench-payment{grid-column:1/-1}.workbench-actions{grid-template-columns:1fr 1fr}.workbench-actions .confirm,.workbench-actions .confirmed,.workbench-actions .waiting{grid-column:1/-1}.workbench-contact{display:grid}.workbench-course-title{flex-wrap:wrap}.workbench-course-title>em{margin-left:0}.workbench-course-name{white-space:normal}.workbench-empty{min-height:240px;padding:30px 18px}}.workbench-actions .payment.quick{color:#8a5b00;background:#fff8e8;border-color:#e8c46f}.workbench-payment-toast{color:#fff;z-index:80;background:#143b5c;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #071c2f38}.workbench-payment-toast>svg{color:#65d4a6;width:18px}.workbench-payment-toast span{font-size:11px;font-weight:700}.workbench-payment-toast button{color:#fff;cursor:pointer;background:#ffffff18;border:1px solid #ffffff42;border-radius:6px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:flex}.workbench-payment-toast button:last-child{border:0;padding:5px}.workbench-payment-toast button svg{width:13px}.workbench-modal-backdrop{z-index:100;background:#102a4070;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.workbench-quick-modal{background:#fff;border-radius:12px;gap:13px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 22px 65px #071c2f47}.workbench-quick-modal>div{justify-content:space-between;align-items:center;display:flex}.workbench-quick-modal h3{margin:0;font-size:17px}.workbench-quick-modal>div button{cursor:pointer;background:0 0;border:0;padding:4px}.workbench-quick-modal>div svg{width:20px}.workbench-quick-modal p{color:#63758a;margin:0;font-size:11px}.workbench-quick-modal>strong{color:#123a60;font-size:32px}.workbench-quick-modal>small{color:#627387;background:#f4f7fa;border-radius:7px;padding:10px;font-size:10px;line-height:1.5}.workbench-quick-modal>em{color:#a63c34;background:#fff0ef;border:1px solid #e8b7b2;border-radius:7px;padding:8px;font-size:10px;font-style:normal}.workbench-quick-modal footer{grid-template-columns:1fr 2fr;gap:8px;margin-top:4px;display:grid}.workbench-quick-modal footer button{cursor:pointer;background:#fff;border:1px solid #ced9e5;border-radius:7px;min-height:40px}.workbench-quick-modal footer .primary{color:#fff;background:#0b63f6;border-color:#0b63f6;font-weight:750}.workbench-metrics article.road-test>svg{color:#d93025;background:#ffedeb}.workbench-metrics article.clickable{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.workbench-metrics article.clickable:hover,.workbench-metrics article.clickable:focus-visible{border-color:#efaaa4;outline:none;transform:translateY(-1px);box-shadow:0 7px 18px #8f2b2318}.road-test-page{gap:18px;max-width:1500px;margin:0 auto;display:grid}.road-test-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.road-test-summary article{background:#fff;border:1px solid #dfe6ee;border-radius:10px;align-items:center;gap:13px;min-height:86px;padding:14px 16px;display:flex}.road-test-summary article>svg{color:#d93025;background:#ffedeb;border-radius:9px;width:40px;height:40px;padding:9px}.road-test-summary article:nth-child(2)>svg{color:#1768cf;background:#eef4ff}.road-test-summary article:nth-child(3)>svg{color:#16845d;background:#eef8f3}.road-test-summary article.danger>svg{color:#d93025;background:#fff0ed}.road-test-summary article:nth-child(4)>svg{color:#159564;background:#e9f8f1}.road-test-summary article div{gap:2px;display:grid}.road-test-summary span{color:#74859a;font-size:10px}.road-test-summary strong{color:#18324c;font-size:20px}.road-test-summary small{color:#74859a;margin-left:3px;font-size:10px}.road-test-toolbar{justify-content:space-between;align-items:end;display:flex}.road-test-toolbar h2{margin:0 0 4px;font-size:17px}.road-test-toolbar p{color:#77869a;margin:0;font-size:10px}.range-switch{background:#eaf0f6;border-radius:8px;padding:3px;display:flex}.range-switch button{color:#61758c;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 13px;font-size:10px;font-weight:750}.range-switch button.active{color:#0b63f6;background:#fff;box-shadow:0 1px 5px #173b5d1a}.road-test-list{gap:10px;display:grid}.road-test-row{background:#fff;border:1px solid #dfe6ee;border-left:4px solid #d93025;border-radius:10px;grid-template-columns:180px minmax(300px,1fr) 125px 130px 160px;min-height:128px;display:grid;overflow:hidden}.road-test-date,.road-test-person,.road-test-fee,.road-test-status,.road-test-actions{align-content:center;padding:15px;display:grid}.road-test-date{background:#fff8f7;border-right:1px solid #eee3e1}.road-test-date strong{font-size:12px}.road-test-date span{color:#5f7185;margin-top:4px;font-size:12px}.road-test-date em{color:#b02b25;background:#ffdfda;border-radius:999px;justify-self:start;margin-top:9px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800}.road-test-person{gap:10px}.road-test-person>div{align-items:center;gap:9px;display:flex}.road-test-person>div>svg{color:#d93025;background:#ffedeb;border-radius:7px;width:34px;padding:7px}.road-test-person>div span{min-width:0;display:grid}.road-test-person strong{font-size:14px}.road-test-person small{color:#708197;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.road-test-person p{flex-wrap:wrap;gap:7px 12px;margin:0;display:flex}.road-test-person p a,.road-test-person p span{color:#60758c;align-items:center;gap:5px;font-size:9px;text-decoration:none;display:flex}.road-test-person p svg{width:12px}.road-test-fee,.road-test-status,.road-test-actions{border-left:1px solid #e8edf2}.road-test-fee span{color:#7c899a;font-size:9px}.road-test-fee strong{margin:3px 0;font-size:18px}.road-test-fee small{color:#60758c;font-size:9px}.road-test-fee em{color:#b02b25;margin-top:4px;font-size:8px;font-style:normal}.road-test-status{gap:7px}.road-test-status span{border-radius:999px;justify-self:start;padding:5px 8px;font-size:9px;font-weight:800}.road-test-status span.scheduled{color:#1768cf;background:#eaf2ff}.road-test-status span.done{color:#13825a;background:#e7f7ef}.road-test-status em{color:#16845d;font-size:9px;font-style:normal}.road-test-status em.conflict{color:#d93025}.road-test-actions{background:#fbfcfe;gap:8px}.road-test-actions button,.road-test-actions a{color:#35506b;cursor:pointer;background:#fff;border:1px solid #d6e0ea;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 8px;font-size:9px;font-weight:700;text-decoration:none;display:flex}.road-test-actions a{color:#0b63f6}.road-test-actions svg{width:13px}.road-test-empty{color:#73849a;text-align:center;background:#fff;border:1px dashed #cad6e2;border-radius:12px;place-items:center;min-height:300px;display:grid}.road-test-empty>svg{color:#bd4a43;width:42px}.road-test-empty h3{color:#29425a;margin:8px 0 0;font-size:16px}.road-test-empty p{margin:0;font-size:10px}@media (width<=1100px){.road-test-row{grid-template-columns:160px 1fr 110px 130px}.road-test-actions{border-top:1px solid #e8edf2;border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr}}@media (width<=760px){.road-test-summary{grid-template-columns:1fr 1fr}.road-test-row{grid-template-columns:1fr}.road-test-date,.road-test-fee,.road-test-status,.road-test-actions{border-top:1px solid #e8edf2;border-left:0;border-right:0}.road-test-toolbar{flex-direction:column;align-items:start;gap:12px}.road-test-actions{grid-column:auto}}.staff-access-page{gap:16px;display:grid}.staff-access-intro{background:#f2fbf7;border:1px solid #b9dfce;border-radius:10px;align-items:center;gap:12px;padding:16px 18px;display:flex}.staff-access-intro>svg{color:#16805b;width:30px}.staff-access-intro h2{margin:0 0 3px;font-size:17px}.staff-access-intro p{color:#60758a;margin:0;font-size:11px}.staff-access-grid{grid-template-columns:minmax(300px,.75fr) minmax(480px,1.25fr);gap:16px;display:grid}.staff-invite-card,.staff-list-card{border:1px solid var(--line);background:#fff;border-radius:10px}.staff-invite-card{gap:13px;padding:18px;display:grid}.staff-invite-card>div{align-items:center;gap:10px;display:flex}.staff-invite-card>div>svg{width:25px;color:var(--blue)}.staff-invite-card>div span{display:grid}.staff-invite-card>div b{font-size:14px}.staff-invite-card>div small,.staff-invite-card>p{color:var(--muted);font-size:10px}.staff-invite-card>p{margin:0;line-height:1.55}.staff-invite-card label{color:#40516a;gap:6px;font-size:11px;font-weight:700;display:grid}.staff-invite-card input,.staff-invite-card select{border:1px solid var(--line);outline-color:var(--blue);background:#fff;border-radius:7px;height:39px;padding:0 10px}.staff-invite-card .primary{width:100%}.staff-list-card>header{border-bottom:1px solid var(--line);padding:16px 17px}.staff-list-card>header div{justify-content:space-between;align-items:center;display:flex}.staff-list-card>header b{font-size:14px}.staff-list-card>header small{color:var(--muted);font-size:10px}.staff-list{display:grid}.staff-list article{border-bottom:1px solid #edf0f4;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 16px;display:grid}.staff-list article:last-child{border-bottom:0}.staff-avatar{color:#234967;background:#e5effa;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.staff-list article>div{min-width:0;display:grid}.staff-list article b,.staff-list article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-list article b{font-size:12px}.staff-list article small{color:var(--muted);font-size:9px}.staff-list article em{color:#1764c5;background:#edf4ff;border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:750}.staff-list article button{color:#6b7786;background:#fff;border:1px solid #cfd9e4;border-radius:6px;padding:6px 8px;font-size:9px}.staff-list article button:disabled{opacity:.45}.staff-notice,.staff-error{border-radius:7px;margin:10px 14px 0;padding:9px 10px;font-size:10px}.staff-notice{color:#13724e;background:#ebf9f2}.staff-error{color:#a13732;background:#fff0ef}@media (width<=900px){.staff-access-grid{grid-template-columns:1fr}}@media (width<=600px){.staff-access-intro{align-items:flex-start}.staff-list article{grid-template-columns:34px minmax(0,1fr) auto}.staff-list article button{grid-column:2/-1;justify-self:start}}.performance-page{gap:20px;padding:24px;display:grid}.performance-toolbar{justify-content:space-between;align-items:center;display:flex}.performance-toolbar h2{color:#10233e;margin:0;font-size:24px}.performance-toolbar p{color:#71829a;margin:5px 0 0}.performance-month{align-items:center;gap:12px;display:flex}.performance-month button{background:#fff;border:1px solid #d7e0eb;border-radius:11px;width:40px;height:40px}.performance-month svg{width:18px}.performance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.performance-metrics article{background:#fff;border:1px solid #dce5ef;border-radius:16px;align-items:center;gap:14px;padding:20px;display:flex}.performance-metrics svg{color:#1768e9;background:#eaf2ff;border-radius:11px;width:34px;height:34px;padding:8px}.performance-metrics span,.performance-metrics small{color:#71829a;display:block}.performance-metrics strong{color:#10233e;margin:4px 0;font-size:25px;display:block}.performance-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.performance-grid>article{background:#fff;border:1px solid #dce5ef;border-radius:16px;padding:22px}.performance-card-title{align-items:center;gap:12px;display:flex}.performance-card-title svg{color:#1768e9}.performance-card-title h3{color:#10233e;margin:0}.performance-card-title p{color:#71829a;margin:4px 0 0}.performance-breakdown,.rate-summary{gap:0;margin-top:18px;display:grid}.performance-breakdown span,.rate-summary span{color:#61748d;border-top:1px solid #edf1f6;justify-content:space-between;padding:14px 0;display:flex}.performance-breakdown b,.rate-summary b{color:#10233e}.rate-editor{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.rate-editor label{color:#61748d;gap:6px;display:grid}.rate-editor input{border:1px solid #d7e0eb;border-radius:9px;height:42px;padding:0 10px}.rate-editor button,.settlement-row button{color:#fff;background:#1768e9;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;font-weight:700;display:flex}.rate-editor button{grid-column:1/-1;height:42px}.rate-editor svg,.settlement-row svg{width:17px}.settlement-row{border-top:1px solid #edf1f6;justify-content:space-between;align-items:center;margin-top:18px;padding-top:18px;display:flex}.settlement-row small,.settlement-row b{display:block}.settlement-row small{color:#71829a}.settlement-row button{padding:11px 15px}.performance-error{color:brown;background:#fff0ef;border:1px solid #f5c8c4;border-radius:10px;padding:12px 16px}.performance-loading,.performance-demo-note{text-align:center;color:#71829a;padding:30px}@media (width<=900px){.performance-metrics{grid-template-columns:1fr 1fr}.performance-grid{grid-template-columns:1fr}.performance-toolbar{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=560px){.performance-page{padding:14px}.performance-metrics{grid-template-columns:1fr}.performance-month{justify-content:space-between;width:100%}}.workspace:has(>.performance-page)>header{display:none}.performance-page+.content-grid{display:none}@media (width<=1100px){.performance-metrics{grid-template-columns:1fr 1fr}.performance-grid{grid-template-columns:1fr}}.performance-toolbar-controls{align-items:center;gap:12px;display:flex}.performance-toolbar-controls select{color:#10233e;background:#fff;border:1px solid #d7e0eb;border-radius:10px;min-width:180px;height:42px;padding:0 12px}
