*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before,:after{--un-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[rows~="2"]{grid-template-rows:repeat(2,minmax(0,1fr))}[rows~="3"]{grid-template-rows:repeat(3,minmax(0,1fr))}[rows~="4"]{grid-template-rows:repeat(4,minmax(0,1fr))}[rows~="6"]{grid-template-rows:repeat(6,minmax(0,1fr))}.hidden,[hidden=""]{display:none}[size~="14"]{width:3.5rem;height:3.5rem}[size~="15"]{width:3.75rem;height:3.75rem}[size~="16"]{width:4rem;height:4rem}[size~="17"]{width:4.25rem;height:4.25rem}[size~="18"]{width:4.5rem;height:4.5rem}[size~="22"]{width:5.5rem;height:5.5rem}[size~="23"]{width:5.75rem;height:5.75rem}[size~="28"]{width:7rem;height:7rem}.h1{height:.25rem}.h2,[h2=""]{height:.5rem}.h3{height:.75rem}.table,[table=""]{display:table}.b,[b=""]{border-width:1px}[p~="1"]{padding:.25rem}.tab,[aria-selected~=tab][aria-selected=true],[disabled~=tab]:disabled{tab-size:4}:root{--bg:#f4f6f8;--surface:#fff;--surface-subtle:#f8fafc;--text:#172033;--muted:#667085;--line:#e5e9f0;--accent:#2f6fed;--accent-dark:#2458bc;--accent-soft:#edf3ff;--accent-line:#d9e6ff;--success:#188454;--success-soft:#e9f8f0;--success-line:#cce8dc;--danger:#a33434;--danger-soft:#fff1f1;--danger-line:#f0c9c9;--warning:#9a6819;--warning-soft:#fff5df;--warning-line:#f0dfbf;--body-text:#4d596c;--radius-control:8px;--radius-small:7px;--font-h1:20px;--font-h2:18px;--font-h3:16px;--font-body:14px;--font-sm:13px;--font-caption:12px;--font-display:32px;--font-small:var(--font-sm);--nav:#151d2e;--nav-muted:#93a0b6;--radius:12px;--shadow:0 12px 36px #1e2f4c14;--shadow-soft:0 2px 10px #1e2f4c06;--shadow-control:0 1px 5px #1e2f4c1a;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{background:var(--bg);min-width:1080px;font-size:var(--font-body);margin:0}button,select,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.admin-shell{min-height:100dvh;display:flex}.sidebar{color:#d8deeb;background:var(--nav);flex-direction:column;width:232px;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:11px;padding:4px 10px 22px;display:flex}.brand-mark,.logo-big{color:#fff;background:var(--accent);border-radius:10px;place-items:center;font-weight:800;display:grid;box-shadow:inset 0 1px #fff3}.brand-mark{width:34px;height:34px;font-size:var(--font-caption)}.brand strong,.brand small{display:block}.brand strong{font-size:var(--font-h3);letter-spacing:.02em}.brand small{color:var(--nav-muted);font-size:var(--font-caption);margin-top:2px}.nav-group-label{color:#6f7d94;font-size:var(--font-caption);padding:10px 12px 7px}.nav-group-label.management{margin-top:10px}.sidebar-nav{gap:4px;display:grid}.sidebar-nav a{color:#bbc4d2;font-size:var(--font-body);background:0 0;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;transition:color .18s,background-color .18s;display:flex}.sidebar-nav a:hover{color:#fff;background:#202a3e}.sidebar-nav a.active{color:#fff;background:#26334b}.nav-icon{color:#b9c4d6;background:#ffffff0e;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.sidebar-nav a.active .nav-icon{color:#fff;background:var(--accent)}.sidebar-foot{border-top:1px solid #ffffff14;grid-template-columns:34px 1fr 32px;align-items:center;gap:9px;margin-top:auto;padding:14px 8px 2px;display:grid}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{color:#dde3ec;font-size:var(--font-body)}.sidebar-foot small{color:var(--nav-muted);font-size:var(--font-caption);margin-top:2px}.sidebar-avatar{color:#dce7ff;background:#26334b;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.logout{width:32px;height:32px;color:var(--nav-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:color .18s,background-color .18s;display:grid}.logout:hover{color:#fff;background:#202a40}.main-area{width:calc(100% - 232px);margin-left:232px}.topbar{z-index:10;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.breadcrumb>div{align-items:center;gap:8px;display:flex}.breadcrumb>small{color:var(--muted);font-size:var(--font-caption);margin-top:2px;line-height:1.2;display:block}.crumb{color:var(--muted);font-size:var(--font-sm)}.crumb:after{content:"/";margin-left:8px}.breadcrumb strong{font-size:var(--font-h1)}.user{align-items:center;gap:9px;display:flex}.user img,.avatar{object-fit:cover;border-radius:50%;width:34px;height:34px}.avatar{color:var(--accent);background:#e8f0ff;place-items:center;font-weight:700;display:inline-grid}.user b,.user small{display:block}.user b{font-size:var(--font-body)}.user small{color:var(--muted);font-size:var(--font-caption);margin-top:2px}.page-content{padding:28px}.page-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.page-head h1{font-size:var(--font-h1);margin:0}.page-head p,.panel-title p{color:#7a8497;font-size:var(--font-sm);margin:7px 0 0}.empty-card,.panel{background:#fff;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 2px 10px #1b284408}.empty-card{color:#8390a5;place-content:center;justify-items:center;min-height:330px;display:grid}.empty-card h2{color:#303a4d;font-size:var(--font-h2);margin:16px 0 6px}.empty-card p{font-size:var(--font-body);margin:0}.panel-title{border-bottom:1px solid #edf0f4;padding:20px 22px}.panel-title h2{font-size:var(--font-h2);margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;font-size:var(--font-body);border-bottom:1px solid #edf0f4;padding:14px 20px}th{color:#697386;background:#fafbfc;font-weight:600}.person{align-items:center;gap:9px;display:flex}.tag{font-size:var(--font-caption);border-radius:999px;padding:4px 9px}.tag.success{color:#188454;background:#e9f8f0}select{color:#263145;background:#fff;border:1px solid #dce1e9;border-radius:7px;min-width:104px;padding:7px 9px}.notice{color:#2467d8;font-size:var(--font-sm)}.auth-page{background:#fff;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.auth-visual{color:#fff;background:linear-gradient(145deg,#17223a 0%,#264e9b 52%,#3f7cf4 100%);align-items:flex-end;padding:72px;display:flex;position:relative;overflow:hidden}.auth-visual:before{content:"";border:100px solid #ffffff14;border-radius:50%;width:560px;height:560px;position:absolute;top:-180px;right:-190px}.visual-copy{max-width:560px;position:relative}.eyebrow{letter-spacing:.22em;opacity:.75;font-size:12px}.visual-copy h1{margin:20px 0;font-size:50px;line-height:1.18}.visual-copy p{opacity:.72;max-width:420px;line-height:1.8}.auth-panel{place-items:center;padding:60px;display:grid}.login-card{width:360px}.logo-big{width:48px;height:48px}.login-card h2{margin:30px 0 8px;font-size:28px}.login-card>p{color:#7b8597;margin:0 0 30px}.primary,.secondary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:12px 18px;display:inline-flex}.primary{color:#fff;background:#2f6fed;border:0;width:100%;font-weight:600}.primary:disabled{opacity:.65;cursor:wait}.secondary{color:#344055;background:#fff;border:1px solid #dbe0e8}.alert{color:#bd3434;background:#fff1f1;border-radius:8px;margin-top:16px;padding:11px 13px;font-size:13px}.secure{color:#97a0af;justify-content:center;align-items:center;gap:6px;margin-top:22px;display:flex}.status-page{background:#f5f7fb;place-items:center;min-height:100vh;padding:40px;display:grid}.status-card{text-align:center;background:#fff;border:1px solid #e6eaf0;border-radius:16px;width:480px;padding:50px;box-shadow:0 14px 50px #1f325a14}.status-card h1{margin:20px 0 10px;font-size:23px}.status-card p{color:#768196;margin:0 0 24px;line-height:1.7}.status-icon{color:#2f6fed;background:#eaf1ff;border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid}.code{color:#2f6fed;font-size:54px;font-weight:800}.spinner{border:4px solid #dbe6fb;border-top-color:#2f6fed;border-radius:50%;width:38px;height:38px;margin:auto;animation:.8s linear infinite spin}.text-link{color:#2f6fed}.link-button{width:auto}.status-card .secondary{margin-top:4px}@keyframes spin{to{transform:rotate(360deg)}}.actions,.row-actions,.follow-compose{align-items:center;gap:10px;display:flex}.primary.compact{width:auto;padding:10px 15px}.secondary.small{font-size:var(--font-caption);padding:8px 11px}.filter-bar{background:#fff;border:1px solid #e7eaf0;border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:14px;display:flex}.filter-bar select{min-width:125px}.search-box{color:#8390a5;border:1px solid #dce1e9;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:240px;padding:0 11px;display:flex}.search-box input{width:100%;font-size:var(--font-body);border:0;outline:0;padding:9px 0}.cell-sub{color:#8993a5;font-size:var(--font-caption);margin-top:4px;font-weight:400;display:block}.empty-cell{color:#8b95a6;text-align:center;height:180px;font-size:var(--font-body)}.tag.green{color:#188454;background:#e9f8f0}.tag.blue{color:#2467d8;background:#eaf1ff}.tag.gray{color:#7a8497;background:#eef1f5}.tag.orange{color:#b15c10;background:#fff1df}.tag.lead{color:#7a5b15;background:#fff4cf}.tag.prospect{color:#5b6475;background:#eef1f5}.tag.trial_booked{color:#b15c10;background:#fff1df}.tag.trial{color:#2467d8;background:#eaf1ff}.tag.formal{color:#188454;background:#e9f8f0}.tag.lost{color:#7a8497;background:#eff1f4}.link{color:#2f6fed;cursor:pointer;font-size:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.pagination{color:#748095;font-size:var(--font-sm);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.pagination>div{align-items:center;gap:10px;display:flex}.pagination button{cursor:pointer;background:#fff;border:1px solid #dce1e9;border-radius:6px;padding:6px 10px}.pagination button:disabled{opacity:.45;cursor:default}.page-notice{color:#245ebc;font-size:var(--font-sm);cursor:pointer;background:#eef4ff;border:1px solid #cfe0ff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 13px;display:flex}.modal-backdrop,.drawer-backdrop{z-index:20;background:#0e172973;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:620px;max-height:88vh;overflow:auto;box-shadow:0 30px 80px #0e1a3233}.modal.wide{width:820px}.modal header,.drawer header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.modal h2,.drawer h2{font-size:var(--font-h1);margin:0}.modal header p,.drawer header p{color:#7c8799;font-size:var(--font-sm);margin:6px 0 0}.icon-close{color:#768196;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:6px;display:inline-grid}.icon-close:hover{background:#f0f2f5}.form-grid{grid-template-columns:1fr 1fr;gap:15px;padding:22px 24px;display:grid}.form-grid label,.drawer-section{gap:7px;display:grid}.form-grid label>span{color:#5d687a;font-size:var(--font-sm);font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.drawer-section textarea,.drawer-section input,.code-input{width:100%;font-size:var(--font-body);border:1px solid #dce1e9;border-radius:7px;outline:0;padding:9px 10px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.code-input:focus{border-color:#2f6fed;box-shadow:0 0 0 3px #eaf1ff}.span-2{grid-column:span 2}.subsection{border-top:1px solid #edf0f4;margin:0 24px 20px;padding-top:18px}.subsection-head{justify-content:space-between;align-items:center;display:flex}.subsection h3,.drawer-section h3{font-size:var(--font-h3);margin:0}.subsection small{color:#8a94a5;font-size:var(--font-caption)}.contact-row{grid-template-columns:90px 1fr 1.2fr 105px 32px;gap:8px;margin-top:10px;display:grid}.contact-row>input{border:1px solid #dce1e9;border-radius:7px;min-width:0;padding:8px}.radio{color:#687386;font-size:var(--font-caption);align-items:center;gap:5px;display:flex}.modal footer{border-top:1px solid #edf0f4;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.code-input{width:calc(100% - 48px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-caption);margin:20px 24px;line-height:1.6}.drawer-backdrop{place-items:stretch end}.drawer{background:#fff;width:520px;height:100%;overflow:auto;box-shadow:-14px 0 50px #0e1a3229}.drawer .eyebrow{color:#2f6fed;letter-spacing:.08em}.drawer-body{padding:22px 24px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-grid div{border:1px solid #e8ebf0;border-radius:8px;padding:12px}.detail-grid small,.detail-grid b{display:block}.detail-grid small{color:#8a94a5;margin-bottom:5px}.drawer-section{margin-top:24px}.drawer-section>p{color:#5f6b7d;margin:0;line-height:1.7}.contact-card{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.contact-card b,.contact-card small{display:block}.contact-card small{color:#8a94a5;margin-top:4px}.contact-card small span{color:#2467d8;background:#eaf1ff;border-radius:999px;margin-left:8px;padding:2px 6px}.follow-compose{justify-content:space-between}.follow-compose input{flex:1}.timeline-item{grid-template-columns:12px 1fr;gap:10px;padding-bottom:18px;display:grid;position:relative}.timeline-item>span{border:2px solid #2f6fed;border-radius:50%;width:8px;height:8px;margin-top:6px}.timeline-item p{margin:0 0 5px;line-height:1.6}.timeline-item small,.muted{color:#8a94a5}.tabs{border-bottom:1px solid #dfe4ec;gap:4px;margin-bottom:14px;display:flex}.tabs button{color:#718096;cursor:pointer;font-size:var(--font-body);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 18px}.tabs button.active{color:#2f6fed;border-bottom-color:#2f6fed;font-weight:700}.link.danger{color:#c04444}.inline-search{gap:8px;display:flex}.inline-search input{flex:1}.inline-search .secondary{padding:8px 14px}.student-list-panel .table-wrap{border:0;border-radius:0}.student-list-pagination{border-top:1px solid var(--line)}.student-status-legend,.record-status-legend,.package-status-legend{border-top:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);gap:8px;padding:12px 18px 16px;font-size:12px;line-height:1.5;display:grid}.student-status-legend strong,.record-status-legend strong,.package-status-legend strong{color:var(--text-soft);font-size:12px}.student-status-legend-list,.record-status-legend-list,.package-status-legend-list{gap:8px;display:grid}.student-status-legend-list span,.record-status-legend-list span,.package-status-legend-list span{align-items:center;gap:8px;min-width:0;line-height:1.4;display:flex}.student-status-legend-list .tag,.record-status-legend-list .tag,.package-status-legend-list .tag{flex:none;font-style:normal;line-height:1.2}.package-ledger-drawer-hint{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.5}.package-ledger-item .package-ledger-title{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.package-ledger-item .package-ledger-title strong{display:inline}.package-ledger-item .package-ledger-title .tag{margin-left:auto}.package-ledger-item small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.loading-cell{height:180px;color:var(--muted);text-align:center}.student-drawer-scope{border:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:12px;line-height:1.6}.schedule-filters{flex-wrap:wrap;flex:0 auto;align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.schedule-create-button{white-space:nowrap;flex-shrink:0;margin-left:auto}.schedule-legend{color:var(--muted);font-size:var(--font-small);align-items:center;gap:18px;margin-bottom:10px;padding:0 2px;display:flex}.schedule-legend span{align-items:center;gap:8px;display:inline-flex}.schedule-legend i{border-radius:var(--radius-small);width:30px;height:18px}.schedule-legend i.formal{background:var(--success-soft);box-shadow:inset 0 0 0 1px var(--success-line)}.schedule-legend i.trial{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.schedule-legend small{font-variant-numeric:tabular-nums;margin-left:auto}.schedule-detail-hint{color:#d92d20;margin:0 0 0 auto;font-size:14px;font-weight:600;line-height:1.4}.schedule-toolbar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:14px;padding:12px 14px;display:flex}.schedule-toolbar-tools{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.schedule-week-nav{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;flex:none;display:inline-flex;overflow:hidden}.schedule-week-nav button{border:0;border-right:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:0 12px;font-weight:600;transition:color .18s,background-color .18s,box-shadow .18s;display:inline-flex}.schedule-week-nav button:last-child{border-right:0}.schedule-week-nav button:hover,.schedule-week-nav button.active{color:var(--accent-dark);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent-line)}.schedule-week-nav button:active{transform:translateY(1px)}.schedule-week-nav button:focus-visible,.schedule-reset:focus-visible,.schedule-course-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.schedule-week-range{font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex:none;font-size:14px;font-weight:700;line-height:1}.schedule-tool-button{flex:none;gap:7px;min-height:38px;padding:5px 10px}.schedule-tool-button>span{text-align:left;gap:1px;display:grid}.schedule-tool-button b{white-space:nowrap;font-size:11px;line-height:1.2}.schedule-tool-button small{color:var(--muted);font-size:9px;font-weight:400;line-height:1.2}.schedule-tool-button.subtle{background:var(--surface-subtle);border-color:#0000}.schedule-filters select{border-color:var(--line);border-radius:var(--radius-control);min-width:108px;height:36px;font-size:11px}.schedule-reset{min-height:36px;color:var(--accent-dark);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0 4px;font-weight:600;display:inline-flex}.schedule-availability{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:-2px 0 14px;overflow:hidden}.schedule-availability>header{border-bottom:1px solid var(--line);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:10px 13px;display:flex}.schedule-availability>header strong,.schedule-availability>header small{display:block}.schedule-availability>header strong{font-size:12px}.schedule-availability>header small{color:var(--muted);margin-top:3px;font-size:10px}.schedule-availability>header>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.schedule-availability-grid{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.schedule-availability-grid article{border-right:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 8px;min-width:0;padding:11px 12px;display:grid}.schedule-availability-grid article:nth-child(5n),.schedule-availability-grid article:last-child{border-right:0}.schedule-availability-grid article strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.schedule-availability-grid article b{color:var(--accent-dark);font-variant-numeric:tabular-nums;font-size:12px}.schedule-availability-grid article small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:10px;overflow:hidden}.schedule-calendar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:440px;overflow:hidden}.schedule-empty-banner{border-bottom:1px solid var(--line);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.schedule-empty-banner>div{gap:2px;min-width:0;display:grid}.schedule-empty-banner strong{color:var(--text);font-size:13px}.schedule-empty-banner small{color:var(--muted);font-size:11px}.schedule-week-scroll{max-height:min(72vh,1280px);overflow:auto}.schedule-week-table{min-width:1120px}.schedule-grid-row{grid-template-columns:74px repeat(7,minmax(0,1fr));display:grid}.schedule-grid-row>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.schedule-grid-row>div:last-child{border-right:0}.schedule-grid-row:last-child>div{border-bottom:0}.schedule-grid-head>div{min-height:52px;color:var(--muted);background:var(--surface-subtle);text-align:center;font-size:var(--font-small);place-content:center;gap:2px;display:grid}.schedule-grid-head strong{color:var(--text);font-size:var(--font-small)}.schedule-grid-head span{font-variant-numeric:tabular-nums}.schedule-grid-head .today{background:var(--accent-soft)}.schedule-grid-head .today strong,.schedule-grid-head .today span{color:var(--accent-dark)}.schedule-time-head{font-weight:600}.schedule-time-cell{min-height:82px;color:var(--muted);background:var(--surface-subtle);text-align:right;font-size:var(--font-small);font-variant-numeric:tabular-nums;padding:11px 9px}.schedule-course-cell{background:var(--surface);align-content:start;gap:6px;min-height:82px;padding:7px;display:grid}.schedule-course-card{width:100%;color:var(--accent-dark);background:var(--accent-soft);text-align:left;cursor:pointer;border:0;border-radius:9px;gap:2px;padding:8px;transition:transform .18s,box-shadow .18s,opacity .18s;display:grid;position:relative}.schedule-course-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px #2458bc1f}.schedule-course-card:active{transform:translateY(1px)}.schedule-course-card.formal{color:var(--success);background:var(--success-soft)}.schedule-course-card.formal:hover{box-shadow:0 5px 14px #1884541f}.schedule-course-card.completed{box-shadow:inset 0 0 0 1px}.schedule-course-card.completed:hover{box-shadow:inset 0 0 0 1px,0 5px 14px #1e2f4c1f}.schedule-course-card.cancelled{color:var(--muted);background:var(--surface-subtle);opacity:.72}.schedule-course-card .course-id{letter-spacing:.02em;opacity:.88;margin-bottom:2px;font-size:10px;font-style:normal;font-weight:700;display:block}.schedule-course-card strong{color:currentColor;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.schedule-course-card span{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;line-height:1.35;display:block;overflow:hidden}.schedule-state{min-height:438px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:32px;display:grid}.schedule-state strong{color:var(--text);font-size:16px}.schedule-state small{margin-bottom:4px}.schedule-loading-line{background:var(--accent-soft);border-radius:999px;width:132px;height:7px;overflow:hidden}.schedule-loading-line:after{content:"";border-radius:inherit;background:var(--accent);width:46%;height:100%;animation:1.1s ease-in-out infinite alternate schedule-loading;display:block}.schedule-editor{width:860px}.schedule-range-dialog{width:460px}.schedule-range-grid{padding-bottom:18px}.schedule-mode-tabs{background:var(--surface-subtle);border-radius:9px;gap:4px;width:fit-content;margin:18px 24px 0;padding:4px;display:flex}.schedule-mode-tabs button{min-width:116px;min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 11px}.schedule-mode-tabs button.active{color:var(--accent-dark);background:var(--surface);box-shadow:var(--shadow-control);font-weight:700}.schedule-mode-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-form-grid{padding-top:18px}.schedule-form-grid input[readonly]{color:var(--muted);background:var(--surface-subtle)}.schedule-primary-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;display:grid}.schedule-primary-row>label{gap:7px;min-width:0;display:grid}.schedule-field-help,.schedule-datetime-field small,.schedule-series-pane>small,.schedule-reminders>small{color:var(--muted);font-size:10px;line-height:1.45}.schedule-datetime-row{grid-template-columns:minmax(0,1.35fr) minmax(0,.82fr) minmax(0,.82fr);gap:10px;padding-top:2px;display:grid}.schedule-classroom-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:10px;padding-top:2px;display:grid}.schedule-datetime-field{align-content:start;gap:7px;min-width:0;display:grid}.schedule-datetime-field>span{color:var(--text-soft);font-size:12px;font-weight:600}.schedule-datetime-field small.invalid{color:var(--danger)}.schedule-series-pane{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;padding:15px 0;display:grid}.schedule-series-pane>strong,.schedule-section-label>strong{color:var(--text-soft);font-size:12px}.schedule-series-pane>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.schedule-reminders{gap:9px;display:grid}.schedule-section-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-section-label .link{font-size:11px}.schedule-reminder-list{gap:8px;display:grid}.schedule-reminder-row{grid-template-columns:auto 78px 98px auto;align-items:center;gap:8px;display:grid}.schedule-reminder-row>span{color:var(--muted);font-size:12px}.schedule-reminder-row input,.schedule-reminder-row select{min-width:0}.schedule-reminder-remove{cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px}.schedule-reminder-remove:disabled{color:var(--muted);opacity:.42;cursor:default}.schedule-reminder-add{justify-self:start;margin-top:2px;font-size:12px}.schedule-dialog-error{border-radius:var(--radius-small);color:var(--danger);background:var(--danger-soft);font-size:var(--font-small);margin:-6px 24px 16px;padding:9px 11px}.schedule-validation{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);background:var(--surface-subtle);font-size:var(--font-small);gap:8px;margin:0 24px 20px;padding:11px 13px;display:flex}.schedule-validation strong{color:var(--text-soft);flex:none}.schedule-validation.success{border-color:var(--success-line);color:var(--success);background:var(--success-soft)}.schedule-validation.success strong{color:var(--success)}.schedule-validation.warning{border-color:var(--warning-line);color:var(--warning);background:var(--warning-soft)}.schedule-validation.warning strong{color:var(--warning)}.schedule-validation.danger{border-color:var(--danger-line);color:var(--danger);background:var(--danger-soft)}.schedule-validation.danger strong{color:var(--danger)}.schedule-detail-hero{gap:8px;margin-bottom:14px;display:flex}.schedule-detail-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.schedule-detail-actions .danger-action{margin-top:0}.danger-action{color:var(--danger);margin-top:20px}@keyframes schedule-loading{to{transform:translate(154%)}}@media (width<=1500px){.schedule-availability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-availability-grid article:nth-child(5n){border-right:1px solid var(--line)}.schedule-availability-grid article:nth-child(3n){border-right:0}}@media (width<=760px){.schedule-editor,.schedule-range-dialog{width:calc(100vw - 24px)}.schedule-primary-row,.schedule-datetime-row,.schedule-classroom-row,.schedule-series-pane>div{grid-template-columns:1fr}.schedule-availability-grid{grid-template-columns:1fr 1fr}.schedule-availability-grid article:nth-child(3n){border-right:1px solid var(--line)}.schedule-availability-grid article:nth-child(2n){border-right:0}}.metric-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card{background:#fff;border:1px solid #e7eaf0;border-radius:10px;gap:5px;padding:16px;display:grid;position:relative}.metric-card>span,.metric-card>small{color:#7a8497;font-size:var(--font-sm)}.metric-card>strong{font-size:var(--font-display)}.metric-icon{color:#2f6fed;background:#eaf1ff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px;display:grid}.task-list{padding:4px 18px}.task-row{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px;display:flex}.task-row small,.task-row>span{color:#8993a5;margin-top:4px;font-size:11px}.task-empty{text-align:center;color:#8b95a6;padding:70px 0}.dashboard-students{margin-top:16px}.settings-tabs{gap:6px;margin-bottom:14px;display:flex}.settings-tabs button{color:#657187;cursor:pointer;background:#fff;border:1px solid #dce1e9;border-radius:8px;padding:9px 15px}.settings-tabs button.active{color:#2f6fed;background:#eef4ff;border-color:#2f6fed}.scope-note{color:#53627a;background:#f5f8ff;border:1px solid #d9e4fa;border-radius:8px;margin:18px;padding:13px;font-size:13px}.filter-bar>input{border:1px solid #dce1e9;border-radius:7px;flex:1;min-width:220px;padding:9px 10px}.table-wrap pre{white-space:pre-wrap;word-break:break-all;color:#667085;max-width:260px;margin:0;font-size:11px}@media (width<=1239px){.metric-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:1fr}.drawer{max-width:calc(100vw - 24px)}}.core-page-head{justify-content:space-between;align-items:center;gap:20px;min-height:42px;margin-bottom:14px;display:flex}.core-page-head p{color:var(--muted);font-size:var(--font-sm);margin:5px 0 0}.dashboard-page-head,.student-page-head,.settings-page-head{justify-content:flex-end}.core-kicker{color:var(--muted);font-size:var(--font-caption);letter-spacing:.08em;font-weight:700;display:block}.core-page-actions{align-items:center;gap:9px;display:flex}.core-action{min-height:38px;font-size:var(--font-sm);padding:9px 13px}.core-count,.settings-mode{color:var(--muted);font-size:var(--font-sm);font-variant-numeric:tabular-nums}.settings-mode{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);padding:7px 10px}.core-segmented{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;align-items:center;gap:3px;padding:3px;display:inline-flex}.core-segmented button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 14px;transition:color .18s,background-color .18s,box-shadow .18s,transform .18s}.core-segmented button:hover{color:var(--accent-dark)}.core-segmented button.active{color:var(--accent-dark);background:var(--surface);box-shadow:var(--shadow-control);font-weight:700}.core-segmented button:active{transform:translateY(1px)}.core-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.core-metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:116px;box-shadow:var(--shadow-soft);align-content:start;gap:5px;padding:16px 17px;display:grid;position:relative;overflow:hidden}.core-metric:after{content:"";background:var(--surface-subtle);border-radius:50%;width:90px;height:90px;position:absolute;inset:auto -28px -34px auto}.core-metric>span,.core-metric>small{z-index:1;color:var(--muted);font-size:var(--font-sm);position:relative}.core-metric>strong{z-index:1;font-size:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.05;position:relative}.core-metric-icon{z-index:2;width:32px;height:32px;color:var(--accent);background:var(--accent-soft);border-radius:8px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.core-metric.is-green{border-color:var(--success-line)}.core-metric.is-green .core-metric-icon{color:var(--success);background:var(--success-soft)}.core-metric.is-orange{border-color:var(--warning-line)}.core-metric.is-orange .core-metric-icon{color:var(--warning);background:var(--warning-soft)}.core-metric.is-blue{border-color:var(--accent-line)}.core-panel{overflow:hidden}.core-panel-head{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:14px 18px;display:flex}.core-panel-head h2{font-size:var(--font-h2);letter-spacing:-.01em;margin:0}.core-panel-head small{color:var(--muted);font-size:var(--font-caption);margin-top:4px;display:block}.core-filter-bar{border-radius:var(--radius);min-height:58px;margin-bottom:14px;padding:10px 12px}.core-filter-bar>input{border:1px solid var(--line);border-radius:var(--radius-control);outline:0;height:36px;padding:0 10px}.core-filter-bar select,.core-filter-bar .search-box{border-color:var(--line);border-radius:var(--radius-control);height:36px}.core-filter-button{min-height:36px;padding:0 13px}.core-reset{flex:none;min-height:34px;padding:0 4px}.core-separator{color:var(--muted);font-size:11px}.core-loading-panel{border:1px solid var(--line);border-radius:var(--radius);min-height:350px;color:var(--muted);background:var(--surface);place-content:center;justify-items:center;gap:9px;display:grid}.core-loading-panel strong{color:var(--text);font-size:15px}.core-loading-panel small{font-size:11px}.core-loading-line{background:var(--accent-soft);border-radius:999px;width:116px;height:6px;display:block;overflow:hidden}.core-loading-line:after{content:"";border-radius:inherit;background:var(--accent);width:45%;height:100%;animation:1.05s ease-in-out infinite alternate schedule-loading;display:block}.page-notice button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:grid}.core-segmented button:focus-visible,.core-page-head a:focus-visible,.core-filter-bar button:focus-visible,.service-record-item:focus-visible,.settings-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-workspace{grid-template-columns:minmax(0,2fr) minmax(300px,.85fr);gap:14px;display:grid}.dashboard-course-panel table{min-width:760px}.dashboard-task-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-task-title-row h2{margin:0}.dashboard-task-tabs{background:var(--surface-subtle);border-radius:8px;gap:4px;padding:3px;display:inline-flex}.dashboard-task-tabs button{min-height:28px;color:var(--muted);cursor:pointer;font-size:var(--font-sm);background:0 0;border:0;border-radius:6px;padding:4px 10px}.dashboard-task-tabs button.active{color:var(--accent-dark);background:var(--surface);box-shadow:var(--shadow-control);font-weight:700}.dashboard-task-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-empty{place-content:center;justify-items:center;gap:9px;min-height:150px;display:grid}.task-row{border-bottom:1px solid var(--line);color:inherit;align-items:flex-start;gap:12px;padding:13px 18px;text-decoration:none;display:flex}.task-row .task-index{min-width:18px;color:var(--muted);font-size:var(--font-sm);flex-shrink:0;padding-top:2px}.task-row>div{flex:1;min-width:0}.task-row b,.task-row small{display:block}.task-row b{font-size:var(--font-body)}.task-row small{color:var(--muted);font-size:var(--font-caption);margin-top:3px}.task-row>.tag{flex-shrink:0;margin-top:2px}.task-row .task-action{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:28px;color:var(--accent-dark);font-size:var(--font-sm);white-space:nowrap;flex-shrink:0;justify-content:center;align-self:center;align-items:center;margin-top:0;padding:4px 10px;font-weight:600;text-decoration:none;display:inline-flex}.task-row .task-action:hover{border-color:var(--accent);background:#eaf1ff}.task-row:hover b{color:var(--accent-dark)}.task-row:active{transform:translateY(1px)}.student-toolbar{flex-wrap:wrap;gap:8px}.student-toolbar .search-box{flex:none;width:200px;min-width:200px}.student-toolbar select{flex:none;min-width:100px;max-width:120px}.student-toolbar select.student-filter-wide{width:148px;min-width:132px;max-width:148px}.student-list-panel .core-panel-head+.table-wrap{border-radius:0}.student-editor-modal{width:640px}.student-create-grid{padding-bottom:8px}.student-create-grid textarea+small{margin-top:4px}.student-create-grid .span-2{grid-column:1/-1}.student-autofill{background:#f7f9ff;border:1px dashed #c5d4f5;border-radius:10px;gap:8px;padding:12px 14px;display:grid}.student-autofill-head{font-size:var(--font-sm);color:#3b4a66;justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.student-autofill textarea{resize:vertical;width:100%;min-height:120px;font:inherit;background:#fff;border:1px solid #d7deea;border-radius:8px;padding:10px 12px;line-height:1.5}.student-autofill-tips{color:#6b7280;font-size:var(--font-sm);margin:0;padding-left:18px;line-height:1.5}.student-autofill-tips li{margin:2px 0}.searchable-select{width:100%;position:relative}.searchable-select input{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;height:36px;font-size:var(--font-body);background:#fff;outline:0;padding:0 10px}.searchable-select input:focus{border-color:var(--accent)}.searchable-select.disabled input{color:var(--muted);cursor:not-allowed;background:#f5f7fb}.searchable-select-list{z-index:30;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;max-height:220px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #1f325a1f}.searchable-select-list li{cursor:pointer;font-size:var(--font-body);padding:8px 12px}.searchable-select-list li:hover,.searchable-select-list li.active{color:var(--accent-dark);background:#eaf1ff}.searchable-select-empty{color:var(--muted);cursor:default}.searchable-select-empty:hover{color:var(--muted);background:0 0}.student-location-pair{grid-template-columns:1fr 1fr;align-items:start;gap:15px;display:grid}.student-location-pair label{align-content:start;gap:7px;display:grid}.student-meta-triple{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:15px;display:grid}.student-meta-triple label{align-content:start;gap:7px;display:grid}.student-follow-triple textarea{resize:vertical;min-height:38px}@media (width<=720px){.student-location-pair,.student-meta-triple{grid-template-columns:1fr}}.student-extra-contacts{gap:12px;padding-top:2px;display:grid}.student-extra-contact-row{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}.student-extra-contact-row label{gap:7px;display:grid}.student-extra-contact-remove,.student-add-contact{justify-self:start;min-height:36px;padding:0 2px;font-weight:600}.student-add-contact{padding-top:2px}@media (width<=720px){.student-editor-modal{width:calc(100vw - 24px)}}.student-business-table{table-layout:fixed;width:100%;min-width:1760px}.student-business-table th,.student-business-table td{font-size:var(--font-body);vertical-align:middle;text-align:center;white-space:nowrap;padding:10px 8px}.student-business-table th:first-child{width:64px}.student-business-table th:nth-child(2){width:100px}.student-business-table th:nth-child(3){width:88px}.student-business-table th:nth-child(4){width:100px}.student-business-table th:nth-child(5){width:72px}.student-business-table th:nth-child(6){width:64px}.student-business-table th:nth-child(7),.student-business-table th:nth-child(8){width:88px}.student-business-table th:nth-child(9){width:200px}.student-business-table th:nth-child(10){width:120px}.student-business-table th:nth-child(11){width:88px}.student-business-table th:nth-child(12){width:120px}.student-business-table th:nth-child(13){width:88px}.student-business-table th:nth-child(14){width:140px}.student-business-table th:nth-child(15){width:136px}.student-business-table th:nth-child(16),.student-business-table th:nth-child(17){width:72px}.student-business-table .row-actions{justify-content:center}.student-next-follow-cell{font-variant-numeric:tabular-nums}.student-business-table .tag{justify-content:center;display:inline-flex}.follow-compose{flex-wrap:wrap;align-items:flex-end}.follow-compose-field{flex:1;gap:4px;min-width:140px;display:grid}.follow-compose-field>span{color:#5d687a;font-size:var(--font-caption);font-weight:600}.student-follow-preview-modal{width:min(480px,100vw - 32px)}.student-follow-preview-body{gap:12px;padding:18px 24px;display:grid}.student-follow-preview-body .detail-field{border:1px solid #e8ebf0;border-radius:8px;padding:12px}.student-follow-preview-body .detail-field small{color:#8a94a5;margin-bottom:5px;display:block}.student-follow-preview-body .detail-field b,.student-follow-preview-body .detail-field p{color:var(--text);white-space:pre-wrap;text-align:left;margin:0;line-height:1.6}.student-follow-history{border-top:1px solid #edf0f4;gap:10px;padding-top:4px;display:grid}.student-follow-history h3{font-size:var(--font-h3);margin:0}.student-follow-history-empty{color:var(--muted);font-size:var(--font-sm);margin:0}.student-follow-history-list{gap:10px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.student-follow-history-list li{background:#fafbfc;border:1px solid #e8ebf0;border-radius:8px;padding:12px}.student-follow-history-meta{color:#5b6575;font-size:var(--font-sm);flex-wrap:wrap;gap:8px 14px;margin-bottom:6px;font-weight:600;display:flex}.student-follow-history-list p{white-space:pre-wrap;margin:0;line-height:1.55}.student-follow-history-list small{color:var(--muted);margin-top:6px;display:block}.student-detail-hero{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;display:flex}.student-detail-hero h3{font-size:var(--font-h3);margin:0}.student-detail-hero p{color:var(--muted);font-size:var(--font-sm);margin:6px 0 0}.student-detail-drawer{width:min(560px,100vw)}.student-detail-body{background:#f4f6f9;gap:14px;display:grid}.student-drawer-block{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;margin:0;padding:16px;display:grid}.student-drawer-overview .student-detail-hero{padding-bottom:2px}.student-drawer-overview .student-drawer-scope{margin-bottom:0}.student-detail-grid .detail-field{background:#fafbfd;border:1px solid #e8ebf0;border-radius:8px;padding:12px}.student-detail-grid .detail-field .cell-sub{color:var(--muted);margin-top:4px;font-size:12px;display:block}.student-next-follow-value{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-next-follow-value b{min-width:0}.student-next-follow-field input[type=datetime-local],.student-next-follow-field select,.student-next-follow-content textarea{width:100%;margin-top:8px}.student-overview-location-edit{gap:8px;margin-top:8px}.student-overview-location-edit select{margin-top:0}.student-learning-needs-editor{resize:vertical;width:100%;margin-top:4px}.student-next-follow-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.student-next-follow-content b{color:var(--text);word-break:break-word;font-size:13px;font-weight:600;line-height:1.5;display:block}.student-drawer-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;display:flex}.student-drawer-panel-head h3,.student-drawer-block>h3{font-size:var(--font-h3);margin:0}.student-drawer-panel-head small{color:var(--muted);font-size:var(--font-caption);margin-top:4px;display:block}.student-drawer-block>.conversion-flow{margin-top:-4px}.student-drawer-block>p{color:#5f6b7d;margin:0;line-height:1.7}.guardian-list{gap:10px;display:grid}.guardian-row{border:1px solid var(--line);background:#fbfcfe;border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.guardian-row strong{font-size:13px;display:block}.guardian-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.conversion-flow{margin:4px 0 14px;display:block}.student-detail-drawer .timeline-item{border-left:2px solid #dce4f2;padding:0 0 18px 20px;display:block}.student-detail-drawer .timeline-item:before{content:"";background:var(--accent,#2f6fed);border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:-6px}.student-detail-drawer .timeline-item strong{display:block}.student-detail-drawer .timeline-item p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.timeline-item.is-pending:before{background:#c5cfdf}.timeline-item.is-current:before{background:#f59e0b}.timeline-item.is-pending strong{color:var(--muted)}.timeline-item.is-done:before{background:var(--accent,#2f6fed)}.formal-class-records{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.formal-class-records-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.formal-class-records-head h3{font-size:var(--font-h3);margin:0}.formal-record-item{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfcfe;border-radius:9px;width:100%;margin-bottom:8px;padding:10px 12px}.formal-record-item:last-child{margin-bottom:0}.formal-record-item:hover{border-color:var(--accent,#2f6fed);background:#eef4ff}.formal-record-item strong{color:var(--text);font-size:13px;display:block}.formal-record-item p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;font-size:12px;display:flex}.drawer-records-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.package-page-head{align-items:center}.package-page-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.package-consume-link{font-variant-numeric:tabular-nums}.package-consumption-drawer{width:min(920px,100vw - 24px)}.package-consumption-filter{flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 12px;display:flex}.package-consumption-filter label{color:var(--muted);gap:6px;font-size:12px;display:grid}.package-consumption-filter input[type=date]{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px}.package-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.package-metric{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:6px;min-height:110px;padding:16px;display:grid}.package-metric .label{color:var(--muted);font-size:12px;font-weight:750}.package-metric .value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:820;line-height:1.05}.package-metric .meta{color:var(--muted);font-size:11px;line-height:1.35}.package-metric .meta.good{color:var(--success)}.package-metric-button{cursor:pointer;text-align:left;border-color:var(--line);color:inherit}.package-metric-button:hover{border-color:var(--accent);background:var(--accent-soft)}.package-metric-action{justify-self:start;min-height:30px;margin-top:2px;padding:0 10px;font-size:12px}.package-balance{font-variant-numeric:tabular-nums;white-space:nowrap}.package-records-head{flex-direction:column;align-items:stretch;gap:12px;display:flex}.package-records-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.package-records-filters .core-count{margin-left:auto}.package-inline-search{flex:none;width:168px;margin-left:0}.package-status-filter{border:1px solid var(--line);background:var(--surface);min-width:112px;height:36px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px}.package-ledger-hint{color:var(--text-soft);margin:0;font-size:12px;line-height:1.5}.package-ledger-hint-footer{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:12px 18px;font-size:13px;font-weight:400}.package-records-table{width:max-content;min-width:100%}.package-records-table th,.package-records-table td{vertical-align:middle;white-space:nowrap;padding:12px 14px}.package-records-table .tag{white-space:nowrap;align-items:center;display:inline-flex}.package-remark-cell{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.package-register-modal{width:min(720px,100vw - 32px)}.package-register-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px}.package-register-form>label{align-content:start;min-width:0}.package-register-form>label>input,.package-register-form>label>select,.package-register-form>label>textarea{width:100%;min-height:38px}.package-register-form>label>textarea{min-height:84px}.package-register-form .field-helper,.field-helper{min-height:34px;color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4;display:block}.package-register-form .span-2 .field-helper{min-height:0}@media (width<=720px){.package-register-form{grid-template-columns:1fr}}.validation-box,.package-consume-note{background:color-mix(in srgb, var(--success) 10%, white);border:1px solid color-mix(in srgb, var(--success) 28%, white);color:#1f6b45;border-radius:10px;margin:14px 18px 0;padding:12px 14px;font-size:13px;line-height:1.5}.package-consume-note strong{margin-right:4px}.package-revoke-preview{border:1px solid var(--line);background:var(--surface-soft,#f7f8fb);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:12px 14px;display:grid}.package-revoke-preview small{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.package-revoke-preview b{font-size:14px}.package-revoke-preview .span-2{grid-column:1/-1}.package-revoke-amounts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.package-revoke-amounts label{display:block}.package-revoke-amounts input{width:100%}@media (width<=640px){.package-revoke-amounts{grid-template-columns:1fr}}.package-revoke-empty{color:var(--muted);grid-column:1/-1;gap:4px;font-size:13px;display:grid}.package-revoke-empty strong{color:var(--text);font-size:14px}.package-revoke-check{margin:0}.package-revoke-check.danger{color:#8f2f2f;background:#fbf0f0;border-color:#f4d2d2}.service-type-tabs{align-items:center;gap:8px;min-height:42px;margin-bottom:14px;display:flex}.service-type-tabs button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:36px;color:var(--body-text);background:var(--surface);cursor:pointer;padding:0 14px;transition:border-color .18s,color .18s,background-color .18s,transform .18s}.service-type-tabs button:hover{border-color:var(--accent-line);color:var(--accent-dark)}.service-type-tabs button.active{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);font-weight:700}.service-type-tabs button:active{transform:translateY(1px)}.service-type-tabs button:focus-visible,.service-filterbar :is(button,select,input):focus-visible,.service-record-item:focus-visible,.service-pagination :is(button,select):focus-visible,.service-form-card :is(input,textarea,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.service-filterbar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:9px;min-height:62px;margin-bottom:14px;padding:12px;display:flex}.service-filterbar select,.service-filterbar input{border:1px solid var(--line);height:38px;color:var(--text);background:var(--surface);font:inherit;border-radius:9px;outline:0;padding:0 11px}.service-filterbar>select{min-width:152px}.service-date-range{align-items:center;gap:9px;display:flex}.service-date-range input{width:145px}.service-date-range span{color:var(--muted);font-size:12px}.service-search{border:1px solid var(--line);background:var(--surface);border-radius:9px;width:260px;height:38px;display:flex}.service-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.service-search input{background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 11px}.service-filterbar .service-reset{min-height:38px;padding:0 14px}.service-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}.service-layout{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:18px;display:grid}.service-record-panel,.service-form-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.service-record-panel{flex-direction:column;min-height:664px;display:flex}.service-record-list{flex:1;max-height:690px;overflow:auto}.service-record-item{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;gap:4px;padding:14px;transition:background-color .18s,transform .18s;display:grid}.service-record-item:hover{background:var(--surface-subtle)}.service-record-item:active{transform:translateY(1px)}.service-record-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.service-record-title{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.service-record-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.service-record-tags{flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.service-record-item .tag{white-space:nowrap;flex:none;padding:3px 6px;font-size:10px;font-style:normal;font-weight:600;display:inline-block}.service-record-item p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:1.5;overflow:hidden}.service-list-state,.service-detail-empty{min-height:300px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:24px;display:grid}.service-list-state{min-height:610px}.service-list-state strong,.service-detail-empty strong{color:var(--text)}.service-list-state small,.service-detail-empty small{font-size:11px}.service-pagination{border-top:1px solid var(--line);min-height:52px;color:var(--muted);background:var(--surface-subtle);align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.service-pagination select{min-width:96px;height:32px;margin-right:auto;padding:0 8px}.service-pagination button{border:1px solid var(--line);border-radius:var(--radius-small);min-width:32px;height:30px;color:var(--body-text);background:var(--surface);cursor:pointer;padding:0 9px}.service-pagination button:disabled{opacity:.45;cursor:default}.service-pagination b{border-radius:var(--radius-small);min-width:28px;height:28px;color:var(--surface);background:var(--accent);place-items:center;display:grid}.service-form-card{min-height:664px}.service-form-card form{min-width:0}.service-form-head{justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:16px 18px 0;display:flex}.service-form-head h2{font-size:var(--font-h2);margin:0}.service-form-section{border-bottom:1px solid var(--line);padding:18px}.service-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.service-readonly-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-readonly-grid .service-form-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px}.service-readonly-grid .service-form-row>span{white-space:nowrap}.service-form-row{gap:6px;min-width:0;display:grid}.service-form-row>span{color:var(--body-text);font-size:12px;font-weight:650}.service-form-row input,.service-form-row textarea{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;color:var(--text);background:var(--surface);font:inherit;outline:0;padding:9px 10px}.service-form-row input{height:38px}.service-form-row textarea{resize:vertical;min-height:82px;line-height:1.55}.service-form-row input[readonly],.service-form-row textarea[readonly]{color:var(--body-text);background:var(--surface-subtle);cursor:default}.service-form-row>small{color:var(--muted);font-variant-numeric:tabular-nums;justify-self:end;font-size:10px}.service-readonly-grid .service-consumption-note{grid-column:2;justify-self:start;margin-top:0;line-height:1.4}.service-fulfillment-block{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:10px;margin-top:14px;padding:14px}.service-fulfillment-block>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.service-fulfillment-block strong{font-size:13px}.service-fulfillment-block p{color:var(--accent-dark);margin:9px 0 0;font-size:12px;line-height:1.65}.service-ops-fill-block{background:#f8fbff;border:1px solid #bfd4ff;border-radius:10px;margin-top:14px;padding:14px}.service-ops-fill-block>small{color:#3559b8;margin:0 0 12px;font-size:12px;line-height:1.5;display:block}.service-ops-fill-block select{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;height:38px;color:var(--text);background:var(--surface);font:inherit;padding:0 10px}.service-confirm-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.service-confirm-row small{color:var(--muted);font-size:12px;line-height:1.45}.service-status-chip{align-items:center;min-height:38px;display:flex}.service-status-inline{align-items:center;gap:8px;margin-left:4px;display:inline-flex}.service-status-inline em{color:var(--body-text);font-size:12px;font-style:normal;font-weight:650}.service-withdraw-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:8px;display:inline-flex}.service-withdraw-pending{color:#b45309;font-size:12px;font-weight:650}.service-withdraw-pending small{color:var(--muted);font-weight:500}.service-withdraw-error{flex:100%;margin:0}.service-ops-fill-block .span-2{grid-column:1/-1}.service-field-hint{color:var(--muted);font-size:12px;justify-self:start!important}.service-section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.service-section-title small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.service-section-title h3{font-size:var(--font-h3);margin:0 0 5px}.service-section-title small{color:var(--muted);font-size:11px}.service-feedback-fields{gap:14px;margin-top:14px;display:grid}.service-feedback-field-box{position:relative}.service-feedback-field-box textarea{padding-bottom:40px}.service-upload-btn{border:1px solid var(--line);color:var(--accent);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:650;display:inline-flex;position:absolute;bottom:8px;right:8px}.service-upload-btn.disabled{opacity:.55;cursor:default;pointer-events:none}.service-attachment-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.service-attachment-list li{color:var(--body-text);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.service-attachment-list small{color:var(--muted)}.service-teacher-archive{margin-top:4px}.service-teacher-empty{color:var(--muted);font-size:var(--font-body);margin:12px 0 0}.service-teacher-text{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-subtle);color:var(--body-text);font-size:var(--font-body);white-space:pre-wrap;margin:0;padding:10px 12px;line-height:1.6}.service-feedback-form textarea::placeholder{color:var(--nav-muted)}.service-form-error{border-radius:var(--radius-small);color:var(--danger);background:var(--danger-soft);font-size:var(--font-small);margin:14px 0 0;padding:9px 11px}.service-form-foot{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 18px;display:flex}.service-form-foot .primary{min-height:38px}.record-row-actions a:focus-visible,.record-row-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.record-metrics{gap:14px;margin-bottom:18px}.record-metrics .core-metric{min-height:116px;box-shadow:none;padding:18px;display:block}.record-metrics .core-metric:after{display:none}.record-metrics .core-metric>span{margin-bottom:12px;font-size:14px;display:block}.record-metrics .core-metric>strong{letter-spacing:-.03em;font-size:28px;font-weight:760;line-height:1;display:block}.record-metrics .core-metric>small{margin-top:10px;display:block}.record-metrics .core-metric>small.warn{color:var(--warning)}.record-metrics .core-metric>small.good{color:var(--success)}.record-metrics .core-metric>strong.warn{color:var(--warning)}.record-metrics .core-metric>strong.good{color:var(--success)}.record-filter-bar{flex-wrap:nowrap;gap:8px;padding:11px 12px;overflow-x:auto}.record-filter-bar .search-box{flex:0 200px;min-width:180px;max-width:220px}.record-filter-bar select{flex:none;min-width:96px;max-width:128px}.record-filter-bar select:first-of-type,.record-filter-bar select:nth-of-type(5){min-width:108px;max-width:140px}.record-filter-bar select:nth-of-type(4){min-width:140px;max-width:168px}.record-filter-bar select:nth-of-type(6){min-width:118px;max-width:150px}.record-panel .core-panel-head{min-height:68px}.record-table-wrap{scrollbar-gutter:stable}.record-table{table-layout:fixed;width:100%;min-width:1120px}.record-table th,.record-table td{vertical-align:middle;text-align:center;white-space:nowrap;height:46px;padding:8px 6px;font-size:12px}.record-table th:first-child{width:88px}.record-table th:nth-child(2){width:100px}.record-table th:nth-child(3),.record-table th:nth-child(4){width:72px}.record-table th:nth-child(5){width:56px}.record-table th:nth-child(6){width:80px}.record-table th:nth-child(7){width:72px}.record-table th:nth-child(8){width:80px}.record-table th:nth-child(9){width:100px}.record-table th:nth-child(10){width:112px}.record-table th:nth-child(11){width:110px}.record-table th:nth-child(12){width:72px}.record-table tbody tr:hover{background:var(--surface-subtle)}.record-table .tag{justify-content:center;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.record-time,.record-consumption-id{color:var(--body-text);font-variant-numeric:tabular-nums}.record-course-id .link{font-weight:700}.record-row-actions{justify-content:center;align-items:center;gap:6px;display:inline-flex}.record-row-actions i{color:var(--nav-muted);font-style:normal}.record-row-actions .link:disabled,.record-course-id .link:disabled{opacity:.5;cursor:wait}.record-table .loading-cell{text-align:center;height:188px}.record-loading-line{background:var(--accent-soft);border-radius:999px;width:92px;height:5px;margin:0 auto 10px;display:block;overflow:hidden}.record-loading-line:after{content:"";border-radius:inherit;background:var(--accent);width:44%;height:100%;animation:1.05s ease-in-out infinite alternate schedule-loading;display:block}.record-table .empty-cell{text-align:center;height:188px}.record-table .empty-cell strong,.record-table .empty-cell small{display:block}.record-table .empty-cell strong{color:var(--text);font-size:14px}.record-table .empty-cell small{color:var(--muted);margin-top:7px}.record-pagination{border-top:1px solid var(--line);min-height:58px}.record-pagination select{min-width:98px;height:32px;padding:4px 8px;font-size:12px}.record-detail-status{align-items:center;gap:9px;margin-bottom:14px;display:flex}.record-detail-actions{border-top:1px solid var(--line);gap:9px;margin-top:24px;padding-top:18px;display:flex}.record-detail-actions .secondary{min-height:38px;padding:9px 12px}.record-followup-archive{gap:14px;margin-top:8px;display:grid}.record-followup-archive>h3{margin:0}.record-followup-block{background:#fafbfd;border:1px solid #e8ebf0;border-radius:10px;gap:10px;padding:12px 14px;display:grid}.record-followup-block>strong{color:var(--text);font-size:var(--font-body);align-items:baseline;gap:6px;display:flex}.record-followup-block .detail-field{background:0 0;border:0;border-radius:0;padding:0}.record-followup-block .detail-field small{color:#8a94a5;margin-bottom:4px;display:block}.record-followup-block .detail-field p{color:var(--text);white-space:pre-wrap;text-align:left;margin:0;line-height:1.65}.record-followup-block .detail-field a{color:#2f6fed;word-break:break-all}.record-followup-block .drawer-records-empty{margin-top:4px}.settings-workspace{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:14px;display:grid}.settings-menu{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:5px;padding:7px;display:grid}.settings-menu button{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:flex-start;gap:10px;padding:11px;transition:color .18s,background-color .18s,transform .18s;display:flex}.settings-menu button:hover{color:var(--text);background:var(--surface-subtle)}.settings-menu button.active{color:var(--accent-dark);background:var(--accent-soft)}.settings-menu button:active{transform:translateY(1px)}.settings-menu button>span{gap:3px;display:grid}.settings-menu strong{font-size:13px}.settings-menu small{color:var(--muted);font-size:10px}.settings-content{min-width:0}.settings-users-table .settings-subject-select{min-width:128px;max-width:160px}.settings-users-table .settings-subject-select.invalid{border-color:var(--danger,#d14343);box-shadow:0 0 0 1px #d143432e}.settings-user-pending td{background:#fff8f4}.permission-table th:first-child{color:var(--text)}.permission-value{min-width:62px;color:var(--muted);background:var(--surface-subtle);border-radius:7px;justify-content:center;padding:5px 8px;font-size:12px;display:inline-flex}.settings-audit-filter{margin-bottom:14px}@media (width<=1320px){.core-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.record-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-workspace{grid-template-columns:1fr}.service-search{flex:260px}.service-count{text-align:right;width:100%;margin-left:0}.service-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1160px){.record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1120px){.service-layout,.settings-workspace{grid-template-columns:1fr}.service-record-list{max-height:420px}.service-record-panel{min-height:0}.service-list-state{min-height:260px}.settings-menu{grid-template-columns:repeat(3,1fr)}}.import-modal{width:620px}.import-modal-body{gap:16px;padding:18px 24px 8px;display:grid}.import-step{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px}.import-step-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.import-step-head strong{font-size:14px}.import-step-head span{color:var(--muted-text);font-size:12px}.import-helper{color:var(--muted-text);margin:0 0 10px;font-size:12px;line-height:1.5}.import-upload-zone{border:1.5px dashed var(--line);min-height:132px;color:var(--muted-text);cursor:pointer;text-align:center;background:#f8fafc;border-radius:12px;justify-items:center;gap:8px;padding:22px 16px;transition:border-color .18s,background-color .18s;display:grid}.import-upload-zone:hover,.import-upload-zone.dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.import-upload-zone strong{color:var(--text)}.import-upload-zone p{max-width:360px;margin:0;font-size:12px}.import-file-name{color:var(--body-text);margin-top:10px;font-size:13px}.import-report{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.import-report-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;display:grid}.import-report-stats>div{background:#f5f7fa;border-radius:10px;padding:10px 12px}.import-report-stats span{color:var(--muted-text);font-size:12px;display:block}.import-report-stats strong{margin-top:4px;font-size:22px;line-height:1;display:block}.import-report-stats .good strong{color:var(--success)}.import-report-stats .warn strong{color:var(--warning)}.import-report-stats .bad strong{color:#d14343}.import-issue-list{color:var(--muted-text);margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.6}.import-note{color:#2f6b45;background:#eef9f1;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.55}.import-note strong{color:#1f5133}
