:root { --surface:#fff; --base-font:14px; }
[data-theme="dark"] { --nav:#08140f; --ink:#edf5f0; --muted:#a8b8af; --line:#31443a; --bg:#101914; --surface:#18231d; }
[data-font-size="compact"] { --base-font:13px; }
[data-font-size="large"] { --base-font:16px; }
body { font-size:var(--base-font); }
aside { width:270px; padding:24px 18px; overflow-y:auto; }
.platform-nav { margin-top:28px; display:grid; gap:6px; }
.platform-nav > a,.nav-group a { color:#d9e6df; text-decoration:none; padding:9px 11px; border-radius:8px; }
.platform-nav a:hover { background:#203a2f; color:#fff; }
.nav-group { border:1px solid #2b4539; border-radius:10px; padding:8px; }
.nav-group > strong { display:block; color:#fff; padding:4px 6px; font-size:.78em; letter-spacing:.08em; text-transform:uppercase; }
.nav-group > div { display:grid; gap:2px; }
.nav-group a { padding-left:14px; font-size:.92em; }
main { margin-left:270px; max-width:1600px; }
.card { background:var(--surface); }
.system-settings { padding:28px; display:grid; gap:24px; max-width:760px; }
.system-settings fieldset { border:0; padding:0; margin:0; }
.system-settings legend { font-weight:800; margin-bottom:10px; }
.setting-options { display:flex; gap:10px; flex-wrap:wrap; }
.setting-choice input { position:absolute; opacity:0; }
.setting-choice span { display:block; border:1px solid var(--line); border-radius:10px; padding:12px 18px; background:var(--surface); cursor:pointer; }
.setting-choice input:checked + span { border-color:var(--green); box-shadow:0 0 0 2px rgba(47,118,84,.25); }
.gmail-settings { margin-top:24px; padding:24px; display:grid; gap:22px; }
.gmail-settings > header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.gmail-settings h2,.gmail-settings h3 { margin:4px 0 8px; }
.gmail-settings p { margin:0; color:var(--muted); }
.gmail-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.gmail-status-grid > div { border:1px solid var(--line); border-radius:11px; padding:13px; display:grid; gap:7px; }
.gmail-status-grid small,.gmail-senders small { color:var(--muted); }
.gmail-status-grid em { color:var(--muted); font-size:.78em; font-style:normal; }
.gmail-state { width:max-content; border-radius:999px; padding:5px 9px; font-size:.78em; font-weight:900; }
.gmail-state.is-ready { color:#17693f; background:#e0f4e8; }
.gmail-state.is-blocked { color:#8f2323; background:#f9e1e1; }
.gmail-actions { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:18px; align-items:start; }
.gmail-dev-test { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) max-content; gap:10px; align-items:end; }
.gmail-dev-test label { display:grid; gap:6px; color:var(--muted); font-weight:700; }
.gmail-dev-test small { grid-column:1/-1; color:var(--muted); }
.gmail-senders td:first-child { display:grid; gap:3px; }
.gmail-senders table { width:100%; border-collapse:collapse; }
.gmail-senders th,.gmail-senders td { text-align:left; padding:11px 9px; border-bottom:1px solid var(--line); }
.table-scroll { overflow-x:auto; }
.platform-placeholder-head > strong { background:var(--nav); color:#fff; padding:12px 16px; border-radius:12px; }
.permission-settings { margin:0 0 24px; border:1px solid var(--line); border-radius:14px; background:var(--surface); overflow:hidden; }
.permission-settings > summary { display:flex; align-items:center; gap:10px; padding:14px 17px; color:var(--green); font-weight:800; cursor:pointer; list-style:none; }
.permission-settings > summary::-webkit-details-marker { display:none; }
.permission-settings > summary:hover { background:rgba(47,118,84,.08); }
.permission-label-close { display:none; }
.permission-settings[open] .permission-label-open { display:none; }
.permission-settings[open] .permission-label-close { display:inline; }
.permission-chevron { margin-left:auto; font-style:normal; transition:transform .2s ease; }
.permission-settings[open] .permission-chevron { transform:rotate(180deg); }
.permission-matrix { padding:0 17px 18px; border-top:1px solid var(--line); }
.permission-matrix h3 { margin:17px 0 14px; }
.permission-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.permission-module-card { padding:13px; border:1px solid var(--line); border-radius:11px; background:var(--bg); }
.permission-module-card h4 { margin:0 0 10px; color:var(--ink); font-size:.9em; }
.permission-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; }
.permission-actions label { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.78em; }
.permission-actions input { width:auto; flex:0 0 auto; }
.permission-matrix button { margin-top:14px; }
.manager-admin-item { display:grid; align-content:start; gap:12px; }
.manager-sender-verification { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 17px; border:1px solid var(--line); }
.manager-sender-verification > div { display:grid; gap:3px; min-width:0; }
.manager-sender-verification small { color:var(--green); font-weight:900; letter-spacing:.08em; }
.manager-sender-verification strong { color:var(--ink); }
.manager-sender-verification span,.manager-sender-verification time { color:var(--muted); font-size:.78em; overflow-wrap:anywhere; }
.manager-sender-verification button { flex:0 0 auto; }
.error-total { background:var(--nav); color:#fff; padding:14px 20px; border-radius:14px; font-size:1.5em; }
.error-filters { padding:18px; display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)) auto; gap:12px; align-items:end; margin-bottom:18px; }
.error-filters label,.system-error-row form label { display:grid; gap:6px; color:var(--muted); font-weight:700; }
.system-error-row { padding:20px; margin-bottom:14px; border-left:5px solid var(--line); }
.system-error-row[data-severity="critical"] { border-left-color:#b52e2e; }
.system-error-row[data-severity="error"] { border-left-color:#d56a35; }
.system-error-row header { display:flex; justify-content:space-between; gap:16px; }
.system-error-row h2 { margin:8px 0 4px; font-size:1.1em; }
.system-error-row dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.system-error-row dt { color:var(--muted); font-size:.78em; text-transform:uppercase; }
.system-error-row dd { margin:4px 0 0; overflow-wrap:anywhere; }
.system-error-row details { margin:14px 0; }
.system-error-row form { display:flex; gap:10px; align-items:end; }
.error-badge { text-transform:uppercase; font-weight:800; }
.error-pager { display:flex; justify-content:center; gap:18px; align-items:center; }
.error-empty { padding:24px; }
@media (max-width:720px) {
  .permission-module-grid,.permission-actions { grid-template-columns:1fr; }
  .manager-sender-verification { align-items:stretch; flex-direction:column; }
  .platform-nav { display:grid; grid-template-columns:1fr; overflow:visible; }
  .nav-group { min-width:220px; }
  main { margin-left:0; }
  .error-filters,.system-error-row dl { grid-template-columns:1fr; }
  .system-error-row form { align-items:stretch; flex-direction:column; }
  .gmail-settings > header,.gmail-actions { grid-template-columns:1fr; display:grid; }
  .gmail-status-grid,.gmail-dev-test { grid-template-columns:1fr; }
}
