:root{--ink:#18201d;--muted:#6b746f;--paper:#f6f3eb;--panel:#fffdf7;--line:#d8d0c2;--dark:#1f2a25;--accent:#be5b2c;--accent-2:#236b63;--good:#287a4f;--warn:#a06a1b;color:var(--ink);background:var(--paper);font-family:Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(90deg, #1f2a250f 1px, transparent 1px), linear-gradient(#1f2a250d 1px, transparent 1px), var(--paper);background-size:32px 32px;min-width:1100px;margin:0}button,input,textarea{font:inherit}button,.row-card,.logout{border:1px solid var(--dark);background:var(--dark);color:#fff;cursor:pointer;min-height:40px;padding:0 14px}button.secondary{color:var(--dark);background:0 0}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px 12px}textarea{resize:vertical;min-height:100px}.boot{padding:40px}.login-page{place-items:center;min-height:100vh;display:grid}.login-card{background:var(--panel);border:1px solid var(--dark);width:420px;padding:34px;box-shadow:12px 12px #1f2a2529}.login-card h1{margin:4px 0 8px;font-size:30px}.login-card label,.form-grid label{color:var(--muted);gap:7px;margin-top:16px;display:grid}.login-card button{width:100%;margin-top:22px}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#f3efe6;background:#17221d;flex-direction:column;gap:24px;height:100vh;padding:22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand h1{margin:0;font-size:17px}.brand p{color:#b9c2bc;margin:3px 0 0}.brand-mark{border:1px solid #f3efe6;place-items:center;width:48px;height:48px;font-weight:800;display:grid}nav{gap:8px;display:grid}nav button,.logout{text-align:left;background:0 0;border-color:#ffffff2e}nav button.active{color:var(--dark);background:#f3efe6}.logout{margin-top:auto}.main{padding:26px}.topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.topbar h2{margin:3px 0 0;font-size:32px}.eyebrow{text-transform:uppercase;letter-spacing:0;color:var(--accent);margin:0;font-size:12px;font-weight:700}.muted,.empty{color:var(--muted)}.cloud-badge,.success,.error{border:1px solid var(--line);background:var(--panel);padding:10px 12px}.error{color:#8c2c1d;border-color:#c48276;margin-top:14px}.success{color:var(--good);margin-top:14px}.panel-stack{gap:18px;display:grid}.flow{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.flow-node,.stat-card,.notice-row,.list-panel,.detail-panel,.form-panel{background:var(--panel);border:1px solid var(--line)}.flow-node{gap:12px;min-height:96px;padding:16px;display:grid}.flow-node span{background:var(--accent-2);color:#fff;place-items:center;width:28px;height:28px;display:grid}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{gap:8px;min-height:116px;padding:18px;display:grid}.stat-card span{color:var(--muted)}.stat-card strong{font-size:30px}.stat-card.ok strong{color:var(--good)}.stat-card.warn strong{color:var(--warn)}.notice-row,.section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.notice-row{padding:18px}.notice-row h3,.section-head h3,.detail-panel h3,.form-panel h3{margin:3px 0 0}.button-row{flex-wrap:wrap;gap:10px;display:flex}.workspace{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.3fr);align-items:start;gap:18px;display:grid}.list-panel,.detail-panel,.form-panel{padding:18px}.wide-panel{max-width:900px}.row-card{text-align:left;width:100%;min-height:auto;color:var(--ink);border-color:var(--line);background:#fff;gap:5px;margin-top:10px;padding:14px;text-decoration:none;display:grid}.row-card:hover{border-color:var(--dark)}.row-card span{color:var(--muted)}dl{grid-template-columns:100px 1fr;gap:12px;display:grid}dt{color:var(--muted)}dd{margin:0}.form-grid{grid-template-columns:repeat(2,1fr);gap:8px 14px;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid.compact{grid-template-columns:repeat(2,1fr);margin:12px 0}.mini-form{border:1px solid var(--line);background:#fbf8f0;margin:14px 0;padding:12px}.mini-form input{margin-bottom:10px}.checks{gap:8px;margin-bottom:12px;display:grid}.checks label{color:var(--muted);align-items:center;gap:8px;display:flex}.checks input{width:auto}.result-block{border:1px solid var(--line);background:#fff;margin-top:16px}.result-block summary{cursor:pointer;padding:12px;font-weight:700}.result-block pre{white-space:pre-wrap;border-top:1px solid var(--line);max-height:280px;margin:0;padding:12px;overflow:auto}.image-results{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.image-results a{border:1px solid var(--line);color:var(--ink);background:#fff;gap:6px;padding:8px;text-decoration:none;display:grid}.image-results img{aspect-ratio:1;object-fit:cover;background:#eee;width:100%}
