:root{color-scheme:dark;--bg: #09111c;--panel: rgba(11, 21, 34, .88);--panel-border: rgba(127, 156, 189, .18);--panel-strong: #10243b;--text: #e8f0f7;--muted: #91a8bd;--accent: #3cc8a5;--danger: #f05f70;--warning: #f2b84b;--gold: #f3d36d;--shadow: 0 30px 80px rgba(0, 0, 0, .35);font-family:Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(60,200,165,.18),transparent 30%),radial-gradient(circle at top right,rgba(72,107,255,.18),transparent 28%),linear-gradient(180deg,#09111c,#061019);color:var(--text)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(420px,100%);padding:28px;display:flex;flex-direction:column;gap:16px}button,input{font:inherit}.dashboard-shell{width:min(1240px,calc(100vw - 32px));margin:0 auto;padding:32px 0 40px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px}.hero h1{margin:0;font-size:clamp(30px,4vw,44px)}.hero-copy{margin:12px 0 0;color:var(--muted);max-width:700px}.hero-status{display:flex;flex-direction:column;gap:10px;align-items:flex-end;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.panel-header h2{margin:0;font-size:20px}.panel-header span{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:22px;margin-bottom:24px}.form-grid .panel-header{grid-column:1 / -1}label{display:flex;flex-direction:column;gap:8px;color:var(--muted)}input{height:44px;border-radius:12px;border:1px solid rgba(143,168,193,.14);background:#040c16cc;color:var(--text);padding:0 14px}.primary-button,.danger-button,.ghost-button{border:none;border-radius:12px;height:44px;cursor:pointer}.primary-button{background:linear-gradient(135deg,#2bc7a5,#298cff);color:#04111e;font-weight:700;align-self:end}.danger-button{background:#f05f7024;color:#ffc7cf}.ghost-button{background:transparent;border:1px solid rgba(143,168,193,.18);color:var(--text);padding:0 14px}.form-error,.error-banner{color:#ffc7cf}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-bottom:24px}.contract-card{padding:18px}.card-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.card-top h3{margin:0;font-size:22px}.card-top p{margin:8px 0 0;color:var(--muted)}.card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.metric-grid div{padding:12px;border-radius:14px;background:#10243bb3}.metric-grid dt{margin-bottom:6px;color:var(--muted);font-size:12px}.metric-grid dd{margin:0;font-weight:600}.badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-success{background:#3cc8a524;color:#83f0d4}.badge-danger{background:#f05f7024;color:#ffb0bb}.badge-muted{background:#91a8bd24;color:#d2dfeb}.badge-warning{background:#f2b84b2e;color:#ffd99c}.badge-gold{background:#f3d36d29;color:#ffe899}.log-panel{padding:20px}.log-body{margin-top:16px;max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:8px}.log-row{display:grid;grid-template-columns:72px 180px 100px 100px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#10243b9e;font-size:13px}.log-level{font-weight:700}.log-info{color:#9be0ff}.log-warning{color:#ffd37f}.log-error{color:#ff9fae}.empty-state,.loading-shell{padding:32px;text-align:center;color:var(--muted)}@media (max-width: 900px){.hero{flex-direction:column}.hero-status{align-items:flex-start}.form-grid{grid-template-columns:1fr 1fr}.log-row{grid-template-columns:72px 1fr}}@media (max-width: 640px){.dashboard-shell{width:min(100vw - 20px,100%);padding-top:20px}.form-grid,.metric-grid{grid-template-columns:1fr}}
