:root{color-scheme:dark;--bg: #0d0f14;--bg-elev: #151821;--bg-elev-2: #1d2230;--border: #262b3a;--text: #e7e9ee;--text-muted: #8a93a6;--accent: #7c8cff;--danger: #ff6363;--ok: #4ec99b;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:6px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit;min-width:0}select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit;min-width:0;padding:9px 10px}textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit;min-width:0;resize:vertical;padding:9px 10px}input:focus{outline:1px solid var(--accent);border-color:var(--accent)}textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:4px}.sidebar h1{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 16px}.sidebar nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--text)}.sidebar nav a:hover{background:var(--bg-elev-2);text-decoration:none}.sidebar nav a.active{background:var(--bg-elev-2);color:var(--accent)}.nav-group{display:grid;gap:3px;margin-bottom:16px}.nav-group-label{color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:0 10px 4px}.sidebar .footer{margin-top:auto;font-size:12px;color:var(--text-muted)}.content{padding:28px 32px;overflow:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h2{margin:0 0 6px;font-size:22px}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin-bottom:20px}.toolbar.reports{grid-template-columns:minmax(160px,1fr) minmax(120px,180px) minmax(140px,180px) auto}.toolbar.audit-toolbar{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) 100px auto}.toolbar input{padding:9px 10px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.card.error{border-color:var(--danger);color:var(--danger)}.card.success{border-color:var(--ok);color:var(--ok)}.inline-message{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px}.inline-message.error{border-color:var(--danger);color:var(--danger)}.inline-message.success{border-color:var(--ok);color:var(--ok)}.card h2{margin:0 0 12px;font-size:16px;color:var(--text)}.muted{color:var(--text-muted);font-size:13px}.center{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:12px;padding:24px}.tag{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;padding:2px 6px;color:var(--text-muted)}.tag.danger{color:#ff9a9a;border-color:#ff636373}.risk-badge{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-muted);white-space:nowrap}.risk-badge.read{color:var(--text-muted)}.risk-badge.internal{color:#ffd27a;border-color:#ffd27a6b}.risk-badge.write{color:#ffb8b8;border-color:#ff63636b}.risk-badge.danger{color:#ff9a9a;border-color:#ff6363bf}.inline-alert{border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px;line-height:1.45;margin-bottom:16px}.inline-alert.info{color:var(--text-muted);background:#7c8cff0f;border-color:#7c8cff38}.inline-alert.warning{color:#ffdca3;background:#ffd27a14;border-color:#ffd27a47}.inline-alert.danger{color:#ffb8b8;background:#ff636314;border-color:#ff636347}.inline-alert.success{color:var(--ok);background:#4ec99b0f;border-color:#4ec99b47}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:grid;gap:0}.kv{display:grid;gap:4px;min-width:0}.kv span{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.kv strong{color:var(--text);font-size:13px;font-weight:600;overflow-wrap:anywhere}.table{display:grid;gap:8px}.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;text-align:left;align-items:center;padding:10px}.row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.passive{cursor:default}.row.passive:hover{border-color:var(--border)}.chips{display:flex;flex-wrap:wrap;gap:8px}.update-gate-form{display:grid;gap:16px}.update-gate-form label{display:grid;gap:6px}.label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.switch-row{display:flex!important;grid-template-columns:none;align-items:center;gap:10px!important}.switch-row input{width:18px;height:18px}.switch-row.required{border:1px solid rgba(255,99,99,.35);border-radius:8px;padding:10px}.warning{background:#ff636314;border:1px solid rgba(255,99,99,.28);border-radius:8px;color:#ffb8b8;padding:12px;font-size:13px;line-height:1.45}.actions{display:flex;flex-wrap:wrap;gap:10px}.danger-button{border-color:#ff63638c;color:#ffb8b8}.button-link{display:inline-block;margin-top:14px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:6px}.button-link:hover{border-color:var(--accent);text-decoration:none}.mail-form{display:grid;gap:16px}.mail-form label{display:grid;gap:6px}.status-form{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.status-form label{display:grid;gap:6px}.notice-form{display:grid;gap:16px}.notice-form label,.notice-bullets{display:grid;gap:6px}.page-head.compact{margin-bottom:12px}.notice-preview{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}.notice-preview h3{margin:0;font-size:20px}.notice-preview p{margin:0;color:var(--text-muted);line-height:1.55}.notice-preview ul{margin:0;padding-left:20px;color:var(--text);line-height:1.55}.inline-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.mail-preview{display:grid;gap:12px}.mail-preview h3{margin:0;font-size:18px}.mail-preview p{margin:0;color:var(--text-muted);line-height:1.55;white-space:pre-wrap}.campaign-form{display:grid;gap:16px}.campaign-form label{display:grid;gap:6px}.campaign-locale-section,.campaign-rewards,.campaign-results,.campaign-apply-panel{display:grid;gap:14px}.campaign-apply-panel{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.campaign-apply-panel label{display:grid;gap:6px}.campaign-locale-grid{display:grid;gap:10px}.campaign-locale-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.4fr);gap:8px;align-items:start}.campaign-locale-row .tag{align-self:start;text-align:center;margin-top:8px}.campaign-chip-list{margin-top:12px}.campaign-result-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) minmax(110px,1fr) minmax(90px,.8fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:13px}.campaign-mail-id-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:13px}.campaign-result-row span,.campaign-mail-id-row span,.campaign-mail-id-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}pre.json{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;overflow:auto;font-size:12px;line-height:1.5}.raw-json{margin-top:12px}.raw-json summary{cursor:pointer;color:var(--text-muted);font-size:13px;margin-bottom:8px}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0000009e}.modal{width:min(520px,100%);background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:0 18px 60px #00000059}.modal h2{margin:0 0 12px;font-size:18px}.modal-body{color:var(--text-muted);font-size:14px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.summary-list{display:grid;gap:10px}.health-project{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.health-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.health-card{display:grid;gap:8px;min-height:118px;padding:16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;color:var(--text)}.health-card:hover{border-color:var(--accent);text-decoration:none}.health-card span{color:var(--text-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.health-card strong{font-size:24px;line-height:1.1}.health-card small{color:var(--text-muted);font-size:12px;line-height:1.35}.health-card.ok{border-color:#4ec99b47}.health-card.warn{border-color:#ffd27a59}.health-card.danger{border-color:#ff636373}.health-warning-list{margin:0;padding-left:18px}.health-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(70px,auto);gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}.health-row span,.health-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-row span{color:var(--text-muted)}.health-row.link-row{grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(160px,1fr) minmax(0,1.2fr)}.health-row.link-row:hover{border-color:var(--accent);text-decoration:none}.diff-list{display:grid;gap:8px;margin-top:12px}.diff-row{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:12px}.diff-row span{color:var(--text-muted)}.audit-log-list{display:grid;gap:8px}.audit-log-header,.audit-log-row summary{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(120px,1fr) minmax(120px,1fr);gap:10px;align-items:center}.audit-log-header{color:var(--text-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:0 10px}.audit-log-row{border:1px solid var(--border);border-radius:8px;background:var(--bg)}.audit-log-row summary{cursor:pointer;padding:10px;font-size:13px}.audit-log-row summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-log-detail{border-top:1px solid var(--border);padding:12px}@media (max-width: 900px){.layout,.toolbar,.toolbar.reports,.toolbar.audit-toolbar,.inline-controls,.grid.two,.grid.three,.health-grid,.health-project,.health-row,.health-row.link-row,.campaign-locale-row,.campaign-result-row,.campaign-mail-id-row{grid-template-columns:1fr}.diff-row,.audit-log-header,.audit-log-row summary{grid-template-columns:1fr}.health-project{display:grid}}
