:root{--ink: #132033;--ink-soft: #3d4f66;--muted: #6b7c90;--line: rgba(19, 32, 51, .12);--panel: #ffffff;--bg: #f4f6f8;--steel: #1f4e79;--steel-deep: #163a5a;--steel-soft: #e8f0f7;--amber: #c47b2b;--amber-soft: #f8efe3;--danger: #b42318;--ok: #1b7a4a;--radius: 14px;--shadow: 0 8px 28px -16px rgba(19, 32, 51, .35);--font: "DM Sans", system-ui, sans-serif;--display: "Instrument Serif", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(900px 420px at 0% 0%,rgba(31,78,121,.1),transparent 55%),radial-gradient(700px 380px at 100% 0%,rgba(196,123,43,.08),transparent 45%),linear-gradient(180deg,#eef2f6 0%,var(--bg) 40%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#10243a,#163a5a);color:#f4f7fb;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.brand{padding:.4rem .55rem .9rem;border-bottom:1px solid rgba(255,255,255,.12)}.brand-name{font-family:var(--display);font-size:1.55rem;line-height:1.05}.brand-tag{margin-top:.25rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#f4f7fbb3;font-weight:600}.side-nav{display:grid;gap:.25rem}.side-nav a{padding:.7rem .8rem;border-radius:10px;color:#f4f7fbb8;font-weight:600}.side-nav a.active,.side-nav a:hover{background:#ffffff1a;color:#fff}.side-foot{margin-top:auto}.content{padding:1.5rem;overflow:auto}.page-title{font-family:var(--display);font-size:2rem;margin:0 0 .25rem;color:var(--steel-deep)}.page-sub{color:var(--muted);margin:0 0 1.25rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat{background:linear-gradient(160deg,var(--steel-soft),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.stat b{display:block;font-size:1.6rem;color:var(--steel-deep)}.stat span{color:var(--muted);font-size:.9rem}.form{display:grid;gap:.85rem}.form label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff}.btn{border:0;border-radius:10px;padding:.7rem 1rem;background:var(--steel);color:#fff;font-weight:700;cursor:pointer}.btn:hover{background:var(--steel-deep)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--steel);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.amber{background:var(--amber)}.muted{color:var(--muted)}.alert{background:#fdecea;color:var(--danger);border:1px solid rgba(180,35,24,.2);border-radius:10px;padding:.75rem .9rem}.alert.ok{background:#e8f6ee;color:var(--ok);border-color:#1b7a4a33}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(420px,100%);background:#ffffffeb;border:1px solid var(--line);border-radius:18px;padding:1.6rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-card h1{font-family:var(--display);font-size:2rem;margin:0;color:var(--steel-deep)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--steel-soft);color:var(--steel-deep)}.badge.warn{background:var(--amber-soft);color:#8a5414}.badge.ok{background:#e8f6ee;color:var(--ok)}.badge.danger{background:#fdecea;color:var(--danger)}.service-row{display:grid;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--line)}.service-row:last-child{border-bottom:0}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5}.grid-2,.grid-3{grid-template-columns:1fr}}
