/* 湘驾约 · 深色科技界面层
 * 业务组件继续使用原有 class；本文件只负责统一视觉、层次和状态。
 */
:root{
  --bg:#07111f;--bg-deep:#040a13;--surface:rgba(12,27,45,.78);--surface-strong:#10243b;
  --surface-soft:rgba(19,42,67,.72);--line:rgba(150,211,255,.17);--line-strong:rgba(128,207,255,.34);
  --ink:#e8f3ff;--ink-soft:#c4d8ec;--muted:#819bb5;--muted-strong:#a7bed3;
  --primary:#68d9ff;--primary-deep:#3fa7df;--secondary:#8b8fff;--green:#58d9b1;--orange:#ffc36b;--red:#ff7e8a;
  --shadow:0 20px 70px rgba(0,0,0,.27);--shadow-soft:0 10px 30px rgba(0,0,0,.2);
  --radius:16px;--radius-sm:11px;
}
html{background:var(--bg-deep);color-scheme:dark;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Inter","SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,sans-serif;letter-spacing:.01em;position:relative;isolation:isolate;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(93,186,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(93,186,255,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 78%)}
body:after{content:"";position:fixed;inset:-18%;z-index:-4;pointer-events:none;background:radial-gradient(circle at 12% 4%,rgba(74,167,232,.16),transparent 30%),radial-gradient(circle at 86% 14%,rgba(115,109,245,.13),transparent 26%),radial-gradient(circle at 53% 94%,rgba(37,203,174,.08),transparent 30%);filter:blur(12px)}
body.auth-page{background:var(--bg-deep)}
body.auth-page:before{opacity:.75}
::selection{background:rgba(104,217,255,.3);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#071321}::-webkit-scrollbar-thumb{background:#1b4362;border:2px solid #071321;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#2a6d92}
.tech-atmosphere{position:fixed;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.72;mix-blend-mode:screen}
.tech-orbit{position:fixed;z-index:-1;pointer-events:none;width:31vw;height:31vw;max-width:520px;max-height:520px;min-width:240px;min-height:240px;border:1px solid rgba(109,213,255,.12);border-radius:50%;right:-11vw;top:13vh;transform:rotate(-18deg);box-shadow:0 0 0 36px rgba(82,145,210,.025),0 0 0 78px rgba(82,145,210,.018)}
.tech-orbit:after{content:"";position:absolute;inset:16%;border:1px dashed rgba(159,141,255,.18);border-radius:50%;animation:tech-spin 30s linear infinite}
.tech-reveal{animation:tech-rise .62s cubic-bezier(.2,.8,.25,1) both}
@keyframes tech-rise{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}
@keyframes tech-spin{to{transform:rotate(360deg)}}
@keyframes tech-pulse{0%,100%{box-shadow:0 0 0 0 rgba(104,217,255,.18)}50%{box-shadow:0 0 0 8px rgba(104,217,255,0)}}
@keyframes tech-shimmer{to{background-position:200% center}}

/* shared chrome */
.brand{color:var(--ink);letter-spacing:.08em}.brand small{color:#6e8da9}.brand img{filter:drop-shadow(0 0 12px rgba(104,217,255,.35))}
.sidebar{background:rgba(5,17,31,.83);border-right:1px solid var(--line);box-shadow:14px 0 42px rgba(0,0,0,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.sidebar .brand{color:var(--ink)}.space-label{color:#6f8ca7}.nav-item{color:#86a4be;transition:background .22s,color .22s,transform .22s,border .22s;border:1px solid transparent}.nav-item:hover{background:rgba(104,217,255,.08);color:#bfeaff;transform:translateX(2px)}.nav-item.active{background:linear-gradient(100deg,rgba(84,193,238,.19),rgba(115,120,255,.09));border-color:rgba(113,211,255,.22);color:#d9f6ff;box-shadow:inset 3px 0 0 var(--primary),0 8px 20px rgba(0,0,0,.18)}.nav-item.active:after{background:var(--primary);box-shadow:0 0 12px var(--primary);animation:tech-pulse 2.4s infinite}.sidebar-note{background:linear-gradient(145deg,rgba(52,135,183,.16),rgba(79,83,177,.12));border:1px solid rgba(119,214,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.sidebar-note strong{color:#c2e8ff}.sidebar-note p,.sidebar-note a{color:#7fa7c3}.sidebar-user strong{color:#c4dbed}.sidebar-user small{color:#7594ad}.sidebar-user .avatar{background:rgba(104,217,255,.14);color:#b8eeff}
.topbar{background:rgba(6,19,34,.72);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.breadcrumb{color:#69859f}.breadcrumb b{color:#c8e1f2}.topbar-right{color:#7793ad}.circle-btn{background:rgba(15,35,57,.78);border-color:var(--line);color:#9fc5de;transition:transform .2s,border .2s,background .2s}.circle-btn:hover{transform:translateY(-2px);background:#163a58;border-color:var(--line-strong)}.dot-count{background:var(--primary);color:#052034;border-color:#0e2a45}
.page-heading h1{color:var(--ink);letter-spacing:.02em}.page-heading p{color:var(--muted)}.page-heading>.tag{background:rgba(19,44,69,.7);border-color:var(--line);color:#91bed5}
.panel,.stat,.card,.quote-card,.table-wrap{background:linear-gradient(145deg,rgba(15,34,55,.87),rgba(9,24,41,.78));border:1px solid var(--line);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.panel{border-radius:var(--radius);position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 25%);opacity:.65}.panel>*{position:relative;z-index:1}.panel-title h2{color:var(--ink)}.panel-title p,.panel-title .helper{color:var(--muted)}
.hero{background:radial-gradient(circle at 85% 16%,rgba(118,114,252,.24),transparent 31%),linear-gradient(118deg,rgba(24,76,103,.82),rgba(13,34,63,.92) 63%,rgba(39,38,92,.72));border:1px solid rgba(125,208,255,.28);box-shadow:0 18px 50px rgba(0,0,0,.24);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(135,215,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(135,215,255,.08) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,rgba(0,0,0,.8),transparent 80%);opacity:.45}.hero:after{border-color:rgba(122,218,255,.16)}.hero-label{color:#9bd8ee}.hero-label:before{background:var(--primary);box-shadow:0 0 10px var(--primary)}.hero h2{color:#e4f9ff}.hero h2 em{color:var(--primary);text-shadow:0 0 22px rgba(104,217,255,.32)}.hero p{color:#a5bfd0}.hero-chips{color:#9fd5e7}.hero>img{filter:saturate(.7) brightness(.74) contrast(1.1);opacity:.78}
.stat{transition:transform .24s,border .24s,box-shadow .24s}.stat:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 18px 38px rgba(0,0,0,.28)}.stat .stat-top,.stat>p{color:var(--muted)}.stat strong{color:#e9f6ff;text-shadow:0 0 18px rgba(104,217,255,.11)}.stat-icon{background:rgba(104,217,255,.12);color:var(--primary);border:1px solid rgba(104,217,255,.17)}.stat:nth-child(2) .stat-icon{background:rgba(88,217,177,.12);color:var(--green)}.stat:nth-child(3) .stat-icon{background:rgba(255,195,107,.12);color:var(--orange)}.stat:nth-child(4) .stat-icon{background:rgba(139,143,255,.12);color:#b8baff}
.btn{background:rgba(24,50,76,.76);border:1px solid rgba(145,210,242,.14);color:#b5d9ed;border-radius:var(--radius-sm);transition:transform .2s,background .2s,border .2s,box-shadow .2s,color .2s}.btn:hover{background:rgba(38,80,110,.9);border-color:rgba(113,213,255,.34);color:#e8fbff;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18)}.btn:active{transform:translateY(0) scale(.98)}.btn.primary{background:linear-gradient(110deg,#57c8ed,#7b8fff);border:0;color:#061724;box-shadow:0 10px 26px rgba(81,188,228,.22),inset 0 1px 0 rgba(255,255,255,.35);font-weight:700}.btn.primary:hover{background:linear-gradient(110deg,#73dcff,#9a9eff);color:#04121e;box-shadow:0 14px 30px rgba(81,188,228,.3)}.btn.outline{background:rgba(14,31,51,.65);border-color:rgba(130,207,245,.26);color:#a8d5ea}.btn.text{color:#8cb8d0}.btn.danger{background:rgba(136,38,61,.2);border-color:rgba(255,126,138,.3);color:#ff9da7}.btn.white{background:#e8fbff;color:#092033}.circle-btn{border-radius:50%}
.tag{background:rgba(25,56,79,.72);border:1px solid rgba(150,210,240,.15);color:#a7d2e4}.tag.green{background:rgba(43,143,115,.18);border-color:rgba(88,217,177,.28);color:#8de9ca}.tag.orange{background:rgba(171,111,39,.18);border-color:rgba(255,195,107,.3);color:#ffd28c}.tag.red{background:rgba(172,55,72,.2);border-color:rgba(255,126,138,.3);color:#ff9da7}.tag.gray{background:rgba(81,106,128,.18);border-color:rgba(145,173,196,.16);color:#9cb3c7}
.tabs{background:rgba(10,27,45,.74);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.tabs button{color:#7897b2;transition:.2s}.tabs button:hover{color:#c7ebfa;background:rgba(104,217,255,.08)}.tabs button.active{background:linear-gradient(105deg,rgba(86,201,239,.2),rgba(126,126,255,.16));color:#e0f9ff;box-shadow:inset 0 0 0 1px rgba(132,215,244,.2),0 6px 18px rgba(0,0,0,.18)}
.admin-subtabs{background:rgba(9,25,42,.76);border-color:var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.admin-subtabs button{color:#85a5bd}.admin-subtabs button:hover{background:rgba(104,217,255,.08);color:#cbeeff}.admin-subtabs button.active{background:linear-gradient(105deg,rgba(86,201,239,.2),rgba(126,126,255,.16));color:#e5f9ff;box-shadow:inset 0 0 0 1px rgba(132,215,244,.2),0 6px 18px rgba(0,0,0,.18)}
.field>span{color:#91abc0}.field input,.field select,.field textarea{background:rgba(5,18,32,.82);border-color:rgba(132,201,235,.18);color:var(--ink);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}.field input:focus,.field select:focus,.field textarea:focus{background:rgba(8,28,48,.96);border-color:rgba(104,217,255,.65);box-shadow:0 0 0 3px rgba(104,217,255,.12),0 0 22px rgba(104,217,255,.09)}.field input::placeholder,.field textarea::placeholder{color:#5d7790}.field small,.helper{color:#7895ae}.check{color:#a3bdd0}.check input{accent-color:var(--primary)}.form-error{color:#ff9da7}.form-footer{border-top:1px solid rgba(148,204,229,.12);padding-top:16px}
.notice{background:rgba(41,106,135,.16);border-color:rgba(104,217,255,.23);color:#9fd4e8}.notice.warning{background:rgba(155,98,38,.16);border-color:rgba(255,195,107,.25);color:#ffd08c}.notice.success{background:rgba(40,137,108,.16);border-color:rgba(88,217,177,.25);color:#99efd1}.empty{color:#7895ad}.empty .icon{color:#4d7a9b}.divider{background:var(--line)}code{color:#8fd9f2}
.table-wrap{overflow:auto;border-radius:var(--radius-sm)}table{color:#b4cde0}th{background:rgba(7,22,38,.72)!important;color:#7f9eb6!important;border-bottom-color:var(--line)!important}td{border-top-color:rgba(146,197,220,.1)!important;color:#b6cedf}tbody tr{transition:background .2s}tbody tr:hover{background:rgba(104,217,255,.06)!important}td strong{color:#e2f3fb}td small{color:#7896ad}
.search{background:rgba(8,25,42,.8);border-color:var(--line);color:#89b8cf}.search input{color:var(--ink)}
.booking-layout,.split,.two-col,.three-col{gap:18px}.date-cell,.slot,.week-cell{background:rgba(8,25,43,.8);border-color:var(--line);color:#9cbad0}.date-cell:hover,.slot:hover,.week-cell:hover{border-color:rgba(104,217,255,.42);background:rgba(18,50,76,.88)}.date-cell.selected,.slot.selected,.week-cell.selected{background:linear-gradient(120deg,#2788b8,#5859a9);border-color:rgba(150,233,255,.54);color:#f2fdff;box-shadow:0 10px 24px rgba(57,157,204,.25)}.date-cell:disabled,.slot:disabled{background:rgba(22,35,50,.6);color:#587086;border-color:rgba(119,151,174,.11)}
.modal-head{border-bottom-color:var(--line)!important}.modal-head h2{color:var(--ink)}dialog{background:linear-gradient(150deg,#10243a,#081524);border-color:var(--line-strong);box-shadow:0 30px 120px rgba(0,0,0,.56);color:var(--ink);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}dialog::backdrop{background:rgba(1,7,14,.72);backdrop-filter:blur(7px)}dialog .btn.circle-btn{background:rgba(28,58,83,.7)}.confirm-card,.pickup-address,.school-search-results,.material-detail,.ad-publish-quote{background:rgba(9,28,47,.8)!important;border-color:var(--line)!important;color:var(--ink)}
#toast{background:#dffaff;color:#052033;box-shadow:0 14px 40px rgba(0,0,0,.35);border:1px solid rgba(104,217,255,.45)}#toast.error{background:#3c1826;color:#ffdfe3;border-color:rgba(255,126,138,.42)}
.loading{color:#8fc4dc;background:radial-gradient(circle at 50% 42%,rgba(55,133,180,.16),transparent 30%)}.spinner{border-color:rgba(117,192,229,.18);border-top-color:var(--primary);box-shadow:0 0 18px rgba(104,217,255,.18)}

/* authentication */
.auth-shell{background:transparent}.auth-story{background:linear-gradient(135deg,rgba(11,37,60,.92),rgba(7,20,36,.84));border-right:1px solid var(--line);min-height:100vh}.auth-story:before{border-color:rgba(104,217,255,.16);box-shadow:0 0 0 70px rgba(104,217,255,.03),0 0 0 140px rgba(139,143,255,.025)}.story-body h1{color:#e8f7ff}.story-body h1 em{color:var(--primary)}.story-body>p{color:#94b2c8}.float-card{background:rgba(15,40,61,.78);border-color:rgba(142,214,243,.2);box-shadow:0 16px 42px rgba(0,0,0,.26);backdrop-filter:blur(14px);color:#c5e8f5}.float-card small{color:#779db5}.story-points{color:#93bfd2}.story-footer{color:#6889a2}.auth-main{background:rgba(4,13,24,.82);backdrop-filter:blur(18px)}.auth-top{color:#7d98af}.auth-card h2{color:#eaf7ff}.auth-card>p{color:#8fa9bd}.auth-tabs{border-bottom-color:var(--line)}.auth-tabs button{color:#718ca4}.auth-tabs button.active{color:var(--primary)}.auth-tabs button.active:after{background:var(--primary);box-shadow:0 0 13px rgba(104,217,255,.5)}.welcome-chip{background:rgba(67,148,185,.14);border:1px solid rgba(104,217,255,.22);color:#a8dceb}.welcome-chip i{background:var(--primary);box-shadow:0 0 10px var(--primary)}.demo-area{border-top-color:var(--line)}.demo-role,.role-choice{background:rgba(11,31,51,.78);border-color:var(--line);color:#91adc2}.demo-role:hover,.role-choice:hover{background:rgba(41,91,122,.35);border-color:var(--line-strong)}.role-choice.active{background:rgba(75,167,212,.2);border-color:rgba(104,217,255,.6);color:#d8f7ff;box-shadow:0 0 0 1px rgba(104,217,255,.12),0 10px 22px rgba(0,0,0,.2)}.school-entry{background:rgba(17,46,69,.58);border-color:var(--line)}.school-entry-copy strong{color:#c8e6f1}.school-entry-copy small{color:#7c9ab0}.school-entry-copy>.icon{color:var(--primary)}.auth-main footer{color:#6d899f}

/* feature cards / data surfaces */
.commerce-tile,.advertiser-card,.admin-school-card,.rights-locked,.material-product-card,.material-purchase-card,.car-life-card,.car-life-admin-card{background:linear-gradient(145deg,rgba(16,39,62,.86),rgba(8,24,41,.78));border-color:var(--line);box-shadow:var(--shadow-soft)}.commerce-tile:hover,.advertiser-card:hover,.material-product-card:hover,.car-life-card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.28)}.commerce-tile h3,.advertiser-card h3,.admin-school-card h3{color:#e5f5fd}.commerce-price,.material-product-price,.material-purchase-meta>span{color:#ff9da7}.commerce-tile p,.commerce-tile small,.advertiser-card p{color:#88a6bb}.advertiser-placeholder,.material-placeholder{background:linear-gradient(135deg,#123f5b,#27274e);color:#8bdcf5}.advertiser-card>div{background:rgba(9,26,44,.4)}.rights-locked{background:radial-gradient(circle at 50% 0,rgba(77,177,221,.14),transparent 43%),linear-gradient(145deg,rgba(16,39,62,.93),rgba(8,24,41,.86))}.rights-locked h2{color:#e5f7ff}.rights-locked p{color:#8eacc0}.rights-preview>div,.rights-admin-features article,.school-rights-summary,.data-cleanup-status{background:rgba(22,51,73,.55);border:1px solid var(--line);color:#b2cee0}.school-overview-identity{background:linear-gradient(110deg,rgba(24,76,103,.65),rgba(24,58,77,.46));border-color:var(--line);box-shadow:var(--shadow-soft)}.school-overview-identity h2{color:#e4f8ff}.school-overview-identity p,.school-overview-identity span{color:#8eb4c7}.school-overview-mark{background:rgba(104,217,255,.14);color:var(--primary)}
.member-card,.coach-member-card.member-card{background:linear-gradient(120deg,#123c58,#28316b)!important;border-color:rgba(140,215,255,.32)!important;box-shadow:0 22px 48px rgba(0,0,0,.28)}.member-card .member-date{color:#f0fbff}.profile-cover,.profile-information{background:rgba(15,36,58,.78)!important;border-color:var(--line)!important}.profile-cover h2{color:#e6f6ff}.profile-cover p,.details dt{color:#7f9db5}.details dd{color:#d1e5f1}.coach-school-membership-banner{background:rgba(34,86,110,.3);border-color:var(--line);color:#9fc8d9}.lesson-period,.coach-period-tabs{background:rgba(10,29,47,.7);border-color:var(--line)}.lesson-period-heading{background:linear-gradient(110deg,rgba(31,89,118,.45),rgba(28,45,84,.38));border-bottom-color:var(--line)}.period-afternoon .lesson-period-heading{background:linear-gradient(110deg,rgba(30,102,93,.4),rgba(27,61,80,.42));border-bottom-color:rgba(88,217,177,.2)}.lesson-period .period-title h3{color:#e1f7ff}.period-title p,.period-booked{color:#86a8bb}.lesson-table thead th{background:rgba(7,22,38,.72)!important;color:#83a2b9!important}.lesson-table tbody tr:nth-child(even){background:rgba(16,45,65,.36)}.lesson-table td{color:#b6d0df}.lesson-table time{background:rgba(104,217,255,.1);color:#a9e8f9;box-shadow:inset 0 0 0 1px rgba(104,217,255,.17)}.period-afternoon .lesson-table time{background:rgba(88,217,177,.1);color:#a9efd6;box-shadow:inset 0 0 0 1px rgba(88,217,177,.18)}
.materials-category-tabs button,.materials-delivery-tabs button{background:rgba(10,28,46,.66);border-color:var(--line);color:#88a7bc}.materials-category-tabs button.active,.materials-delivery-tabs button.active{background:linear-gradient(105deg,rgba(86,201,239,.2),rgba(126,126,255,.16));color:#e1f8ff;border-color:rgba(104,217,255,.34)}.material-cover{background:#091a2c!important}.material-product-copy h3,.material-purchase-copy h3{color:#e7f6fd}.material-category-label{color:#8fd9f2!important}.materials-purchase-guide,.materials-product-notes{background:rgba(20,54,74,.46)!important;border-color:var(--line)!important;color:#a6cede!important}

/* mobile and accessibility */
@media(max-width:760px){body:before{background-size:34px 34px}.tech-orbit{width:280px;height:280px;right:-150px;top:8vh}.sidebar{background:rgba(5,17,31,.96)}.topbar{background:rgba(6,19,34,.9)}.main{padding-top:22px}.page-heading h1{font-size:25px}.page-heading>.tag{display:none}.panel{border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.2)}.panel-title{align-items:flex-start}.stat strong{font-size:26px}.hero{border-radius:14px}.hero>img{opacity:.45;right:-100px}.table-wrap{border-radius:11px}.btn{min-height:40px}.field input,.field select,.field textarea{font-size:16px}.auth-main{background:rgba(4,13,24,.93)}.auth-card{padding-top:58px}.auth-story{display:none}.auth-main:before{color:#d9f6ff}.auth-mobile-brand{color:#e7f8ff}.advertiser-grid,.commerce-grid{gap:12px}.tech-atmosphere{opacity:.48}}
@media(prefers-reduced-motion:reduce){.tech-reveal,.tech-orbit:after{animation:none!important}.btn,.stat,.panel,.advertiser-card,.commerce-tile{transition:none!important}}
