/* Neutral charcoal surfaces with restrained blue accents. */
:root{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;color:#587188;font-size:12px;white-space:nowrap}
.theme-toggle::before{content:'';width:12px;height:12px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.theme-toggle:hover{background:#eaf1f8}.login-theme{position:absolute;top:22px;right:24px}
:root[data-theme=dark]{color-scheme:dark;color:#ececec;background:#202020;--blue:#3177c7;--muted:#aaa;--line:#373737;--navy:#ececec;--surface:#282828;--field:#222;--secondary:#b8b8b8;scrollbar-color:#525252 #202020}
[data-theme=dark] :is(body,.workspace,.main,.login-screen){background:#202020;color:#ececec}
[data-theme=dark] .sidebar{background:#181818;border-color:#303030}
[data-theme=dark] .topbar{background:#202020;border-color:#343434}
[data-theme=dark] :is(.brand small,.nav-label,.breadcrumb,.account,.text-button,.result-count,.pagination,.muted,.loading,.empty-state,.empty-state h3,.action-description,.action-field,.confirm-check label,.field-help,.login-note,.data-note){color:#aaa}
[data-theme=dark] .brand-icon{background:#343434;color:#eee}
[data-theme=dark] .nav-item{color:#c3c3c3}
[data-theme=dark] .nav-item:hover{background:#262626;color:#f2f2f2}
[data-theme=dark] .nav-item.active{background:#303030;color:#9bc8ff}
[data-theme=dark] :is(.breadcrumb strong,.result-count strong,.pagination #page-number,.empty-symbol){color:#dedede}
[data-theme=dark] .breadcrumb span{color:#777}
[data-theme=dark] :is(.kpi-card,.dashboard-card,.list-panel,.summary-card,.login-form-wrap,dialog){background:var(--surface);border-color:var(--line);box-shadow:none;color:#ececec}
[data-theme=dark] :is(.kpi-card span,.summary-card>span,.summary-card small,.cell-sub,.detail-product small,.detail-row .detail-label,.filters label,.trend-row,.trend-row small){color:#aaa}
[data-theme=dark] :is(.kpi-card strong,.summary-card strong,.amount,.trend-row strong,.detail-section h3,.detail-row .detail-value){color:#ececec}
[data-theme=dark] :is(td,.cell-id,.alert-row){color:#c6c6c6}
[data-theme=dark] :is(td,.alert-row,.detail-row,.pagination,.filters,.dialog-header,.dialog-actions,.sku-card){border-color:var(--line)}
[data-theme=dark] thead{background:#242424;color:#aaa}
[data-theme=dark] tbody tr:hover{background:#303030}
[data-theme=dark] :is(.filters input,.filters select,.login-form input,.action-field input,.action-field textarea,.action-field select){background:var(--field);border-color:#484848;color:#e5e5e5}
[data-theme=dark] :is(input,textarea)::placeholder{color:#929292}
[data-theme=dark] :is(input[type=checkbox],.action-field input[type=checkbox]){accent-color:#70afff}
[data-theme=dark] :is(.detail-product,.confirm-check,.avatar,.media-preview){background:#323232;border-color:#454545;color:#d4d4d4}
[data-theme=dark] .button.primary{background:#3177c7;box-shadow:none;color:#fff}
[data-theme=dark] .button.primary:hover:not(:disabled){background:#3986df}
[data-theme=dark] :is(.button.secondary,.button.ghost){background:#333;border-color:#494949;color:#ddd}
[data-theme=dark] :is(.button.secondary,.button.ghost):hover:not(:disabled){background:#3d3d3d}
[data-theme=dark] :is(.text-button,.close-button){color:#bcbcbc}
[data-theme=dark] :is(.text-button,.close-button):hover{color:#fff}
[data-theme=dark] .row-actions button{color:#95c4ff}
[data-theme=dark] .row-actions button.danger-text{color:#f2a298}
[data-theme=dark] .badge{background:#393939;color:#c7c7c7}
[data-theme=dark] .badge.blue{background:#283b50;color:#a1ceff}
[data-theme=dark] .badge.green{background:#293f35;color:#99d7b7}
[data-theme=dark] .badge.orange{background:#463c29;color:#edca86}
[data-theme=dark] :is(.badge.red,.button.danger){background:#49302e;color:#f4aba0}
[data-theme=dark] .message{background:#273b31;border-color:#3c5546;color:#b1dfc4}
[data-theme=dark] .message.error{background:#422d2b;border-color:#65433f;color:#f3b4a9}
[data-theme=dark] .alert-row strong{color:#e8bd7b}
[data-theme=dark] .trend-row meter::-webkit-meter-bar{background:#3b3b3b}
[data-theme=dark] .trend-row meter::-webkit-meter-optimum-value{background:#78a7d9}
[data-theme=dark] .spinner{border-color:#4a4a4a;border-top-color:#93c4ff}
[data-theme=dark] dialog{box-shadow:0 24px 80px #0007}
[data-theme=dark] dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
[data-theme=dark] .theme-toggle{color:#d0d0d0;border-color:#444}
[data-theme=dark] .theme-toggle:hover{background:#333}
[data-theme=dark] :is(button,a,input,select,textarea):focus-visible{outline-color:#9bc8ff}
@media(max-width:760px){.topbar{height:auto;min-height:60px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.account{flex-wrap:wrap}.login-theme{top:14px;right:16px}}

[data-theme=dark] .stage-button{background:#252525;border-color:#444;color:#c8c8c8}[data-theme=dark] .stage-button:hover{background:#333}[data-theme=dark] .stage-button.active{background:#283b50;border-color:#587d9e;color:#b2d8ff}

[data-theme=dark] .nav-module{color:#b8b8b8}[data-theme=dark] .nav-module:hover{background:#242424;color:#ececec}[data-theme=dark] .nav-module.active{background:#2c2c2c;color:#a6ceff}[data-theme=dark] .module-nav{background:#202020;border-color:#343434}[data-theme=dark] .module-link{color:#b8b8b8}[data-theme=dark] .module-link:hover{background:#2a2a2a}[data-theme=dark] .module-link.active{background:#303030;color:#a6ceff}

/* Aviation operations console: reference-inspired light and dark surfaces. */
:root{--blue:#4159ff;--muted:#8c93a6;--line:#edf0f6;--navy:#283047;--surface:#fff;--field:#fff;--secondary:#687187;color:#283047;background:#f5f6fb;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
:root[data-theme=dark]{--blue:#6378ff;--muted:#9098ac;--line:#30343e;--navy:#e5e8f0;--surface:#22252d;--field:#1d2027;--secondary:#a8afc0;background:#191c23;color:#e5e8f0}
body,.workspace,.main{background:#f5f6fb;color:#283047}.sidebar{width:196px;padding:0 10px 20px;border-right:1px solid var(--line);background:var(--surface)}.sidebar .brand{height:56px;margin:0 -10px;padding:0 19px;background:#4159ff;color:white;gap:10px}.brand-icon{width:27px;height:29px;border-radius:4px;background:#ffffff25!important;color:white!important;font-size:18px}.brand strong{font-size:15px;letter-spacing:1px}.brand small{display:none}.sidebar #admin-nav{margin-top:22px;gap:6px}.nav-module{min-height:42px;padding:11px 14px 11px 43px;border-radius:5px;color:#747d90;font-size:13px;letter-spacing:0}.nav-module::before{content:'◫';position:absolute;left:16px;width:18px;font-size:17px;font-weight:400;line-height:20px;text-align:center}.nav-module[data-module="订单管理"]::before{content:'▤'}.nav-module[data-module="飞行管理"]::before{content:'✈'}.nav-module[data-module="商城管理"]::before{content:'▣'}.nav-module[data-module="用户管理"]::before{content:'♙'}.nav-module[data-module="营销管理"]::before{content:'◇'}.nav-module[data-module="评价管理"]::before{content:'▧'}.nav-module[data-module="财务管理"]::before{content:'¥'}.nav-module[data-module="系统管理"]::before{content:'⚙'}.nav-module.active::before{left:16px;height:auto;background:none;border-radius:0}.nav-module.active{background:#eef0ff;color:#4159ff;box-shadow:inset 3px 0 #4159ff}.nav-module:hover{background:#f5f6ff;color:#4159ff}.main{margin-left:196px;width:calc(100% - 196px)}.topbar{height:56px;padding:0 26px;background:var(--surface);border-color:var(--line)}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 10px}.account{gap:12px;font-size:11px}.avatar{background:#edf0ff;color:#4159ff;border-radius:7px}.theme-toggle{font-size:11px;min-height:29px;border-color:var(--line)}.module-nav{padding:0 24px;gap:20px;background:var(--surface);min-height:46px;border-color:var(--line)}.module-link{padding:13px 2px 11px;border-radius:0;font-size:12px;color:#7c8598;border-bottom:2px solid transparent}.module-link.active{background:transparent;color:#4159ff;border-bottom-color:#4159ff}.module-link:hover{background:transparent;color:#4159ff}.content{padding:24px 26px;max-width:1800px}.page-heading{margin-bottom:20px;gap:10px}.page-heading h1{font-size:20px;letter-spacing:0;font-weight:650}.button{min-height:34px;padding:0 15px;font-size:12px;border-radius:4px;box-shadow:none!important}.button.primary{background:#4159ff}.button.primary:hover:not(:disabled){background:#3448dc}.button.secondary,.button.ghost{background:var(--surface);color:#6b7690;border:1px solid #e3e7f0}.button.small{min-height:29px;font-size:11px;border-radius:4px}.result-count{margin-bottom:12px;font-size:11px;gap:6px}.result-count strong{font-size:15px;color:#4159ff}.list-panel,.dashboard-card,.kpi-card{border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 9px #26386a03;background:var(--surface)}.filters{padding:18px 20px;gap:12px;flex-wrap:wrap}.filters label{font-size:11px;gap:7px}.filters input,.filters select{height:33px;border-radius:4px;font-size:12px;border-color:#e5e8f0}.filters .button{min-height:33px}.filter-id{max-width:320px}.stage-filters{padding:0 20px;gap:22px;border-bottom:1px solid var(--line)}.stage-button{padding:14px 0 12px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:12px;color:#7c8598}.stage-button.active{background:transparent;border-color:#4159ff;color:#4159ff}.stage-button:hover{background:transparent;color:#4159ff}thead{background:#f8f9fc}th{padding:12px 18px;color:#8891a3;font-size:11px}td{padding:15px 18px;color:#616c82;border-color:#f0f2f7;font-size:12px}.cell-id{font-size:10px;color:#727d94}.cell-sub{font-size:10px}.amount{font-size:13px;color:#384561}.badge{padding:3px 7px;border-radius:3px;font-size:10px}.row-actions button{color:#4159ff;font-size:11px}.pagination{padding:14px 20px;font-size:11px}.pagination #page-number{background:#4159ff;color:white;padding:5px 9px;border-radius:3px}.empty-state{padding:48px 20px}.empty-state h3{font-size:13px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.kpi-card{padding:20px 22px;min-height:112px}.kpi-card span{font-size:12px;margin-bottom:15px;color:#818b9e}.kpi-card strong{font-size:28px;letter-spacing:-.5px;color:#4159ff;font-variant-numeric:tabular-nums}.kpi-card:first-child{background:linear-gradient(115deg,#4159ff,#626cff);border-color:transparent;position:relative;overflow:hidden}.kpi-card:first-child::after{content:'';position:absolute;width:130px;height:130px;border:18px solid #ffffff0c;border-radius:50%;right:-45px;top:-40px}.kpi-card:first-child span{color:#e0e5ff}.kpi-card:first-child strong{color:#fff}.dashboard-columns{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(270px,1fr);gap:18px;margin-bottom:18px}.dashboard-card{padding:20px;min-width:0}.dashboard-card h3{font-size:13px;margin:0 0 16px;font-weight:650;border-left:3px solid #4159ff;padding-left:9px}.chart-legend{display:flex;gap:18px;font-size:10px;color:var(--muted);align-items:center;margin-bottom:9px}.chart-legend span::before{content:'';display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px;background:#4159ff}.chart-legend .legend-revenue::before{background:#4fd2a3}.chart-legend small{margin-left:auto;font-size:10px}.overview-chart{display:block;width:100%;height:230px;overflow:visible}.chart-grid{stroke:var(--line);stroke-dasharray:3 4;stroke-width:1}.chart-label{fill:var(--muted);font-size:10px}.chart-bar{fill:#4961ff}.chart-area{fill:#5bdbac;fill-opacity:.12}.chart-line{stroke:#4fd2a3;stroke-width:2;fill:none;stroke-linejoin:round}.chart-empty{height:230px;display:grid;place-items:center;color:var(--muted);font-size:12px}.alert-row{font-size:12px;padding:12px 0;border-color:var(--line);color:var(--secondary)}.alert-row strong{font-size:13px;background:#f1f3ff;color:#5265e2;min-width:25px;text-align:center;border-radius:4px;padding:2px 5px}.dashboard-card table{font-size:11px}.dashboard-card td,.dashboard-card th{padding:10px 12px}.queue-chart{display:block;width:100%;height:180px}.donut-track{stroke:var(--line)}.donut-total{fill:var(--navy);font-size:25px;font-weight:650}.segment-0{stroke:#4961ff;--dot:#4961ff}.segment-1{stroke:#42cda4;--dot:#42cda4}.segment-2{stroke:#ffb857;--dot:#ffb857}.segment-3{stroke:#9a78f2;--dot:#9a78f2}.segment-4{stroke:#f078a4;--dot:#f078a4}.segment-5{stroke:#5ebce7;--dot:#5ebce7}.queue-legend{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;margin-top:12px}.queue-key{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--secondary)}.queue-key::before{content:'';width:6px;height:6px;border-radius:2px;background:var(--dot);flex-shrink:0}.queue-key strong{margin-left:auto;font-size:11px}.login-screen{background:#f5f6fb}.login-form-wrap{border-radius:8px;box-shadow:0 10px 60px #3446ad0b}.login-form h2{font-size:23px}.dialog-header h2{font-size:18px}dialog{border-radius:8px}.action-field input,.action-field select,.action-field textarea{border-radius:4px}.dashboard-card:last-child{align-self:stretch}
[data-theme=dark] :is(body,.workspace,.main,.login-screen){background:#191c23;color:#e5e8f0}[data-theme=dark] .sidebar{background:#1c1f26;border-color:#30343e}[data-theme=dark] .topbar,[data-theme=dark] .module-nav{background:#22252d;border-color:#30343e}[data-theme=dark] .nav-module{color:#9fa7bb}[data-theme=dark] .nav-module:hover{background:#282d3d;color:#c2cbff}[data-theme=dark] .nav-module.active{background:#29304a;color:#a6b3ff;box-shadow:inset 3px 0 #788aff}[data-theme=dark] .module-link.active,[data-theme=dark] .stage-button.active{background:transparent;color:#a6b3ff;border-bottom-color:#788aff}[data-theme=dark] .module-link,[data-theme=dark] .stage-button{background:transparent;color:#a0a8bd}[data-theme=dark] .stage-button{border-left:0;border-right:0;border-top:0}[data-theme=dark] :is(.module-link:hover,.stage-button:hover){background:transparent;color:#c2cbff}[data-theme=dark] .button.primary{background:#5268ef}[data-theme=dark] :is(.button.secondary,.button.ghost){background:#272c37;color:#c4cbdc;border-color:#3b4355}[data-theme=dark] :is(.list-panel,.dashboard-card,.kpi-card){background:#22252d;border-color:#30343e}[data-theme=dark] .kpi-card:first-child{background:linear-gradient(115deg,#354de8,#5c65ed);border-color:transparent}[data-theme=dark] .kpi-card strong{color:#9dacf9}[data-theme=dark] .kpi-card:first-child strong{color:#fff}[data-theme=dark] .kpi-card:first-child span{color:#e0e5ff}[data-theme=dark] thead{background:#282c35}[data-theme=dark] tbody tr:hover{background:#282d38}[data-theme=dark] .alert-row strong{background:#2e3550;color:#a6b3ff}[data-theme=dark] .row-actions button{color:#a6b3ff}[data-theme=dark] .pagination #page-number{color:white}[data-theme=dark] .chart-bar{fill:#677cff}[data-theme=dark] .chart-area{fill-opacity:.16}
@media(max-width:1100px){.content{padding:20px}.kpi-card{padding:18px 16px}.kpi-card strong{font-size:24px}.dashboard-columns{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.queue-legend{grid-template-columns:1fr}.module-nav{gap:15px}}
@media(max-width:760px){.sidebar{width:100%;padding:0 12px 12px}.sidebar .brand{margin:0 -12px;padding-left:20px}.sidebar #admin-nav{margin-top:12px;gap:4px}.nav-module{padding:9px 5px 9px 25px;min-height:36px;font-size:12px}.nav-module::before,.nav-module.active::before{left:6px;font-size:14px}.main{margin:0;width:100%}.topbar{padding:12px 16px;height:auto;min-height:56px}.content{padding:18px 14px}.page-heading h1{font-size:18px}.module-nav{padding:0 16px;gap:14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card{min-height:100px}.dashboard-columns{grid-template-columns:1fr;gap:14px}.queue-legend{grid-template-columns:1fr 1fr}.stage-filters{gap:16px}.overview-chart{height:auto}.account{gap:8px}.filters{padding:14px}.filter-id{max-width:none}.dashboard-card{padding:16px}}

.nav-module[data-module="工作台"]::before{content:"◫"}

/* Nested navigation: each module expands independently. */
.sidebar #admin-nav{gap:4px}.nav-section{flex-shrink:0}.nav-module[aria-expanded]::after{content:'›';position:absolute;right:12px;font-size:17px;line-height:16px;transform:rotate(0deg);transition:transform .15s}.nav-module[aria-expanded=true]::after{transform:rotate(90deg)}.nav-children{padding:4px 0 6px 28px;margin:0 5px 4px 15px;border-left:1px solid var(--line)}.nav-children .module-link{display:block;width:100%;text-align:left;padding:8px 10px;margin:2px 0;line-height:18px;font-size:12px;border:0;border-radius:4px;background:transparent;color:var(--secondary)}.nav-children .module-link:hover{background:#f0f2ff;color:#4159ff}.nav-children .module-link.active{background:#edf0ff;color:#4159ff;font-weight:600}[data-theme=dark] .nav-children .module-link:hover{background:#282d3d;color:#c2cbff}[data-theme=dark] .nav-children .module-link.active{background:#29304a;color:#a6b3ff}
@media(max-width:760px){.sidebar #admin-nav{display:flex;flex-direction:column;max-height:340px;overflow-y:auto}.sidebar .nav-module{justify-content:flex-start;padding-left:38px}.sidebar .nav-module::before{left:12px}.nav-children{padding-left:20px;margin-left:20px}}

/* Deliberate accordion motion; collapsed links are inert immediately. */
.sidebar #admin-nav{gap:12px;margin-top:24px;padding-bottom:12px;scrollbar-gutter:stable}.nav-section>.nav-module{min-height:48px;padding-top:14px;padding-bottom:14px;font-weight:550;border:1px solid transparent;transition:background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,color 200ms ease}.nav-section.expanded>.nav-module{background:#eef0fc;border-color:#e1e5f5;box-shadow:0 2px 4px #25376309;color:#4052cc;font-weight:650}.nav-section>.nav-module:active{background:#e3e7fb;box-shadow:inset 0 1px 3px #24377416}.nav-module[aria-expanded]::after{transition:transform 340ms cubic-bezier(.25,.8,.25,1)}
.nav-reveal{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 340ms cubic-bezier(.25,.8,.25,1),visibility 0s linear 340ms}.nav-section.expanded>.nav-reveal{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows 340ms cubic-bezier(.25,.8,.25,1),visibility 0s}.nav-reveal>.nav-children{min-height:0;overflow:hidden;margin:0 5px 0 15px;padding:0 0 0 23px;opacity:0;transition:opacity 180ms ease}.nav-section.expanded>.nav-reveal>.nav-children{opacity:1;transition:opacity 240ms ease 60ms}.nav-children .module-link:first-child{margin-top:8px}.nav-children .module-link:last-child{margin-bottom:8px}.nav-children .module-link{transition:background-color 180ms ease,color 180ms ease}
[data-theme=dark] .nav-section.expanded>.nav-module{background:#2b3143;border-color:#3b435b;color:#c3ccff;box-shadow:0 3px 7px #0002}[data-theme=dark] .nav-section>.nav-module:active{background:#343c53;box-shadow:inset 0 2px 4px #0003}
@media(max-width:760px){.sidebar #admin-nav{gap:8px;margin-top:16px}.nav-section>.nav-module{min-height:44px;padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.nav-reveal,.nav-section.expanded>.nav-reveal,.nav-reveal>.nav-children,.nav-section.expanded>.nav-reveal>.nav-children,.nav-section>.nav-module,.nav-module[aria-expanded]::after,.nav-children .module-link{transition:none}}
.sidebar #admin-nav{scrollbar-width:thin;scrollbar-color:#c8ccdc transparent}[data-theme=dark] .sidebar #admin-nav{scrollbar-color:#454d62 transparent}

/* Keep loading feedback out of document flow and reserve scrollbar space. */
html{scrollbar-gutter:stable}.list-panel{position:relative;min-height:280px}.list-panel>#loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;background:#ffffffb8;backdrop-filter:blur(1px);cursor:progress}.list-panel[aria-busy=true]>.table-wrap,.list-panel[aria-busy=true]>.empty-state{pointer-events:none}#dashboard-panel{position:relative;min-height:300px}#dashboard-panel[aria-busy=true]::after{content:'正在更新…';position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--secondary);padding:8px 12px;font-size:12px;box-shadow:0 2px 8px #0001;pointer-events:none}[data-theme=dark] .list-panel>#loading{background:#22252dbd}

/* Spacious order-stage controls, shared by flight and merchandise orders. */
.list-toolbar>.stage-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:22px 24px;background:#fafbfe;border-bottom:1px solid var(--line)}
.stage-filters>.stage-button{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:44px;padding:10px 18px;border:1px solid #dfe4ef;border-radius:7px;background:#fff;color:#59677f;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease}
.stage-filters>.stage-button:hover{background:#f0f3ff;border-color:#b5c0ff;color:#354cc9}.stage-filters>.stage-button.active{background:#4159ff;border:1px solid #4159ff;color:#fff;font-weight:650;box-shadow:0 3px 8px #4159ff24}.stage-filters>.stage-button:focus-visible{outline:3px solid #a8b4ff;outline-offset:3px}
[data-theme=dark] .list-toolbar>.stage-filters{background:#1f232b;border-bottom-color:#343b49}[data-theme=dark] .stage-filters>.stage-button{background:#282e39;border:1px solid #465064;color:#c4ccdc}[data-theme=dark] .stage-filters>.stage-button:hover{background:#323c52;border-color:#7384bc;color:#ecf0ff}[data-theme=dark] .stage-filters>.stage-button.active{background:#5268ef;border:1px solid #8393ff;color:#fff;box-shadow:0 3px 10px #0002}
@media(max-width:760px){.list-toolbar>.stage-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}.stage-filters>.stage-button{min-width:0;width:100%;padding:11px 12px}}
@media(prefers-reduced-motion:reduce){.stage-filters>.stage-button{transition:none}}

.stage-filters>.stage-button{min-width:164px;gap:16px;justify-content:space-between;padding-left:18px;padding-right:18px}.stage-count{display:inline-flex;justify-content:center;align-items:center;min-width:5ch;flex-shrink:0;font-size:13px;line-height:22px;font-weight:650;font-variant-numeric:tabular-nums;padding:0 5px;border-radius:4px;background:#edf0f7;color:#59677f}.stage-button.active .stage-count{background:#ffffff26;color:#fff}[data-theme=dark] .stage-count{background:#3c4558;color:#d9e1f4}[data-theme=dark] .stage-button.active .stage-count{background:#ffffff26;color:white}@media(max-width:760px){.stage-filters>.stage-button{min-width:0;gap:8px;padding-left:12px;padding-right:12px}}
@media(max-width:420px){.list-toolbar>.stage-filters{grid-template-columns:1fr}}

.nav-module[data-module="广告管理"]::before{content:"▥"}

/* Always-visible grouped navigation, two child columns. */
@media(min-width:761px){.sidebar{width:300px}.main{margin-left:300px;width:calc(100% - 300px)}}.sidebar #admin-nav{gap:22px}.nav-section>.nav-heading{margin:0;cursor:default;font-size:13px;min-height:36px;padding-top:8px;padding-bottom:8px}.nav-section.expanded>.nav-heading{background:transparent;border-color:transparent;box-shadow:none;color:var(--navy)}.nav-reveal,.nav-section.expanded>.nav-reveal{display:block;visibility:visible;transition:none}.nav-reveal>.nav-children,.nav-section.expanded>.nav-reveal>.nav-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin:0;padding:6px 0 0 2em;border-left:0;opacity:1;overflow:visible;transition:none;font-size:13px}.nav-children .module-link,.nav-children .module-link:first-child,.nav-children .module-link:last-child{margin:0;min-height:34px;padding:7px 6px;font-size:12px;white-space:normal;overflow-wrap:anywhere}.nav-heading::after{display:none}.sidebar .nav-heading:active{background:transparent;box-shadow:none}@media(max-width:760px){.sidebar #admin-nav{gap:18px;max-height:none;overflow:visible}.nav-reveal>.nav-children{padding-left:2em}}

.sidebar .nav-section>.nav-heading,.sidebar .nav-section.expanded>.nav-heading{display:block;margin:0;padding:4px 0;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:11px;line-height:18px;font-weight:500;color:var(--muted);cursor:default;transition:none}.sidebar .nav-heading::before,.sidebar .nav-heading::after{content:none;display:none}

.coupon-target-picker{grid-column:1/-1;display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;margin-top:12px}.coupon-target-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto}.coupon-target-option{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;background:var(--surface)}.coupon-target-option input{width:auto;margin:0}.coupon-claim-summary{display:grid;gap:5px;white-space:nowrap}.coupon-claim-summary span{font-size:12px;color:var(--muted)}

.coupon-void-risk{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:16px;line-height:1.85;overscroll-behavior:contain}.coupon-void-risk h3{margin-top:0}.coupon-void-risk p{margin:0 0 18px}.coupon-risk-ack{display:flex;align-items:flex-start;gap:10px;margin-top:16px;line-height:1.6}.coupon-risk-ack input{width:auto;margin-top:5px}
.product-price-list{display:grid;gap:12px;min-width:100px}.product-price-row{display:grid;gap:4px}.product-price-control{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-height:30px}.product-price-control .price-edit-trigger{padding:3px 0;border:0;background:transparent;color:var(--primary,#4169ff);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.price-edit-trigger:hover{text-decoration:underline}.product-price-control input{width:108px;min-width:0;padding:6px 8px}.original-price{color:var(--muted);text-decoration:line-through;white-space:nowrap}.price-edit-error{color:var(--danger,#dc4545);flex-basis:100%;max-width:240px}

.product-spec-cell{white-space:nowrap;vertical-align:middle}.product-spec-price-cell{vertical-align:middle}.specification-prices{display:flex;align-items:center;gap:20px;white-space:nowrap}.specification-price{display:flex;align-items:center;gap:8px}.specification-price>.product-price-list{min-width:0}.specification-price .product-price-control{flex-wrap:nowrap}
.specification-inventory{display:inline-grid;grid-template-columns:repeat(2,2em 5ch);align-items:center;column-gap:8px;white-space:nowrap;line-height:20px;font-size:14px;font-variant-numeric:tabular-nums;text-align:left}.specification-inventory>.price-edit-trigger{flex:none;min-height:0;line-height:20px;border:0;padding:0;background:none;color:var(--primary,#4169ff);font-size:inherit;font-weight:600;cursor:pointer}
/* Keep numeric validation while presenting all admin numbers as plain inputs. */
input[type="number"]{-moz-appearance:textfield;appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.product-spec-cell,.product-spec-price-cell,.product-inventory-cell{padding:10px 18px;vertical-align:middle;text-align:left}

.specification-inventory>.stock-value{display:block;min-width:5ch;width:5ch;font-size:inherit;font-variant-numeric:tabular-nums;text-align:left}.specification-price{flex-shrink:0;font-variant-numeric:tabular-nums}.specification-price:first-child{width:calc(2em + 8px + 12ch)}
#list-toolbar.product-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:16px 18px;border-bottom:1px solid var(--line)}
#list-toolbar.product-toolbar .stage-filters{flex:0 0 auto;padding:0;border:0;margin:0}
#list-toolbar.product-toolbar .filters{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:0 0 0 auto;padding:0;border:0}
#list-toolbar.product-toolbar .filter-id{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;flex:0 1 auto;width:auto;min-width:0}
#list-toolbar.product-toolbar .filter-id input{width:180px;min-width:100px}
@media(max-width:760px){#list-toolbar.product-toolbar .filters{width:100%;justify-content:flex-end}#list-toolbar.product-toolbar .filter-id{flex:1}#list-toolbar.product-toolbar .filter-id input{width:100%;min-width:0}}
#list-panel.product-card-layout{background:transparent;border:0;box-shadow:none;overflow:visible}
.product-card-layout #list-toolbar{background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px}
.product-card-layout .pagination{background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px}
.product-cards{display:grid;gap:16px;padding:16px 0}.product-cards[hidden]{display:none}
.product-card{min-width:0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:background-color .15s,border-color .15s}
.product-card-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line)}
.product-card-description{display:grid;gap:7px}.product-card-meta{font-size:12px;line-height:1.5;color:var(--muted,#788397)}
.product-card-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.product-card-controls .row-actions{flex-wrap:wrap}
.product-card-specs{overflow-x:auto}.product-card-specs table{width:100%;min-width:820px;table-layout:fixed}
.product-card-specs th:nth-child(1){width:18%}.product-card-specs th:nth-child(2){width:44%}.product-card-specs th:nth-child(3){width:38%}
.product-card-specs th{padding:10px 18px;text-align:left;background:transparent}.product-card-specs .product-spec-cell{overflow:hidden;text-overflow:ellipsis}
#product-cards .product-card tr:hover,#product-cards .product-card td{background:transparent}
.product-card-specs tbody tr:last-child td{border-bottom:0}
#product-cards .product-card:hover{background:#fbfdff;border-color:#cbd5e6}
[data-theme=dark] #product-cards .product-card:hover{background:#282d38;border-color:#4a5264}
@media(max-width:1000px){.product-card-header{align-items:flex-start;flex-wrap:wrap}.product-card-controls{margin-left:auto}}
.product-card-header>.product-table-summary{flex:1;min-width:0}
.product-card-description{min-width:0}.product-card-name{margin:0;font-size:20px;font-weight:650;line-height:1.4;color:var(--navy,#283047);overflow-wrap:anywhere}
.product-card-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}.product-card-metadata>.product-card-meta{white-space:nowrap}


/* Focus stays on the control border; quick-price actions float outside cards. */
:root :is(button,a,input,select,textarea):focus-visible{outline:none;box-shadow:none;border-color:var(--primary,#5265ef)}
:root :is(input,select,textarea):focus{outline:none;box-shadow:none;border-color:var(--primary,#5265ef)}
:root :is(button,a):focus-visible{background-color:var(--surface-hover,#e9edff);color:var(--primary,#5265ef)}
.product-price-control input{width:180px;min-width:180px;padding:8px 12px;font-variant-numeric:tabular-nums}
.specification-price:first-child{width:224px;min-width:224px}
.product-card-specs table{min-width:1080px}
.product-card-specs th:nth-child(1){width:16%}
.product-card-specs th:nth-child(2){width:50%}
.product-card-specs th:nth-child(3){width:34%}
.price-editor-popover{position:fixed;z-index:1500;width:260px;padding:12px;background:var(--surface,#fff);border:1px solid var(--border,#dde3ed);border-radius:12px;box-shadow:0 10px 30px #10182c26}
.price-editor-popover[hidden]{display:none}
.price-popover-actions{display:flex;justify-content:flex-end;gap:12px}
.price-popover-actions button{min-width:88px;height:38px;border-radius:8px;padding:0 18px;font-size:14px;font-weight:600}
.price-popover-actions .price-cancel{background:var(--surface,#fff);border:1px solid var(--border,#dde3ed);color:var(--text,#334155)}
.price-popover-actions .price-save{background:#5265ef;border:1px solid #5265ef;color:#fff}
.price-popover-actions button:hover{filter:brightness(.96)}
.price-editor-popover .price-edit-error:empty{display:none}
.price-editor-popover .price-edit-error:not(:empty){display:block;margin:0 0 12px;white-space:normal}
[data-theme=dark] .price-editor-popover{background:#252830;border-color:#424753}
[data-theme=dark] .price-cancel{background:#30343d;color:#e3e6ed;border-color:#505663}

:root .stage-filters>.stage-button:focus-visible{outline:none;box-shadow:none;border-color:var(--blue)}

.album-library{padding:8px 0}.album-grid,.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.album-card,.photo-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;min-width:0}.album-open{display:flex;flex-direction:column;gap:8px;background:transparent;border:0;color:inherit;text-align:left;width:100%;padding:0}.album-open img,.album-placeholder{width:100%;height:140px;object-fit:cover;border-radius:8px;background:var(--field)}.album-placeholder{display:grid;place-items:center;font-size:46px;color:var(--muted)}.album-open strong{font-size:16px;overflow-wrap:anywhere}.album-open small{color:var(--muted)}.album-card>.text-button{margin-top:12px}.album-heading{display:flex;align-items:center;gap:14px;margin:22px 0 14px}.photo-card>img{width:100%;height:160px;object-fit:contain;background:var(--field);border-radius:8px}.photo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:10px 0}.photo-actions{display:flex;align-items:center;gap:14px}.photo-editor:empty{display:none}.photo-editor{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.photo-editor select{width:100%;min-width:0}.photo-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.album-library .album-grid{margin-bottom:24px}

#list-toolbar.album-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line)}
#list-toolbar.album-toolbar .filters{display:flex;align-items:flex-end;gap:8px;margin:0;padding:0;border:0;flex-wrap:wrap}
.album-upload-toolbar{display:flex;align-items:center;gap:10px;margin-left:auto}
.album-upload-toolbar[hidden]{display:none}
.album-upload-toolbar small:empty{display:none}
.album-heading{justify-content:flex-end}

.album-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 8px}
.album-title{min-width:0;flex:1;font-size:16px;overflow-wrap:anywhere;white-space:normal}
.album-title-icon{flex:0 0 28px;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--blue);font-size:18px;border-radius:6px;display:grid;place-items:center}
.album-title-icon:hover{background:var(--field)}
.album-name-popover{position:fixed;z-index:1500;box-sizing:border-box;width:460px;max-width:calc(100vw - 24px);padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px #10182c30;white-space:normal}
.album-name-popover[hidden]{display:none}
.album-name-popover>strong{display:block;margin-bottom:12px;font-size:16px}
.album-name-popover textarea{display:block;box-sizing:border-box;width:100%;min-height:92px;padding:12px;font:inherit;line-height:1.6;resize:vertical;overflow-wrap:anywhere}
.album-name-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}
.album-name-actions button{min-width:76px}
.album-title-error{flex-basis:100%;color:#df5757;white-space:normal}.album-title-error:empty{display:none}
button.delete-button{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;margin:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;box-shadow:none}button.delete-button:hover:not(:disabled){color:#df5757;background:#df575712}button.delete-button:disabled{opacity:.55;cursor:not-allowed}.delete-icon,.delete-icon svg{display:block;width:18px;height:18px}.photo-card{position:relative}button.delete-button.image-card-delete{position:absolute;right:6px;top:6px;z-index:2;background:var(--surface);border:1px solid var(--line);color:var(--navy);box-shadow:0 2px 6px #0002}button.delete-button.image-card-delete:hover:not(:disabled){background:var(--surface);color:#df5757}.product-image-card .product-image-label{max-width:calc(100% - 48px);box-sizing:border-box}

.logistics-heading{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.logistics-timeline{list-style:none;padding-left:12px;margin:18px 0}.logistics-timeline li{position:relative;border-left:1px solid var(--line);padding:0 0 18px 18px}.logistics-timeline li:before{content:'';position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--primary,#5363ef)}.logistics-timeline time{font-size:12px;color:var(--muted)}.logistics-timeline p{margin:7px 0 0;line-height:1.7}
.review-settings-panel{padding:28px 32px}.review-settings-form{display:grid;gap:22px;max-width:760px}.review-settings-form h2{margin:0;font-size:18px}.review-settings-form .action-field{margin:0}.review-settings-form textarea{min-height:160px;resize:vertical}.review-setting-toggle{display:flex;align-items:center;justify-content:space-between;max-width:360px;font-size:14px}.review-setting-toggle input{width:20px;height:20px;accent-color:var(--blue)}.review-settings-form>.button{justify-self:start;min-width:120px}.review-settings-form>.muted{margin:0}@media(max-width:760px){.review-settings-panel{padding:20px 16px}}

.page-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-buttons .button{min-width:36px;min-height:34px;padding:0 10px}.result-count{flex-wrap:wrap}.result-count>.page-buttons{margin-left:auto}.pagination{gap:16px;flex-wrap:wrap}.pagination>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-gap{padding:0 4px}.pagination #page-number{background:transparent;color:var(--muted);white-space:nowrap}

/* Album and photo controls share one compact presentation. */
.album-name-popover{width:320px;padding:14px;margin:0;inset:auto}.album-name-popover>strong{font-size:14px;margin-bottom:10px}.album-name-popover textarea{min-height:44px;height:44px;padding:9px 10px;resize:vertical;font-size:14px;line-height:24px}.album-name-actions{gap:10px;margin-top:12px}.album-name-actions button{min-width:64px}
.photo-overlay-actions{position:absolute;right:18px;top:18px;display:flex;gap:6px;opacity:0;pointer-events:none;transition:opacity .15s ease}.photo-card:hover .photo-overlay-actions,.photo-card:focus-within .photo-overlay-actions{opacity:1;pointer-events:auto}.photo-overlay-actions .photo-download,.photo-overlay-actions button.delete-button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff30;border-radius:6px;background:#18222b88;color:#fff;text-decoration:none;backdrop-filter:blur(6px);font-size:20px}.photo-card .album-title{font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-card .album-title-row{flex-wrap:nowrap}.photo-move{margin-top:4px}.photo-move-dialog{width:420px;max-width:calc(100vw - 32px);padding:0}.photo-folder-list{padding:12px;max-height:45vh;overflow:auto;display:grid;gap:6px}.folder-option{padding:12px 14px;border:1px solid transparent;background:transparent;color:inherit;text-align:left;border-radius:6px;overflow-wrap:anywhere}.folder-option:hover{background:var(--field)}.folder-option[aria-pressed=true]{border-color:var(--blue);background:var(--field);color:var(--blue)}.album-detail-dialog{width:min(1100px,90vw)}.album-detail-dialog .photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media(hover:none){.photo-overlay-actions{opacity:1;pointer-events:auto}}

.photo-footer-actions{display:flex;align-items:center;gap:16px;margin-top:4px}.photo-footer-actions .text-button{margin:0;padding:6px 0;font:inherit;font-size:13px;line-height:20px;text-decoration:none}.photo-footer-actions .photo-move{order:-1}

.album-detail-dialog{width:min(1040px,calc(100vw - 48px));max-height:88vh;padding:0;border-radius:14px}.album-detail-dialog>.dialog-header{padding:20px 24px}.album-detail-dialog>.dialog-header h2{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.album-detail-dialog>.dialog-body{padding:18px 24px 22px;max-height:calc(88vh - 86px);overflow:auto}.album-detail-dialog>.dialog-actions:empty{display:none}.album-detail-dialog .album-heading{margin:0 0 20px;justify-content:space-between;gap:16px;flex-wrap:wrap}.album-breadcrumb{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.album-window-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.album-window-tools small:empty{display:none}.album-window-tools button.album-delete-button{display:inline-flex;gap:6px;width:auto;height:34px;padding:0 10px;flex-basis:auto;color:#df7777;font-size:12px;border:1px solid #df777735;background:transparent}.album-detail-dialog .photo-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.album-detail-dialog .photo-card{padding:10px;border-radius:10px}.album-detail-dialog .photo-card>img{height:170px}.album-detail-dialog .photo-pager{margin-top:18px;color:var(--muted);font-size:12px}.album-delete-dialog{width:400px;max-width:calc(100vw - 32px);padding:0}.album-delete-dialog .dialog-header,.album-delete-dialog .dialog-body,.album-delete-dialog .dialog-actions{padding:18px 22px}.album-delete-dialog p{margin:0;line-height:1.8;color:var(--muted)}@media(max-width:600px){.album-detail-dialog{width:calc(100vw - 20px)}.album-detail-dialog>.dialog-body{padding:14px}.album-detail-dialog .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-detail-dialog .photo-card>img{height:140px}}

/* Overview metrics and payment breakdown. */
.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-card{min-width:0}.kpi-breakdown{display:flex;flex-direction:column;gap:6px;margin-top:14px;position:relative;z-index:1}.kpi-breakdown small{font-size:12px;line-height:1.5;color:#eef1ff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.user-total{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--secondary)}.user-total strong{font-size:26px;color:var(--navy);font-variant-numeric:tabular-nums}.user-total[hidden]{display:none}

.stage-filters.camp-city-filters{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px}.stage-filters.camp-city-filters>.stage-button{min-width:88px;justify-content:center;padding:10px 18px}

/* Album collections are a canvas, not a hover-highlighted table row. */
#table-body>tr.album-library-row,#table-body>tr.album-library-row:hover{background:transparent}

/* Camp workspace: gallery and information beside package operations. */
#camp-detail-body{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.35fr);gap:24px;align-items:start}.camp-detail-left{display:grid;gap:24px;min-width:0}#camp-detail-body .detail-section{background:var(--surface);border-color:var(--line);padding:22px;min-width:0}.camp-packages-panel{min-width:0}.camp-gallery-stage{height:320px;display:grid;place-items:center;background:var(--field);border-radius:10px;overflow:hidden}.camp-gallery-stage>img{width:100%;height:100%;object-fit:contain}.camp-gallery-thumbs{display:flex;gap:10px;overflow:auto;padding:12px 0}.camp-gallery-thumb{flex:0 0 68px;height:58px;background:var(--field);border:2px solid transparent;border-radius:7px;padding:3px}.camp-gallery-thumb.active{border-color:var(--blue)}.camp-gallery-thumb img{width:100%;height:100%;object-fit:contain}.camp-section-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 18px}.camp-gallery .camp-section-tools{margin-bottom:0}.camp-intro-title{margin-top:24px!important}.camp-description-text{font-size:14px;color:var(--secondary)}.camp-packages-panel .camp-package-grid{grid-template-columns:1fr;gap:16px;margin:0}.camp-packages-panel .camp-package-card{border-color:var(--line);padding:18px;background:var(--field)}.camp-package-head{display:flex;gap:14px;align-items:center}.camp-package-head>img{width:92px;height:72px;object-fit:contain;flex-shrink:0;background:var(--surface)}.camp-package-summary{min-width:0}.camp-package-summary h4{margin:0 0 6px;font-size:16px;overflow-wrap:anywhere}.camp-package-prices{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 12px}.camp-package-prices strong{font-size:24px;color:var(--blue)}.camp-package-prices del{font-size:13px;color:var(--muted)}.camp-discount{color:#ed8a51;font-size:12px}.camp-package-description{font-size:13px;line-height:1.7;color:var(--secondary);white-space:pre-wrap;overflow-wrap:anywhere}.camp-package-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px}.camp-package-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.camp-package-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;color:var(--secondary)}.camp-package-fields :is(input,select,textarea),.camp-package-editor>select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--field);color:inherit;padding:10px 12px;min-height:40px}.camp-package-fields textarea{min-height:110px;resize:vertical}.camp-package-fields label:has(textarea){grid-column:1/-1}.camp-package-editor{padding:20px;margin:0 0 20px;border:1px solid var(--blue);border-radius:10px;background:var(--surface)}.camp-package-editor>h4{margin:0 0 18px}.camp-package-editor>select{margin-bottom:16px}.camp-package-selector .camp-package-option{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:inherit;text-align:left}.camp-empty{padding:40px 16px;text-align:center;color:var(--muted)}.camp-delete-confirm{padding:14px;margin-top:16px;border:1px solid var(--line);border-radius:8px}.camp-delete-confirm .button{margin-right:12px}.camp-deal-line{font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}@media(max-width:1100px){#camp-detail-body{grid-template-columns:1fr}.camp-gallery-stage{height:300px}}@media(max-width:600px){.camp-package-fields{grid-template-columns:1fr}#camp-detail-body .detail-section{padding:16px}.camp-gallery-stage{height:240px}}

/* Theme-aligned camp directory. */
#table-body>tr.camp-library-row,#table-body>tr.camp-library-row:hover{background:transparent}.camp-library-row>td{padding:22px!important;border:0}.camp-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.camp-list-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.camp-card-open{display:block;width:100%;text-align:left;background:transparent;color:inherit;padding:0}.camp-card-cover{height:180px;position:relative;display:grid;place-items:center;background:var(--field)}.camp-card-cover>img{width:100%;height:100%;object-fit:cover}.camp-status{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;background:var(--surface);color:var(--muted);font-size:12px;border:1px solid var(--line)}.camp-status.enabled{color:var(--blue)}.camp-card-content{padding:18px 18px 8px}.camp-card-content h3{font-size:17px;font-weight:650;margin:0 0 10px;line-height:1.5;overflow-wrap:anywhere}.camp-card-address{font-size:13px;line-height:1.7;color:var(--muted);margin:0;min-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.camp-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.camp-card-tags span{font-size:11px;border-radius:5px;padding:4px 8px;background:var(--field);color:var(--secondary)}.camp-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--line);margin-top:10px}.camp-card-actions{display:flex;align-items:center;gap:6px}.camp-card-actions .button{min-height:34px;padding:0 12px;font-size:12px}.camp-card-footer>.muted{font-size:12px;white-space:nowrap}.camp-packages-panel>.camp-section-tools{margin-top:0}.camp-discount{color:var(--blue)}#camp-detail-workspace .page-heading{gap:14px}#camp-detail-title{font-size:22px;overflow-wrap:anywhere}#camp-detail-actions{margin-left:auto}@media(max-width:1400px){.camp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.camp-list-grid{grid-template-columns:1fr}.camp-library-row>td{padding:14px!important}.camp-card-cover{height:200px}}

/* Keep camp imagery inside a fixed landscape cover, above all metadata. */
#table-body .camp-list-card{display:flex;flex-direction:column}#table-body .camp-card-cover{width:100%;height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden;isolation:isolate}#table-body .camp-card-cover>img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:cover}#table-body .camp-card-content{position:relative;background:var(--surface)}#table-body .camp-card-footer{margin-top:auto;background:var(--surface)}

/* Four camp cards per desktop row, with separate read-only preview. */
.camp-list-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.camp-list-card{cursor:pointer}.camp-card-footer{flex-wrap:wrap}.camp-card-actions{margin-left:auto}#camp-detail-body.camp-preview-layout{display:grid;grid-template-columns:1fr;max-width:860px;margin:0 auto}.camp-preview-layout .camp-gallery-stage{height:auto;aspect-ratio:16/9}.camp-preview-packages{display:grid;gap:14px}.camp-preview-package{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--field)}.camp-preview-package h4{margin:0 0 10px}.camp-preview-package p{white-space:pre-wrap;line-height:1.8;font-size:13px;color:var(--secondary);margin:10px 0 0}@media(max-width:1100px){.camp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.camp-list-grid{grid-template-columns:1fr}}

/* Distinct camp card and canvas surfaces in both themes. */
.camp-library-row{--camp-canvas:#f3f5fa;--camp-card:#fff;--camp-border:#e0e5ef}
[data-theme=dark] .camp-library-row{--camp-canvas:#1b1e25;--camp-card:#2b303a;--camp-border:#3c4350}
#table-body>tr.camp-library-row>td{background:var(--camp-canvas)}
#table-body .camp-list-card{background:var(--camp-card);border-color:var(--camp-border)}
#table-body .camp-card-content,#table-body .camp-card-footer{background:var(--camp-card)}
#table-body .camp-card-footer{border-color:var(--camp-border)}

/* Horizontal package cards: image, information and price, with a separate action row. */
.camp-packages-panel .camp-package-card{display:grid;grid-template-columns:104px minmax(0,1fr) max-content;gap:16px;align-items:start;padding:18px;border-radius:10px}
.camp-package-cover{width:104px;height:104px;display:grid;place-items:center;overflow:hidden;background:var(--surface);border-radius:8px;font-size:12px}
.camp-package-card .camp-package-cover>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.camp-package-card .camp-package-summary h4{margin:0 0 8px;font-size:17px;line-height:1.5}
.camp-package-card .camp-package-description{margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.camp-package-card>.camp-package-prices{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:0;white-space:nowrap}
.camp-package-card>.camp-package-prices strong{font-size:22px}
.camp-package-card>.camp-package-actions{grid-column:1/-1;flex-wrap:wrap;margin:0;padding-top:14px;border-top:1px solid var(--line);gap:14px}
.camp-package-card>.camp-delete-confirm{grid-column:1/-1;margin:0}
@media(max-width:1400px) and (min-width:1101px),(max-width:600px){.camp-packages-panel .camp-package-card{grid-template-columns:80px minmax(0,1fr);gap:12px}.camp-package-cover{width:80px;height:80px}.camp-package-card>.camp-package-prices{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap;white-space:normal}.camp-package-card>.camp-package-prices>small{display:none}}

/* Marketing activities share the horizontal flight package card layout. */
#table-body>tr.flight-activity-row,#table-body>tr.flight-activity-row:hover{background:transparent}
.flight-activity-row>td{padding:22px!important;border:0}
.flight-activity-list{display:grid;gap:18px}
.flight-activity-list .camp-package-actions>.badge{margin-right:auto}
.flight-activity-list .camp-package-actions>.muted{font-size:12px}

/* Coupon configuration uses grouped rules and a dedicated scope column. */
#action-dialog:has(.coupon-config-layout){width:1040px;max-width:calc(100vw - 40px)}
#action-dialog:has(.coupon-config-layout) .dialog-header{padding:22px 26px}
#action-dialog:has(.coupon-config-layout) .dialog-body{padding:22px 26px;background:var(--field)}
#action-dialog:has(.coupon-config-layout) #action-description:empty{display:none}
#action-dialog:has(.coupon-config-layout) #action-fields{display:block}
.coupon-config-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.coupon-config-main{display:grid;gap:18px;min-width:0}.coupon-config-scope{min-width:0}
.coupon-config-section{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.coupon-config-section h3{margin:0 0 18px;font-size:15px;font-weight:600;color:var(--navy)}
.coupon-config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.coupon-config-fields>.action-field{margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.5;color:var(--secondary)}
.coupon-config-fields>.action-field[hidden]{display:none}
.coupon-config-fields>.coupon-field-wide{grid-column:1/-1}
.coupon-config-fields .action-field :is(input:not([type=checkbox]),select){width:100%;height:40px;min-height:40px;margin:0;padding:0 12px;font-size:13px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--navy)}
.coupon-config-fields>.coupon-toggle-field{flex-direction:row;align-items:center;justify-content:space-between;min-height:40px;align-self:end;padding:8px 0}
.coupon-config-fields input[type=checkbox]{appearance:none;position:relative;flex-shrink:0;width:32px;height:18px;border:1px solid var(--muted);border-radius:12px;background:var(--field);cursor:pointer;margin:0;transition:background .16s}
.coupon-config-fields input[type=checkbox]::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .16s}
.coupon-config-fields input[type=checkbox]:checked{background:var(--blue);border-color:var(--blue)}
.coupon-config-fields input[type=checkbox]:checked::after{background:#fff;transform:translateX(14px)}
.coupon-config-section>.field-help,.coupon-scope-note{margin:14px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}
.coupon-config-section .coupon-target-picker{margin:16px 0 0;padding:0;border:0;gap:12px}
.coupon-config-section .coupon-target-picker[hidden]{display:none}
.coupon-config-section .coupon-target-picker>strong{font-size:12px;font-weight:500;color:var(--secondary)}
.coupon-config-section .coupon-target-picker>input{width:100%;height:40px;padding:0 12px;background:var(--field);border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--navy)}
.coupon-config-section .coupon-target-picker>.field-help{margin:0;font-size:12px;color:var(--muted)}
.coupon-config-section .coupon-target-list{grid-template-columns:1fr;max-height:390px;gap:6px;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}
.coupon-config-section .coupon-target-option{min-height:40px;padding:10px 12px;gap:10px;border:1px solid transparent;background:var(--field);font-size:13px;line-height:1.5;color:var(--secondary);cursor:pointer}
.coupon-config-section .coupon-target-option:has(input:checked){border-color:var(--blue);color:var(--navy)}
.coupon-config-section .coupon-target-option input{flex:0 0 16px;width:16px;height:16px;accent-color:var(--blue)}
#action-dialog:has(.coupon-config-layout) .dialog-actions{padding:16px 26px;gap:12px}
@media(max-width:800px){.coupon-config-layout{grid-template-columns:1fr}#action-dialog:has(.coupon-config-layout){max-width:calc(100vw - 20px)}#action-dialog:has(.coupon-config-layout) .dialog-body{padding:16px}.coupon-config-section{padding:16px}.coupon-config-section .coupon-target-list{max-height:240px}}

.camp-list-card{position:relative}
.camp-popular-label,.camp-popular-action{position:absolute;z-index:2;left:12px;top:12px;min-height:30px;padding:6px 12px;border-radius:18px;font-size:12px;font-weight:600;line-height:18px}
.camp-popular-label{background:#ffcf66;color:#563600;border:1px solid #ffe5a6;pointer-events:none}
.camp-popular-action{background:#252b36e8;color:#fff;border:1px solid #ffffff40;opacity:0;pointer-events:none;transition:opacity 150ms ease;cursor:pointer}
.camp-list-card:hover>.camp-popular-action,.camp-list-card:focus-within>.camp-popular-action{opacity:1;pointer-events:auto}
.camp-list-card:has(.camp-popular-action):hover>.camp-popular-label,.camp-list-card:has(.camp-popular-action):focus-within>.camp-popular-label{opacity:0}
@media(hover:none){.camp-popular-action{opacity:1;pointer-events:auto}.camp-list-card>.camp-popular-label{top:50px}}

.banner-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.banner-slot-card{display:block;text-align:left;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--navy);min-width:0;cursor:pointer}
.banner-slot-card h3{font-size:16px;margin:16px 0 10px}.banner-slot-card p{font-size:12px}.banner-slot-link{display:block;margin-top:18px;font-size:12px;color:var(--blue)}
.banner-slot-cover{aspect-ratio:3/1;background:var(--surface);display:grid;place-items:center;overflow:hidden;border-radius:7px;font-size:13px}.banner-slot-cover.banner-slot-home{aspect-ratio:2/1}.banner-slot-cover img{width:100%;height:100%;object-fit:cover}
.banner-slot-dialog{width:1100px;max-width:calc(100vw - 32px)}.banner-slot-dialog .dialog-body{padding:22px}.banner-slot-toolbar{display:flex;align-items:end;gap:20px;margin-bottom:24px}.banner-slot-toolbar label{font-size:12px;color:var(--secondary);display:grid;gap:8px}.banner-slot-toolbar input{width:130px}.banner-slot-toolbar>.muted{font-size:12px;margin-bottom:12px}.banner-slot-toolbar>.button{margin-left:auto}
.banner-edit-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.banner-slide-list{display:grid;gap:12px}.banner-slide-row{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--field)}.banner-slide-row.selected{border-color:var(--blue)}.banner-slide-pick{display:flex;align-items:center;gap:12px;width:100%;background:transparent;text-align:left;color:var(--navy);padding:0;font-size:13px}.banner-slide-pick img{width:76px;height:50px;object-fit:contain;flex-shrink:0}.banner-slide-pick span{overflow-wrap:anywhere}.banner-slide-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:8px}.banner-slide-actions .text-button{font-size:12px}.banner-slide-editor{min-width:0;padding:18px;background:var(--field);border:1px solid var(--line);border-radius:10px}.banner-edit-preview{aspect-ratio:3/1;overflow:hidden;display:grid;place-items:center;background:var(--surface);border-radius:7px}.banner-edit-preview.banner-slot-home{aspect-ratio:2/1}.banner-edit-preview img{height:100%;width:100%;object-fit:contain}.banner-slide-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.banner-slide-fields label{display:grid;gap:8px;font-size:12px;color:var(--secondary);min-width:0}.banner-slide-fields label[hidden]{display:none}.banner-slide-fields input,.banner-slide-fields select,.banner-slot-toolbar input{min-width:0;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--navy);font-size:13px}.banner-slide-fields input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}
@media(max-width:800px){.banner-slot-grid{grid-template-columns:1fr}.banner-edit-grid{grid-template-columns:1fr}.banner-slot-toolbar{flex-wrap:wrap}.banner-slide-fields{grid-template-columns:1fr}}

.sidebar .brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex-shrink:0;background:transparent}
.refund-settings-panel{padding:24px}
.refund-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.refund-settings-card{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.refund-settings-card h2{margin:0 0 8px;font-size:18px}.refund-settings-card>p{margin:0 0 24px}.refund-settings-card .review-setting-toggle{margin-bottom:20px}.refund-settings-card .action-field{margin-top:24px;max-width:100%}.refund-settings-card input:not([type=checkbox]){width:100%;min-width:0;box-sizing:border-box}.refund-settings-card>small{display:block;line-height:1.7;margin-top:8px}.refund-rule-note{margin-top:28px;padding:16px;border-radius:8px;background:var(--field);line-height:1.7;color:var(--muted)}.refund-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.refund-settings-footer .button{white-space:nowrap}@media(max-width:1000px){.refund-settings-grid{grid-template-columns:1fr}.refund-settings-panel{padding:16px}}
.sidebar .brand{gap:12px}
