:root{color-scheme:dark;--bg:#080b15;--panel:#111622ed;--line:#ffffff17;--muted:#9da8bc;--red:#ec4a5f;--green:#81dba6;--orange:#efb05a;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f6f5fa}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:#1a2031;border-radius:10px;padding:11px 18px;transition:transform .15s,background .15s;white-space:nowrap}button:hover{background:#303348;border-color:#ec4a5f90}button:active{transform:translateY(3px)}button:disabled{opacity:.5;cursor:not-allowed}button.active,.primary{background:#b5223b;border-color:#eb6576;box-shadow:0 4px 0 #5c1726}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ec8a9a;outline-offset:3px}input,select,textarea{background:#0b0f1d;border:1px solid #3b4356;border-radius:8px;color:inherit;padding:10px 12px;min-width:0;max-width:100%}textarea{resize:vertical;min-height:88px}a{color:#f5abb5}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.sky{position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,#080b159e,#080b15df),url('/assets/starfield-home.jpg') center/cover}.sky:after{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 25px 25px,#ffffff9e 60%,transparent),radial-gradient(1px 1px at 70px 50px,#e6b7ca 60%,transparent);background-size:170px 130px,230px 190px;animation:drift 70s linear infinite;opacity:.6}@keyframes drift{to{background-position:680px 0,920px 0}}@media(prefers-reduced-motion:reduce){.sky:after{animation:none}*{transition:none!important}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8vw;padding:70px 9vw}.brand{text-align:center}.brand small{letter-spacing:7px;color:#e7cbd3}.brand img.title{width:100%;max-width:620px;margin:34px 0 20px}.brand .rule{height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);margin:8px auto 22px;width:85%}.brand img.slogan{width:90%;max-width:500px}.brand img.logo{display:block;width:110px;height:110px;object-fit:cover;border-radius:50%;margin:32px auto;box-shadow:0 0 35px #d74d6545}.login-card{padding:36px;background:#111522ed;border:1px solid var(--line);border-radius:22px;max-width:470px;box-shadow:0 24px 100px #0006}.eyebrow{color:#f18b9a;letter-spacing:2px;font-size:12px;margin-bottom:12px}.login-card h1{font-size:30px;margin-bottom:12px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.single{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:8px}.field label{color:#bdc6d7;font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.login-card .primary{width:100%}.notice{background:#f3b34c0c;border:1px solid #f3b34c35;color:#e6c392;padding:12px 15px;border-radius:10px;line-height:1.8;font-size:13px;margin:18px 0}.error{background:#b32b4033;border-color:#eb6576;color:#ffc4ce}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#0a0d17e8;padding:28px 18px;display:flex;flex-direction:column}.side-brand{padding:0 12px 26px}.side-brand strong{font-size:19px;display:block;margin-bottom:8px}.side-brand small{color:#b88893;font-size:11px;letter-spacing:2px}.nav{display:grid;gap:8px}.nav button{text-align:left;border-color:transparent;background:transparent;color:#aeb8cb;padding:13px 16px}.nav button.active{color:#fff;background:#a5223840;border-color:#e45c7050;box-shadow:none}.nav button span{margin-right:12px;color:#e98392}.sidebar .foot{margin-top:auto;padding:20px 12px 0;color:var(--muted);font-size:12px;line-height:1.9}.workspace{padding:0 36px 40px;min-width:0}.topbar{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:30px}.topbar small{color:var(--muted)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:28px;margin-bottom:9px}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.tools label{display:flex;gap:8px;align-items:center;color:var(--muted)}.tools input[type=search]{min-width:260px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:24px}.panel h2{font-size:19px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:24px}.metric{border:1px solid var(--line);background:#131827d9;border-radius:12px;padding:20px;text-align:left}.metric small{display:block;color:var(--muted);margin-bottom:12px}.metric strong{font-size:24px;font-variant-numeric:tabular-nums}.metric.active{background:#65223770;border-color:var(--red)}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:850px;background:#0d1120d9}th,td{text-align:left;padding:15px 17px;border-bottom:1px solid var(--line);line-height:1.65;vertical-align:middle;min-width:110px;max-width:330px;overflow-wrap:anywhere}th{background:#321923;color:#f1b4c0;font-weight:500;position:sticky;top:0;white-space:nowrap}th button{border:0;background:transparent;padding:0;color:inherit}th:first-child,td:first-child{min-width:56px;width:65px}tbody tr:hover{background:#ffffff05}tfoot td{background:#211c2d;font-weight:600;white-space:nowrap}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.credit{color:#ff7989}.debt{color:var(--green)}.zero{color:var(--orange)}.pending{color:#b6bdd0}.row-actions{display:flex;gap:8px;min-width:185px;flex-wrap:wrap}.row-actions button,.small-btn{padding:7px 11px;font-size:13px;box-shadow:none}.filters{display:flex;gap:9px;overflow-x:auto;white-space:nowrap;margin-bottom:18px;padding:2px 0 7px}.filters button{border-radius:7px;flex-shrink:0}.empty{padding:70px 24px;text-align:center;color:#aeb7ca;line-height:2;border:1px dashed #ffffff28;border-radius:14px}.teacher-choices{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px}.teacher-choices button{padding:28px;text-align:left;line-height:2}.teacher-choices strong{display:block;font-size:20px}.teacher-choices small{color:#b8c2d7}.badge{display:inline-block;border:1px solid #ffffff25;border-radius:6px;padding:2px 8px;font-size:12px}.section-title{display:flex;justify-content:space-between;align-items:center}.hero-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.hero-cards button{padding:50px 32px;white-space:normal;text-align:left;min-height:195px;background:linear-gradient(140deg,#392334,#131a2b);border-left:4px solid #e6536a}.hero-cards strong{display:block;font-size:27px;margin-bottom:15px}.hero-cards p{color:#b7c2d7;margin:0;line-height:1.8}dialog{color:inherit;background:#141929;border:1px solid #6a4555;border-radius:16px;padding:30px;width:min(960px,94vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#02040bbd;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.dialog-head h2{margin:0;font-size:23px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:15px 25px;border-radius:10px;background:#403147;box-shadow:0 6px 25px #0007;display:none;z-index:9;max-width:90vw}.practice-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.media video{width:100%;max-height:430px;background:#000}.media audio{width:100%;margin:15px 0}.media img{max-width:100%}.avatar{width:65px;height:65px;border-radius:50%;object-fit:cover}.teacher-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.teacher-card{border:1px solid var(--line);border-radius:14px;padding:25px;background:var(--panel)}.teacher-card h2{margin:18px 0 8px}.teacher-card p{line-height:1.9;color:var(--muted)}.loading{padding:50px;text-align:center;color:#b8c2d7}.pagination{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:14px}.back-link{color:#e9acb5;padding:0;border:0;background:none;margin-bottom:18px}@media(max-width:1000px){.workspace{padding:0 18px 30px}.shell{grid-template-columns:185px 1fr}.teacher-choices{grid-template-columns:repeat(2,1fr)}.login-wrap{gap:30px;padding:50px 5vw}.login-card{padding:25px}}@media(max-width:700px){.login-wrap{display:block}.brand img.title{max-width:340px;margin:20px 0 8px}.brand img.slogan{max-width:280px}.brand img.logo{display:none}.login-card{margin:25px auto}.shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.side-brand,.sidebar .foot{display:none}.nav{display:flex;overflow:auto}.nav button{flex-shrink:0}.topbar{height:65px}.hero-cards,.form-grid{grid-template-columns:1fr}.practice-grid{grid-template-columns:repeat(2,1fr)}}
.brand img.logo{width:136px;height:136px;object-fit:contain;padding:12px;background:#080b15}
.binding-qr{display:block;width:300px;max-width:100%;margin:20px auto}.panel form{max-width:900px}.field[hidden]{display:none!important}
.salary-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:125px;flex-shrink:0}.salary-nav button small{font-size:15px;font-weight:600}
.sky{background-image:linear-gradient(90deg,#080b159e,#080b15df),url('./assets/starfield-home.jpg')}
.remember-login{display:flex;align-items:flex-start;gap:10px;margin-top:20px;color:#bdc6d7;font-size:13px;line-height:1.7;cursor:pointer}.remember-login input{flex-shrink:0;margin-top:5px;accent-color:#c22c44}
.booking-count{color:var(--muted);margin:0 0 20px}.booking-count strong{color:#ff8599}.booking-teachers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-profile{display:flex;align-items:center;gap:20px}.booking-profile .avatar{width:88px;height:88px;flex-shrink:0}.booking-profile h2{margin:0 0 10px;font-size:25px}.booking-profile p{margin:0;line-height:1.6}.booking-intro{white-space:pre-line;line-height:1.9;color:var(--muted)}.booking-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.booking-tags span{font-size:12px;padding:4px 10px;border:1px solid #ea6a8233;background:#d0345014;border-radius:6px}.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.booking-actions .primary{flex:1;min-width:125px}.booking-steps{display:flex;list-style:none;padding:0;gap:12px;margin:25px 0}.booking-steps li{display:flex;align-items:center;gap:10px;flex:1;color:var(--muted);border-bottom:2px solid var(--line);padding-bottom:18px}.booking-steps span{display:grid;place-items:center;width:30px;height:30px;background:#242b3c;border-radius:50%}.booking-steps li.active{border-color:#e65470;color:#fff}.booking-steps li.active span{background:#b82d48}.booking-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.booking-types button{display:flex;flex-direction:column;gap:10px;align-items:center;padding:20px 8px;min-height:95px}.booking-types button small{font-size:12px}.booking-types button:disabled,.booking-modes button:disabled{opacity:.45;cursor:not-allowed}.booking-modes{display:flex;flex-wrap:wrap;gap:12px}.booking-modes button{min-width:120px}.booking-types button.active,.booking-modes button.active{background:#74253d;border-color:#fc7896;box-shadow:0 0 0 1px #fc7896}.booking-slots{display:grid;gap:14px}.booking-slot{display:flex;align-items:flex-start;gap:16px;width:100%;text-align:left;white-space:normal;padding:22px;border-radius:14px}.booking-slot.selected{border-color:#ff7897;background:#512036;box-shadow:0 0 0 1px #ff7897}.booking-slot:disabled{opacity:.5;cursor:not-allowed}.booking-check{display:grid;place-items:center;min-width:24px;height:24px;border:1px solid #e870895c;border-radius:6px}.selected .booking-check{background:#ce3655}.booking-slot-body{flex:1;min-width:0;line-height:1.8}.booking-slot-body>strong{font-size:18px}.booking-dates{padding-left:18px;line-height:1.9;margin:10px 0;max-height:200px;overflow:auto}.booking-price{white-space:nowrap;color:#ff8da6;margin-top:3px}.booking-selection{position:sticky;bottom:15px;display:flex;flex-wrap:wrap;align-items:center;gap:22px;border:1px solid #b43a56;background:#171322f2;border-radius:14px;padding:20px;box-shadow:0 8px 30px #0008}.booking-selection>div{flex:1;min-width:200px}.booking-selection h3{margin:0}.booking-selection .booking-tags{margin-bottom:0}.booking-review{padding:15px 0;border-bottom:1px solid var(--line)}@media(max-width:1000px){.booking-teachers{grid-template-columns:1fr}.booking-types{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.booking-types{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-steps{gap:7px;font-size:12px}.booking-steps li{gap:5px}.booking-slot{padding:14px;gap:10px}.booking-price{font-size:14px}.booking-profile .avatar{width:68px;height:68px}}
.settlement-navigation{min-width:0;margin:16px 0}.settlement-row-title{font-size:15px;font-weight:700;margin:16px 0 10px}.settlement-row{display:flex;gap:12px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin}.settlement-row .metric{flex:0 0 154px;min-height:94px;text-align:left}.settlement-row .metric small,.settlement-row .metric strong{display:block;white-space:nowrap}.settlement-row .metric strong{margin-top:10px}.settlement-row .metric.active{background:#652032;border-color:#ff8896}.settlement-detail td:nth-child(6){min-width:290px;max-width:410px;white-space:normal;overflow-wrap:anywhere}.settlement-total{padding:16px;background:#552032;font-weight:700}
