:root{
  --blue:#1677ff;--blue-2:#4aa3ff;--blue-soft:#eef6ff;--navy:#10233d;--text:#152238;
  --muted:#6f7f93;--line:#e6edf5;--bg:#f6f9fd;--white:#fff;--green:#22a06b;--orange:#f59e0b;
  --danger:#d64545;--shadow:0 18px 50px rgba(26,72,126,.10);--radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--text);background:#fff;font-size:14px;line-height:1.55}
body,button,input,select,textarea{font-size:max(12px,1em)}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
button{cursor:pointer}.muted{color:var(--muted)}.hidden{display:none!important}.text-right{text-align:right}.w-100{width:100%}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-0{margin-bottom:0}
.topbar{height:72px;display:flex;align-items:center;gap:26px;padding:0 max(20px,4vw);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:linear-gradient(135deg,#62b6ff,#0f73f6);clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 5px 10px rgba(22,119,255,.24))}.brand b{font-size:20px;display:block;line-height:1.05}.brand small{display:block;font-size:12px;letter-spacing:1.5px;color:#6d7f95;margin-top:3px}
.topbar nav{display:flex;gap:28px;flex:1;justify-content:center}.topbar nav a{font-size:14px;color:#31445b;position:relative;padding:25px 0}.topbar nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:16px;height:2px;background:var(--blue);transition:.2s}.topbar nav a:hover:after{left:0;right:0}.top-actions{display:flex;align-items:center;gap:14px}.user-link{font-weight:700}.menu-btn{display:none;background:none;border:0;font-size:24px;color:var(--navy)}
.btn{border:0;background:linear-gradient(135deg,var(--blue),#2b8cff);color:#fff;padding:12px 20px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:700;box-shadow:0 8px 22px rgba(22,119,255,.18);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(22,119,255,.23)}.btn.small{padding:9px 15px}.btn.outline{background:#fff;color:var(--blue);border:1px solid #bcd8ff;box-shadow:none}.btn.ghost{background:#f5f8fc;color:#34506d;box-shadow:none}.btn.danger{background:#fff1f1;color:var(--danger);box-shadow:none;border:1px solid #ffd5d5}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.hero{position:relative;min-height:560px;padding:68px max(22px,5vw) 72px;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 42%,rgba(255,255,255,.48) 68%,rgba(255,255,255,.18) 100%),url('../images/hero-mountain.svg') center/cover no-repeat;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 30%,rgba(71,163,255,.10),transparent 28%);pointer-events:none}.hero-content{max-width:1320px;margin:auto;position:relative;z-index:2}.hero-copy{max-width:650px}.hero h1{font-size:clamp(44px,6vw,78px);margin:0;color:#18334f;letter-spacing:6px;line-height:1.02}.hero h2{font-size:clamp(21px,2.1vw,34px);font-weight:600;margin:12px 0 12px;color:#244a70}.hero-copy>p{color:#5f748b;font-size:16px;margin:0 0 28px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;max-width:980px}.booking,.planner-preview,.panel,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.booking,.planner-preview{padding:22px}.booking h3,.planner-preview h3{font-size:21px;margin:0 0 4px}.booking>p,.planner-preview>p{margin:0 0 16px;color:var(--muted)}
.tabs{display:flex;gap:7px;margin-bottom:15px;background:#f2f6fb;border-radius:12px;padding:4px}.tabs button{flex:1;border:0;border-radius:9px;padding:10px 8px;background:transparent;color:#5b6f85;font-weight:700}.tabs .active{background:#fff;color:var(--blue);box-shadow:0 4px 16px rgba(35,83,137,.10)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.field{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.field:focus-within{border-color:#9ac6ff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.field input,.field select{width:100%;border:0;outline:0;color:var(--text);background:transparent;font-size:16px;padding:0}.form-grid .wide{grid-column:1/-1}
.preview-map{height:205px;margin-top:12px;border-radius:14px;background:linear-gradient(135deg,#eaf5ff,#dff1e3);position:relative;overflow:hidden;border:1px solid #dbeaf5}.preview-map:before,.preview-map:after{content:"";position:absolute;border:1px solid rgba(71,114,143,.18);border-radius:50%;width:260px;height:260px;left:-80px;top:-90px}.preview-map:after{left:auto;right:-70px;top:40px}.route-line{position:absolute;left:10%;right:10%;top:52%;height:5px;background:linear-gradient(90deg,#53b5ff,var(--blue));border-radius:10px;transform:rotate(-8deg);box-shadow:0 0 14px rgba(22,119,255,.28)}.pin{position:absolute;background:#fff;color:var(--blue);padding:6px 9px;border-radius:18px;font-weight:700;box-shadow:0 6px 18px rgba(37,79,119,.14);font-size:12px}.pin.p1{left:7%;top:60%}.pin.p2{left:35%;top:40%}.pin.p3{left:62%;top:56%}.pin.p4{right:5%;top:31%}
.quick-services{max-width:1320px;margin:-28px auto 0;position:relative;z-index:3;padding:0 max(16px,3vw)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 14px 32px rgba(25,71,123,.08);display:flex;gap:12px;align-items:center}.quick-icon{width:44px;height:44px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:22px;font-weight:800}.quick-card b{display:block}.quick-card small{color:var(--muted);font-size:12px}
.section{padding:54px max(20px,5vw);max-width:1440px;margin:auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section h2{font-size:28px;margin:0 0 6px}.section p.lead{color:var(--muted);margin:0}.section-link{color:var(--blue);font-weight:700}.dest-grid,.route-grid,.feature-grid{display:grid;gap:16px}.dest-grid{grid-template-columns:repeat(5,1fr)}.route-grid{grid-template-columns:repeat(4,1fr)}.feature-grid{grid-template-columns:repeat(5,1fr)}.card{overflow:hidden;box-shadow:0 12px 34px rgba(31,75,122,.07)}.thumb{height:150px;background:linear-gradient(150deg,#dff1ff 0 35%,#8cc5de 35% 56%,#629b78 56% 72%,#315e4a 72%);position:relative}.thumb:after{content:"";position:absolute;right:13%;top:18%;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.72)}.card-body{padding:16px}.card-body p{color:var(--muted);margin:5px 0}.price{color:#f08c00;font-weight:800;font-size:20px}.feature{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.feature b{display:block;margin-bottom:5px}.feature span{color:var(--muted)}
.footer{background:#10283f;color:#dfe9f3;padding:34px max(24px,5vw);display:flex;justify-content:space-between;gap:20px}.footer p{margin:4px 0 0;color:#a9bdd0}.footer-meta{color:#a9bdd0}.mobile-nav{display:none}
.page-shell{max-width:1480px;margin:auto;padding:28px max(16px,3vw) 72px}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:30px}.page-subtitle{margin:4px 0 0;color:var(--muted)}
.planner-layout{display:grid;grid-template-columns:360px minmax(460px,1fr) 360px;gap:14px;align-items:start}.panel{padding:18px}.planner-side{max-height:calc(100vh - 118px);overflow:auto;position:sticky;top:88px}.planner-map-wrap{position:sticky;top:88px}.map-box{min-height:660px;background:#e5f0e2;border-radius:18px;position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.map-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:#567}.map-toolbar{position:absolute;z-index:5;top:12px;left:12px;right:12px;display:flex;gap:8px;pointer-events:none}.map-toolbar>*{pointer-events:auto}.map-chip{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 11px;box-shadow:0 8px 22px rgba(34,75,119,.10);font-size:12px}
.day-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:6px}.day-tab{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;white-space:nowrap;color:#51677e}.day-tab.active{border-color:#a9d0ff;background:var(--blue-soft);color:var(--blue);font-weight:700}.day-header{display:grid;grid-template-columns:1fr 110px;gap:8px;margin:10px 0}.day-header input{width:100%}
.stop-list{display:grid;gap:8px}.stop{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.stop-num{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none;font-weight:800}.stop-name{font-weight:800}.stop-address{display:block;color:var(--muted);font-size:12px;margin-top:2px}.segment-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.meta-pill{font-size:12px;color:#4e657c;background:#f3f7fb;border-radius:999px;padding:4px 7px}.stop-tools{display:flex;gap:4px}.icon-btn{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:8px;color:#5a7188;display:grid;place-items:center}.icon-btn:hover{border-color:#acd0ff;color:var(--blue)}
.poi-search{position:relative;margin-top:12px}.poi-search input{padding-right:45px}.poi-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 48px rgba(25,67,112,.16);max-height:300px;overflow:auto}.poi-item{padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer}.poi-item:last-child{border-bottom:0}.poi-item:hover{background:#f5f9ff}.poi-item b{display:block}.poi-item small{color:var(--muted);font-size:12px}
.input,.stack input,.stack select,.stack textarea,.inline-form input,.inline-form select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);outline:none}.input:focus,.stack input:focus,.stack select:focus,.stack textarea:focus,.inline-form input:focus,.inline-form select:focus{border-color:#9cc8ff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}.stack{display:grid;gap:12px}.stack label{display:grid;gap:6px;color:#40556d;font-weight:600}.row{display:flex;gap:8px;align-items:center}.row>*{min-width:0}.grow{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 16px}.summary div{background:var(--bg);border-radius:12px;padding:12px;text-align:center}.summary b{display:block;font-size:18px}.summary small{color:var(--muted);font-size:12px}.timeline{display:grid;gap:9px}.timeline-row{display:grid;grid-template-columns:54px 14px 1fr;gap:8px;align-items:start}.timeline-time{font-size:12px;color:#526a82;padding-top:2px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:5px;position:relative}.timeline-dot:after{content:"";position:absolute;left:4px;top:10px;width:2px;height:28px;background:#d7e6f6}.timeline-row:last-child .timeline-dot:after{display:none}.timeline-text b{display:block}.timeline-text small{font-size:12px;color:var(--muted)}
.auth{max-width:460px;margin:70px auto;padding:26px;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 70px rgba(32,72,120,.08);background:#fff}.auth h1{margin-top:0}.alert{padding:12px 14px;border-radius:10px;background:#fff3f3;color:#a72b2b;border:1px solid #ffdada}.notice{padding:12px 14px;border-radius:10px;background:#f0f7ff;color:#205b99;border:1px solid #d4e8ff}.success{padding:12px 14px;border-radius:10px;background:#effaf5;color:#17734d;border:1px solid #ceefe0}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(27,70,118,.05)}.kpi b{font-size:27px;display:block}.kpi span{color:var(--muted)}.dashboard-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.list-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px}.list-card h2{font-size:18px;margin:0 0 12px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row small{color:var(--muted);display:block;font-size:12px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef6ff;color:var(--blue);font-size:12px;font-weight:700}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{font-size:12px;color:#65778b;background:#f8fafc}.data-table tr:last-child td{border-bottom:0}
.installer{max-width:760px;margin:50px auto;padding:30px}.installer .stack{grid-template-columns:1fr 1fr}.installer .wide{grid-column:1/-1}
.loading{opacity:.55;pointer-events:none}.divider{height:1px;background:var(--line);margin:16px 0}.empty-state{text-align:center;padding:30px 16px;color:var(--muted)}
@media(max-width:1180px){.planner-layout{grid-template-columns:330px 1fr}.planner-layout>.planner-side:last-child{grid-column:1/-1;position:static;max-height:none}.planner-map-wrap{top:84px}.dest-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.topbar nav{display:none}.menu-btn{display:block;margin-left:auto}.top-actions{display:none}.nav-open .topbar nav{display:flex;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:8px 20px 18px;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(26,62,103,.10)}.nav-open .topbar nav a{padding:10px 0}.hero-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.route-grid{grid-template-columns:repeat(2,1fr)}.planner-layout{grid-template-columns:1fr}.planner-side,.planner-map-wrap{position:static;max-height:none}.map-box{min-height:520px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  body{padding-bottom:74px;background:#f7faff}.topbar{height:64px;padding:0 14px}.brand{min-width:0}.brand b{font-size:18px}.brand small{font-size:12px}.nav-open .topbar nav{top:64px}.hero{min-height:auto;padding:28px 14px 42px;background:linear-gradient(180deg,rgba(255,255,255,.55),#fff 48%),url('../images/hero-mountain.svg') 62% top/auto 300px no-repeat}.hero h1{font-size:42px;letter-spacing:3px}.hero h2{font-size:19px;max-width:270px}.hero-copy>p{font-size:13px;max-width:280px}.hero-grid{gap:10px}.booking,.planner-preview{padding:14px}.planner-preview{order:-1}.booking h3,.planner-preview h3{font-size:18px}.preview-map{height:190px}.form-grid{grid-template-columns:1fr}.quick-services{margin:-12px auto 0}.quick-grid{grid-template-columns:repeat(2,1fr);gap:8px}.quick-card{padding:12px}.quick-icon{width:38px;height:38px}.quick-card small{display:none}.section{padding:30px 14px}.section h2{font-size:22px}.section-head{align-items:center}.dest-grid{display:flex;overflow:auto;padding-bottom:4px}.dest-grid .card{min-width:185px}.route-grid{display:flex;overflow:auto}.route-grid .card{min-width:240px}.feature-grid{grid-template-columns:1fr 1fr}.feature{padding:14px}.footer{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;height:calc(66px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:120;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#40546b;min-width:0}.mobile-nav .nav-ico{font-size:20px;line-height:20px}.mobile-nav span:last-child{font-size:12px;margin-top:3px}.mobile-nav .mobile-primary .nav-ico{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;margin-top:-18px;box-shadow:0 8px 18px rgba(22,119,255,.28)}.page-shell{padding:16px 10px 90px}.page-title-row{align-items:flex-start}.page-title{font-size:24px}.planner-layout{gap:10px}.planner-map-wrap{order:-1}.map-box{min-height:310px;border-radius:15px}.panel{padding:13px}.planner-side:first-child{border-radius:15px}.planner-side:last-child{border-radius:15px}.summary{grid-template-columns:repeat(3,1fr)}.summary div{padding:9px 4px}.summary b{font-size:15px}.day-header{grid-template-columns:1fr 98px}.stop{grid-template-columns:30px 1fr auto;padding:10px;gap:8px}.stop-num{width:28px;height:28px}.stop-tools{flex-direction:column}.grid-2,.grid-3{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:8px}.kpi{padding:14px}.kpi b{font-size:23px}.dashboard-layout{grid-template-columns:1fr}.installer{margin:15px auto;padding:14px}.installer .stack{grid-template-columns:1fr}.installer .wide{grid-column:auto}input,select,textarea{font-size:16px!important}.auth{margin:30px 12px}.table-wrap{border-radius:12px}
}
@media(max-width:390px){.feature-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:38px}.dashboard-grid{grid-template-columns:1fr 1fr}}

/* v0.1.11~v0.1.20 planner / booking / order */
.mobile-sheet-toggle{display:none}.segment-vehicle-row{display:flex;align-items:center;gap:7px;margin-top:8px;color:#466078;font-size:12px;font-weight:700}.segment-vehicle-row input{width:16px;height:16px;accent-color:var(--blue)}
.booking-layout,.trip-vehicle-layout,.order-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.booking-main{padding:22px}.booking-summary-card{position:sticky;top:88px}.service-switch{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#f3f7fb;border-radius:14px;padding:5px;margin-bottom:18px}.service-switch button{border:0;background:transparent;border-radius:10px;padding:11px 6px;color:#5d7085;font-weight:800}.service-switch button.active{background:#fff;color:var(--blue);box-shadow:0 4px 18px rgba(35,83,137,.10)}
.booking-route-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.booking-route-summary>div,.detail-grid>div{background:var(--bg);border-radius:12px;padding:12px}.booking-route-summary small,.detail-grid small{display:block;color:var(--muted);font-size:12px}.booking-route-summary b,.detail-grid b{display:block;margin-top:3px;font-size:17px}.route-mini-map{min-height:128px;border:1px solid #dce9f5;border-radius:14px;background:linear-gradient(135deg,#eef8ff,#e7f5ea);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;color:#4f657c;margin-bottom:16px}.route-mini-map b{margin-top:8px;color:var(--blue)}
.vehicle-type-list{display:grid;gap:8px}.vehicle-type{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.vehicle-type.active{border-color:#91c2ff;background:#f5faff;box-shadow:0 0 0 3px rgba(22,119,255,.06)}.vehicle-type input{margin-top:3px;accent-color:var(--blue)}.vehicle-type span{display:grid;gap:2px}.vehicle-type b{display:flex;align-items:center;gap:7px}.vehicle-type em{font-style:normal;font-size:12px;color:#fff;background:var(--blue);border-radius:999px;padding:2px 6px}.vehicle-type small{color:var(--muted);font-size:12px}
.order-list{display:grid;gap:12px}.order-card{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(25,71,123,.05)}.order-card:hover{border-color:#b9d7fb}.order-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-card-head b{font-size:18px}.order-card-head small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.order-route{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:16px 0;padding:13px 15px;background:#f8fbff;border-radius:12px}.order-route span:last-child{text-align:right}.order-route i{font-style:normal;color:var(--blue);font-weight:800}.order-meta{display:flex;flex-wrap:wrap;gap:7px}.order-meta span{font-size:12px;color:#536a81;background:#f3f6f9;border-radius:999px;padding:5px 8px}.status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef6ff;color:var(--blue);font-size:12px;font-weight:800}.status-completed{background:#edf9f3;color:#198157}.status-cancelled,.status-refunded{background:#f1f3f5;color:#667}.status-exception{background:#fff0f0;color:#b83232}.status-driver_departed,.status-driver_arrived,.status-passenger_onboard,.status-in_service{background:#fff7e8;color:#b26a00}
.order-detail-grid{grid-template-columns:minmax(0,1fr) 350px}.detail-route{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:16px;border-radius:14px;background:#f5f9fe;margin:12px 0}.detail-route b:last-child{text-align:right}.detail-route span{color:var(--blue);font-weight:900}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.info-strip,.dispatch-card,.vehicle-choice-summary{display:grid;gap:4px;padding:13px;border-radius:12px;background:#f8fbff;margin-top:12px}.info-strip{grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.vehicle-choice-summary span,.dispatch-card span{color:var(--muted);font-size:12px}.empty-state.compact{padding:16px 10px}.status-timeline{display:grid;gap:0}.status-timeline>div{display:grid;grid-template-columns:18px 1fr;gap:10px;min-height:58px}.status-timeline i{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:5px;position:relative}.status-timeline i:after{content:"";position:absolute;width:2px;background:#dce8f5;left:4px;top:10px;bottom:-48px}.status-timeline>div:last-child i:after{display:none}.status-timeline b{display:block}.status-timeline small{color:var(--muted);font-size:12px}
.trip-segment-list{display:grid;gap:14px}.trip-day-block{border:1px solid var(--line);border-radius:14px;overflow:hidden}.trip-day-title{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;background:#f7faff}.trip-day-title span,.trip-day-title small{color:var(--muted);font-size:12px}.trip-segment{display:flex;gap:12px;padding:13px 14px;border-top:1px solid var(--line);cursor:pointer}.trip-segment input{accent-color:var(--blue);width:17px;height:17px;margin-top:2px}.seg-route{display:grid;gap:3px}.seg-route small{color:var(--muted);font-size:12px}

@media(max-width:1050px){.booking-layout,.trip-vehicle-layout,.order-detail-grid{grid-template-columns:1fr}.booking-summary-card{position:static}.service-switch{grid-template-columns:repeat(4,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .booking-page{padding-bottom:96px}.service-switch{display:flex;overflow:auto;padding:4px}.service-switch button{min-width:76px;white-space:nowrap}.booking-main{padding:13px}.booking-layout,.trip-vehicle-layout{gap:10px}.booking-summary-card{padding:13px}.route-mini-map{min-height:100px}.order-card{padding:14px}.order-route{grid-template-columns:1fr auto 1fr;padding:11px}.order-detail-grid{gap:10px}.detail-grid{grid-template-columns:1fr 1fr}.info-strip{grid-template-columns:1fr}.trip-day-title{grid-template-columns:auto 1fr}.trip-day-title small{grid-column:1/-1}.trip-segment{padding:12px}
  body.planner-page-lock{overflow:hidden}.planner-layout{display:block}.planner-map-wrap{position:relative}.planner-map-wrap .map-box{height:calc(100vh - 190px);min-height:430px}.planner-editor{position:fixed!important;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:110;max-height:72vh!important;overflow:auto!important;transform:translateY(calc(100% - 62px));transition:transform .22s ease;border-radius:18px 18px 14px 14px!important;box-shadow:0 -16px 50px rgba(24,60,101,.18)!important}.planner-sheet-open .planner-editor{transform:translateY(0)}.mobile-sheet-toggle{display:flex;position:sticky;top:-13px;z-index:5;width:calc(100% + 26px);margin:-13px -13px 12px;padding:15px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:18px 18px 0 0;align-items:center;justify-content:space-between;color:var(--text);font-weight:800}.mobile-sheet-toggle b{color:var(--blue);font-size:12px}.planner-layout>.planner-side:last-child{margin-top:10px}.segment-vehicle-row{font-size:12px}
}


/* v0.2.0~v0.2.9 admin fleet / driver / dispatch */
.admin-shell{max-width:1540px}.admin-subnav{display:flex;gap:5px;overflow:auto;margin:-8px 0 22px;padding:5px;background:#f3f7fb;border:1px solid var(--line);border-radius:14px}.admin-subnav a{white-space:nowrap;padding:9px 12px;border-radius:10px;color:#536a81;font-weight:700;font-size:12px}.admin-subnav a.active{background:#fff;color:var(--blue);box-shadow:0 4px 16px rgba(35,83,137,.09)}
.admin-kpis{grid-template-columns:repeat(6,1fr)}.admin-home-grid,.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.admin-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-quick-grid a{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.admin-quick-grid a:hover{border-color:#afd0fb}.admin-quick-grid span{font-size:12px;color:var(--muted)}
.stack-form{display:grid;gap:12px}.stack-form label{display:grid;gap:6px;font-weight:700;color:#40566e}.input{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 11px;outline:0;color:var(--text)}.input:focus{border-color:#94c3ff;box-shadow:0 0 0 3px rgba(22,119,255,.07)}.compact-input{min-width:130px;padding:8px 10px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.section-head.compact{align-items:center}.section-head.compact h2{font-size:20px}.resource-list{display:grid;gap:8px}.resource-card{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px}.resource-card:hover{border-color:#a9d0ff;background:#fbfdff}.resource-photo{width:62px;height:48px;border-radius:10px;background:#eef5fb;display:grid;place-items:center;overflow:hidden;color:#688199;font-size:12px;font-weight:900}.resource-photo.driver-photo{height:62px;border-radius:50%}.resource-photo img{width:100%;height:100%;object-fit:cover}.resource-card b{display:block}.resource-card small{display:block;color:var(--muted);font-size:12px}.resource-status{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef6ff;color:var(--blue)}.status-idle,.status-available{background:#edf9f3;color:#198157}.status-maintenance,.status-off{background:#f3f4f6;color:#6a7280}.status-disabled{background:#fff0f0;color:#b83232}.status-reserved,.status-assigned,.status-service{background:#fff7e8;color:#b26a00}
.status-filter-row{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.filter-chip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;color:#5e7288;padding:8px 12px;font-weight:700;font-size:12px}.filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.filter-form{display:grid;grid-template-columns:minmax(220px,1fr) 170px 190px auto;gap:8px;margin-bottom:14px;padding:12px}.filter-form.compact-filter{grid-template-columns:180px auto auto;justify-content:start}.admin-order-table-wrap{overflow:auto;padding:0}.admin-table{width:100%;border-collapse:collapse;min-width:1120px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-table th{position:sticky;top:0;background:#f8fbff;color:#60758b;font-size:12px;z-index:1}.admin-table td small{display:block;color:var(--muted);font-size:12px}.table-route{display:block;max-width:280px}.trip-admin-list{display:grid;gap:9px}.trip-admin-card{display:grid;grid-template-columns:1.2fr 1fr auto;gap:16px;align-items:center;padding:15px}.trip-admin-card b,.trip-admin-card span{display:block}.trip-admin-card small{display:block;color:var(--muted);font-size:12px}.trip-day-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.day-admin-head{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:7px}.day-admin-head span{color:var(--muted);font-size:12px}.admin-stop-list{display:grid}.admin-stop-list>div{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:start;padding:9px 0;border-bottom:1px dashed #e6edf5}.admin-stop-list i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:12px}.admin-stop-list small{display:block;color:var(--muted);font-size:12px}.admin-stop-list em{font-style:normal;background:#edf9f3;color:#198157;padding:4px 7px;border-radius:999px;font-size:12px}.audit-list{display:grid;gap:0}.audit-list>div,.audit-list>a{display:grid;grid-template-columns:210px 1fr 280px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}.audit-list span,.audit-list small{color:var(--muted);font-size:12px}
.dispatch-list{display:grid;gap:8px}.dispatch-row{display:grid;grid-template-columns:90px minmax(300px,1fr) 190px auto;gap:14px;align-items:center;padding:13px}.dispatch-row:hover{border-color:#9cc8ff}.dispatch-time b{font-size:22px;display:block}.dispatch-time small,.dispatch-route small{display:block;color:var(--muted);font-size:12px}.dispatch-resource{display:grid;gap:3px}.dispatch-resource span{font-size:12px;background:#f5f8fc;border-radius:8px;padding:4px 7px}.conflict-panel{border-color:#ffd28c;background:#fffaf1;margin-bottom:14px}.conflict-row{display:grid;grid-template-columns:1fr 260px auto;gap:10px;padding:9px 0;border-top:1px solid #f5dfb9}.conflict-row span{color:#8b641f}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:8px!important;font-weight:500!important}.check-line input{margin-top:4px;accent-color:var(--blue)}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.board-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.board-title h2{margin:0}.board-title span{color:var(--muted);font-size:12px}.board-timeline{display:grid}.board-timeline>a{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.board-timeline time{font-size:20px;font-weight:900;color:var(--blue)}.board-timeline small{display:block;color:var(--muted);font-size:12px}
@media(max-width:1100px){.admin-kpis{grid-template-columns:repeat(3,1fr)}.admin-two-col,.admin-home-grid,.board-grid{grid-template-columns:1fr}.trip-day-admin-grid{grid-template-columns:1fr}.filter-form{grid-template-columns:1fr 1fr}.dispatch-row{grid-template-columns:80px 1fr auto}.dispatch-resource{grid-column:2/3}.audit-list>div,.audit-list>a{grid-template-columns:1fr}.trip-admin-card{grid-template-columns:1fr auto}.trip-admin-card>div:nth-child(2){grid-column:1/-1}}
@media(max-width:640px){.admin-subnav{margin:0 0 12px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-quick-grid{grid-template-columns:1fr}.filter-form,.filter-form.compact-filter{grid-template-columns:1fr}.resource-card{grid-template-columns:52px 1fr auto}.resource-photo{width:52px}.dispatch-row{grid-template-columns:58px 1fr;padding:10px}.dispatch-time b{font-size:18px}.dispatch-resource{grid-column:2}.dispatch-row>div:last-child{grid-column:2}.conflict-row{grid-template-columns:1fr}.board-timeline>a{grid-template-columns:52px 1fr}.board-timeline>a>.status-badge{grid-column:2}.detail-grid{grid-template-columns:1fr 1fr}.admin-order-table-wrap{border-radius:12px}}


/* v0.3.0~v0.3.9 driver task workflow */
.driver-shell{max-width:1180px}.driver-subnav{display:flex;gap:6px;overflow:auto;margin:-8px 0 18px;padding:5px;background:#f3f7fb;border:1px solid var(--line);border-radius:14px}.driver-subnav a{white-space:nowrap;padding:9px 13px;border-radius:10px;color:#536a81;font-size:12px;font-weight:800}.driver-subnav a.active{background:#fff;color:var(--blue);box-shadow:0 4px 16px rgba(35,83,137,.09)}
.driver-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin-bottom:16px;border:1px solid #d9e9fb;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef7ff)}.driver-hero h1{margin:3px 0 6px;font-size:30px}.driver-hero p{margin:0;color:var(--muted)}.driver-kicker{font-size:12px!important;font-weight:900!important;color:var(--blue)!important}.driver-duty{display:grid;justify-items:end;gap:6px}.driver-duty small{font-size:12px;color:var(--muted)}.driver-kpis{grid-template-columns:repeat(4,1fr)}
.driver-section{margin-top:18px}.driver-task-list{display:grid;gap:10px}.driver-task-card{display:grid;grid-template-columns:90px minmax(0,1fr) 150px;gap:14px;align-items:center;padding:16px 17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(31,70,112,.04)}.driver-task-card:hover{border-color:#a8cdf7}.driver-task-time b{display:block;font-size:24px;color:#163a63}.driver-task-time small,.driver-task-main small,.driver-task-state small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.driver-task-route{display:flex;align-items:center;gap:8px;min-width:0}.driver-task-route b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-task-route span{color:#8da4bc}.driver-task-state{display:grid;justify-items:end;gap:4px}.status-card-driver_departed,.status-card-driver_arrived,.status-card-passenger_onboard,.status-card-in_service{border-left:4px solid var(--blue)}
.driver-task-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;align-items:start}.driver-task-column{display:grid;gap:16px}.driver-route-panel{padding:20px}.driver-route-point{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px}.driver-route-point i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-style:normal;font-weight:900}.driver-route-point small,.driver-route-point span{display:block;color:var(--muted);font-size:12px}.driver-route-point b{display:block;margin:2px 0}.driver-route-line{min-height:52px;margin-left:15px;border-left:2px dashed #bdd6f1;display:flex;align-items:center}.driver-route-line span{margin-left:26px;padding:5px 9px;border-radius:999px;background:#f2f7fd;color:#55718e;font-size:12px}.driver-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.driver-info-grid>div{padding:12px;border-radius:12px;background:#f8fbff}.driver-info-grid small,.driver-info-grid span{display:block;color:var(--muted);font-size:12px}.driver-info-grid b{display:block;margin:3px 0}.driver-info-grid a{font-size:12px;font-weight:800;color:var(--blue)}.driver-notes{display:grid;gap:10px}.driver-notes p{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:0;padding-bottom:10px;border-bottom:1px solid var(--line)}.driver-notes b{font-size:12px;color:#526a82}.driver-notes span{font-size:13px;color:#233d59}.driver-action-panel{position:sticky;top:84px}.driver-progress{display:grid;gap:0;margin:8px 0 18px}.driver-progress>div{display:grid;grid-template-columns:34px 1fr;gap:10px;position:relative;min-height:52px}.driver-progress>div:before{content:"";position:absolute;left:15px;top:29px;bottom:-3px;width:2px;background:#e4edf6}.driver-progress>div:last-child:before{display:none}.driver-progress i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef3f8;color:#7c91a6;font-style:normal;font-weight:900;font-size:12px;z-index:1}.driver-progress .done i{background:#eaf8f1;color:#198157}.driver-progress b,.driver-progress small{display:block}.driver-progress small{margin-top:2px;color:var(--muted);font-size:12px}.driver-action-form{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:10px}.driver-action-form label{display:grid;gap:6px;font-weight:700}.driver-action-help{margin:0;text-align:center;color:var(--muted);font-size:12px}.success-btn{background:#16875b!important;border-color:#16875b!important}.driver-complete-box{padding:14px;border-radius:12px;background:#edf9f3;color:#17734e;display:grid;gap:3px}.driver-complete-box span{font-size:12px}.driver-history-filter{display:grid;grid-template-columns:180px 180px auto;gap:10px;align-items:end}.driver-history-filter label{display:grid;gap:5px;font-weight:700}.driver-history-kpis{grid-template-columns:repeat(3,1fr)}.driver-history-list{display:grid;gap:8px}.driver-history-card{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:14px}.driver-history-card time{display:grid}.driver-history-card time b{font-size:18px}.driver-history-card time span,.driver-history-card small{color:var(--muted);font-size:12px}.driver-history-card>div b{display:block;margin-bottom:3px}
@media(max-width:900px){.driver-task-layout{grid-template-columns:1fr}.driver-action-panel{position:static}.driver-task-card{grid-template-columns:76px 1fr}.driver-task-state{grid-column:2;justify-items:start}.driver-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.driver-shell{padding-bottom:96px}.driver-subnav{margin:0 0 12px}.driver-hero{padding:16px;align-items:flex-start}.driver-hero h1{font-size:23px}.driver-duty{justify-items:start}.driver-task-card{grid-template-columns:60px 1fr;padding:13px}.driver-task-time b{font-size:20px}.driver-task-route{display:grid;grid-template-columns:1fr}.driver-task-route span{display:none}.driver-task-state{grid-column:2}.driver-route-point{grid-template-columns:32px 1fr}.driver-route-point .btn{grid-column:2;width:100%}.driver-info-grid{grid-template-columns:1fr 1fr}.driver-notes p{grid-template-columns:1fr;gap:3px}.driver-action-panel{border-radius:16px}.driver-history-filter{grid-template-columns:1fr 1fr}.driver-history-filter button{grid-column:1/-1}.driver-history-card{grid-template-columns:56px 1fr}.driver-history-card>.status-badge{grid-column:2;justify-self:start}.role-driver .footer{display:none}}

/* v0.3.10~v0.3.19 Driver PWA + live location */
.location-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.permission-card{display:grid;gap:8px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.permission-card span,.permission-card small{color:var(--muted);font-size:12px}.location-active-list{display:grid}.location-active-list a{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}.location-active-list a:last-child{border-bottom:0}.location-active-list span,.location-active-list small{font-size:12px;color:var(--muted)}.location-note p{margin:0}.compact-alert{padding:9px 11px;margin:0 0 10px}
.driver-location-card{display:grid;gap:12px;border-color:#cfe4ff;background:linear-gradient(145deg,#fff,#f5faff)}.location-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.location-card-head h2{margin:0}.location-card-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.location-state{display:grid;gap:2px;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid var(--line)}.location-state b{font-size:14px}.location-state small{font-size:12px;color:var(--muted)}.driver-location-card[data-tone="active"] .location-state{border-color:#bfead8;background:#f4fcf8}.driver-location-card[data-tone="stale"] .location-state{border-color:#f3d08e;background:#fffbf1}.driver-location-card[data-tone="error"] .location-state{border-color:#ffc9c9;background:#fff5f5}
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#a8b4c3;box-shadow:0 0 0 4px rgba(140,156,175,.12)}.live-dot.active{background:#1eaa70;box-shadow:0 0 0 4px rgba(30,170,112,.13)}.live-dot.waiting{background:#f0a51a;box-shadow:0 0 0 4px rgba(240,165,26,.13)}.live-dot.stale{background:#db625f;box-shadow:0 0 0 4px rgba(219,98,95,.13)}
.live-driver-shell{max-width:1320px}.live-driver-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:16px;align-items:start}.live-side{display:grid;gap:16px}.live-map-panel{padding:0;overflow:hidden}.live-driver-map{height:min(68vh,680px);min-height:480px;background:linear-gradient(135deg,#eaf5ff,#e7f5ec);position:relative}.map-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:700}.live-map-status{display:flex;align-items:center;gap:10px;padding:13px 16px;border-top:1px solid var(--line);background:#fff}.live-map-status b{flex:1}.live-map-status small{color:var(--muted);font-size:12px}.live-eta{display:grid;grid-template-columns:1fr 1fr;gap:9px}.live-eta>div:first-child{grid-column:1/-1}.live-eta>div{padding:11px;border-radius:12px;background:#f7faff}.live-eta small{display:block;color:var(--muted);font-size:12px}.live-eta b{display:block;margin-top:2px;font-size:17px}.live-help{font-size:12px;margin:12px 0 0}
.fleet-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);gap:16px}.fleet-map-panel{padding:0;overflow:hidden}.fleet-map{height:min(72vh,720px);min-height:520px;background:#edf5fb;position:relative}.fleet-map-meta{display:flex;gap:16px;align-items:center;padding:12px 15px;border-top:1px solid var(--line)}.fleet-map-meta b{margin-right:auto}.fleet-map-meta span{font-size:12px;color:var(--muted)}.fleet-list-panel{max-height:min(78vh,780px);overflow:auto}.fleet-list{display:grid}.fleet-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-top:1px solid var(--line);align-items:center}.fleet-row:first-child{border-top:0}.fleet-row b,.fleet-row span,.fleet-row small{display:block}.fleet-row span,.fleet-row small{font-size:12px;color:var(--muted);margin-top:2px}.fleet-row em{font-style:normal;font-size:12px;font-weight:800;color:#16875b;background:#edf9f3;padding:5px 8px;border-radius:999px}.fleet-row.stale em{color:#b45d18;background:#fff5e7}
@media(max-width:980px){.location-settings-grid,.live-driver-layout,.fleet-layout{grid-template-columns:1fr}.live-driver-map,.fleet-map{min-height:420px;height:55vh}.fleet-list-panel{max-height:none}}
@media(max-width:640px){.live-driver-shell{padding-bottom:96px}.live-driver-map,.fleet-map{min-height:360px;height:48vh}.live-map-status{align-items:flex-start;flex-wrap:wrap}.live-map-status b{min-width:70%}.fleet-map-meta{flex-wrap:wrap}.fleet-map-meta b{width:100%;margin:0}.live-eta{grid-template-columns:1fr 1fr}.location-settings-grid{grid-template-columns:1fr}}


/* v0.4.x realtime */
.realtime-toast{position:fixed;right:18px;bottom:86px;z-index:9999;max-width:360px;padding:13px 16px;border-radius:14px;background:#0f67ff;color:#fff;font-size:13px;font-weight:700;box-shadow:0 14px 34px rgba(15,103,255,.28);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}.realtime-toast.show{opacity:1;transform:none}.realtime-inline-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid #b9d5ff;background:#f3f8ff;border-radius:14px;color:#164a8a}.realtime-inline-notice span{font-size:12px;color:#5e7189}.realtime-inline-notice .btn{margin-left:auto}.code-box{white-space:pre-wrap;word-break:break-word;border-radius:12px;background:#f7f9fc;padding:12px;font-size:12px;color:#334155}.info-strip code{font-size:12px;word-break:break-all}@media(max-width:640px){.realtime-toast{left:12px;right:12px;bottom:82px;max-width:none}.realtime-inline-notice .btn{width:100%;margin-left:0}}


/* v0.4.10~v0.4.19 Notifications + Online Support */
.nav-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:3px;border-radius:999px;background:#e54646;color:#fff;font-style:normal;font-size:12px;font-weight:900;vertical-align:1px}.message-shell{max-width:1440px}.message-layout{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:16px}.notification-panel{padding:0;overflow:hidden}.panel-head,.service-queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0}.notification-list{max-height:720px;overflow:auto}.notification-item{display:grid;gap:3px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fff}.notification-item:hover{background:#f8fbff}.notification-item.unread{background:#f2f8ff;border-left:3px solid var(--blue)}.notification-item b{font-size:14px;color:#17324e}.notification-item span,.notification-item small{font-size:12px;color:var(--muted)}.support-chat-panel{padding:0;overflow:hidden;min-height:660px;display:flex;flex-direction:column}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.chat-head h2,.chat-head p{margin:0}.chat-head p{margin-top:3px;color:var(--muted);font-size:12px}.chat-actions{display:flex;gap:8px;flex-wrap:wrap}.chat-order-link{padding:10px 14px;border-bottom:1px solid var(--line);background:#fbfdff}.chat-messages{flex:1;height:500px;overflow:auto;padding:18px;background:#f5f8fc;display:flex;flex-direction:column;gap:10px}.chat-loading{margin:auto;color:var(--muted)}.chat-msg{display:flex}.chat-msg.mine{justify-content:flex-end}.chat-bubble{max-width:min(76%,640px);padding:10px 12px;border-radius:15px 15px 15px 5px;background:#fff;border:1px solid #dfe8f2;box-shadow:0 4px 12px rgba(43,76,110,.05)}.chat-msg.mine .chat-bubble{background:#0f67ff;color:#fff;border-color:#0f67ff;border-radius:15px 15px 5px 15px}.chat-bubble small,.chat-bubble time{display:block;font-size:12px;opacity:.72}.chat-bubble p{margin:4px 0 5px;white-space:pre-wrap;word-break:break-word}.chat-image-link{display:block;margin:6px 0}.chat-image-link img{display:block;max-width:320px;max-height:320px;border-radius:10px;object-fit:cover}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}.chat-upload{display:flex;align-items:center;gap:10px;padding:0 14px 12px;background:#fff}.chat-upload small{font-size:12px;color:var(--muted)}.service-shell{max-width:1500px}.service-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,#0d5dd7,#0f7ff5);color:#fff}.service-hero h1,.service-hero p{margin:0}.service-hero p{margin-top:4px;opacity:.82}.service-agent{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;align-items:center}.service-agent .live-dot{grid-row:1/3}.service-agent small{font-size:12px;opacity:.75}.service-kpis{grid-template-columns:repeat(4,1fr)}.service-kpis a{color:inherit}.service-filter{display:flex;gap:8px;margin:16px 0;overflow:auto}.service-filter a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800;white-space:nowrap}.service-filter a.active{background:#0f67ff;color:#fff;border-color:#0f67ff}.service-queue{padding:0;overflow:hidden}.service-queue-head span{font-size:12px;color:var(--muted)}.service-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);background:#fff}.service-row:first-of-type{border-top:0}.service-row:hover{background:#f8fbff}.service-row.unread{background:#f2f8ff}.avatar-circle{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e9f3ff;color:#0f67ff;font-weight:900}.service-row b,.service-row span,.service-row small{display:block}.service-row b em{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin-left:5px;border-radius:999px;background:#e54646;color:#fff;font-style:normal;font-size:12px}.service-row span,.service-row small{font-size:12px;color:var(--muted);margin-top:2px}.support-waiting{background:#fff6e8;color:#a86410}.support-active{background:#eaf8f1;color:#18704d}.support-closed{background:#eef2f6;color:#5d6c7c}.service-conversation-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px}.service-context{display:grid;gap:16px;align-content:start}.context-orders{display:grid}.context-orders>div{padding:10px 0;border-top:1px solid var(--line)}.context-orders>div:first-child{border-top:0}.context-orders b,.context-orders span,.context-orders small{display:block}.context-orders span,.context-orders small{font-size:12px;color:var(--muted);margin-top:2px}
@media(max-width:960px){.message-layout,.service-conversation-layout{grid-template-columns:1fr}.notification-list{max-height:360px}.service-kpis{grid-template-columns:1fr 1fr}.support-chat-panel{min-height:580px}}
@media(max-width:640px){.message-shell,.service-shell{padding-bottom:96px}.service-hero{align-items:flex-start}.service-kpis{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:38px 1fr}.service-row>.status-badge{grid-column:2;justify-self:start}.avatar-circle{width:38px;height:38px}.chat-messages{height:52vh;padding:12px}.chat-bubble{max-width:88%}.chat-compose{grid-template-columns:1fr auto}.chat-image-link img{max-width:230px;max-height:260px}}

/* v0.5.0~v0.5.9 PWA / Web Push */
.push-state{padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fbff;margin:12px 0}.push-state b{display:block;font-size:16px}.push-state p{margin:4px 0 0}.notice-box{margin-top:14px;padding:14px;border-radius:14px;background:#f6f9fd;border:1px solid var(--line)}.notice-box b{display:block;margin-bottom:4px}.notice-box p{margin:0;color:var(--muted)}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:10px}.stack>form .btn{width:100%}.panel code{font-size:12px;word-break:break-all;background:#f3f6fa;padding:2px 5px;border-radius:5px}@media(max-width:640px){.inline-actions .btn{flex:1;min-width:120px}}


/* v0.6.0~v0.6.9 PWA responsive / safe-area */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-font-size:12px}.topbar{padding-left:max(18px,var(--safe-left));padding-right:max(18px,var(--safe-right));padding-top:var(--safe-top)}.footer{padding-bottom:max(24px,var(--safe-bottom));padding-left:max(18px,var(--safe-left));padding-right:max(18px,var(--safe-right))}.mobile-nav{padding-bottom:var(--safe-bottom);height:calc(64px + var(--safe-bottom));padding-left:var(--safe-left);padding-right:var(--safe-right)}
input,select,textarea,button{font-family:inherit}small,.muted,.page-subtitle,.footer-meta,.status-badge,.badge,.map-chip,.panel code{font-size:12px}
.pwa-update-bar{position:fixed;left:50%;bottom:calc(78px + var(--safe-bottom));transform:translateX(-50%);z-index:10050;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 15px;background:#15324e;color:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(17,42,66,.24);font-size:12px;font-weight:800}.pwa-update-bar button{border:0;border-radius:9px;background:#fff;color:#0f67ff;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap}.pwa-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.pwa-status-card{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.pwa-status-card small{display:block;color:var(--muted);font-size:12px}.pwa-status-card b{display:block;margin-top:4px;font-size:16px}.pwa-status-card .offline,[data-pwa-network].offline{color:#c85757}.plain-list{margin:0;padding-left:20px}.plain-list li{margin:7px 0}.is-offline [data-online-only]{opacity:.5;pointer-events:none}
@media(max-width:1180px) and (min-width:641px){.page-shell{padding-left:24px;padding-right:24px}.planner-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.planner-layout>.planner-side:last-child{grid-column:1/-1}.dashboard-layout{grid-template-columns:1fr 1fr}.pwa-status-grid{grid-template-columns:repeat(2,1fr)}.topbar nav{gap:12px}}
@media(max-width:640px){body{padding-bottom:calc(76px + var(--safe-bottom))}.page-shell{padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right))}.topbar{min-height:58px;padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right))}.topbar .brand small{font-size:12px}.mobile-nav a,.mobile-nav span,.mobile-nav .nav-ico{font-size:12px}.pwa-status-grid{grid-template-columns:1fr 1fr}.pwa-settings-shell{padding-bottom:calc(96px + var(--safe-bottom))}.planner-editor input,.planner-editor select,.planner-editor textarea,.chat-compose input,.chat-compose textarea,form input,form select,form textarea,.input{font-size:16px!important}.page-title{font-size:24px;line-height:1.2}.page-subtitle{font-size:12px}.btn{min-height:42px}.data-table{font-size:12px}}
@media(max-width:430px){.page-shell{padding-left:max(11px,var(--safe-left));padding-right:max(11px,var(--safe-right))}.dashboard-grid{grid-template-columns:1fr 1fr}.pwa-status-grid{gap:8px}.pwa-status-card{padding:12px}.pwa-status-card b{font-size:14px}.order-route{gap:6px}.planner-map-wrap{min-height:44vh}}
@media(max-width:390px){.top-actions{gap:6px}.page-title-row{gap:10px}.page-title-row>.row{width:100%}.page-title-row>.row .btn{flex:1}.service-kpis,.dashboard-grid{gap:8px}.mobile-nav{font-size:12px}.chat-bubble{max-width:92%}}
@media(max-width:360px){.page-shell{padding-left:max(9px,var(--safe-left));padding-right:max(9px,var(--safe-right))}.brand b{font-size:14px}.brand small{display:none}.page-title{font-size:22px}.btn{padding-left:11px;padding-right:11px}.summary{gap:6px}.summary>div{padding:8px}.mobile-nav .nav-ico{font-size:16px}.pwa-status-grid{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:520px){.mobile-nav{height:calc(56px + var(--safe-bottom))}.planner-map-wrap .map-box{min-height:70vh}.topbar{position:relative}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.topbar{padding-top:max(6px,var(--safe-top))}.footer{padding-bottom:max(24px,var(--safe-bottom))}}

/* v0.6.7 minimum readable type */
.nav-count,.chat-bubble small,.chat-bubble time,.service-row span,.service-row small,.fleet-row span,.fleet-row small,.live-map-status small,.live-eta small{font-size:12px!important}
/* v0.7.0~v0.7.9 tourism catalog / pricing */
.tourism-shell{padding-bottom:70px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.filter-row a{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#567}.filter-row a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.tourism-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tourism-card,.route-template-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(30,70,120,.08)}.tourism-card img,.route-template-card img,.thumb-img{width:100%;height:180px;object-fit:cover;background:#eaf5ff}.tourism-card-body,.route-template-card>div{padding:16px}.tourism-card-body b,.route-template-card b{font-size:17px}.tourism-card-body p,.route-template-card p{color:var(--muted);min-height:42px}.row.between{justify-content:space-between}.tourism-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.route-template-card img{height:210px}.destination-hero,.route-detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.destination-hero>img,.route-detail-hero>img{height:420px;width:100%;object-fit:cover}.destination-hero>div,.route-detail-hero>div{padding:28px}.destination-hero h1,.route-detail-hero h1{font-size:38px;margin:12px 0}.destination-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted)}.route-detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;margin-top:16px}.route-day-title{margin:22px 0 12px;color:#0d67d9}.route-stop-row{display:grid;grid-template-columns:24px 1fr;gap:10px;position:relative;padding:10px 0}.route-stop-row:before{content:"";position:absolute;left:8px;top:30px;bottom:-10px;width:2px;background:#d9e9fb}.route-stop-row:last-child:before{display:none}.stop-dot{width:18px;height:18px;border:5px solid #b9dafd;background:#1677ff;border-radius:50%;margin-top:3px}.route-stop-row b,.route-stop-row small{display:block}.route-stop-row small{color:var(--muted);font-size:12px}.admin-two-col{display:grid;grid-template-columns:minmax(340px,.65fr) minmax(0,1.35fr);gap:16px}.admin-list{display:grid;gap:8px}.admin-list-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:12px}.admin-list-row b,.admin-list-row small{display:block}.admin-list-row small{color:var(--muted);font-size:12px}.compact-input{width:72px;padding:7px!important}.pricing-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pricing-form-row{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end}.rule-list{margin-top:14px;border-top:1px solid var(--line)}.rule-list>div{padding:10px 0;border-bottom:1px solid var(--line)}.rule-list b,.rule-list small{display:block}.rule-list small{color:var(--muted);font-size:12px}.quote-box{margin:15px 0;padding:16px;border-radius:15px;background:linear-gradient(135deg,#eef7ff,#f8fbff);border:1px solid #d6eaff}.quote-box small,.quote-box span{display:block;color:var(--muted);font-size:12px}.quote-box b{display:block;font-size:30px;color:#0f67ff;line-height:1.25;margin:3px 0}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#edf6ff;color:#0f67ff;font-size:12px;font-weight:800}.thumb-img{display:block}
@media(max-width:1180px){.tourism-card-grid{grid-template-columns:repeat(3,1fr)}.tourism-route-grid{grid-template-columns:repeat(2,1fr)}.pricing-form-row{grid-template-columns:repeat(2,1fr)}.pricing-form-row .btn{grid-column:1/-1}}
@media(max-width:800px){.tourism-card-grid,.tourism-route-grid,.pricing-admin-grid,.admin-two-col,.destination-hero,.route-detail-hero,.route-detail-layout{grid-template-columns:1fr}.destination-hero>img,.route-detail-hero>img{height:260px}.destination-hero>div,.route-detail-hero>div{padding:20px}.destination-hero h1,.route-detail-hero h1{font-size:28px}.tourism-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.tourism-card-grid{grid-template-columns:1fr}.tourism-card img,.route-template-card img{height:170px}.pricing-form-row{grid-template-columns:1fr}.admin-list-row{align-items:flex-start;flex-direction:column}.admin-list-row>.row{width:100%;justify-content:flex-end}}
/* v0.8.x operations */
.ops-list{display:grid;gap:14px}.ops-item{border-left:4px solid #d7e9fb}.ops-item.severity-critical{border-left-color:#d92d20}.ops-item.severity-high{border-left-color:#f79009}.ops-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ops-item-head b,.ops-item-head small{display:block}.ops-item-head small{color:var(--muted);margin-top:4px}.ops-action-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto auto;gap:9px;align-items:center;margin-top:12px}.change-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.change-compare>div{background:#f7fbff;border:1px solid var(--line);border-radius:12px;padding:12px}.change-compare small,.change-compare span,.change-compare b{display:block}.change-compare small,.change-compare span{color:var(--muted)}.order-ops-actions{display:flex;flex-wrap:wrap;gap:9px}.page-title-row.compact{margin-bottom:10px}.ops-notes>div,.ops-summary-list>div{padding:12px 0;border-top:1px solid var(--line)}.ops-notes>div.pinned{background:#fff9e8;border:1px solid #f6d88a;border-radius:12px;padding:12px;margin-top:10px}.ops-notes b,.ops-notes small,.ops-summary-list b,.ops-summary-list span{display:block}.ops-notes small,.ops-summary-list span{color:var(--muted)}.audit-json{max-width:360px;display:block;word-break:break-all}.metric-bars{display:grid;gap:10px}.metric-bars>div{display:grid;grid-template-columns:110px 1fr 50px;gap:10px;align-items:center}.metric-bars i{height:9px;background:linear-gradient(90deg,#1677ff var(--w),#eaf2fb var(--w));border-radius:999px}.metric-bars b{text-align:right}.mini-progress{display:flex;align-items:center;gap:8px}.mini-progress i{width:100px;height:8px;background:linear-gradient(90deg,#1677ff var(--w),#eaf2fb var(--w));border-radius:999px}.notice-box{padding:12px 14px;background:#f4f9ff;border:1px solid #d8eaff;border-radius:12px;color:#456}.btn.danger.outline{background:#fff;color:#d92d20;border-color:#f1b7b2}
@media(max-width:800px){.ops-action-form{grid-template-columns:1fr}.change-compare{grid-template-columns:1fr}.ops-item-head{flex-direction:column}.metric-bars>div{grid-template-columns:82px 1fr 44px}.order-ops-actions>.btn,.order-ops-actions>.status-badge{flex:1 1 44%;justify-content:center}.mini-progress i{width:70px}}
/* v0.9.x security / QA / release gate */
.qa-list{display:grid;gap:9px}.qa-row{display:grid;grid-template-columns:92px minmax(180px,1fr) minmax(220px,2fr);gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.qa-row small{color:var(--muted);word-break:break-word}.qa-summary,.release-gate{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-radius:14px;margin-bottom:14px}.qa-summary b,.release-gate b{font-size:22px}.qa-pass,.gate-ready{background:#effaf4;color:#16784a}.qa-warning{background:#fff8e8;color:#946200}.qa-fail,.gate-blocked{background:#fff1f0;color:#b42318}.status-badge.qa-pass{background:#e7f8ef;color:#16784a}.status-badge.qa-warning{background:#fff3d6;color:#946200}.status-badge.qa-fail{background:#fde9e7;color:#b42318}.beta-row{grid-template-columns:92px 180px minmax(220px,1fr) auto auto}.release-gate{border:1px solid currentColor}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.qa-row,.beta-row{grid-template-columns:1fr}.qa-summary,.release-gate{align-items:flex-start;flex-direction:column}.two-col{grid-template-columns:1fr}}

/* v1.0.1 Admin left sidebar + settings */
@media (min-width:901px){
 body.role-admin .topbar #mainNav{display:none}
 body.role-admin .topbar .top-actions{margin-left:auto;justify-content:flex-end;min-width:max-content}
 body.role-admin .topbar .brand{flex:0 0 auto}
 body.role-admin .topbar{gap:16px}
 .admin-shell{max-width:none;margin:0;padding-left:276px;padding-right:28px}
 .admin-subnav{position:fixed;z-index:90;left:16px;top:78px;bottom:18px;width:232px;display:block;overflow-y:auto;overflow-x:hidden;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px rgba(42,75,110,.09)}
 .admin-nav-brand{display:flex;flex-direction:column;padding:8px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:7px}.admin-nav-brand b{font-size:15px}.admin-nav-brand small{font-size:12px;color:var(--muted);margin-top:2px}
 .admin-nav-group{padding:7px 0;border-bottom:1px solid #eef3f8}.admin-nav-group:last-child{border-bottom:0}.admin-nav-title{display:block;padding:4px 10px 5px;font-size:12px;font-weight:800;color:#91a0af}
 .admin-subnav a{display:block;white-space:normal;padding:8px 10px;margin:2px 0;border-radius:9px;color:#536a81;font-weight:700;font-size:12px}
 .admin-subnav a:hover{background:#f4f8fc;color:#1b6fe5}.admin-subnav a.active{background:#eaf3ff;color:var(--blue);box-shadow:none}
}
.settings-sections{display:grid;gap:16px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid label{display:grid;gap:6px;font-weight:700}.settings-grid .span-2{grid-column:1/-1}.settings-savebar{position:sticky;bottom:12px;z-index:40;display:flex;gap:10px;justify-content:flex-end;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 12px 32px rgba(42,75,110,.12)}
@media(max-width:900px){.admin-subnav{display:flex;gap:5px;overflow:auto;margin:0 0 14px;padding:5px;background:#f3f7fb;border:1px solid var(--line);border-radius:14px}.admin-nav-brand,.admin-nav-title{display:none}.admin-nav-group{display:flex;gap:5px;flex:none}.admin-subnav a{white-space:nowrap;padding:9px 12px}.settings-grid{grid-template-columns:1fr}.settings-grid .span-2{grid-column:auto}.settings-savebar{bottom:calc(78px + env(safe-area-inset-bottom));justify-content:stretch}.settings-savebar .btn{flex:1}}
/* v1.0.2-v1.0.11 Payment */
.payment-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.payment-amount{padding:18px;border-radius:16px;background:var(--soft,#f5f8ff);margin:12px 0}.payment-amount small{display:block;color:var(--muted,#667085)}.payment-amount b{font-size:30px;line-height:1.2}.payment-provider-list{display:grid;gap:10px;margin-top:14px}.payment-provider{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #e4e8f0;background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer}.payment-provider:hover{border-color:#2878ff;box-shadow:0 8px 24px rgba(32,94,200,.08)}.payment-provider span:nth-child(2){display:flex;flex:1;flex-direction:column}.payment-provider small{color:#667085;margin-top:3px}.payment-provider em{font-style:normal;color:#2878ff;font-weight:700}.pay-logo{width:40px;height:40px;border-radius:12px;background:#edf4ff;display:grid;place-items:center;font-weight:900;font-size:18px;color:#1769e0}.payment-result{text-align:center;max-width:680px;margin:40px auto}.payment-result h1{margin-bottom:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.switch-line,.check-row{display:flex!important;align-items:center;gap:8px}.qa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qa-item{display:flex;flex-direction:column;gap:6px}.qa-item small{color:#667085}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:180px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:10px 12px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}.status-badge.ok{background:#ecfdf3;color:#027a48}.status-badge.danger{background:#fff1f0;color:#b42318}@media(max-width:900px){.payment-layout{grid-template-columns:1fr}.qa-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.qa-grid{grid-template-columns:1fr}.payment-provider{padding:12px}.payment-amount b{font-size:26px}}

/* v1.0.22-v1.0.31 Member + Support Center */
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.permission-grid label{display:flex;align-items:center;gap:8px;font-weight:700}.member-filter{display:grid;grid-template-columns:minmax(220px,1fr) 170px 170px auto;gap:10px;align-items:end;margin-bottom:16px}.block{display:block}.member-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.member-security-state{display:flex;align-items:center;gap:10px;padding:12px 0}.member-security-state small{margin-left:auto;color:var(--muted)}.timeline-list{display:grid;gap:0;margin-top:12px}.timeline-list>div{padding:11px 0;border-top:1px solid var(--line)}.timeline-list b,.timeline-list span,.timeline-list small{display:block}.timeline-list span{margin:4px 0;word-break:break-word}.timeline-list small{color:var(--muted)}.priority{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800;background:#eef3f8;color:#52667a}.priority-high{background:#fff3db;color:#9a6700}.priority-urgent{background:#ffe9e7;color:#b42318}.priority-low{background:#eef8f2;color:#287a4c}.service-row.sla-overdue{border-left:4px solid #d92d20}.support-control-row{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.support-control-row label{display:grid;gap:4px;min-width:150px;font-size:12px;font-weight:700}.support-control-row .input{min-height:36px;padding:7px 9px}.status-badge.active{background:#ecfdf3;color:#027a48}.status-badge.inactive{background:#f2f4f7;color:#475467}.status-badge.blocked{background:#fff1f0;color:#b42318}
@media(max-width:900px){.member-filter{grid-template-columns:1fr 1fr}.member-filter .btn{grid-column:1/-1}.member-detail-grid{grid-template-columns:1fr}}
@media(max-width:560px){.permission-grid,.member-filter{grid-template-columns:1fr}.member-security-state{align-items:flex-start;flex-direction:column}.member-security-state small{margin-left:0}.support-control-row>*{flex:1 1 100%}}

/* v1.0.32~v1.0.41 planner v2 / AMap v2 */
.planner-v2-shell{max-width:1680px}.planner-layout-v2{grid-template-columns:390px minmax(520px,1fr) 380px}.planner-pref-row{display:flex;gap:10px;align-items:end;margin-top:12px}.planner-optimize{white-space:nowrap;min-height:44px}.poi-search-row{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:8px}.planner-place-drawer{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}.planner-place-drawer .section-link{border:0;background:transparent;cursor:pointer}.quick-place-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.quick-place{display:block;text-align:left;border:1px solid #dce8f5;background:#fff;border-radius:10px;padding:8px 9px;cursor:pointer;min-width:0}.quick-place:hover{border-color:#9fc9ff;background:#f7fbff}.quick-place b,.quick-place small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-place b{font-size:12px}.quick-place small{font-size:12px;color:var(--muted);margin-top:2px}.summary-v2{grid-template-columns:repeat(3,1fr)}.summary-v2>div:nth-child(n+4){background:#f7fbff}.planner-result-v2{overflow:auto}.segment-vehicle-row{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;margin-top:7px}.disabled-link{pointer-events:none;opacity:.45}.share-trip-shell{max-width:1500px}.share-trip-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:16px;align-items:start}.share-map{height:min(68vh,680px);min-height:480px;background:#edf5fb;border-radius:14px;position:relative;overflow:hidden}.share-day{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.share-day h3{margin:0 0 4px}.share-day h3 small{color:var(--muted);font-weight:500}.planner-qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.planner-qa-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.planner-qa-card b,.planner-qa-card span,.planner-qa-card small{display:block}.planner-qa-card span{font-size:20px;font-weight:800;margin:5px 0}.planner-qa-card small{color:var(--muted)}.planner-qa-checks{display:grid;gap:8px;margin-top:14px}.planner-qa-check{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f8fbff;border:1px solid var(--line)}.planner-qa-check.ok strong{color:#16875b}.planner-qa-check.warn strong{color:#b26a00}.planner-qa-check.fail strong{color:#c83232}
@media(max-width:1180px){.planner-layout-v2{grid-template-columns:350px 1fr}.planner-layout-v2>.planner-result-v2{grid-column:1/-1}.share-trip-grid{grid-template-columns:1fr}.planner-qa-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.planner-layout-v2{display:block}.planner-pref-row{align-items:stretch}.planner-optimize{align-self:end}.poi-search-row{grid-template-columns:92px minmax(0,1fr)}.poi-search-row #addressSearchBtn{grid-column:1/-1}.quick-place-list{grid-template-columns:1fr 1fr}.summary-v2{grid-template-columns:repeat(3,1fr)}.share-map{height:46vh;min-height:340px}.planner-qa-grid{grid-template-columns:1fr 1fr}.planner-v2-shell .page-title-row>.row{width:100%;display:grid;grid-template-columns:1fr 1fr}.planner-v2-shell .page-title-row>.row .btn{width:100%}}
@media(max-width:390px){.quick-place-list{grid-template-columns:1fr}.summary-v2{grid-template-columns:1fr 1fr}.planner-qa-grid{grid-template-columns:1fr}}

/* v1.0.52 ~ v1.0.61 booking / order UX v2 */
.booking-v2{max-width:1320px}.page-title-actions,.order-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-rebook-banner,.booking-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px 16px;border:1px solid #cfe3fb;border-radius:14px;background:#f5faff}.booking-rebook-banner b,.booking-draft-banner b{display:block}.booking-rebook-banner p,.booking-draft-banner p{margin:3px 0 0;color:var(--muted);font-size:12px}.booking-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.booking-stepper [data-step]{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#75879a;font-weight:800}.booking-stepper [data-step] i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#edf2f7;color:#6d8298;font-size:12px;font-style:normal}.booking-stepper [data-step].active{border-color:#afd2ff;background:#f5faff;color:var(--blue)}.booking-stepper [data-step].active i{background:var(--blue);color:#fff}.booking-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.booking-section-head h2,.booking-section-head p,.booking-section-head b,.booking-section-head span{margin:0}.booking-section-head h2,.booking-section-head b{font-size:19px}.booking-section-head p,.booking-section-head span{margin-top:3px;color:var(--muted);font-size:12px}.saved-passenger-row{display:flex;gap:8px;overflow:auto;padding:2px 0 5px}.saved-passenger{min-width:150px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);cursor:pointer}.saved-passenger:hover{border-color:#9fcaff;background:#f7fbff}.saved-passenger b,.saved-passenger small{display:block}.saved-passenger small{margin-top:2px;color:var(--muted);font-size:12px}.booking-draft-state{min-height:18px;margin-top:8px;color:var(--muted);font-size:12px}.booking-summary-route{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#f7fbff}.booking-summary-route span:last-child{text-align:right}.booking-summary-route i{font-style:normal;color:var(--blue);font-weight:900}.booking-submit-check{display:grid;gap:4px;margin-top:12px;padding:11px 12px;border-radius:11px;background:#f7f9fc;color:#526a82;font-size:12px}.booking-submit-check b{color:#29445f}

.orders-v2{max-width:1240px}.order-scope-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:2px}.order-scope-tabs a{white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#4e657c;font-size:12px;font-weight:800}.order-scope-tabs a.active{background:var(--blue);border-color:var(--blue);color:#fff}.order-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:8px;margin-bottom:14px}.order-list-v2{display:grid;gap:10px}.order-card-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 26px rgba(32,72,120,.05)}.order-card-v2.is-pinned{border-color:#a9ceff;box-shadow:0 10px 30px rgba(22,119,255,.08)}.order-card-main{min-width:0}.order-card-main h3{margin:4px 0 8px;font-size:17px}.order-card-main p{margin:0;color:#425c76}.order-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:360px}.order-card-actions form{display:inline-flex;margin:0}

.order-detail-v2{max-width:1240px}.order-special-state{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px 16px;border:1px solid #f1d4d4;border-radius:14px;background:#fff7f7}.order-special-state h2,.order-special-state p{margin:0}.order-special-state p{margin-top:3px;color:#7c6262;font-size:12px}.order-progress-panel{margin-bottom:14px}.order-progress-v2{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:10px}.order-progress-v2>div{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;color:#8293a5;font-size:12px}.order-progress-v2>div:before{content:"";position:absolute;top:14px;left:-50%;width:100%;height:2px;background:#e1eaf3;z-index:0}.order-progress-v2>div:first-child:before{display:none}.order-progress-v2 i{position:relative;z-index:1;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf2f7;color:#72869b;font-style:normal;font-weight:900;font-size:12px}.order-progress-v2 .done:before,.order-progress-v2 .current:before{background:#8fbeff}.order-progress-v2 .done i{background:#e6f6ef;color:#167652}.order-progress-v2 .current i{background:var(--blue);color:#fff;box-shadow:0 0 0 5px rgba(22,119,255,.10)}.order-progress-v2 b{font-size:12px}.reminder-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.reminder-summary b,.reminder-summary small{display:block}.reminder-summary small{margin-top:2px;color:var(--muted);font-size:12px}

.refund-estimate-card{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.refund-estimate-card>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.refund-estimate-card small,.refund-estimate-card b{display:block}.refund-estimate-card small{color:var(--muted);font-size:12px}.refund-estimate-card b{margin-top:3px;font-size:17px}.refund-estimate-card>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.change-compare-v2{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.change-compare-v2>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.change-compare-v2 small,.change-compare-v2 b{display:block}.change-compare-v2 small{color:var(--muted);font-size:12px}.change-compare-v2>i{font-style:normal;color:var(--blue);font-weight:900}.quote-change-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.quote-change-strip span{flex:1;min-width:180px;padding:10px 12px;border-radius:10px;background:#f5f8fc;color:#587087;font-size:12px}.quote-change-strip b{color:#223f5d}.check-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.check-card input{width:18px;height:18px;accent-color:var(--blue);margin-top:2px}.check-card b,.check-card small{display:block}.check-card small{margin-top:2px;color:var(--muted);font-size:12px}

.booking-center{max-width:1260px}.booking-kpis{grid-template-columns:repeat(4,1fr)}.booking-center-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.booking-center-row:first-of-type{border-top:0}.booking-center-row time b,.booking-center-row time span,.booking-center-row>span b,.booking-center-row>span small{display:block}.booking-center-row time span,.booking-center-row>span small{color:var(--muted);font-size:12px;margin-top:2px}.booking-center-finance{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.booking-center-finance>div{padding:13px;border-radius:12px;background:#f8fbff;border:1px solid var(--line)}.booking-center-finance small,.booking-center-finance b{display:block}.booking-center-finance small{color:var(--muted);font-size:12px}.booking-center-finance b{margin-top:3px;font-size:18px}.booking-center-finance>p{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:12px}.passenger-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.passenger-manage-row:first-child{border-top:0}.passenger-manage-row b,.passenger-manage-row small{display:block}.passenger-manage-row small{color:var(--muted);font-size:12px;margin-top:2px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.row-actions form{margin:0}

@media(max-width:900px){.booking-stepper{grid-template-columns:repeat(2,1fr)}.order-card-v2{grid-template-columns:1fr}.order-card-actions{justify-content:flex-start;max-width:none}.booking-kpis{grid-template-columns:repeat(2,1fr)}.order-progress-v2{overflow:auto;justify-content:start;grid-template-columns:repeat(7,minmax(92px,1fr));padding-bottom:5px}.order-progress-v2>div:before{left:-50%}}
@media(max-width:640px){.page-title-actions,.order-title-actions{width:100%}.page-title-actions .btn,.order-title-actions .btn{flex:1;min-width:120px}.booking-rebook-banner,.booking-draft-banner{align-items:flex-start;flex-direction:column}.booking-stepper{gap:6px}.booking-stepper [data-step]{padding:8px;min-height:40px}.order-filter-bar{grid-template-columns:1fr}.order-card-v2{padding:13px}.order-card-actions .btn{flex:1;min-width:112px}.refund-estimate-card{grid-template-columns:1fr}.change-compare-v2{grid-template-columns:1fr}.change-compare-v2>i{transform:rotate(90deg);justify-self:center}.booking-kpis{grid-template-columns:repeat(2,1fr)}.booking-center-finance{grid-template-columns:1fr}.booking-center-finance>p{grid-column:auto}.passenger-manage-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.reminder-summary{align-items:flex-start;flex-direction:column}.saved-passenger{min-width:135px}}

/* v1.0.62~v1.0.71 tourism products + pricing v2 */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.product-card>a{display:block;color:inherit}.product-card img{width:100%;height:220px;object-fit:cover;background:#edf4fb}.product-card-body{padding:16px}.product-card h2{font-size:19px;margin:10px 0 6px}.product-card p{color:var(--muted);min-height:42px}.product-card-price{display:flex;align-items:baseline;gap:5px;margin-top:12px}.product-card-price b{font-size:24px;color:var(--blue)}.product-card-price small{color:var(--muted)}.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);margin-bottom:16px}.product-hero img{width:100%;height:360px;object-fit:cover}.product-hero>div{padding:32px;display:flex;flex-direction:column;justify-content:center}.product-hero h1{font-size:32px;margin:12px 0 8px}.product-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:16px}.product-book-box{position:sticky;top:88px}.product-item-list{display:grid;gap:7px;padding-left:20px}.product-variant-list{display:grid;gap:9px;margin-top:14px}.product-variant{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.product-variant b,.product-variant small{display:block}.product-variant small{color:var(--muted);margin-top:3px}.product-variant>div:last-child{text-align:right}.booking-addons{margin-top:14px}.booking-addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.booking-addon{display:grid;grid-template-columns:1fr 78px;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.booking-addon b,.booking-addon small{display:block}.booking-addon small{color:var(--muted);margin-top:3px}.booking-addon .input{padding:8px}.addon-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.addon-admin-grid label{border:1px solid var(--line);border-radius:10px;padding:9px}.quote-breakdown{display:grid;gap:0;margin-top:10px}.quote-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.quote-breakdown span{color:var(--muted)}.qa-json{white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;background:#0d1722;color:#d9e8f7;border-radius:12px;padding:12px;font-size:12px}.qa-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.qa-check{border-left:4px solid #d92d20}.qa-check.ok{border-left-color:#19a56f}.qa-check b,.qa-check small{display:block}.qa-check small{margin-top:4px;color:var(--muted)}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}.product-detail-layout,.product-hero{grid-template-columns:1fr}.product-book-box{position:static}.product-hero img{height:280px}.qa-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.product-grid{grid-template-columns:1fr}.product-card img{height:190px}.product-hero>div{padding:20px}.product-hero h1{font-size:27px}.booking-addon-grid,.addon-admin-grid,.qa-card-grid{grid-template-columns:1fr}.product-variant{align-items:flex-start;flex-direction:column}.product-variant>div:last-child{text-align:left;width:100%}.product-variant .btn{width:100%}}


/* v1.0.82~v1.0.91 PWA / mobile / performance v3 */
.perf-auto-section{content-visibility:auto;contain-intrinsic-size:1px 520px}.device-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.device-cap-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.device-cap-grid small,.device-cap-grid b{display:block}.device-cap-grid small{color:var(--muted);font-size:12px}.device-cap-grid b{margin-top:3px}.mobile-nav a{min-height:44px;position:relative;-webkit-tap-highlight-color:transparent}.mobile-nav a.active{color:var(--blue);font-weight:800}.mobile-nav a:focus-visible,.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,119,255,.24);outline-offset:2px}.btn,.input,button,input,select,textarea{min-height:44px}.topbar a,.admin-subnav a{min-height:44px}.pwa-settings-shell{max-width:1260px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:640px){.device-cap-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav a{touch-action:manipulation}.mobile-nav .nav-ico{pointer-events:none}.page-shell{padding-left:max(10px,var(--safe-left));padding-right:max(10px,var(--safe-right))}.table-wrap{-webkit-overflow-scrolling:touch}.btn{min-height:44px}.topbar .menu-btn{min-width:44px;min-height:44px}.pwa-update-bar{left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));transform:none;max-width:none;justify-content:space-between}.admin-shell{padding-bottom:calc(92px + var(--safe-bottom))}}
@media(max-width:900px) and (orientation:landscape){.mobile-nav{height:calc(58px + var(--safe-bottom))}.mobile-nav .mobile-primary .nav-ico{margin-top:-8px}.page-shell{padding-bottom:calc(72px + var(--safe-bottom))}}

/* v1.0.101 R5 admin live system status bar */
body.role-admin .admin-live-statusbar{position:sticky;top:72px;z-index:99;min-height:42px;display:flex;align-items:center;gap:10px;padding:6px max(18px,var(--safe-right)) 6px max(18px,var(--safe-left));background:rgba(248,251,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #dfe9f4;box-shadow:0 5px 14px rgba(29,68,110,.05);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap}
.admin-live-statusbar .admin-status-cluster{display:flex;align-items:center;gap:6px;flex:none}.admin-live-statusbar .admin-status-cluster>strong{font-size:12px;color:#24364a}.admin-status-group-label{font-size:12px;color:#71849a;margin-left:2px}.admin-status-items{display:flex;align-items:center;gap:5px}.admin-status-chip{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid #dce7f1;border-radius:999px;background:#fff;color:#52667a;font-size:12px;font-weight:700;line-height:1}.admin-status-chip i{width:7px;height:7px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.12)}.admin-status-chip em{font-style:normal;font-size:12px;color:#667085}.admin-status-chip.state-ok{border-color:#ccebd9;background:#f5fcf8;color:#166b45}.admin-status-chip.state-ok i{background:#18a567;box-shadow:0 0 0 3px rgba(24,165,103,.13)}.admin-status-chip.state-ok em{color:#16875b}.admin-status-chip.state-warning{border-color:#f3ddb0;background:#fffaf0;color:#8a5b00}.admin-status-chip.state-warning i{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}.admin-status-chip.state-warning em{color:#a56600}.admin-status-chip.state-down{border-color:#f1c3bf;background:#fff6f5;color:#a82f25}.admin-status-chip.state-down i{background:#dc4236;box-shadow:0 0 0 3px rgba(220,66,54,.13)}.admin-status-chip.state-down em{color:#c0362b}.admin-status-chip.state-off,.admin-status-chip.state-unknown{background:#f5f7fa;color:#667085}.admin-status-chip.state-off i,.admin-status-chip.state-unknown i{background:#98a2b3}.admin-status-chip.is-loading{animation:adminStatusPulse 1.2s ease-in-out infinite}.admin-status-meta{margin-left:auto;display:flex;align-items:center;gap:5px;flex:none;color:#8594a6;font-size:12px}.admin-status-meta button{width:28px;height:28px;min-height:28px;border:0;border-radius:50%;background:transparent;color:#536a81;cursor:pointer;font-size:16px;padding:0}.admin-status-meta button:hover{background:#e8f1fb}.admin-live-statusbar.is-refreshing .admin-status-meta button{animation:adminStatusSpin .8s linear infinite}.admin-live-statusbar.has-alert{border-bottom-color:#f0d7c8}@keyframes adminStatusSpin{to{transform:rotate(360deg)}}@keyframes adminStatusPulse{50%{opacity:.55}}
@media(min-width:901px){body.role-admin .admin-subnav{top:124px}}
@media(max-width:900px){body.role-admin .admin-live-statusbar{top:72px;padding-left:12px;padding-right:12px}.admin-live-statusbar .admin-status-meta{margin-left:8px}}
@media(max-width:640px){body.role-admin .admin-live-statusbar{top:64px;min-height:40px;padding:5px max(10px,var(--safe-left)) 5px max(10px,var(--safe-right));gap:7px}.admin-status-chip{min-height:27px;padding:4px 7px}.admin-live-statusbar .admin-status-cluster>strong{display:none}.admin-status-meta{padding-right:6px}}
