:root { --deep:#004754; --forest:#006852; --green:#128248; --teal:#006e7d; --lime:#f2cf24; --bg:#f5f0e7; --surface:#fff; --ink:#103b3f; --muted:#6d7772; --line:#dedfd8; --red:#ad4439; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
[hidden] { display:none !important; }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 70% 25%,#175342,transparent 30%),linear-gradient(135deg,#031914,var(--deep)); }
.login-screen::before { content:""; position:fixed; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size:65px 65px; }
.login-card { position:relative; width:min(440px,100%); padding:42px; background:#f7f7f0; box-shadow:0 35px 100px rgba(0,0,0,.35); }
.admin-brand { display:flex; align-items:center; gap:11px; width:max-content; }
.admin-brand > img { width:44px; height:44px; object-fit:contain; }
.admin-brand div { display:grid; }
.admin-brand strong { letter-spacing:.08em; }
.admin-brand small { font-size:8px; letter-spacing:.22em; color:var(--muted); margin-top:2px; }
.login-copy { margin:55px 0 35px; }
.login-copy small,.admin-header small,.dialog-head small { color:var(--green); font-size:9px; letter-spacing:.18em; font-weight:700; }
.login-copy h1 { font-size:38px; margin:10px 0; }
.login-copy p { color:var(--muted); font-size:13px; line-height:1.8; }
label { display:grid; gap:9px; color:var(--muted); font-size:11px; }
input,select,textarea { width:100%; color:var(--ink); background:#fff; border:1px solid var(--line); outline:0; padding:12px 13px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(31,111,91,.08); }
.login-card > button,.category-form > button,.editor-dialog button[type=submit] { width:100%; border:0; background:var(--deep); color:#fff; padding:14px 16px; margin-top:22px; display:flex; justify-content:space-between; }
.login-card > button:hover,.category-form > button:hover,.editor-dialog button[type=submit]:hover { background:var(--green); }
.back-link { display:block; text-align:center; color:var(--muted); font-size:11px; margin-top:18px; }
.status { min-height:18px; margin:10px 0 0; font-size:11px; color:var(--red); }
.admin-app { min-height:100vh; display:grid; grid-template-columns:240px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; padding:26px 20px; color:#fff; background:var(--deep); display:flex; flex-direction:column; }
.sidebar .admin-brand { padding:0 8px 28px; border-bottom:1px solid rgba(255,255,255,.12); }
.sidebar .admin-brand small { color:rgba(255,255,255,.45); }
.sidebar nav { display:grid; gap:5px; margin-top:30px; }
.sidebar nav button { border:0; color:rgba(255,255,255,.6); background:transparent; text-align:left; padding:13px 14px; display:flex; align-items:center; gap:12px; }
.sidebar nav button i { font-style:normal; width:18px; color:var(--lime); }
.sidebar nav button b { margin-left:auto; min-width:20px; height:20px; border-radius:10px; background:rgba(255,255,255,.12); display:grid; place-items:center; font-size:9px; }
.sidebar nav button:hover,.sidebar nav button.active { color:var(--deep); background:var(--lime); }
.sidebar nav button.active i,.sidebar nav button:hover i { color:var(--deep); }
.side-bottom { margin-top:auto; border-top:1px solid rgba(255,255,255,.12); padding-top:16px; display:grid; gap:4px; }
.side-bottom a,.side-bottom button { color:rgba(255,255,255,.56); background:none; border:0; padding:10px 12px; text-align:left; font-size:11px; }
.side-bottom a:hover,.side-bottom button:hover { color:var(--lime); }
.admin-main { min-width:0; padding:38px clamp(26px,4vw,64px) 60px; }
.admin-header { display:flex; justify-content:space-between; align-items:end; margin-bottom:34px; }
.admin-header h1 { margin:8px 0 0; font-size:32px; }
.primary-action { border:0; background:var(--green); color:#fff; padding:12px 17px; }
.primary-action:hover { background:var(--deep); }
.admin-view { display:none; }
.admin-view.active { display:block; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.metric-grid article { min-height:185px; background:#fff; border:1px solid var(--line); padding:25px; display:flex; flex-direction:column; }
.metric-grid article.accent { background:var(--lime); border-color:var(--lime); }
.metric-grid span,.metric-grid small { color:var(--muted); font-size:11px; }
.metric-grid strong { margin:auto 0 5px; font-size:52px; line-height:1; }
.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.panel { background:#fff; border:1px solid var(--line); padding:25px; }
.panel-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.panel-head h2,.category-form h2 { margin:0; font-size:17px; }
.panel-head button { border:0; background:none; color:var(--green); font-size:11px; }
.panel-head > span { color:var(--muted); font-size:11px; }
.recent-list { display:grid; }
.recent-item { padding:15px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:10px; }
.recent-item strong { font-size:13px; }
.recent-item small { color:var(--muted); font-size:10px; grid-column:1; }
.recent-item > span { grid-row:1/3; grid-column:2; align-self:center; color:var(--green); font-size:10px; }
.toolbar { display:flex; gap:12px; margin-bottom:17px; }
.toolbar input { max-width:380px; }
.toolbar select { width:190px; }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); }
table { width:100%; border-collapse:collapse; min-width:800px; }
th,td { text-align:left; padding:15px 18px; border-bottom:1px solid var(--line); font-size:11px; }
th { color:var(--muted); background:#f7f7f2; font-weight:500; }
.case-cell { display:flex; gap:12px; align-items:center; }
.case-cell img { width:70px; height:46px; object-fit:cover; background:#eee; }
.case-cell strong { font-size:12px; }
.status-pill { display:inline-block; padding:5px 8px; border-radius:99px; color:var(--green); background:#e5f0eb; }
.table-actions { display:flex; gap:7px; }
.table-actions button { border:1px solid var(--line); background:#fff; padding:6px 9px; font-size:10px; }
.table-actions button.danger { color:var(--red); }
.category-layout { display:grid; grid-template-columns:340px 1fr; gap:16px; align-items:start; }
.category-form { display:grid; gap:17px; }
.category-form > button { margin-top:0; justify-content:center; }
.category-list { display:grid; }
.category-item { display:grid; grid-template-columns:1fr auto; gap:5px 15px; padding:17px 0; border-top:1px solid var(--line); }
.category-item strong { font-size:13px; }
.category-item p { color:var(--muted); margin:0; font-size:10px; }
.category-item span { grid-row:1/3; grid-column:2; display:flex; align-items:center; gap:6px; }
.category-item button { border:1px solid var(--line); background:#fff; font-size:10px; padding:6px 8px; }
.lead-filter { display:flex; gap:7px; margin-bottom:17px; }
.lead-filter button { border:1px solid var(--line); background:#fff; padding:9px 14px; font-size:11px; }
.lead-filter button.active { background:var(--deep); color:#fff; border-color:var(--deep); }
.lead-list { display:grid; gap:10px; }
.lead-card { background:#fff; border:1px solid var(--line); padding:22px; display:grid; grid-template-columns:1.3fr .7fr auto; gap:22px; align-items:center; }
.lead-card.done { opacity:.58; }
.lead-card h3 { margin:0 0 8px; font-size:15px; }
.lead-card p { color:var(--muted); margin:0; font-size:11px; line-height:1.7; }
.lead-meta { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.lead-meta strong { color:var(--ink); font-size:12px; }
.lead-card button { border:1px solid var(--green); color:var(--green); background:#fff; padding:9px 12px; font-size:10px; }
.lead-card.done button { color:var(--muted); border-color:var(--line); }
.empty-state { padding:45px; text-align:center; color:var(--muted); font-size:12px; background:#fff; border:1px solid var(--line); }
.import-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:16px; align-items:start; }
.import-form { padding:38px; display:grid; gap:20px; }
.import-form h2,.import-guide h2 { margin:0; font-size:26px; }
.import-form > p { color:var(--muted); font-size:12px; line-height:1.8; margin:0 0 8px; }
.import-badge,.import-guide > small { color:var(--teal); font-size:9px; letter-spacing:.16em; font-weight:700; }
.import-form > button { border:0; background:var(--deep); color:#fff; padding:15px 17px; display:flex; justify-content:space-between; }
.import-form > button:hover { background:var(--green); }
.import-guide { padding:38px; background:linear-gradient(145deg,var(--deep),#00665f); color:#fff; }
.import-guide > small { color:var(--lime); }
.import-guide h2 { margin:12px 0 30px; }
.import-guide ol { list-style:none; padding:0; margin:0; }
.import-guide li { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:center; border-top:1px solid rgba(255,255,255,.15); padding:18px 0; font-size:12px; }
.import-guide li b { color:var(--lime); font-size:10px; letter-spacing:.12em; }
.import-guide > p { color:rgba(255,255,255,.55); font-size:10px; line-height:1.8; margin:28px 0 0; }
.editor-dialog { width:min(720px,94vw); max-height:92vh; border:0; padding:0; background:var(--bg); box-shadow:0 35px 100px rgba(0,0,0,.35); }
.editor-dialog::backdrop { background:rgba(2,24,19,.78); backdrop-filter:blur(4px); }
.editor-dialog form { padding:32px; display:grid; gap:17px; }
.dialog-head { display:flex; justify-content:space-between; align-items:start; margin-bottom:7px; }
.dialog-head h2 { margin:6px 0 0; font-size:26px; }
.dialog-head button { border:0; background:none; font-size:28px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.check-label { display:flex; align-items:center; gap:8px; }
.check-label input { width:auto; }
.dialog-actions { display:flex; align-items:center; gap:9px; border-top:1px solid var(--line); padding-top:20px; }
.dialog-actions .status { margin:0 auto 0 0; }
.dialog-actions button { width:auto; margin:0; padding:11px 18px; }
.dialog-actions .ghost { border:1px solid var(--line); background:#fff; color:var(--ink); }
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.import-layout{grid-template-columns:1fr}}
@media(max-width:850px){.admin-app{grid-template-columns:76px 1fr}.sidebar{padding:20px 10px}.sidebar .admin-brand div,.sidebar nav button:not(.active){font-size:0}.sidebar .admin-brand{padding-left:8px}.sidebar nav button{justify-content:center}.sidebar nav button i{width:auto;font-size:16px}.sidebar nav button b{position:absolute;margin:0 0 25px 25px}.side-bottom{display:none}.dashboard-grid{grid-template-columns:1fr}.category-layout{grid-template-columns:1fr}.lead-card{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.admin-app{display:block}.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center}.sidebar .admin-brand{border:0;padding:0}.sidebar nav{margin:0 0 0 auto;display:flex}.sidebar nav button{display:none}.sidebar nav button[data-view="cases"],.sidebar nav button[data-view="posts"],.sidebar nav button[data-view="import"]{display:flex}.admin-main{padding:25px 16px}.admin-header{align-items:start}.metric-grid{grid-template-columns:1fr}.metric-grid article{min-height:130px}.toolbar{display:grid}.toolbar input,.toolbar select{max-width:none;width:100%}.editor-dialog form{padding:22px}.import-form,.import-guide{padding:25px}}
.site-settings{display:grid;gap:22px;padding-bottom:86px}.settings-section{display:grid;gap:20px}.settings-section .panel-head{margin-bottom:0}.settings-section label,.simple-editor{display:grid;gap:8px;font-size:11px;color:var(--muted)}.settings-section input,.settings-section textarea,.simple-editor textarea{width:100%;border:1px solid var(--line);background:#fffdf8;padding:13px 14px;font:inherit;color:var(--ink);outline:none;resize:vertical}.settings-section input:focus,.settings-section textarea:focus,.simple-editor textarea:focus{border-color:var(--green)}.slogan-settings{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.hero-image-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero-image-settings .upload-field{grid-template-columns:1fr}.hero-image-settings .upload-field img{height:150px}.upload-field{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:14px;align-items:center;border:1px dashed #b7c7b7;padding:14px;background:#f7faf4}.upload-field img{width:100%;height:180px;object-fit:cover;background:#e8eee7}.upload-field.compact{grid-template-columns:130px 1fr}.upload-field.compact img{height:98px}.upload-field button,.editor-toolbar button{border:1px solid var(--line);background:#fff;padding:10px 12px;color:var(--deep);cursor:pointer}.upload-field button:hover,.editor-toolbar button:hover{border-color:var(--green);color:var(--green)}.sticky-save{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:14px 18px;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 10px 35px rgba(0,40,35,.12)}.sticky-save .status{margin-right:auto}.sticky-save a{font-size:11px;color:var(--deep)}.sticky-save button{border:0;background:var(--green);color:white;padding:12px 20px}.simple-editor{margin:8px 0 18px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:7px;padding:9px;background:#edf4ed;border:1px solid var(--line);border-bottom:0}.simple-editor textarea{min-height:260px}.simple-editor>small{color:#87968a}.editor-dialog{max-width:min(920px,94vw)}
@media(max-width:760px){.slogan-settings,.form-grid,.hero-image-settings{grid-template-columns:1fr}.upload-field,.upload-field.compact{grid-template-columns:1fr}.upload-field.compact img,.hero-image-settings .upload-field img{width:100%;height:160px}.sticky-save{flex-wrap:wrap}.sticky-save .status{width:100%}}
