:root{--bg: #f6f7f9;--surface: #ffffff;--border: #dfe3e8;--text: #1c2530;--text-muted: #64748b;--accent: #1f6feb;--accent-strong: #1a5ec9;--ok-bg: #e7f6ec;--ok-text: #1a7f43;--error-bg: #fdecec;--error-text: #b3261e;--danger-text: #b3261e;--radius: 10px;--radius-sm: 6px;--gap: 16px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:1.4rem;margin:0}h2{font-size:1rem;margin:0 0 12px;font-weight:600}a{color:var(--accent)}.muted{color:var(--text-muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.right{text-align:right}.shell{display:flex;flex-direction:column;min-height:100%}.shell-header{display:flex;align-items:center;gap:var(--gap);padding:0 24px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.shell-brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.75rem;letter-spacing:.02em}.shell-nav{display:flex;gap:4px;margin-left:12px}.shell-nav a{padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:.9rem}.shell-nav a:hover{background:var(--bg)}.shell-nav a.active{background:var(--bg);color:var(--text);font-weight:500}.shell-account{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.9rem}.shell-main{flex:1;padding:24px;max-width:1100px;width:100%;margin:0 auto}.shell-footer{padding:12px 24px 24px;font-size:.8rem;max-width:1100px;width:100%;margin:0 auto}.page-centered{display:grid;place-items:center;min-height:100%;padding:24px}.page-header{margin-bottom:4px}.stack{display:flex;flex-direction:column;gap:var(--gap)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login-brand{display:flex;align-items:center;gap:10px}.login-brand h1{font-size:1.15rem}.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.field>span{color:var(--text-muted)}.field-narrow{max-width:120px}.form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.form-row .field{flex:1 1 160px}input[type=text],input[type=password],input[type=search]{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9rem;background:#fff;color:var(--text)}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar input{flex:1 1 240px;max-width:420px}.btn{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-quiet{border-color:transparent;background:transparent;color:var(--text-muted)}.btn-danger{color:var(--danger-text)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 12px 8px;border-bottom:1px solid var(--border)}.table td{padding:10px 12px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.9rem}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.pill{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.pill-ok{background:var(--ok-bg);border-color:transparent;color:var(--ok-text)}.alert{margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-size:.88rem}.alert-error{background:var(--error-bg);color:var(--error-text)}
