[hidden]{display:none!important}
:root { --navy:#152c2d; --green:#0b615e; --mint:#dff1e8; --cream:#f5f3eb; --paper:#fff; --ink:#173432; --soft:#657a78; --line:#dfe7e1; --orange:#e88759; --red:#ac4741; --shadow:0 14px 45px rgba(17,50,48,.08); }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif; line-height:1.5; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.admin-shell { display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.sidebar { position:sticky; top:0; display:flex; height:100vh; flex-direction:column; padding:25px 18px; color:#eaf5f0; background:var(--navy); }
.admin-brand { display:flex; align-items:center; gap:10px; color:white; text-decoration:none; }
.admin-brand > span { display:grid; width:40px; height:40px; place-items:center; border-radius:12px; color:var(--navy); background:#f0cc73; font-family:serif; font-size:22px; font-weight:900; }
.admin-brand div { display:grid; min-width:0; }
.admin-brand>span:has(img){background:none;overflow:hidden;flex-shrink:0}.admin-brand>span img{width:100%;height:100%;display:block}.admin-brand strong{white-space:nowrap}
.admin-brand strong { letter-spacing:.08em; }
.admin-brand small { color:#8fb0aa; font-size:10px; }
.sidebar nav { display:grid; gap:7px; margin-top:46px; }
.sidebar nav button { padding:11px 13px; border:0; border-radius:10px; color:#9bb5b0; background:transparent; text-align:left; }
.sidebar nav button:hover,.sidebar nav button.active { color:white; background:rgba(255,255,255,.09); }
.sidebar nav button.active::before { content:""; display:inline-block; width:5px; height:5px; margin:0 9px 2px 0; border-radius:50%; background:#f0cc73; }
.sidebar-footer { display:grid; gap:10px; margin-top:auto; }
.environment { padding:6px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#9bb5b0; font-size:10px; text-align:center; }
.sidebar-footer button { border:0; color:#8ca5a0; background:transparent; font-size:10px; }
.admin-main { width:min(1260px,100%); padding:30px 40px 80px; overflow:hidden; }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.admin-header small,.section-intro small,.card-title small { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.16em; }
.admin-header h1 { margin:3px 0 0; font-family:"STSong","Songti SC",serif; font-size:32px; }
.header-status { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:white; }
.header-status > span { width:8px; height:8px; border-radius:50%; background:#35a271; box-shadow:0 0 0 4px #dff4e8; }
.header-status div { display:grid; }
.header-status strong { font-size:11px; }
.header-status small { color:var(--soft); font-size:9px; }
.admin-view { display:none; }
.admin-view.active { display:block; }
.callout { display:flex; gap:12px; margin-bottom:18px; padding:13px 16px; border:1px solid #ead9a5; border-radius:12px; background:#fff9e7; font-size:11px; }
.callout p { margin:0; color:#766844; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:18px; }
.stat-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:var(--shadow); }
.stat-card small { color:var(--soft); font-size:10px; }
.stat-card strong { display:block; margin-top:7px; font-size:27px; }
.stat-card span { color:var(--green); font-size:10px; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.admin-card { margin-bottom:18px; padding:22px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:0 7px 25px rgba(17,50,48,.04); }
.card-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.card-title h2 { margin:2px 0 0; font-size:18px; }
.card-title > span { padding:4px 8px; border-radius:7px; color:var(--green); background:var(--mint); font-size:9px; }
.switch-list { display:grid; gap:10px; }
.switch-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #edf1ee; }
.switch-row:last-child { border:0; }
.switch-row div { display:grid; }
.switch-row strong { font-size:12px; }
.switch-row small { color:var(--soft); font-size:9px; }
.toggle { position:relative; width:42px; height:23px; border:0; border-radius:999px; background:#ccd6d0; }
.toggle::after { content:""; position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:white; transition:.2s; }
.toggle.on { background:var(--green); }
.toggle.on::after { transform:translateX(19px); }
.route-summary { display:grid; gap:10px; margin-bottom:16px; }
.route-line { display:flex; justify-content:space-between; padding:10px; border-radius:10px; background:#f5f7f4; font-size:11px; }
.route-line span { color:var(--soft); }
.button-row { display:flex; flex-wrap:wrap; gap:8px; }
.primary-button,.secondary-button,.danger-button { min-height:38px; padding:0 14px; border-radius:10px; font-size:11px; font-weight:800; }
.primary-button { border:1px solid var(--green); color:white; background:var(--green); }
.secondary-button { border:1px solid #cbd9d2; color:var(--green); background:white; }
.danger-button { border:1px solid #ead0cd; color:var(--red); background:#fff7f6; }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:20px; }
.section-intro h2 { margin:4px 0 0; font-family:"STSong","Songti SC",serif; font-size:27px; }
.section-intro p { max-width:520px; margin:0; color:var(--soft); font-size:11px; }
.form-card { padding:25px; }
.form-grid { display:grid; gap:13px; }
.form-grid.four { grid-template-columns:repeat(4,1fr); }
.form-grid.three { grid-template-columns:repeat(3,1fr); }
label { display:grid; gap:6px; margin-bottom:13px; color:#506765; font-size:10px; font-weight:800; }
input,select,textarea { width:100%; padding:10px 11px; border:1px solid #d8e2dc; border-radius:9px; outline:none; color:var(--ink); background:#fff; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(11,97,94,.08); }
.check { display:flex; align-items:center; gap:8px; padding-top:18px; }
.check input { width:16px; }
.provider-list { display:grid; gap:12px; margin-top:16px; }
.provider-card { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; padding:18px; border:1px solid var(--line); border-radius:13px; background:#f7f9f6; }
.provider-card h3 { grid-column:1/-1; margin:0; font-size:13px; }
.provider-card .remove-provider { position:absolute; top:13px; right:13px; border:0; color:var(--red); background:transparent; font-size:11px; }
.provider-card .wide { grid-column:span 2; }
.form-actions { display:flex; align-items:center; gap:14px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.form-actions span { color:var(--soft); font-size:10px; }
.history-list { display:grid; gap:9px; }
.history-item { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:15px; padding:12px; border:1px solid var(--line); border-radius:11px; }
.history-version { display:grid; }
.history-version strong { font-size:14px; }
.history-version span { width:max-content; padding:3px 6px; border-radius:5px; color:#5a6e6a; background:#edf1ed; font-size:8px; }
.history-version span.active { color:#fff; background:var(--green); }
.history-version span.candidate { color:#704f17; background:#ffedba; }
.history-info { color:var(--soft); font-size:10px; }
.history-actions { display:flex; gap:6px; }
.history-actions button { padding:6px 8px; border:1px solid var(--line); border-radius:7px; color:var(--green); background:white; font-size:9px; }
.content-grid { grid-template-columns:.8fr 1.2fr; }
.upload-zone { position:relative; display:grid; min-height:230px; place-items:center; align-content:center; padding:24px; border:1px dashed #a9c4b8; border-radius:14px; background:#f5faf7; text-align:center; }
.upload-zone > span { display:grid; width:66px; height:66px; place-items:center; border-radius:20px; color:var(--green); background:var(--mint); font-size:10px; font-weight:900; }
.upload-zone h3 { margin:13px 0 4px; }
.upload-zone p { max-width:330px; margin:0 0 13px; color:var(--soft); font-size:10px; }
.upload-zone input { position:absolute; width:1px; height:1px; opacity:0; }
.file-button { display:inline-flex; padding:8px 12px; border-radius:8px; color:white; background:var(--green); cursor:pointer; }
.template-links { display:flex; justify-content:center; gap:18px; padding:14px; }
.template-links a { color:var(--green); font-size:10px; }
.upload-card > .button-row { justify-content:center; }
.import-result pre { max-height:330px; overflow:auto; padding:14px; border-radius:10px; color:#d8ebe6; background:#193c3a; font-size:10px; white-space:pre-wrap; }
.inventory { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.inventory-item { padding:12px; border-radius:10px; background:#f3f7f3; }
.inventory-item strong { display:block; font-size:22px; }
.inventory-item span { color:var(--soft); font-size:9px; }
.audit-list { display:grid; }
.audit-row { display:grid; grid-template-columns:140px 170px 1fr; gap:15px; padding:12px 4px; border-bottom:1px solid var(--line); font-size:10px; }
.audit-row time,.audit-row span { color:var(--soft); }
.admin-login { width:min(420px,calc(100% - 30px)); padding:0; border:0; border-radius:20px; box-shadow:0 25px 80px rgba(7,38,36,.3); }
.admin-login::backdrop { background:rgba(9,37,36,.72); backdrop-filter:blur(5px); }
.admin-login form { display:grid; gap:12px; padding:30px; }
.admin-login form > span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.16em; }
.admin-login h2 { margin:0; font-family:serif; font-size:28px; }
.admin-login p { margin:0; color:var(--soft); font-size:11px; }
.admin-login a { color:var(--green); font-size:10px; text-align:center; }
.admin-toast { position:fixed; z-index:50; right:25px; bottom:25px; padding:11px 15px; border-radius:10px; color:white; background:#173f3c; box-shadow:var(--shadow); opacity:0; transform:translateY(15px); transition:.2s; pointer-events:none; font-size:11px; }
.admin-toast.error { background:#7d3833; }
.admin-toast.show { opacity:1; transform:none; }
.content-divider { margin-top:38px; }
@media(max-width:1050px){.admin-shell{grid-template-columns:190px 1fr}.admin-main{padding:25px}.stats-grid{grid-template-columns:1fr 1fr}.form-grid.four,.provider-card{grid-template-columns:1fr 1fr}.provider-card .wide{grid-column:span 1}}
@media(max-width:720px){.admin-shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.sidebar nav{grid-template-columns:repeat(5,1fr);margin-top:18px;overflow:auto}.sidebar nav button{text-align:center;white-space:nowrap}.sidebar-footer{display:none}.admin-main{padding:20px 14px}.admin-header,.section-intro{align-items:flex-start;flex-direction:column}.header-status{display:none}.admin-grid,.content-grid{grid-template-columns:1fr}.form-grid.four,.form-grid.three,.provider-card{grid-template-columns:1fr}.provider-card .wide{grid-column:auto}.history-item{grid-template-columns:70px 1fr}.history-actions{grid-column:1/-1}.inventory{grid-template-columns:1fr 1fr}.audit-row{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:14px}}

.owner-callout { border-color:#9ecfc0; background:#f0faf5; }
.metric-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.metric-list > div { display:flex; justify-content:space-between; gap:8px; padding:12px; border-radius:10px; background:#f5f8f5; font-size:10px; }
.metric-list strong { color:var(--green); }
.weak-note { grid-column:1/-1; background:#fff8e8 !important; }
.context-bar { display:flex; align-items:end; gap:12px; padding:14px; margin-bottom:18px; border-radius:13px; background:#f2f7f4; }
.context-bar label { flex:1; margin:0; }
.capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.capability-card { margin:0; }
.cap-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.cap-head h3 { margin:4px 0 0; font-size:16px; }
.cap-head > span { padding:4px 7px; border-radius:7px; color:var(--green); background:var(--mint); font-size:9px; white-space:nowrap; }
.capability-card p { min-height:34px; color:var(--soft); font-size:10px; line-height:1.6; }
.cap-meta { display:flex; flex-wrap:wrap; gap:9px; margin:10px 0 14px; color:var(--soft); font-size:9px; }
.history-list.compact { max-height:180px; overflow:auto; margin-top:15px; }
.history-row { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:9px 0; border-top:1px solid var(--line); font-size:10px; }
.history-row div { display:grid; }
.history-row small { color:var(--soft); }
.status { padding:3px 6px; border-radius:5px; background:#edf1ed; font-size:9px; }
.status.active { color:white; background:var(--green); }.status.candidate { color:#704f17; background:#ffedba; }.status.draft { color:#6f566e; background:#f3e7f3; }
.content-forms { grid-template-columns:repeat(3,1fr); }
.content-forms .admin-card { margin:0; }
.catalog-card { margin-top:18px; }
.catalog-tabs { display:flex; gap:8px; margin-bottom:14px; border-bottom:1px solid var(--line); }
.catalog-tabs button { padding:8px 12px; border:0; border-bottom:2px solid transparent; color:var(--soft); background:transparent; font-weight:800; font-size:11px; cursor:pointer; }
.catalog-tabs button.active { border-color:var(--green); color:var(--green); }
.content-list { display:grid; gap:10px; }
.content-row { display:flex; justify-content:space-between; gap:15px; padding:15px; border:1px solid var(--line); border-radius:12px; }
.content-row h3 { margin:7px 0 5px; font-size:13px; }.content-row p { margin:0 0 7px; color:var(--soft); font-size:10px; }.content-row small { color:var(--soft); font-size:9px; }
.content-meta { display:flex; gap:7px; color:var(--green); font-size:9px; }.owner-mark { color:#8a5b0a; }.row-actions { display:flex; align-items:center; align-content:center; flex-wrap:wrap; justify-content:end; gap:6px; min-width:160px; }
.plan-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.plan-card { padding:16px; border:1px solid var(--line); border-radius:12px; }.plan-card span,.plan-card small { display:block; color:var(--soft); font-size:9px; }.plan-card h3 { margin:7px 0; font-size:14px; }.plan-card strong { display:block; margin-bottom:7px; font-size:21px; color:var(--green); }
.item-list { display:grid; gap:8px; margin-top:18px; }.item-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px; border-radius:9px; background:#f5f8f5; }.item-row div { display:grid; }.item-row small { color:var(--soft); font-size:9px; }.item-row select { width:auto; padding:6px; font-size:9px; }
.file-box { display:block; padding:18px; border:1px dashed #a9c4b8; border-radius:11px; color:var(--green); background:#f5faf7; }.file-box input { margin-top:10px; padding:0; border:0; }
.confirm-dialog { width:min(420px,calc(100% - 30px)); padding:0; border:0; border-radius:16px; }.confirm-dialog::backdrop { background:rgba(9,37,36,.72); }.confirm-dialog form { display:grid; gap:12px; padding:26px; }.confirm-dialog span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.12em; }.confirm-dialog h2 { margin:0; font-family:serif; }.confirm-dialog p { color:var(--soft); font-size:11px; line-height:1.6; }
.empty { padding:18px; color:var(--soft); font-size:11px; }.personal-context { margin-bottom:11px; padding:9px; border-radius:8px; color:var(--green); background:#eff9f3; font-size:10px; }
.ai-status-card { margin-bottom:18px; border-color:#dfe3f2; background:linear-gradient(135deg,#fff 0%,#fbfaff 62%,#fff8f5 100%); }
.ai-status-card > p,.admin-advanced > p { color:var(--soft); font-size:11px; line-height:1.65; }
.ai-status-controls { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.ai-status-controls > label { min-width:240px; margin:0; }
.ai-status-controls .button-row { margin:0; }
.ai-effective-state { padding-top:14px; }
.ai-state-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ai-state-grid > div { display:grid; gap:5px; min-width:0; padding:12px 14px; border:1px solid #e9eaf2; border-radius:12px; background:rgba(255,255,255,.84); overflow-wrap:anywhere; }
.ai-state-grid small,.ai-state-grid span,.ai-trial-form > p { color:var(--soft); font-size:10px; line-height:1.55; }
.ai-state-grid strong { font-size:12px; line-height:1.5; }
.ai-trial-form { display:grid; gap:10px; margin-top:15px; padding:16px; border:1px solid #e4e6f1; border-radius:14px; background:#fff; }
.ai-trial-form h3,.ai-trial-form p { margin:0; }
.ai-trial-form label { margin:0; }
.ai-trial-output { padding:12px; border-radius:10px; background:#f5f6fc; font-size:11px; line-height:1.7; white-space:pre-wrap; }
.ai-trial-output:empty { display:none; }
.ai-trial-output small { color:var(--soft); }
.ai-trial-output p { margin:8px 0 0; }
.admin-advanced { margin-top:18px; padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:#fbfcfd; }
.admin-advanced > summary { cursor:pointer; color:#34405b; font-weight:800; }
.admin-advanced > .admin-grid { margin-top:15px; }
@media(max-width:720px){.ai-status-controls{align-items:stretch;flex-direction:column}.ai-status-controls>.button-row{display:grid;grid-template-columns:1fr 1fr}.ai-status-controls>.label{min-width:0}.ai-state-grid{grid-template-columns:1fr}.admin-advanced{padding:13px}}
@media(max-width:900px){.capability-grid,.content-forms{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr 1fr}.context-bar{align-items:stretch; flex-wrap:wrap}.context-bar label{min-width:120px}.content-row{flex-direction:column}.row-actions{justify-content:start; min-width:0;}}
.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-actions{flex-wrap:wrap}.capability-card details{margin-top:14px;overflow-wrap:anywhere}.capability-card details p{padding:10px 0;border-bottom:1px solid #eee}.admin-user{flex-wrap:wrap}@media(max-width:650px){.form-grid.two{grid-template-columns:1fr}}
.stage-config-editor{display:grid;gap:9px;margin-top:14px}.stage-editor-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px}.stage-editor-head small{color:var(--soft);font-size:9px}.stage-editor-row{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.stage-order{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:#fff;background:var(--green);font-size:10px;font-weight:900}.stage-fields{display:grid;grid-template-columns:.8fr 1.6fr 1fr;gap:9px}.stage-fields label{margin:0}.stage-auto-note{align-self:end;padding:9px;border-radius:8px;color:var(--soft);background:#f1f5f3;font-size:9px}@media(max-width:900px){.stage-fields{grid-template-columns:1fr}.stage-editor-head{align-items:start;flex-direction:column}}@media(max-width:650px){.stage-editor-row{grid-template-columns:1fr}.stage-order{width:28px;height:28px}.stage-fields{grid-template-columns:1fr}}
