:root {
  --ink: #10233f;
  --ink-2: #40536d;
  --green: #0b63e5;
  --green-2: #084fb7;
  --green-soft: #eaf2ff;
  --gold: #16a768;
  --gold-soft: #e9f8f1;
  --paper: #f2f6fc;
  --surface: #ffffff;
  --surface-2: #f6f9fd;
  --surface-hover: #eef4fc;
  --line: #dbe4f0;
  --muted: #687991;
  --danger: #b43d48;
  --danger-soft: #fbecef;
  --warning: #a56312;
  --warning-soft: #fff5dd;
  --online: #16a768;
  --sidebar-bg: #071b35;
  --sidebar-bg-2: #0e2d55;
  --on-primary: #ffffff;
  --on-accent: #062c1b;
  --focus-ring: color-mix(in srgb, var(--green) 24%, transparent);
  --card-gradient: linear-gradient(155deg, var(--surface) 0%, color-mix(in srgb, var(--green-soft) 22%, var(--surface)) 100%);
  --shadow: 0 18px 52px rgba(16, 35, 63, .10);
  --shadow-sm: 0 8px 26px rgba(16, 35, 63, .075);
  --shadow-hover: 0 16px 36px rgba(16, 35, 63, .13);
  --radius: 20px;
  --sidebar: 252px;
}

/* Equipe vinculada, avisos internos e central de novidades */
.badge.team-person{background:#e6f1ff;color:#075ec8;border:1px solid #b9d7ff;margin-left:5px}
.team-card.missing-link{border-color:#f0bd68;background:#fffaf0}.team-card .person-cell small+small{display:block;margin-top:4px;color:var(--muted)}
.team-watcher-add{display:grid;grid-template-columns:1fr auto;gap:7px}.team-watcher-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.team-watcher-chips>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:20px;background:#eaf2ff;color:#084fb7;font-size:12px;font-weight:700}.team-watcher-chips button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer}.team-watcher-chips>small{color:var(--muted)}
.news-shortcut{position:relative}.news-shortcut .support-top-count{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:#dc2626;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.news-shortcut .support-top-count[hidden]{display:none}
.product-news-banner{border-color:#b9d7ff;background:linear-gradient(135deg,#eef6ff,#fff)}
.news-list{display:grid;gap:14px}.news-card{padding:22px;border-left:4px solid transparent}.news-card.unread{border-left-color:#0968e5}.news-card.important{background:linear-gradient(135deg,#f4f8ff,#fff)}.news-card header,.news-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.news-card header>div,.news-card footer>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.news-card h2{margin:14px 0 8px}.news-card p{color:var(--muted);line-height:1.55}.news-card footer{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.news-card footer>span{color:var(--muted);font-size:13px}
.team-automation-panel{display:grid;gap:16px}.team-automation-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}.team-automation-hero.active{border-color:#a6dec9;background:linear-gradient(135deg,#edfdf6,#fff)}.team-automation-hero h2{margin:3px 0 7px}.team-automation-hero p{margin:0;color:var(--muted)}
.team-automation-form{padding:24px}.team-automation-master{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);margin-bottom:18px}.team-weekdays{border:0;padding:0;margin:18px 0}.team-weekdays legend{font-weight:800;margin-bottom:9px}.team-weekdays label,.team-summary-weekdays label{display:inline-flex;align-items:center;margin:0 7px 7px 0}.team-weekdays input,.team-summary-weekdays input{position:absolute;opacity:0}.team-weekdays span,.team-summary-weekdays span{display:grid;place-items:center;min-width:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:12px;font-weight:700}.team-weekdays input:checked+span,.team-summary-weekdays input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.team-module-grid,.team-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.team-module-grid fieldset,.team-summary-grid fieldset{border:1px solid var(--line);border-radius:14px;padding:15px;display:grid;gap:10px}.team-module-grid legend,.team-summary-grid legend{padding:0 6px;font-weight:800}.team-module-grid label,.team-topic-list label{display:flex;gap:8px;align-items:flex-start;font-size:13px}.team-summary-heading{margin:25px 0 12px}.team-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-summary-weekdays{display:flex;flex-wrap:wrap}.team-summary-weekdays span{min-width:34px;padding:6px}.team-topic-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.team-automation-form>footer{display:flex;justify-content:flex-end;margin-top:20px}
.team-delivery-history{padding:24px}.team-delivery-totals{display:flex;gap:7px;flex-wrap:wrap}.team-delivery-totals span{padding:6px 9px;border-radius:8px;background:var(--surface-soft);font-size:12px;font-weight:700}.team-delivery-totals .danger{color:#b42318;background:#fff0ee}.team-delivery-list{display:grid}.team-delivery-list article{display:grid;grid-template-columns:minmax(180px,1fr) auto 150px minmax(180px,1fr);gap:12px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.team-delivery-list article div{display:grid}.team-delivery-list article small,.team-delivery-list article time{color:var(--muted);font-size:12px}
.queue-record-list{display:grid;gap:12px}.queue-record-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px}.queue-record-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf3ff;color:var(--green);font-size:22px}.queue-record-card small,.queue-record-card p,.queue-record-card time{display:block;color:var(--muted);margin:3px 0}.queue-record-card h2{font-size:18px;margin:3px 0}.restricted-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
@media(max-width:900px){.team-module-grid{grid-template-columns:1fr}.team-summary-grid{grid-template-columns:1fr}.team-delivery-list article{grid-template-columns:1fr auto}.team-delivery-list article time,.team-delivery-list article>.delivery-error{grid-column:1/-1}.queue-record-card{grid-template-columns:42px 1fr}.queue-record-card>.button{grid-column:1/-1;width:100%}}
@media(max-width:620px){.news-card header,.news-card footer,.team-automation-hero,.team-automation-master{align-items:flex-start;flex-direction:column}.team-topic-list{grid-template-columns:1fr}.team-automation-form,.team-delivery-history{padding:16px}}

:root[data-palette="mandato"] { --green:#0b63e5; --green-2:#084fb7; --green-soft:#eaf2ff; --gold:#16a768; --gold-soft:#e9f8f1; --sidebar-bg:#071b35; --sidebar-bg-2:#0e2d55; }
:root[data-palette="gabinete"] { --green:#0f766e; --green-2:#0b5f59; --green-soft:#e5f5f2; --gold:#f0b44d; --gold-soft:#fff4dc; --sidebar-bg:#082f2c; --sidebar-bg-2:#115e59; }
:root[data-palette="institucional"] { --green:#3453b8; --green-2:#273f91; --green-soft:#eceffd; --gold:#2aa5d6; --gold-soft:#e6f6fc; --sidebar-bg:#172554; --sidebar-bg-2:#263b80; }
:root[data-palette="vinho"] { --green:#8b315f; --green-2:#702449; --green-soft:#faeaf2; --gold:#dfae4c; --gold-soft:#fff4da; --sidebar-bg:#3c1729; --sidebar-bg-2:#652445; }
:root[data-palette="moderno"] { --green:#6553c6; --green-2:#5040a8; --green-soft:#efedff; --gold:#20b486; --gold-soft:#e7f9f3; --sidebar-bg:#272347; --sidebar-bg-2:#443b79; }
:root[data-theme="dark"] { color-scheme:dark; --ink:#f3f7fd; --ink-2:#d9e3f0; --paper:#07111f; --surface:#101b2c; --surface-2:#15243a; --surface-hover:#1b2d47; --line:#2b3c55; --muted:#9eacc1; --green-soft:color-mix(in srgb,var(--green) 24%,#101b2c); --gold-soft:color-mix(in srgb,var(--gold) 20%,#101b2c); --danger:#ff8790; --danger-soft:#3a222b; --warning:#f1bb5b; --warning-soft:#352b1d; --on-accent:#071b14; --card-gradient:linear-gradient(155deg,#132136 0%,#101b2c 100%); --shadow:0 20px 52px rgba(0,0,0,.3); --shadow-sm:0 8px 26px rgba(0,0,0,.24); --shadow-hover:0 18px 42px rgba(0,0,0,.38); }

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, "Segoe UI Variable", "Segoe UI", Arial, sans-serif; font-size: 14px; line-height:1.45; -webkit-font-smoothing: antialiased; text-rendering:optimizeLegibility; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }

.app-loading { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; background: var(--paper); color: var(--muted); }
.loading-mark, .brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: #fff; color: var(--ink); box-shadow: 0 8px 20px rgba(16,35,63,.13); }
.loading-mark { width: 112px; height: 72px; border-radius: 19px; animation: breathe 1.2s ease-in-out infinite alternate; }
.loading-mark img { width: 102px; height: 62px; object-fit: contain; }
@keyframes breathe { to { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(16,35,63,.18); } }

.button { border: 0; min-height: 40px; padding: 0 17px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; cursor: pointer; transition: .18s ease; white-space: nowrap; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .52; cursor: not-allowed; transform: none; }
.button.primary { background: var(--green); color: #fff; box-shadow: 0 6px 16px color-mix(in srgb,var(--green) 28%,transparent); }
.button.primary:hover { background: var(--green-2); }
.button.secondary { background: var(--green-soft); color: var(--green); }
.button.ghost { background: transparent; color: var(--ink-2); border: 1px solid var(--line); }
.button.danger { color: #fff; background: var(--danger); }
.button.soft-danger { color: var(--danger); background: var(--danger-soft); }
.button.large { min-height: 50px; padding-inline: 22px; font-size: 15px; }
.button.small { min-height: 34px; padding-inline: 12px; font-size: 12px; border-radius: 9px; }
.button.full { width: 100%; }
.icon-button { border: 0; background: transparent; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; cursor: pointer; color: var(--muted); }
.icon-button:hover { background: var(--green-soft); color: var(--green); }
.text-button { border: 0; background: none; padding: 7px 0; color: var(--green-2); font-weight: 700; cursor: pointer; }

.eyebrow { margin: 0 0 7px; color: var(--green-2); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; }
.eyebrow.light { color: #e8c990; }
.muted { color: var(--muted); }
.section-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 24px; }
.section-title-row h1, .page-heading h1 { margin: 0; font: 700 32px/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.section-title-row p, .page-heading p { margin: 7px 0 0; color: var(--muted); }

/* Public capture */
.public-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .92fr) minmax(520px, 1.08fr); }
.public-brand-panel { min-height: 100vh; color: #fff; background: radial-gradient(circle at 78% 14%, rgba(34,197,94,.2), transparent 25%), radial-gradient(circle at 16% 82%, rgba(20,110,245,.28), transparent 31%), linear-gradient(145deg, #102a50, #08182e); padding: 48px clamp(34px, 6vw, 92px); display: flex; flex-direction: column; position: relative; overflow: hidden; }
.public-brand-panel::after { content: ""; width: 440px; height: 440px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; position: absolute; right: -200px; bottom: -170px; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.public-brand { display: flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; position: relative; z-index: 1; }
.brand-symbol { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.brand-compact { width: 108px; height: 50px; object-fit: contain; flex: 0 0 auto; }
.brand-wordmark { display: block; width: min(270px, 62vw); height: 60px; object-fit: contain; object-position: left center; }
.public-brand strong, .auth-brand strong, .sidebar-brand strong { display: block; font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: 18px; letter-spacing: -.025em; }
.public-brand small, .auth-brand small, .sidebar-brand small { display: block; opacity: .67; margin-top: 2px; font-size: 11px; }
.public-message { margin: auto 0; max-width: 560px; position: relative; z-index: 1; }
.public-message h1 { font: 700 clamp(40px, 5vw, 67px)/1.02 Georgia, serif; letter-spacing: -.04em; margin: 0 0 24px; }
.public-message > p:last-child { font-size: 18px; line-height: 1.65; color: rgba(255,255,255,.72); }
.privacy-note { max-width: 520px; font-size: 11px; line-height: 1.6; color: rgba(255,255,255,.45); position: relative; z-index: 1; }
.public-form-panel { min-height: 100vh; padding: 42px; display: grid; place-items: center; background: #f8f7f3; }
.public-form-card { width: min(570px, 100%); background: var(--surface); border: 1px solid rgba(27,72,62,.08); border-radius: 24px; padding: clamp(28px, 4vw, 50px); box-shadow: var(--shadow); }
.public-form-card h2 { margin: 7px 0 5px; font: 700 35px/1.1 Georgia, serif; }
.public-privacy-summary{display:grid;gap:5px;margin:15px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));font-size:9px;line-height:1.5}.public-privacy-summary strong{font-size:10px;color:var(--ink)}.public-privacy-summary span{color:var(--muted)}.public-privacy-summary a{width:max-content;max-width:100%;color:var(--primary);font-weight:800;text-decoration:none}.public-privacy-summary a:hover{text-decoration:underline}.privacy-required{padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.public-mobilization-count{margin:14px 0 16px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--green) 26%,var(--line));border-radius:13px;background:var(--green-soft);color:var(--ink)}.public-mobilization-count strong{display:grid;min-width:38px;height:38px;padding:0 8px;place-items:center;border-radius:10px;background:var(--green);color:#fff;font-size:18px}.public-mobilization-count span{font-size:10px;font-weight:700;line-height:1.35}.public-mobilization-count button{margin-left:auto;padding:7px 9px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:9px;color:var(--green);background:var(--surface);font-size:9px;font-weight:800;white-space:nowrap;cursor:pointer}
.public-registration-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:16px 0 4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.public-registration-mode button{min-height:38px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:10px;font-weight:800;cursor:pointer}.public-registration-mode button.active{color:#fff;background:var(--green);box-shadow:0 6px 14px color-mix(in srgb,var(--green) 22%,transparent)}
.public-batch-guidance{display:grid;gap:4px;padding:12px 14px;border-radius:12px;background:var(--green-soft)}.public-batch-guidance strong{font-size:11px}.public-batch-guidance span{color:var(--muted);font-size:9px;line-height:1.45}.public-batch-table-wrap{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:13px}.public-batch-table{width:100%;border-collapse:collapse}.public-batch-table th{position:sticky;top:0;z-index:1;padding:9px 10px;color:var(--muted);background:var(--surface-2);font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.05em}.public-batch-table td{padding:7px;border-top:1px solid var(--line)}.public-batch-table td:first-child{width:56%}.public-batch-table label{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:4px}.public-batch-table label>span{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;color:var(--muted);background:var(--surface-2);font-size:8px;font-weight:800}.public-batch-table input{width:100%;min-width:0;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);outline:0;font:inherit;font-size:10px}.public-batch-table input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.public-batch-table tr.error{background:var(--danger-soft)}.public-batch-table tr.error input{border-color:var(--danger)}.public-batch-table tr.sent{background:var(--green-soft)}.public-batch-table td small{display:block;max-width:190px;margin-top:3px;color:var(--danger);font-size:7px;line-height:1.3}.public-batch-status{margin:0;padding:10px 12px;border-radius:10px;font-size:9px;font-weight:750}.public-batch-status.success{color:var(--green);background:var(--green-soft)}.public-batch-status.warning{color:#8a5b00;background:var(--gold-soft)}
.success-card .button{margin:8px 3px 0}.public-roster-card{max-height:min(760px,calc(100vh - 30px));overflow:auto}.public-roster-total{display:flex;align-items:baseline;gap:8px;margin:18px 0 12px;padding:14px;border-radius:13px;background:var(--green-soft)}.public-roster-total strong{color:var(--green);font-size:28px}.public-roster-total span{color:var(--muted);font-size:10px;font-weight:750}.public-roster-list{margin:0 0 20px;padding:0;list-style:none;border:1px solid var(--line);border-radius:13px;overflow:hidden}.public-roster-list li{padding:10px 13px;border-bottom:1px solid var(--line);color:var(--ink);font-size:10px;font-weight:700}.public-roster-list li:last-child{border-bottom:0}.public-roster-list li::before{content:'✓';margin-right:9px;color:var(--green);font-weight:900}.public-roster-list .public-roster-empty{color:var(--muted);font-weight:600}.public-roster-list .public-roster-empty::before{content:'—'}
.mini-badge { display: inline-flex; color: var(--green); background: var(--green-soft); border-radius: 999px; padding: 7px 11px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.referred-by { color: var(--gold); font-weight: 700; margin: 24px 0 0; }
.success-card, .error-card { text-align: center; padding-block: 70px; }
.success-icon, .error-icon { width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 22px; font-size: 27px; font-weight: 800; }
.success-icon { background: var(--green-soft); color: var(--green); }
.error-icon { background: var(--danger-soft); color: var(--danger); }

/* Authentication */
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(400px, 1.08fr) minmax(480px, .92fr); }
.auth-visual { background: radial-gradient(circle at 74% 20%, rgba(34,197,94,.2), transparent 26%), radial-gradient(circle at 12% 90%, rgba(20,110,245,.3), transparent 34%), linear-gradient(145deg, #102a50, #08182e); color: #fff; padding: 52px clamp(42px, 6vw, 96px); display: flex; flex-direction: column; }
.auth-brand { display: inline-flex; width: fit-content; align-items: center; gap: 13px; padding: 8px 14px; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 14px 38px rgba(2,10,24,.17); }
.auth-brand small { color: #53657d; max-width: 74px; line-height: 1.25; opacity: 1; }
.auth-copy { margin: auto 0 50px; }
.auth-copy h1 { font: 700 clamp(45px, 5.5vw, 72px)/1.02 Georgia, serif; letter-spacing: -.045em; margin: 0 0 28px; }
.auth-copy > p:last-child { color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.65; max-width: 570px; }
.auth-points { display: flex; flex-wrap: wrap; gap: 16px 28px; color: rgba(255,255,255,.65); font-size: 12px; }
.auth-form-side { display: grid; place-items: center; background: #f7f5f0; padding: 40px; }
.auth-card { width: min(440px, 100%); background: #fff; border-radius: 23px; padding: 43px; box-shadow: var(--shadow); border: 1px solid rgba(21,52,45,.06); }
.auth-card h2 { margin: 0 0 8px; font: 700 32px/1.15 Georgia, serif; }
.auth-card > .muted { margin: 0 0 28px; }
.auth-card .field { margin-top: 16px; }
.auth-card .button { margin-top: 22px; }
.auth-help { display: block; text-align: center; color: var(--muted); margin-top: 18px; }
.auth-central-link { display: block; width: max-content; max-width: 100%; margin: 10px auto 0; color: var(--green); font-size: 12px; font-weight: 750; text-align: center; text-decoration: none; }
.auth-central-link:hover { color: var(--green-2); text-decoration: underline; text-underline-offset: 3px; }
.auth-forgot { display:block; margin:10px 0 0 auto; padding:0; border:0; color:var(--green); background:transparent; font:750 12px/1.4 Inter,"Segoe UI",sans-serif; cursor:pointer; }
.auth-forgot:hover { text-decoration:underline; text-underline-offset:3px; }
.auth-mobile-mark { display: none; }
.step-pill { display: inline-block; background: var(--gold-soft); color: #168344; border-radius: 999px; padding: 7px 11px; font-weight: 800; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 17px; }
.form-error { color: var(--danger); background: var(--danger-soft); border-radius: 10px; padding: 10px 12px; margin: 14px 0 0; }
.danger-text { color: var(--danger)!important; font-weight: 750; }
.password-field { position: relative; }
.password-field input { padding-right: 45px; }
.password-field .icon-button { position: absolute; right: 5px; top: 5px; }

/* Admin layout */
.admin-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); background: var(--sidebar-bg); color: #fff; display: flex; flex-direction: column; padding: 24px 16px 16px; z-index: 40; transition:width .2s ease,padding .2s ease; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 29px; }
.sidebar-brand-copy { min-width:0; flex:1; }
.sidebar-brand-copy strong em { color: #73a7ff; font-style: normal; }
.sidebar-collapse { flex:0 0 auto; width:27px; height:27px; border:1px solid rgba(255,255,255,.13); border-radius:8px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.06); cursor:pointer; }
.sidebar-collapse:hover { color:#fff; background:rgba(255,255,255,.12); }
.sidebar-brand .brand-compact { width: 98px; height: 46px; filter: drop-shadow(0 6px 12px rgba(0,0,0,.16)); }
.nav-list { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 3px; overflow-y: auto; padding-right: 2px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.15) transparent; }
.nav-item { width: 100%; border: 0; background: transparent; color: rgba(255,255,255,.65); min-height: 46px; border-radius: 11px; padding: 0 11px; display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 7px; text-align: left; cursor: pointer; font-weight: 650; font-size: 13px; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.11); box-shadow: inset 3px 0 #d9a85b; }
.nav-icon { width: 25px; font-size: 18px; text-align: center; font-family: Georgia, serif; }
.nav-count { min-width: 23px; text-align: center; border-radius: 999px; background: rgba(255,255,255,.09); padding: 3px 6px; font-size: 10px; }
.nav-section { margin: 15px 12px 6px; color: rgba(255,255,255,.33); text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.sidebar-footer { flex: 0 0 auto; margin-top: 10px; }
.backup-mini { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.05); border-radius: 13px; padding: 12px; display: flex; gap: 10px; align-items: center; margin-bottom: 12px; }
.backup-icon { width: 28px; height: 28px; border-radius: 9px; background: rgba(218,174,102,.16); color: #e0b46f; display: grid; place-items: center; }
.backup-mini strong, .backup-mini small { display: block; }
.backup-mini strong { font-size: 11px; }
.backup-mini small { margin-top: 3px; font-size: 9px; color: rgba(255,255,255,.43); }
.user-menu { border-top: 1px solid rgba(255,255,255,.08); padding: 14px 4px 0; display: grid; grid-template-columns: 34px 1fr 28px 28px; align-items: center; gap: 6px; }
.user-menu .avatar { background: #d6a356; color: #fff; }
.user-menu strong, .user-menu small { display: block; }
.user-menu strong { font-size: 11px; }
.user-menu small { font-size: 9px; color: rgba(255,255,255,.42); margin-top: 2px; }
.user-menu .icon-button { color: rgba(255,255,255,.48); }
.main-area { margin-left: var(--sidebar); min-height: 100vh; }
.main-area { transition:margin-left .2s ease; }
:root[data-sidebar="collapsed"] { --sidebar:84px; }
:root[data-sidebar="collapsed"] .sidebar { padding-inline:12px; }
:root[data-sidebar="collapsed"] .sidebar-brand { justify-content:center; padding-inline:0; gap:5px; }
:root[data-sidebar="collapsed"] .sidebar-brand-copy,
:root[data-sidebar="collapsed"] .nav-item > span:nth-child(2),
:root[data-sidebar="collapsed"] .nav-group-toggle > span:nth-child(2),
:root[data-sidebar="collapsed"] .nav-caret,
:root[data-sidebar="collapsed"] .nav-count,
:root[data-sidebar="collapsed"] .nav-section,
:root[data-sidebar="collapsed"] .backup-mini,
:root[data-sidebar="collapsed"] .user-menu > div,
:root[data-sidebar="collapsed"] .user-menu > button { display:none; }
:root[data-sidebar="collapsed"] .sidebar-brand .brand-compact { width:58px; min-width:58px; height:42px; }
:root[data-sidebar="collapsed"] .sidebar-collapse { position:absolute; left:70px; top:31px; width:24px; background:var(--sidebar-bg); }
:root[data-sidebar="collapsed"] .nav-item { display:grid; grid-template-columns:1fr; justify-items:center; padding:0; }
:root[data-sidebar="collapsed"] .nav-group-toggle { display:grid; grid-template-columns:1fr; justify-items:center; padding:0; }
:root[data-sidebar="collapsed"] .nav-submenu { display:none!important; }
:root[data-sidebar="collapsed"] .nav-icon { width:auto; }
:root[data-sidebar="collapsed"] .user-menu { grid-template-columns:1fr; justify-items:center; padding-inline:0; }
.topbar { height: 72px; background: rgba(255,255,255,.88); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 31px; position: sticky; top: 0; z-index: 30; }
.global-search { width: min(460px, 45vw); display: flex; align-items: center; gap: 10px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 11px; padding: 0 12px; height: 42px; color: var(--muted); }
.global-search:focus-within { border-color: #8bb0a5; box-shadow: 0 0 0 3px rgba(45,106,90,.09); }
.global-search input { border: 0; outline: 0; background: transparent; width: 100%; color: var(--ink); }
.global-search kbd { background: #fff; border: 1px solid var(--line); border-radius: 5px; padding: 3px 6px; color: #98a19e; font-size: 9px; }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.today-label { font-size: 11px; color: var(--muted); text-transform: capitalize; }
.content-area { padding: 32px; max-width: 1600px; margin: 0 auto; }
.view { display: none; animation: fade-in .22s ease both; }
.view.active { display: block; }
@keyframes fade-in { from { opacity: 0; transform: translateY(4px); } }
.mobile-only { display: none; }

/* Dashboard */
.welcome-strip { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 24px; }
.welcome-strip h1 { font: 700 33px/1.1 Georgia, serif; letter-spacing: -.025em; margin: 0; }
.welcome-strip p { color: var(--muted); margin: 8px 0 0; }
.period-chip { border: 1px solid var(--line); background: #fff; padding: 9px 13px; border-radius: 10px; color: var(--muted); font-size: 11px; }
.metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 17px; }
.metric-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 20px; min-height: 144px; box-shadow: 0 4px 16px rgba(21,52,45,.035); position: relative; overflow: hidden; }
.metric-card.accent { color: #fff; background: linear-gradient(145deg, var(--green), var(--sidebar-bg)); border: 0; }
.metric-card::after { content: ""; position: absolute; width: 80px; height: 80px; border-radius: 50%; right: -42px; top: -42px; background: var(--green-soft); opacity: .6; }
.metric-card.accent::after { background: rgba(255,255,255,.08); }
.metric-top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 11px; font-weight: 700; }
.accent .metric-top { color: rgba(255,255,255,.65); }
.metric-icon { width: 30px; height: 30px; border-radius: 9px; background: var(--green-soft); color: var(--green); display: grid; place-items: center; font-family: Georgia, serif; font-size: 16px; }
.accent .metric-icon { background: rgba(255,255,255,.1); color: #f1d199; }
.metric-value { font: 700 36px/1 Georgia, serif; margin: 20px 0 8px; letter-spacing: -.035em; }
.metric-foot { font-size: 10px; color: var(--muted); }
.accent .metric-foot { color: rgba(255,255,255,.57); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 17px; margin-bottom: 17px; }
.operational-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: -2px 0 17px; }
.operational-card { border: 1px solid var(--line); background: rgba(255,255,255,.68); border-radius: 13px; padding: 13px 14px; display: grid; grid-template-columns: 34px 1fr auto; gap: 11px; align-items: center; text-align: left; cursor: pointer; transition: .18s; }
.operational-card:hover { background: #fff; border-color: #b9cac3; transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.operational-card.needs-review { border-color: #dfc99f; background: #fffaf1; }
.operational-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--green-soft); color: var(--green); font: 700 17px Georgia, serif; }
.operational-card strong, .operational-card small { display: block; }
.operational-card strong { font-size: 11px; }
.operational-card small { color: var(--muted); font-size: 8px; margin-top: 4px; }
.operational-card > b { color: var(--green-2); }
.birthday-radar { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(430px,1.22fr); gap:14px; margin-bottom:17px; }
.birthday-radar-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 150px; min-height:190px; overflow:hidden; padding:24px; border-radius:18px; color:#fff; background:radial-gradient(circle at 88% 15%,color-mix(in srgb,var(--gold) 30%,transparent),transparent 25%),linear-gradient(135deg,var(--green-2),var(--sidebar-bg)); box-shadow:var(--shadow-sm); }
.birthday-radar-hero::after { content:""; position:absolute; z-index:-1; width:190px; height:190px; right:-75px; bottom:-92px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 40px rgba(255,255,255,.025); }
.birthday-radar-copy { align-self:start; }
.birthday-radar-copy .eyebrow { color:color-mix(in srgb,var(--gold) 72%,white); }
.birthday-radar-copy h2 { max-width:340px; margin:0; font-size:24px; line-height:1.08; letter-spacing:-.035em; }
.birthday-radar-copy > p:last-child { max-width:410px; margin:9px 0 0; color:rgba(255,255,255,.65); font-size:9px; line-height:1.55; }
.birthday-radar-art { position:relative; display:grid; align-self:stretch; place-items:center; }
.birthday-radar-art img { width:140px; max-height:112px; object-fit:cover; object-position:center; border:3px solid rgba(255,255,255,.7); border-radius:14px; box-shadow:0 15px 30px rgba(0,0,0,.25); transform:rotate(3deg); }
.birthday-radar-art > span { position:absolute; right:-1px; bottom:8px; display:flex; align-items:center; gap:6px; min-width:92px; padding:8px 10px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(7,27,53,.83); box-shadow:0 8px 19px rgba(0,0,0,.18); backdrop-filter:blur(8px); }
.birthday-radar-art strong { color:#fff; font-size:22px; line-height:1; }
.birthday-radar-art small { color:rgba(255,255,255,.61); font-size:6px; line-height:1.25; text-transform:uppercase; letter-spacing:.07em; }
.birthday-primary-action { align-self:end; justify-self:start; grid-column:1/-1; min-height:37px; margin-top:14px; padding:0 14px; border:1px solid rgba(255,255,255,.15); border-radius:10px; color:#082537; background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 73%,white),var(--gold)); box-shadow:0 8px 18px color-mix(in srgb,var(--gold) 20%,transparent); cursor:pointer; font-size:9px; font-weight:850; }
.birthday-primary-action:hover { transform:translateY(-1px); }
.birthday-primary-action:disabled { opacity:.47; cursor:not-allowed; transform:none; }
.birthday-upcoming-panel { padding:18px 20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 4px 17px rgba(21,52,45,.03); }
.birthday-upcoming-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.birthday-upcoming-panel > header span,.birthday-upcoming-panel > header strong { display:block; }
.birthday-upcoming-panel > header span { color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.birthday-upcoming-panel > header strong { margin-top:2px; font-size:13px; }
.birthday-upcoming-panel > header button,.birthday-more { border:0; color:var(--green); background:transparent; cursor:pointer; font-size:8px; font-weight:800; }
.birthday-upcoming-list { display:grid; gap:4px; }
.birthday-person { display:grid; grid-template-columns:53px 32px minmax(120px,1fr) auto; align-items:center; gap:9px; min-height:48px; padding:5px 7px; border:0; border-radius:10px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:.16s ease; }
.birthday-person:hover { background:var(--surface-hover); transform:translateX(2px); }
.birthday-date b,.birthday-date small,.birthday-person-name strong,.birthday-person-name small { display:block; }
.birthday-date b { color:var(--green); font-size:8px; }
.birthday-date small { margin-top:2px; color:var(--muted); font-size:6px; }
.birthday-person .avatar { width:32px; height:32px; font-size:8px; }
.birthday-person-name { min-width:0; }
.birthday-person-name strong,.birthday-person-name small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.birthday-person-name strong { font-size:9px; }
.birthday-person-name small { margin-top:2px; color:var(--muted); font-size:7px; }
.birthday-contact-status { padding:5px 7px; border-radius:999px; font-size:6px; font-weight:800; white-space:nowrap; }
.birthday-contact-status.ready { color:#0b7549; background:#e5f7ee; }
.birthday-contact-status.review { color:var(--warning); background:var(--warning-soft); }
.birthday-empty { display:flex; min-height:126px; align-items:center; justify-content:center; gap:12px; color:var(--muted); text-align:left; }
.birthday-empty > span { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:var(--green); background:var(--green-soft); font-size:18px; }
.birthday-empty strong,.birthday-empty small { display:block; }
.birthday-empty strong { color:var(--ink); font-size:10px; }
.birthday-empty small { max-width:290px; margin-top:3px; font-size:7px; }
.birthday-more { justify-self:start; padding:7px; }
.dashboard-bottom { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 17px; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 17px; padding: 21px; box-shadow: 0 4px 17px rgba(21,52,45,.03); }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.panel-header h2 { margin: 0; font: 700 18px/1.2 Georgia, serif; }
.panel-header p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.panel-link { border: 0; background: none; color: var(--green-2); cursor: pointer; font-size: 11px; font-weight: 700; }
.activity-chart { height: 215px; display: flex; flex-direction: column; }
.chart-bars { flex: 1; display: flex; align-items: flex-end; gap: clamp(8px, 2vw, 22px); padding: 14px 8px 0; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 44px, #f0f1ed 45px); }
.bar-column { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
.bar { width: min(28px, 70%); min-height: 4px; border-radius: 7px 7px 2px 2px; background: linear-gradient(color-mix(in srgb,var(--green) 72%,#fff), var(--green-2)); transition: .2s; position: relative; }
.bar:hover { background: var(--gold); }
.bar:hover::after { content: attr(data-value); position: absolute; top: -26px; left: 50%; transform: translateX(-50%); background: var(--ink); color: #fff; padding: 4px 6px; font-size: 9px; border-radius: 5px; }
.chart-labels { display: flex; gap: clamp(8px, 2vw, 22px); padding: 9px 8px 0; }
.chart-labels span { flex: 1; text-align: center; color: var(--muted); font-size: 9px; }
.ranking-list { display: grid; gap: 13px; }
.ranking-item { display: grid; grid-template-columns: 25px 34px 1fr auto; gap: 10px; align-items: center; }
.rank-number { color: var(--muted); font: 700 12px Georgia, serif; }
.avatar { width: 34px; height: 34px; overflow:hidden; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--green-2); font-size: 11px; font-weight: 800; }
.avatar img { width:100%; height:100%; display:block; border-radius:inherit; object-fit:cover; }
.ranking-name strong, .ranking-name small { display: block; }
.ranking-name strong { font-size: 11px; }
.ranking-name small { font-size: 9px; color: var(--muted); margin-top: 3px; }
.rank-value { text-align: right; }
.rank-value strong { display: block; font: 700 16px Georgia, serif; }
.rank-value small { color: var(--muted); font-size: 8px; }
.leadership-ranking-panel { position: relative; isolation: isolate; overflow: hidden; margin-bottom: 17px; padding: clamp(22px,3vw,35px); border: 1px solid color-mix(in srgb,var(--green) 28%,transparent); border-radius: 23px; color: #fff; background: radial-gradient(circle at 88% 3%,color-mix(in srgb,var(--gold) 29%,transparent),transparent 26%),radial-gradient(circle at 2% 96%,color-mix(in srgb,var(--green) 32%,transparent),transparent 31%),linear-gradient(135deg,var(--sidebar-bg) 0%,color-mix(in srgb,var(--sidebar-bg-2) 78%,var(--green)) 58%,var(--green-2) 130%); box-shadow: 0 24px 58px color-mix(in srgb,var(--sidebar-bg) 30%,transparent); }
.leadership-ranking-panel::before { content:""; position:absolute; z-index:-1; width:410px; height:410px; right:-250px; bottom:-270px; border:1px solid rgba(255,255,255,.10); border-radius:50%; box-shadow:0 0 0 62px rgba(255,255,255,.025),0 0 0 124px rgba(255,255,255,.018); }
.ranking-showcase-header { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.12); }
.ranking-showcase-brand { display:flex; align-items:center; gap:12px; min-width:210px; }
.ranking-showcase-brand > div { display:grid; gap:1px; }
.ranking-showcase-brand small { color:rgba(255,255,255,.55); font-size:8px; font-weight:800; letter-spacing:.17em; }
.ranking-showcase-brand strong { font-size:14px; letter-spacing:-.01em; }
.ranking-brand-mark { position:relative; display:grid; width:58px; height:39px; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:12px; color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06)); box-shadow:inset 0 1px rgba(255,255,255,.16),0 9px 22px rgba(0,0,0,.16); font-size:15px; font-weight:900; letter-spacing:-.07em; }
.ranking-brand-mark::after { content:""; position:absolute; width:7px; height:7px; right:8px; top:7px; border:2px solid var(--sidebar-bg); border-radius:50%; background:#54dfa0; box-shadow:0 0 0 3px rgba(84,223,160,.18); }
.ranking-showcase-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.ranking-mode-switch { display:flex; padding:3px; border:1px solid rgba(255,255,255,.13); border-radius:11px; background:rgba(0,0,0,.16); }
.ranking-mode-switch button,.ranking-action { min-height:35px; border:0; border-radius:8px; color:rgba(255,255,255,.68); background:transparent; padding:0 13px; cursor:pointer; font-size:9px; font-weight:800; transition:.18s ease; }
.ranking-mode-switch button:hover,.ranking-mode-switch button.active { color:#fff; background:rgba(255,255,255,.14); box-shadow:0 3px 11px rgba(0,0,0,.12); }
.ranking-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(255,255,255,.16); color:#fff; background:rgba(255,255,255,.07); }
.ranking-action:hover { transform:translateY(-1px); background:rgba(255,255,255,.13); }
.ranking-action.primary { border-color:color-mix(in srgb,var(--gold) 74%,white); color:#062c1b; background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 82%,#fff),var(--gold)); box-shadow:0 8px 20px color-mix(in srgb,var(--gold) 24%,transparent); }
.ranking-showcase-intro { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(280px,.65fr); justify-content:space-between; align-items:end; gap:35px; padding:27px 0 11px; }
.ranking-showcase-intro .eyebrow { color:color-mix(in srgb,var(--gold) 73%,white); }
.ranking-showcase-intro h2 { max-width:690px; margin:0; font-size:clamp(26px,3vw,42px); line-height:1.04; letter-spacing:-.045em; }
.ranking-showcase-intro > p { max-width:530px; margin:0 0 3px auto; color:rgba(255,255,255,.62); font-size:10px; line-height:1.65; }
.ranking-showcase-grid { display:grid; grid-template-columns:minmax(440px,1.05fr) minmax(330px,.75fr); gap:26px; align-items:end; }
.ranking-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:9px; min-height:357px; padding:12px 4px 0; }
.podium-place { --podium-color:#d9e2eb; --podium-height:88px; position:relative; display:flex; min-width:0; height:336px; flex-direction:column; align-items:center; justify-content:flex-end; border:0; color:#fff; background:transparent; padding:0; cursor:pointer; transition:transform .2s ease; }
.podium-place:hover { transform:translateY(-5px); }
.podium-place.rank-1 { --podium-color:#f4ca57; --podium-height:132px; grid-column:2; grid-row:1; }
.podium-place.rank-2 { --podium-color:#cfd9e5; --podium-height:101px; grid-column:1; grid-row:1; }
.podium-place.rank-3 { --podium-color:#df9a67; --podium-height:82px; grid-column:3; grid-row:1; }
.podium-medal { position:absolute; z-index:3; top:19px; left:calc(50% + 24px); display:grid; width:30px; height:30px; place-items:center; border:3px solid color-mix(in srgb,var(--podium-color) 58%,white); border-radius:50%; color:#132238; background:var(--podium-color); box-shadow:0 8px 16px rgba(0,0,0,.2); font-size:11px; font-weight:900; }
.rank-1 .podium-medal { width:35px; height:35px; top:4px; left:calc(50% + 27px); }
.podium-avatar { display:grid; width:76px; height:76px; flex:0 0 auto; place-items:center; margin-bottom:11px; border:4px solid var(--podium-color); border-radius:50%; color:#fff; background:var(--leader-color); box-shadow:0 13px 24px rgba(0,0,0,.24),0 0 0 5px rgba(255,255,255,.06); font-size:18px; font-weight:900; }
.rank-1 .podium-avatar { width:92px; height:92px; font-size:22px; }
.podium-place > strong { width:100%; overflow:hidden; padding:0 5px; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.podium-place > small { min-height:29px; color:rgba(255,255,255,.58); font-size:7px; line-height:1.4; }
.podium-base { position:relative; display:grid; width:100%; height:var(--podium-height); flex:0 0 auto; place-items:center; overflow:hidden; margin-top:9px; border:1px solid rgba(255,255,255,.13); border-bottom:0; border-radius:13px 13px 0 0; background:linear-gradient(160deg,color-mix(in srgb,var(--podium-color) 34%,rgba(255,255,255,.11)),rgba(255,255,255,.045)); box-shadow:inset 0 1px rgba(255,255,255,.17); }
.podium-base::after { content:""; position:absolute; width:90px; height:90px; right:-52px; top:-55px; border:15px solid rgba(255,255,255,.045); border-radius:50%; }
.podium-base b { color:var(--podium-color); font-size:clamp(26px,3vw,48px); line-height:1; text-shadow:0 7px 17px rgba(0,0,0,.2); }
.podium-base i { position:absolute; inset:0; border-top:3px solid var(--podium-color); opacity:.7; }
.ranking-top-ten { display:grid; align-content:end; gap:6px; min-height:337px; }
.ranking-list-head { display:grid; grid-template-columns:43px 1fr auto; gap:8px; padding:0 12px 7px; color:rgba(255,255,255,.42); text-transform:uppercase; letter-spacing:.09em; font-size:7px; font-weight:800; }
.ranking-list-head span:last-child { text-align:right; }
.ranking-top-row { display:grid; grid-template-columns:30px 31px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:43px; border:1px solid rgba(255,255,255,.10); border-radius:11px; color:#fff; background:rgba(255,255,255,.07); padding:6px 11px; text-align:left; cursor:pointer; transition:.17s ease; }
.ranking-top-row:hover { border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.12); transform:translateX(-3px); }
.ranking-top-row > b { color:color-mix(in srgb,var(--gold) 75%,white); font-size:10px; }
.ranking-mini-avatar { display:grid; width:31px; height:31px; place-items:center; border:2px solid rgba(255,255,255,.24); border-radius:50%; background:var(--leader-color); font-size:8px; font-weight:900; }
.ranking-top-row > span:nth-child(3) { min-width:0; }
.ranking-top-row strong,.ranking-top-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ranking-top-row strong { font-size:9px; }
.ranking-top-row small { margin-top:2px; color:rgba(255,255,255,.48); font-size:7px; }
.ranking-top-row em { min-width:32px; color:#fff; font-size:14px; font-style:normal; font-weight:900; text-align:right; }
.ranking-complete-hint { display:grid; min-height:145px; place-items:center; padding:22px; border:1px dashed rgba(255,255,255,.16); border-radius:13px; color:rgba(255,255,255,.5); text-align:center; font-size:9px; line-height:1.6; }
.ranking-empty { display:grid; min-height:300px; place-content:center; justify-items:center; text-align:center; }
.ranking-empty > span { display:grid; width:62px; height:62px; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:19px; color:color-mix(in srgb,var(--gold) 75%,white); background:rgba(255,255,255,.08); font-size:28px; }
.ranking-empty h3 { margin:16px 0 4px; font-size:19px; }
.ranking-empty p { max-width:380px; margin:0 0 17px; color:rgba(255,255,255,.57); font-size:10px; }
.ranking-showcase-footer { display:flex; justify-content:space-between; gap:18px; margin-top:17px; padding-top:15px; border-top:1px solid rgba(255,255,255,.10); color:rgba(255,255,255,.42); font-size:7px; }
.ranking-showcase-footer b { color:rgba(255,255,255,.7); }
.ranking-explainer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.ranking-explainer-grid > div { position:relative; padding:15px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.ranking-explainer-grid span { display:block; margin-bottom:18px; color:var(--green); font-size:10px; font-weight:900; }
.ranking-explainer-grid strong { font-size:10px; }
.ranking-explainer-grid p { margin:5px 0 0; color:var(--muted); font-size:8px; line-height:1.55; }
.empty-state-mini { text-align: center; color: var(--muted); padding: 28px 8px; font-size: 11px; }
.breakdown-list { display: grid; gap: 14px; }
.breakdown-row { display: grid; grid-template-columns: minmax(75px, 1fr) 2fr 28px; align-items: center; gap: 10px; font-size: 10px; }
.progress { height: 6px; background: color-mix(in srgb,var(--line) 72%,var(--surface)); border-radius: 99px; overflow: hidden; }
.progress span { display: block; height: 100%; border-radius: inherit; background: var(--green-2); }
.recent-list { display: grid; gap: 13px; }
.recent-item { display: grid; grid-template-columns: 8px 1fr auto; gap: 10px; align-items: center; }
.recent-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.recent-item strong, .recent-item small { display: block; }
.recent-item strong { font-size: 10px; }
.recent-item small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.recent-item time { color: var(--muted); font-size: 9px; }
.attention-card { background: linear-gradient(145deg, #fffaf1, #fff); border-color: #ebdfcd; }
.attention-number { font: 700 38px Georgia, serif; color: var(--warning); }
.attention-card > p { color: var(--muted); font-size: 11px; line-height: 1.5; }

/* Lists and tables */
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 24px; gap: 20px; }
.page-actions { display: flex; gap: 10px; }
.toolbar { background: #fff; border: 1px solid var(--line); border-radius: 14px 14px 0 0; min-height: 68px; padding: 12px 15px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.search-field { height: 40px; min-width: 240px; flex: 1; border: 1px solid var(--line); background: var(--surface-2); border-radius: 10px; display: flex; align-items: center; gap: 8px; padding: 0 11px; color: var(--muted); }
.search-field input { border: 0; outline: 0; background: transparent; width: 100%; }
.filter-select { height: 40px; border: 1px solid var(--line); background: #fff; border-radius: 10px; color: var(--ink-2); padding: 0 32px 0 11px; max-width: 180px; }
.people-filter-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr))}.people-filter-toolbar .filter-select{width:100%;max-width:none}
.table-wrap { background: #fff; border: solid var(--line); border-width: 0 1px 1px; border-radius: 0 0 14px 14px; overflow: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.data-table th { text-align: left; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: 8px; padding: 13px 15px; background: #fafaf8; border-bottom: 1px solid var(--line); }
.data-table td { padding: 13px 15px; border-bottom: 1px solid #f0f1ed; vertical-align: middle; font-size: 11px; }
.data-table tbody tr { cursor: pointer; }
.data-table tbody tr:hover { background: #fafcfb; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.person-cell { display: flex; align-items: center; gap: 10px; }
.person-cell strong, .person-cell small { display: block; }
.person-cell strong { font-size: 11px; }
.person-cell small { color: var(--muted); margin-top: 3px; font-size: 9px; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 750; white-space: nowrap; }
.badge.leader { background: var(--gold-soft); color: #8c5a20; }
.badge.root { background: var(--green); color: #fff; }
.badge.status { background: #eff1ed; color: var(--ink-2); text-transform: capitalize; }
.badge.good { background: var(--green-soft); color: var(--green); }
.badge.pending { background: var(--gold-soft); color: #85551d; }
.badge.rejected { background: var(--danger-soft); color: var(--danger); }
.badge.danger { background: var(--danger-soft); color: var(--danger); }
.tag-badge { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: 8px; margin: 2px 3px 2px 0; background: color-mix(in srgb, var(--tag-color) 13%, white); color: var(--tag-color); border: 1px solid color-mix(in srgb, var(--tag-color) 24%, white); }
.row-actions { display: flex; justify-content: flex-end; gap: 4px; }
.table-footer { min-height: 54px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; border-top: 1px solid var(--line); }
.empty-table { text-align: center; padding: 55px 20px !important; color: var(--muted); }

/* Approvals */
.approval-metrics .metric-card { min-height: 125px; }
.approval-toolbar { border-radius: 14px; margin-bottom: 14px; }
.approval-list { display: grid; gap: 13px; }
.approval-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 4px 16px rgba(21,52,45,.025); }
.approval-card.flagged { border-color: #dfc69b; box-shadow: inset 4px 0 #d4a24e; }
.approval-card-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.approval-card-head .avatar { width: 42px; height: 42px; }
.approval-data { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-top: 16px; }
.approval-data > div { background: var(--surface-2); border: 1px solid #eef0ec; border-radius: 9px; padding: 10px; min-width: 0; }
.approval-data span,.approval-data strong { display: block; }
.approval-data span { color: var(--muted); font-size: 8px; margin-bottom: 5px; }
.approval-data strong { font-size: 10px; overflow-wrap: anywhere; }
.approval-notes { color: var(--ink-2); background: #fafaf7; border-radius: 9px; padding: 10px 12px; font-size: 9px; line-height: 1.5; }
.duplicate-alert { display: grid; grid-template-columns: 36px 1fr; gap: 11px; background: #fff8eb; border: 1px solid #ecd7af; border-radius: 11px; padding: 12px; margin-top: 13px; }
.duplicate-alert > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #8d5b20; background: #f4e1ba; font-weight: 900; }
.duplicate-alert strong { font-size: 10px; }
.duplicate-alert p { margin: 4px 0 9px; color: #755f44; font-size: 9px; }
.duplicate-alert label { display: grid; grid-template-columns: auto minmax(190px,430px); align-items: center; gap: 10px; color: var(--muted); font-size: 8px; }
.duplicate-alert select { border: 1px solid #d9c59f; background: #fff; border-radius: 8px; padding: 8px; color: var(--ink); font-size: 9px; }
.approval-actions,.approval-resolution { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); }
.warning-button { color: #8a5b20; border-color: #d9bd8b; }
.approval-resolution { justify-content: space-between; color: var(--muted); font-size: 8px; }
.approval-resolution strong { color: var(--ink-2); }
.approval-empty { text-align: center; padding: 55px 20px; }
.approval-empty > span { width: 46px; height: 46px; display: grid; place-items: center; margin: auto; border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: 19px; }
.approval-empty h2 { font: 700 19px Georgia,serif; margin: 14px 0 5px; }
.approval-empty p { color: var(--muted); font-size: 10px; }

/* Team and access */
.team-metrics .metric-card { min-height: 125px; }
.role-guide { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px; margin-bottom: 15px; }
.role-guide article { display: grid; grid-template-columns: 11px 1fr; gap: 9px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 13px; }
.role-guide strong { font-size: 10px; }
.role-guide p { color: var(--muted); font-size: 8px; line-height: 1.45; margin: 4px 0 0; }
.role-dot { width: 9px; height: 9px; border-radius: 50%; margin-top: 2px; background: #75847f; }
.role-dot.subscriber { background: #1167e8; box-shadow: 0 0 0 3px rgba(17,103,232,.12); }
.role-dot.admin { background: #245c4e; }
.role-dot.advisor { background: #7a62a9; }
.team-list { display: grid; gap: 9px; }
.team-card { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 14px; }
.team-card.inactive { opacity: .62; background: #f6f6f3; }
.badge.user-role.subscriber { color: #fff; background: linear-gradient(135deg,#1167e8,#0b4cad); }
.badge.user-role.admin { background: var(--green); color: #fff; }
.badge.user-role.advisor { background: #eee9f8; color: #604a86; }
.team-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.team-protected { color: var(--muted); font-size: 8px; font-weight: 750; }
.user-form-footer { display: grid!important; grid-template-columns: auto 1fr auto auto; align-items: center; }
.advisor-access-card { margin: 14px 0; padding: 15px; border: 1px solid color-mix(in srgb,var(--primary) 20%,var(--line)); border-radius: 14px; background: linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--primary) 5%,var(--surface))); }
.advisor-access-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.advisor-access-heading strong,.advisor-access-heading small { display: block; }
.advisor-access-heading strong { font-size: 11px; }
.advisor-access-heading small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.advisor-access-heading > span { flex: none; padding: 6px 9px; border-radius: 999px; color: var(--primary); background: var(--primary-soft); font-size: 8px; font-weight: 850; }
.advisor-tab-picker { display: grid; gap: 11px; }
.advisor-tab-group { display: grid; gap: 7px; }
.advisor-tab-group > strong { color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.advisor-tab-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.advisor-tab-choice { display: flex; align-items: center; gap: 8px; min-height: 37px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink-2); font-size: 9px; font-weight: 750; cursor: pointer; }
.advisor-tab-choice:has(input:checked) { border-color: color-mix(in srgb,var(--primary) 45%,var(--line)); color: var(--primary); background: var(--primary-soft); box-shadow: inset 3px 0 var(--primary); }
.advisor-tab-choice input { accent-color: var(--primary); }
.advisor-download-check { margin-top: 13px; background: var(--surface); }
.advisor-download-check span,.advisor-download-check b,.advisor-download-check small { display: block; }
.advisor-download-check b { color: var(--ink); font-size: 9px; }
.advisor-download-check small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.team-access-summary { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.subscription-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 16px; background: linear-gradient(135deg,var(--surface),var(--surface-2)); }
.subscription-hero h2 { margin: 5px 0 7px; font: 700 26px Georgia,serif; }
.subscription-hero p:not(.eyebrow) { margin: 0; color: var(--muted); }
.subscription-billing-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: -4px 0 16px; }
.subscription-billing-summary > div { display: grid; gap: 4px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-soft); }
.subscription-billing-summary span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.subscription-billing-summary b { color: var(--ink); font-size: 11px; }
.subscription-checkout { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 16px; border-color:color-mix(in srgb,var(--primary) 26%,var(--line)); background:linear-gradient(135deg,var(--primary-soft),var(--surface)); }
.subscription-checkout h2 { margin:5px 0 7px; font:700 19px Georgia,serif; }
.subscription-checkout p:not(.eyebrow) { max-width:680px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.subscription-checkout-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.subscription-payer-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-top:14px}.subscription-payer-fields label{display:grid;gap:5px}.subscription-payer-fields label span{color:var(--ink);font-size:10px;font-weight:800}.subscription-payer-fields input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 11px}.subscription-payer-fields small{grid-column:1/-1;color:var(--muted);font-size:9px;line-height:1.45}
.subscription-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 16px; }
.subscription-inclusion { position:relative; display:grid; gap:7px; min-height:150px; padding:20px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,var(--surface),var(--surface-2)); box-shadow:var(--shadow-soft); }
.subscription-inclusion:after { content:""; position:absolute; width:100px; height:100px; right:-35px; top:-42px; border-radius:50%; background:var(--primary-soft); }
.subscription-inclusion.whatsapp:after { background:rgba(27,199,123,.14); }
.subscription-inclusion > span { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.subscription-inclusion strong { position:relative; z-index:1; color:var(--ink); font-size:15px; }
.subscription-inclusion p { max-width:600px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.subscription-inclusion em { width:max-content; margin-top:auto; padding:6px 9px; border-radius:999px; color:var(--primary); background:var(--primary-soft); font-size:9px; font-style:normal; font-weight:900; }
.subscription-inclusion em.active { color:#087848; background:rgba(27,199,123,.14); }
.subscription-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.subscription-note > div { display: flex; align-items: flex-start; gap: 13px; }
.subscription-note > div > span { display: grid; min-width: 38px; height: 38px; place-items: center; border-radius: 12px; color: var(--on-primary); background: linear-gradient(135deg,var(--green),var(--green-2)); font-weight: 900; }
.subscription-note h2 { margin: 1px 0 5px; font: 700 17px Georgia,serif; }
.subscription-note p { max-width: 760px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.permission-note { margin: 12px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }

/* Leaders */
.leader-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.leader-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 19px; box-shadow: 0 4px 18px rgba(21,52,45,.035); cursor: pointer; transition: .18s ease; }
.leader-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); border-color: #cbd8d1; }
.leader-card-head { display: flex; gap: 12px; align-items: center; }
.leader-card .avatar { width: 43px; height: 43px; }
.leader-card-head h3 { margin: 0; font: 700 16px Georgia, serif; }
.leader-card-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.leader-kpis { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border: solid var(--line); border-width: 1px 0; padding: 13px 0; }
.leader-kpis div { text-align: center; border-right: 1px solid var(--line); }
.leader-kpis div:last-child { border-right: 0; }
.leader-kpis strong, .leader-kpis small { display: block; }
.leader-kpis strong { font: 700 19px Georgia, serif; }
.leader-kpis small { color: var(--muted); font-size: 8px; margin-top: 3px; }
.leader-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; font-size: 9px; color: var(--muted); }

/* Network */
.network-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 16px; }
.network-controls { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 19px; align-self: start; position: sticky; top: 94px; }
.network-controls h3 { margin: 0 0 5px; font: 700 17px Georgia, serif; }
.network-controls p { color: var(--muted); line-height: 1.5; font-size: 10px; }
.network-tree-panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; min-height: 550px; overflow: auto; }
.tree, .tree ul { list-style: none; margin: 0; padding-left: 0; }
.tree ul { padding-left: 29px; position: relative; }
.tree ul::before { content: ""; position: absolute; left: 12px; top: -5px; bottom: 20px; border-left: 1px solid #ced8d2; }
.tree-node { position: relative; padding: 6px 0; }
.tree ul > .tree-node::before { content: ""; position: absolute; width: 17px; border-top: 1px solid #ced8d2; left: -17px; top: 27px; }
.tree-person { display: inline-flex; align-items: center; gap: 9px; min-width: 250px; border: 1px solid var(--line); border-radius: 11px; padding: 8px 11px; background: #fff; cursor: pointer; }
.tree-person:hover { border-color: #9bb6ad; background: #fbfdfc; }
.tree-person.root-node { color: #fff; background: var(--green); border-color: var(--green); }
.tree-person .avatar { width: 30px; height: 30px; }
.tree-person strong, .tree-person small { display: block; }
.tree-person strong { font-size: 10px; }
.tree-person small { font-size: 8px; opacity: .62; margin-top: 2px; }
.tree-count { margin-left: auto; min-width: 24px; text-align: center; border-radius: 999px; padding: 4px 6px; background: var(--green-soft); color: var(--green); font-size: 8px; }
.root-node .tree-count { background: rgba(255,255,255,.12); color: #fff; }

/* Capture, import, settings */
.info-banner { background: radial-gradient(circle at 88% 0,color-mix(in srgb,var(--green-soft) 30%,transparent),transparent 34%),linear-gradient(130deg,var(--sidebar-bg),var(--green)); color: #fff; border-radius: 18px; padding: 25px; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; box-shadow:0 16px 36px color-mix(in srgb,var(--green) 18%,transparent); }
.info-banner h2 { margin: 0; font: 700 21px Georgia, serif; }
.info-banner p { margin: 8px 0 0; color: rgba(255,255,255,.62); max-width: 700px; font-size: 11px; line-height: 1.5; }
.info-banner-icon { font: 700 45px Georgia, serif; color: color-mix(in srgb,var(--green) 30%,#fff); padding-right: 15px; }
.capture-list { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.capture-row { display: grid; grid-template-columns: minmax(180px, 1fr) 100px minmax(260px, 1.4fr) auto; align-items: center; gap: 18px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.capture-row:last-child { border-bottom: 0; }
.capture-search-toolbar{margin:14px 0 10px}.capture-search-toolbar .search-field{flex:1}.capture-search-toolbar>span{color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.capture-search-empty{padding:34px;text-align:center;color:var(--muted);font-size:11px}
.capture-url { background: var(--surface-2); border: 1px solid var(--line); border-radius: 9px; padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 9px; }
.drop-zone { background: #fff; border: 2px dashed #cbd4cf; border-radius: 18px; padding: 45px 25px; text-align: center; cursor: pointer; transition: .18s; }
.drop-zone:hover, .drop-zone.dragging { border-color: var(--green-2); background: #f9fcfa; }
.drop-icon { width: 54px; height: 54px; background: var(--green-soft); color: var(--green); border-radius: 17px; display: grid; place-items: center; margin: 0 auto 15px; font-size: 25px; }
.drop-zone h3 { margin: 0; font: 700 18px Georgia, serif; }
.drop-zone p { color: var(--muted); font-size: 11px; }
.import-preview { margin-top: 17px; }
.mapping-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 17px 0; }
.mapping-card { border: 1px solid var(--line); border-radius: 11px; padding: 10px; }
.mapping-card small { color: var(--muted); display: block; margin-bottom: 6px; }
.mapping-card select { width: 100%; border: 0; outline: 0; color: var(--ink); background: #fff; font-size: 10px; }
.import-options { display: flex; gap: 18px; flex-wrap: wrap; padding: 15px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 11px; }
.radio-option, .check-option { display: flex; align-items: center; gap: 7px; font-size: 10px; }
.import-history { display: grid; gap: 10px; }
.history-item { border-bottom: 1px solid var(--line); }
.history-item:last-child { border-bottom: 0; }
.history-row { display: grid; grid-template-columns: minmax(190px,1fr) minmax(390px,auto) auto; gap: 18px; align-items: center; padding: 13px 0; font-size: 10px; }
.history-row strong, .history-row small { display: block; }
.history-row small { color: var(--muted); margin-top: 3px; }
.history-stats { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:13px; color:var(--ink-2); }
.badge.import-warning { color:#8a5b00; background:#fff1c5; }
.import-error-count { color:var(--danger); font-weight:800; }
.import-all-clear { color:var(--green); font-weight:800; white-space:nowrap; }
.import-detail-panel { margin:0 0 14px; padding:15px; border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--primary-soft) 38%,var(--surface)); }
.import-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.import-detail-heading strong { display:block; color:var(--heading); font-size:12px; }
.import-detail-heading p,.import-detail-empty p,.import-detail-legacy p { margin:4px 0 0; color:var(--muted); font-size:9px; line-height:1.5; }
.import-detail-table { max-height:430px; overflow:auto; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.import-detail-table table { min-width:920px; }
.import-detail-table td { vertical-align:top; }
.import-detail-table td:last-child { min-width:270px; }
.import-detail-table td:last-child small { display:block; margin-top:5px; max-width:420px; color:var(--muted); line-height:1.4; }
.import-received-value { display:block; max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-2); }
.import-outcome { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:8px; font-weight:850; }
.import-outcome.field_ignored { color:#8a5b00; background:#fff1c5; }
.import-outcome.row_rejected { color:#a53434; background:#ffe1e1; }
.import-outcome.row_skipped { color:#4e6177; background:#e8eef5; }
.import-detail-note { margin:10px 0 0; color:var(--muted); font-size:9px; }
.import-detail-note.warning { color:#8a5b00; font-weight:750; }
.import-detail-empty,.import-detail-legacy { padding:4px; }
.import-detail-legacy strong { color:#8a5b00; }
@media(max-width:980px){.history-row{grid-template-columns:1fr auto}.history-stats{grid-column:1/-1;grid-row:2;justify-content:flex-start}.history-row>.button,.history-row>.import-all-clear{grid-column:2;grid-row:1}}
@media(max-width:620px){.history-row{grid-template-columns:1fr}.history-row>.button,.history-row>.import-all-clear{grid-column:auto;grid-row:auto;width:100%}.history-stats{grid-column:auto;grid-row:auto;justify-content:flex-start}.import-detail-panel{padding:10px}.import-detail-heading{flex-direction:column}.import-detail-heading .button{width:100%}}
.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.settings-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 22px; }
.settings-card.wide { grid-column: 1 / -1; }
.settings-card h2 { margin: 0; font: 700 18px Georgia, serif; }
.settings-card > p { color: var(--muted); font-size: 10px; line-height: 1.5; }
.settings-card .button { margin-top: 12px; }
.security-list { display: grid; gap: 12px; margin-top: 18px; }
.security-item { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.security-item:last-child { border-bottom: 0; }
.security-item strong, .security-item small { display: block; }
.security-item strong { font-size: 11px; }
.security-item small { color: var(--muted); margin-top: 3px; font-size: 9px; }
.tag-admin-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

/* Forms and dialogs */
.field { display: block; min-width: 0; }
.field > span { display: block; margin-bottom: 7px; color: var(--ink-2); font-size: 10px; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #dce0dc; background: #fff; border-radius: 9px; color: var(--ink); outline: none; padding: 10px 11px; transition: .15s; }
.field input, .field select { height: 42px; }
.field textarea { resize: vertical; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #7aa396; box-shadow: 0 0 0 3px rgba(45,106,90,.09); }
.field small { display: block; color: var(--muted); font-size: 8px; margin-top: 5px; line-height: 1.4; }
.form-stack { display: grid; gap: 15px; margin-top: 24px; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
.form-grid.four { grid-template-columns: repeat(4, 1fr); }
.form-grid .full { grid-column: 1 / -1; }
.address-grid { grid-template-columns: 100px 1fr 90px 1fr 1fr 1fr 70px; }
.address-grid .street { grid-column: span 4; }
.address-grid .complement { grid-column: span 2; }
.address-grid .neighborhood { grid-column: span 2; }
.address-grid .city { grid-column: span 2; }
.consent-check { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: 10px; line-height: 1.5; cursor: pointer; }
.consent-check input { margin-top: 2px; accent-color: var(--green); }
.consent-check.compact { color: var(--ink-2); margin-top: 12px; }
.contact-consent-box { padding: 15px; border: 1px solid #b8d5c8; border-radius: 14px; background: #f2f8f5; }
.contact-consent-box > div:first-child { margin-bottom: 12px; }
.contact-consent-box > div:first-child strong { display: block; color: var(--green-dark); font-size: 10px; }
.contact-consent-box > div:first-child small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.partner-business-list { display:grid; gap:12px; margin-bottom:13px; }
.partner-business-card { padding:15px; border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line)); border-radius:14px; background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--primary) 5%,var(--surface))); }
.partner-business-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.partner-business-card > header span,.partner-business-card > header strong { display:block; }
.partner-business-card > header span { color:var(--primary); font-size:7px; font-weight:900; letter-spacing:.12em; }
.partner-business-card > header strong { margin-top:4px; color:var(--ink); font-size:11px; }
.partner-business-empty { display:flex; align-items:center; gap:12px; padding:15px; border:1px dashed var(--line); border-radius:13px; color:var(--muted); background:var(--surface-2); }
.partner-business-empty > span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:11px; color:var(--primary); background:var(--surface); font-weight:900; }
.partner-business-empty strong,.partner-business-empty small { display:block; }
.partner-business-empty strong { color:var(--ink-2); font-size:10px; }
.partner-business-empty small { margin-top:3px; font-size:8px; line-height:1.4; }
.honeypot { position: absolute; left: -9999px; }
.dialog { border: 0; padding: 0; background: transparent; overflow: visible; }
.dialog::backdrop { background: rgba(10,30,26,.45); backdrop-filter: blur(3px); }
.drawer-dialog { width: min(780px, 94vw); height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; margin: 0 0 0 auto; }
.drawer { height: 100%; min-height:0; overflow:hidden; background: var(--surface); display: flex; flex-direction: column; box-shadow: -20px 0 60px rgba(10,30,26,.16); }
.drawer-header { padding: 22px 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.drawer-header h2 { margin: 0; font: 700 25px Georgia, serif; }
.drawer-body { flex:1 1 auto; min-height:0; padding: 5px 25px 30px; overflow-y: auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.form-section { padding: 23px 0; border-bottom: 1px solid var(--line); }
.person-photo-card { display:grid; grid-template-columns:84px minmax(0,1fr); align-items:center; gap:16px; margin-bottom:2px; padding:15px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--green-soft) 54%,var(--surface))); }
.person-photo-preview { display:grid; width:84px; height:84px; overflow:hidden; place-items:center; border:3px solid color-mix(in srgb,var(--green) 28%,var(--surface)); border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--green-2),var(--green)); box-shadow:0 10px 24px color-mix(in srgb,var(--green) 18%,transparent); font-size:22px; font-weight:900; }
.person-photo-preview img { width:100%; height:100%; display:block; object-fit:cover; }
.person-photo-copy { min-width:0; }
.person-photo-copy > strong,.person-photo-copy > small,.person-photo-copy > p { display:block; }
.person-photo-copy > strong { color:var(--ink); font-size:11px; }
.person-photo-copy > small { max-width:470px; margin-top:5px; color:var(--muted); font-size:9px; line-height:1.5; }
.person-photo-copy > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.person-photo-copy > p { margin:8px 0 0; color:var(--muted); font-size:8px; }
.section-heading { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.section-number { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--green-soft); color: var(--green); font: 700 11px Georgia, serif; }
.section-heading h3, .optional-section h3 { margin: 0; font: 700 16px Georgia, serif; }
.section-heading p, .optional-section p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.highlight-section { background: #fbfcfa; margin-inline: -25px; padding-inline: 25px; }
.leader-toggle { display: flex; gap: 11px; align-items: center; background: var(--gold-soft); border: 1px solid #ead6b7; border-radius: 11px; padding: 13px; margin-bottom: 16px; cursor: pointer; }
.leader-toggle > input { position: absolute; opacity: 0; }
.toggle-track { flex: 0 0 auto; width: 41px; height: 23px; padding: 3px; border-radius: 99px; background: #b9bfbb; transition: .18s; }
.toggle-track span { display: block; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: .18s; }
.leader-toggle input:checked + .toggle-track { background: var(--green); }
.leader-toggle input:checked + .toggle-track span { transform: translateX(18px); }
.leader-toggle strong, .leader-toggle small { display: block; }
.leader-toggle strong { font-size: 10px; }
.leader-toggle small { color: var(--muted); margin-top: 3px; font-size: 8px; }
.tag-picker { display: flex; flex-wrap: wrap; gap: 7px; }
.tag-choice { position: relative; }
.tag-choice input { position: absolute; opacity: 0; }
.tag-choice span { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 999px; padding: 6px 9px; color: var(--muted); cursor: pointer; font-size: 9px; }
.tag-choice input:checked + span { color: var(--tag-color); background: color-mix(in srgb, var(--tag-color) 10%, white); border-color: color-mix(in srgb, var(--tag-color) 42%, white); }
.tag-choice input:checked + span::before { content: "✓"; font-weight: 800; }
.optional-section { cursor: pointer; }
.optional-section summary { display: flex; gap: 12px; align-items: center; list-style: none; }
.optional-section summary div { flex: 1; }
.optional-fields { margin-top: 18px; }
.drawer-footer { position:relative; z-index:4; flex:0 0 auto; min-height: 70px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; padding: 12px 25px max(12px,env(safe-area-inset-bottom)); gap: 14px; background:var(--surface); box-shadow:0 -12px 28px rgba(7,27,53,.08); }
.drawer-footer > div { display: flex; gap: 9px; }
.drawer-footer p { font-size: 9px; }
.confirm-dialog, .small-dialog { width: min(430px, 92vw); }
#people-bulk-dialog { max-height: calc(100dvh - 24px); overflow: auto; }
.confirm-card, .small-card { background: #fff; border-radius: 19px; padding: 28px; box-shadow: var(--shadow); }
.confirm-card { text-align: center; }
.confirm-icon { width: 48px; height: 48px; border-radius: 50%; margin: 0 auto 15px; display: grid; place-items: center; color: var(--danger); background: var(--danger-soft); font-weight: 800; }
.confirm-card h2 { font: 700 21px Georgia, serif; margin: 0; }
.confirm-card p { color: var(--muted); line-height: 1.55; }
.confirm-actions { display: flex; gap: 9px; margin-top: 22px; }
.confirm-actions .button { flex: 1; }
.small-card header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.small-card h2 { margin: 0; font: 700 21px Georgia, serif; }
.small-card footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; }
.recovery-card { width:min(520px,calc(100vw - 24px)); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); overflow:auto; }
.recovery-card header { align-items:flex-start; }
.recovery-card header p:last-child { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.recovery-message { margin:14px 0 0; padding:12px 14px; border-radius:12px; font-size:12px; line-height:1.55; }
.recovery-message.success { color:#126443; background:#e5f8ee; border:1px solid #bee9d3; }
.recovery-message.error { color:var(--danger); background:var(--danger-soft); }
.mfa-card { width:min(560px,calc(100vw - 24px)); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); overflow:auto; }
.mfa-card header { align-items:flex-start; }
.mfa-card header p:last-child { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.mfa-status-panel { display:flex; align-items:center; gap:13px; padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.mfa-status-panel > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:12px; color:var(--primary); background:var(--primary-soft); font-size:15px; font-weight:900; }
.mfa-status-panel.enabled { border-color:#b9ddce; background:#edf8f3; }
.mfa-status-panel.enabled > span { color:#fff; background:var(--green); }
.mfa-status-panel strong,.mfa-status-panel small { display:block; }
.mfa-status-panel strong { color:var(--ink); font-size:11px; }
.mfa-status-panel small { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.5; }
.mfa-steps { display:grid; gap:10px; margin-bottom:15px; }
.mfa-steps article { display:flex; align-items:flex-start; gap:11px; }
.mfa-steps article > span { display:grid; width:27px; height:27px; flex:0 0 27px; place-items:center; border-radius:9px; color:var(--primary); background:var(--primary-soft); font-size:9px; font-weight:900; }
.mfa-steps strong,.mfa-steps small { display:block; }
.mfa-steps strong { font-size:10px; }
.mfa-steps small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.45; }
.mfa-secret { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--line)); border-radius:13px; background:var(--surface-2); }
.mfa-qr { display:block; width:min(240px,100%); aspect-ratio:1; margin:0 auto 14px; padding:8px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.mfa-secret code { color:var(--ink); font:800 12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; overflow-wrap:anywhere; }
.mfa-secret .button { flex:0 0 auto; margin:0; }
.mfa-app-link { margin-top:10px; text-align:center; }
.mfa-recovery-codes { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0; }
.mfa-recovery-codes code { padding:10px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface-2); text-align:center; font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.mfa-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }
.mfa-settings-card { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.mfa-settings-action { display:flex; flex:0 0 auto; align-items:center; gap:10px; }
.mfa-settings-action .button { margin-top:0; }
:root[data-theme="dark"] .mfa-status-panel.enabled { border-color:#285c49; background:#173a2e; }
@media(max-width:620px){.mfa-recovery-codes{grid-template-columns:1fr}.mfa-settings-card{align-items:flex-start;flex-direction:column}.mfa-settings-action{width:100%;justify-content:space-between}.mfa-dialog-actions{display:grid;grid-template-columns:1fr}.mfa-secret{align-items:flex-start;flex-direction:column}}
#interaction-dialog { width: min(680px, 94vw); }
.interaction-form-card { max-height: 92vh; overflow-y: auto; }
.interaction-person-context { padding: 11px 13px; border: 1px solid #cbded6; border-radius: 11px; background: var(--green-soft); display: flex; align-items: center; gap: 10px; }
.interaction-person-context[hidden] { display: none; }
.interaction-person-context .avatar { width: 36px; height: 36px; flex: 0 0 auto; }
.interaction-person-context strong,.interaction-person-context span,.interaction-person-context small { display: block; }
.interaction-person-context strong { color: var(--green); font-size: 10px; }
.interaction-person-context span { margin-top: 3px; color: var(--ink-2); font-size: 8px; }
.interaction-person-context small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.interaction-import-dialog { width:min(1040px,96vw); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); padding:0; overflow:hidden; }
.interaction-import-card { width:100%; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); padding:0; display:flex; flex-direction:column; overflow:hidden; background:var(--surface); }
.interaction-import-card > header { flex:0 0 auto; margin:0; padding:22px 25px 18px; border-bottom:1px solid var(--line); align-items:flex-start; }
.interaction-import-card > header h2 { margin-top:2px; }
.interaction-import-card > header p:last-child { max-width:720px; margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.interaction-import-content { min-height:300px; padding:22px 25px max(22px,env(safe-area-inset-bottom)); overflow:auto; }
.interaction-import-notice,.interaction-import-guidance { padding:14px 16px; border:1px solid #bddbd0; border-radius:13px; background:var(--green-soft); }
.interaction-import-notice strong,.interaction-import-guidance strong { display:block; color:var(--green); font-size:10px; }
.interaction-import-notice p,.interaction-import-guidance p { margin:5px 0 0; color:var(--ink-2); font-size:10px; line-height:1.55; }
.interaction-import-drop { min-height:210px; margin-top:16px; border:2px dashed #b7cce9; border-radius:16px; display:grid; place-items:center; align-content:center; gap:7px; color:var(--ink-2); background:linear-gradient(145deg,var(--surface),var(--blue-soft)); cursor:pointer; text-align:center; transition:.2s ease; }
.interaction-import-drop:hover,.interaction-import-drop:focus-visible { border-color:var(--blue); box-shadow:0 0 0 4px rgba(11,99,229,.1); outline:0; }
.interaction-import-drop > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(145deg,var(--blue),#1c78ee); font-size:21px; box-shadow:0 10px 22px rgba(11,99,229,.22); }
.interaction-import-drop strong { font-size:13px; }
.interaction-import-drop small,.interaction-import-safety { color:var(--muted); font-size:9px; }
.interaction-import-safety { margin:12px 0 0; text-align:center; }
.interaction-import-loading { min-height:320px; display:grid; place-items:center; align-content:center; gap:8px; text-align:center; }
.interaction-import-loading span { width:42px; height:42px; border:4px solid var(--line); border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
.interaction-import-loading strong { margin-top:7px; font-size:13px; }
.interaction-import-loading small { color:var(--muted); font-size:9px; }
.interaction-import-file { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.interaction-import-file strong,.interaction-import-file span { display:block; }
.interaction-import-file strong { font-size:11px; }
.interaction-import-file span { margin-top:3px; color:var(--muted); font-size:8px; }
.interaction-import-summary,.interaction-import-report-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:14px; }
.interaction-import-summary > div,.interaction-import-report-grid > div { padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.interaction-import-summary strong,.interaction-import-summary span,.interaction-import-report-grid strong,.interaction-import-report-grid span { display:block; }
.interaction-import-summary strong,.interaction-import-report-grid strong { font:700 20px Georgia,serif; }
.interaction-import-summary span,.interaction-import-report-grid span { margin-top:4px; color:var(--muted); font-size:8px; }
.interaction-import-summary .ready { border-color:#bde3d0; background:var(--green-soft); }
.interaction-import-summary .ready strong { color:var(--green); }
.interaction-import-summary .review { border-color:#ead9a9; background:var(--gold-soft); }
.interaction-import-summary .blocked strong { color:var(--danger); }
.interaction-import-guidance { margin-bottom:14px; }
.interaction-import-table { max-height:350px; overflow:auto; border:1px solid var(--line); border-radius:13px; }
.interaction-import-table table { width:100%; }
.interaction-import-table thead { position:sticky; top:0; z-index:2; }
.interaction-import-table td > strong,.interaction-import-table td > small { display:block; }
.interaction-import-table td > small { margin-top:4px; color:var(--muted); font-size:7px; }
.interaction-import-table-note { margin:0; padding:10px 12px; color:var(--muted); background:var(--surface-2); font-size:8px; text-align:center; }
.interaction-import-badge { display:inline-flex; padding:5px 8px; border-radius:999px; color:var(--muted); background:var(--surface-2); font-size:8px; font-weight:800; white-space:nowrap; }
.interaction-import-badge.automatic { color:var(--green); background:var(--green-soft); }
.interaction-import-badge.review { color:#85601e; background:var(--gold-soft); }
.interaction-import-badge.conflict,.interaction-import-badge.invalid { color:var(--danger); background:var(--danger-soft); }
.interaction-import-badge.duplicate { color:#426584; background:#e9f2fa; }
.interaction-import-actions { position:sticky; bottom:-22px; margin:18px -25px -22px; padding:14px 25px max(14px,env(safe-area-inset-bottom)); display:flex; justify-content:flex-end; gap:9px; border-top:1px solid var(--line); background:var(--surface); box-shadow:0 -10px 22px rgba(7,27,53,.06); }
.interaction-import-finish { min-height:370px; display:grid; place-items:center; align-content:center; text-align:center; }
.interaction-import-finish-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--green),var(--green-2)); font-size:24px; box-shadow:0 12px 25px rgba(22,167,104,.24); }
.interaction-import-finish h3 { margin:3px 0 5px; font:700 23px Georgia,serif; }
.interaction-import-finish > p:not(.eyebrow) { max-width:520px; margin:0 0 17px; color:var(--muted); font-size:10px; line-height:1.5; }
.interaction-import-finish .interaction-import-report-grid { width:min(680px,100%); text-align:left; }
.interaction-import-finish footer { width:min(680px,100%); display:flex; justify-content:flex-end; gap:9px; }
.detail-dialog { width: min(760px, 94vw); }
.detail-card { max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 20px; box-shadow: var(--shadow); }
.detail-hero { color: #fff; background: linear-gradient(145deg, #204f45, #153831); padding: 25px; border-radius: 20px 20px 0 0; display: flex; gap: 15px; align-items: center; position: relative; }
.detail-hero .avatar { width: 55px; height: 55px; background: #d7a456; font-size: 16px; }
.detail-hero h2 { margin: 0; font: 700 25px Georgia, serif; }
.detail-hero p { margin: 6px 0 0; color: rgba(255,255,255,.62); font-size: 10px; }
.detail-hero .icon-button { color: #fff; position: absolute; right: 16px; top: 16px; }
.detail-body { padding: 23px; }
.detail-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 21px; }
.detail-metric { background: var(--surface-2); border: 1px solid var(--line); border-radius: 11px; padding: 12px; text-align: center; }
.detail-metric strong, .detail-metric small { display: block; }
.detail-metric strong { font: 700 20px Georgia, serif; }
.detail-metric small { color: var(--muted); font-size: 8px; margin-top: 4px; }
.detail-link { padding: 14px; background: var(--green-soft); border-radius: 11px; margin-bottom: 20px; }
.detail-link label { color: var(--green); font-size: 9px; font-weight: 800; }
.detail-link-row { display: flex; gap: 8px; margin-top: 7px; }
.detail-link code { flex: 1; min-width: 0; padding: 9px; background: rgba(255,255,255,.7); border-radius: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.detail-list h3 { font: 700 15px Georgia, serif; }
.mini-people-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mini-person { border: 1px solid var(--line); border-radius: 10px; padding: 10px; display: flex; justify-content: space-between; gap: 10px; }
.mini-person strong, .mini-person small { display: block; }
.mini-person strong { font-size: 10px; }
.mini-person small { color: var(--muted); font-size: 8px; margin-top: 3px; }
.detail-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 21px; }

/* Person profile */
.profile-dialog { width: min(960px, 95vw); }
.profile-card { max-height: 92vh; overflow-y: auto; background: #f7f6f2; border-radius: 21px; box-shadow: var(--shadow); }
.profile-hero { padding: 25px 27px 20px; display: flex; align-items: center; gap: 15px; color: #fff; background: radial-gradient(circle at 80% 0, rgba(217,168,91,.2), transparent 30%), linear-gradient(140deg,#214f45,#14372f); position: relative; border-radius: 21px 21px 0 0; }
.profile-hero > .avatar { width: 58px; height: 58px; font-size: 16px; border: 3px solid rgba(255,255,255,.18); }
.profile-title > div { margin-bottom: 7px; }
.profile-title .badge { transform: scale(.92); transform-origin: left; }
.profile-title h2 { margin: 0; font: 700 27px/1.1 Georgia,serif; }
.profile-title p { margin: 6px 0 0; color: rgba(255,255,255,.62); font-size: 10px; }
.profile-hero > .icon-button { color: #fff; position: absolute; right: 16px; top: 14px; }
.profile-actions { display: flex; gap: 8px; flex-wrap: wrap; padding: 13px 25px; background: #fff; border-bottom: 1px solid var(--line); }
.profile-actions .button { min-height: 36px; font-size: 10px; text-decoration: none; }
.profile-content { padding: 20px; }
.profile-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.badge.business-partner { margin-left:5px; color:#764b00; border:1px solid #e8c77e; background:#fff2cc; }
.profile-businesses { margin-top:13px; padding:15px; border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line)); border-radius:14px; background:var(--surface); }
.profile-businesses > .panel-header { margin-bottom:12px; }
.profile-business-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.profile-business-list article { min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.profile-business-list strong,.profile-business-list small { display:block; }
.profile-business-list strong { font-size:11px; }
.profile-business-list small { margin-top:3px; color:var(--muted); font-size:8px; }
.profile-business-list dl { display:grid; gap:6px; margin:10px 0 0; }
.profile-business-list dl div { display:grid; grid-template-columns:78px minmax(0,1fr); gap:8px; }
.profile-business-list dt { color:var(--muted); font-size:7px; }
.profile-business-list dd { min-width:0; margin:0; overflow:hidden; color:var(--ink-2); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.profile-business-list article > p { margin:9px 0 0; color:var(--muted); font-size:8px; line-height:1.45; }
.profile-business-title { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.profile-business-catalog { display:grid; gap:4px; margin-top:10px; padding-top:9px; border-top:1px solid var(--line); }
.profile-business-catalog > strong { margin-bottom:2px; color:var(--ink-2); font-size:8px; }
.profile-business-catalog > span,.profile-business-catalog > small { color:var(--muted); font-size:7px; line-height:1.35; }
.profile-business-manage { width:100%; margin-top:10px; }
@media(max-width:760px){.profile-business-list{grid-template-columns:1fr}.profile-businesses>.panel-header{align-items:flex-start;flex-direction:column}.badge.business-partner{margin-left:3px}}

.business-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.business-kpis article { display:flex; align-items:center; gap:12px; min-width:0; padding:17px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-soft); }
.business-kpis article > span { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:12px; color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,var(--surface)); font-weight:900; }
.business-kpis strong,.business-kpis small { display:block; }
.business-kpis strong { color:var(--ink); font-family:var(--serif); font-size:23px; line-height:1; }
.business-kpis small { margin-top:5px; color:var(--muted); font-size:8px; }
.business-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) repeat(3,minmax(145px,auto)); gap:9px; padding:13px; }
.business-toolbar select,.business-search { min-height:42px; border:1px solid var(--line); border-radius:11px; color:var(--ink-2); background:var(--surface); font:inherit; font-size:9px; }
.business-toolbar select { padding:0 32px 0 11px; }
.business-search { display:flex; align-items:center; gap:8px; padding:0 12px; }
.business-search span { color:var(--primary); font-weight:900; }
.business-search input { width:100%; min-width:0; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; }
.business-results-note { margin:13px 2px 9px; color:var(--muted); font-size:8px; }
.business-results-note strong { color:var(--ink-2); }
.business-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.business-card { display:flex; min-width:0; flex-direction:column; gap:13px; padding:17px; border:1px solid var(--line); border-radius:17px; background:var(--surface); box-shadow:var(--shadow-soft); }
.business-card > header { display:flex; align-items:center; gap:11px; }
.business-card-icon { display:grid; width:43px; height:43px; flex:0 0 43px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); font-size:10px; font-weight:900; }
.business-card > header > div:last-child { min-width:0; flex:1; }
.business-card-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.business-card-title h2 { min-width:0; margin:0; overflow:hidden; color:var(--ink); font-family:var(--serif); font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.business-card > header p { margin:4px 0 0; color:var(--muted); font-size:8px; }
.business-status { display:inline-flex; flex:0 0 auto; align-items:center; min-height:21px; padding:0 8px; border-radius:999px; font-size:7px; font-weight:900; }
.business-status.active { color:#11644c; background:#daf5e9; }
.business-status.prospect { color:#8b5b00; background:#fff0c9; }
.business-status.inactive { color:#647083; background:#e9eef5; }
.business-card-contact { display:grid; grid-template-columns:1fr auto; gap:2px 8px; padding:10px 12px; border-radius:11px; background:var(--surface-2); }
.business-card-contact span { color:var(--muted); font-size:7px; }
.business-card-contact button { grid-row:1/3; grid-column:2; align-self:center; border:0; color:var(--primary); background:transparent; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }
.business-card-contact small { color:var(--ink-2); font-size:8px; }
.business-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; }
.business-card dl div { min-width:0; }
.business-card dl .wide { grid-column:1/-1; }
.business-card dt { color:var(--muted); font-size:7px; }
.business-card dd { margin:3px 0 0; overflow:hidden; color:var(--ink-2); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.business-catalog-preview { display:grid; gap:7px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.business-catalog-preview > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.business-catalog-preview > div strong { color:var(--ink-2); font-size:9px; }
.business-catalog-preview > div span,.business-catalog-preview > small,.business-catalog-preview > p { color:var(--muted); font-size:7px; }
.business-catalog-preview ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.business-catalog-preview li { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:6px; min-width:0; }
.business-catalog-preview li span { padding:3px 5px; border-radius:5px; color:var(--primary); background:color-mix(in srgb,var(--primary) 9%,var(--surface)); font-size:6px; font-weight:900; text-transform:uppercase; }
.business-catalog-preview li b { min-width:0; overflow:hidden; color:var(--ink-2); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.business-catalog-preview li em { color:var(--muted); font-size:7px; font-style:normal; }
.business-benefit { margin:0; color:var(--muted); font-size:8px; line-height:1.45; }
.business-benefit strong { color:var(--ink-2); }
.business-card > footer { display:flex; justify-content:flex-end; gap:8px; margin-top:auto; }
.business-empty { grid-column:1/-1; min-height:310px; }
.business-catalog-heading { align-items:center; }
.business-catalog-heading .button { margin-left:auto; }
.business-offering-list { display:grid; gap:11px; }
.business-offering-card { padding:14px; border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line)); border-radius:13px; background:var(--surface-2); }
.business-offering-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.business-offering-card > header span,.business-offering-card > header strong { display:block; }
.business-offering-card > header span { color:var(--primary); font-size:7px; font-weight:900; letter-spacing:.1em; }
.business-offering-card > header strong { margin-top:3px; color:var(--ink-2); font-size:10px; }
.business-offering-empty { display:flex; align-items:center; gap:12px; padding:18px; border:1px dashed var(--line); border-radius:13px; color:var(--muted); background:var(--surface-2); }
.business-offering-empty > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; color:var(--primary); background:var(--surface); }
.business-offering-empty strong,.business-offering-empty small { display:block; }
.business-offering-empty strong { color:var(--ink-2); font-size:9px; }
.business-offering-empty small { margin-top:3px; font-size:8px; }
@media(max-width:980px){.business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.business-toolbar{grid-template-columns:1fr 1fr}.business-search{grid-column:1/-1}.business-directory{grid-template-columns:1fr}}
@media(max-width:620px){.business-kpis{grid-template-columns:1fr 1fr;gap:8px}.business-kpis article{padding:12px}.business-kpis article>span{width:34px;height:34px;flex-basis:34px}.business-kpis strong{font-size:18px}.business-toolbar{grid-template-columns:1fr}.business-search{grid-column:auto}.business-card{padding:14px}.business-card-title{align-items:flex-start;flex-direction:column}.business-card dl{grid-template-columns:1fr}.business-card>footer{align-items:stretch;flex-direction:column}.business-card>footer .button{width:100%}.business-catalog-heading{align-items:flex-start;flex-direction:column}.business-catalog-heading .button{margin:8px 0 0 48px}}
.profile-info { background: #fff; border: 1px solid var(--line); border-radius: 11px; padding: 12px; min-width: 0; }
.profile-info span, .profile-info strong { display: block; }
.profile-info span { color: var(--muted); font-size: 8px; margin-bottom: 5px; }
.profile-info strong { font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-leader-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; padding: 15px 16px; border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--line)); border-radius: 14px; background: linear-gradient(120deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),color-mix(in srgb,var(--green) 8%,var(--surface))); }
.profile-leader-link > div:first-child { min-width: 0; flex: 1; }
.profile-leader-link span,.profile-leader-link strong,.profile-leader-link code { display: block; }
.profile-leader-link span { color: var(--primary); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.profile-leader-link strong { margin: 5px 0; font-size: 11px; color: var(--heading); }
.profile-leader-link code { overflow: hidden; color: var(--muted); font: 9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow: ellipsis; white-space: nowrap; }
.profile-leader-link > div:last-child { display: flex; gap: 7px; flex: 0 0 auto; }
.profile-kpis { display: grid; grid-template-columns: repeat(4,1fr); margin: 13px 0; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 13px 0; }
.profile-kpis div { text-align: center; border-right: 1px solid var(--line); }
.profile-kpis div:last-child { border-right: 0; }
.profile-kpis strong,.profile-kpis small { display: block; }
.profile-kpis strong { font: 700 20px Georgia,serif; }
.profile-kpis small { color: var(--muted); font-size: 8px; margin-top: 3px; }
.profile-columns { display: grid; grid-template-columns: 1.2fr .8fr; gap: 13px; }
.profile-section { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 16px; }
.profile-section .panel-header { margin-bottom: 13px; }
.profile-section .panel-header h2 { font-size: 15px; }
.compact-section { margin-top: 13px; }
.timeline-list { display: grid; }
.timeline-item { display: grid; grid-template-columns: 10px 1fr auto; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.timeline-item:last-child { border-bottom: 0; }
.timeline-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green-2); margin-top: 5px; box-shadow: 0 0 0 4px var(--green-soft); }
.timeline-dot.pending { background: var(--warning); box-shadow: 0 0 0 4px var(--gold-soft); }
.timeline-dot.in_progress { background: #4d7da7; box-shadow: 0 0 0 4px #e6f0f8; }
.timeline-top { display: flex; justify-content: space-between; gap: 10px; }
.timeline-top strong { font-size: 10px; }
.timeline-top time { color: var(--muted); font-size: 8px; }
.timeline-item p { color: var(--ink-2); font-size: 9px; line-height: 1.45; margin: 5px 0; }
.timeline-item small { display: block; color: var(--muted); font-size: 8px; margin-top: 3px; }
.timeline-item .next-action { color: var(--warning); font-weight: 700; }
.timeline-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.timeline-badges > span:not(.badge) { padding: 3px 6px; border-radius: 6px; color: var(--muted); background: var(--surface-2); font-size: 7px; }
.timeline-actions { display: flex; gap: 3px; }

/* Interactions */
.interaction-metrics .metric-card { min-height: 125px; }
.interaction-filter-panel { margin-bottom: 15px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: grid; grid-template-columns: minmax(280px,1fr) auto; gap: 10px 14px; align-items: center; }
.interaction-filter-panel .search-field { max-width: none; }
.interaction-periods { display: flex; gap: 5px; justify-content: flex-end; }
.interaction-periods button { min-height: 35px; padding: 0 11px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: var(--surface-2); font-size: 8px; font-weight: 800; cursor: pointer; }
.interaction-periods button:hover,.interaction-periods button.active { color: #fff; background: var(--green); }
.interaction-selects { grid-column: 1/-1; display: flex; gap: 8px; padding-top: 11px; border-top: 1px solid var(--line); }
.interaction-table-heading { padding: 14px 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.interaction-table-heading > div { display: flex; align-items: center; gap: 9px; }
.interaction-table-heading h2 { margin: 0; font: 700 15px Georgia,serif; }
.interaction-table-heading span { padding: 4px 7px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 8px; font-weight: 800; }
.interaction-table-heading small { color: var(--muted); font-size: 8px; }
.interaction-summary { max-width: 430px; }
.interaction-summary strong,.interaction-summary small { display: inline; }
.interaction-summary strong { font-size: 10px; }
.interaction-summary small { margin-left: 6px; color: var(--muted); font-size: 7px; }
.interaction-summary p { margin: 5px 0 0; max-width: 430px; color: var(--ink-2); font-size: 8px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.interaction-summary b { display: block; margin-top: 4px; color: var(--warning); font-size: 7px; }
.interaction-status-select { min-width: 112px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); font-size: 8px; font-weight: 800; }
.interaction-status-select.pending { color: #85601e; background: #fff8e3; }
.interaction-status-select.in_progress { color: #345f86; background: #edf5fb; }
.interaction-status-select.completed { color: var(--green); background: var(--green-soft); }
.interaction-date strong,.interaction-date small { display: block; }
.interaction-date strong { font-size: 9px; }
.interaction-date small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.profile-demand-list { display: grid; gap: 7px; }
.profile-demand { border: 1px solid var(--line); background: #fff; border-radius: 9px; padding: 9px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; text-align: left; cursor: pointer; }
.profile-demand:hover { background: var(--surface-2); }
.profile-demand strong,.profile-demand small { display: block; }
.profile-demand strong { font-size: 9px; }
.profile-demand small { color: var(--muted); font-size: 7px; margin-top: 3px; }
.profile-notes { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }
.profile-notes strong { font-size: 9px; }
.profile-notes p { color: var(--muted); font-size: 9px; line-height: 1.5; }

/* Demands */
.demand-metrics .metric-card { min-height: 125px; }
.demand-list { display: grid; gap: 10px; }
.demand-card { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 15px 15px 15px 20px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; cursor: pointer; }
.demand-card:hover { border-color: #b8cac2; box-shadow: var(--shadow-sm); }
.demand-card.overdue { border-color: #e6c6bd; }
.demand-priority-line { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #adb7b2; }
.demand-priority-line.alta { background: var(--gold); }
.demand-priority-line.urgente { background: var(--danger); }
.demand-priority-line.baixa { background: #7ca79b; }
.demand-title-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.demand-title-row h3 { margin: 0; font: 700 15px Georgia,serif; }
.demand-main > p { color: var(--muted); font-size: 9px; margin: 7px 0 10px; line-height: 1.45; max-width: 900px; }
.demand-meta { display: flex; gap: 15px; flex-wrap: wrap; color: var(--muted); font-size: 8px; }
.demand-controls { display: flex; align-items: center; gap: 5px; }
.demand-controls select { border: 1px solid var(--line); border-radius: 8px; padding: 8px; background: var(--surface-2); text-transform: capitalize; font-size: 9px; }
.priority-badge { display: inline-flex; padding: 4px 6px; border-radius: 6px; background: #eff1ed; color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; font-size: 7px; font-weight: 800; }
.priority-badge.alta { background: var(--gold-soft); color: #8b5920; }
.priority-badge.urgente { background: var(--danger-soft); color: var(--danger); }
.priority-badge.baixa { background: var(--green-soft); color: var(--green); }

/* Mobilizations */
.mobilization-dialog { width:min(760px,calc(100vw - 24px)); max-width:none; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); overflow:hidden; }
.mobilization-form-card { width:100%; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-gutter:stable; }
.mobilization-form-card > footer { position:sticky; z-index:4; bottom:-28px; margin:24px -28px -28px; padding:15px 28px max(15px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:0 -12px 28px rgba(7,27,53,.08); backdrop-filter:blur(10px); }
.mobilization-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.mobilization-card { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 16px; display: grid; grid-template-columns: 49px 1fr 36px; gap: 12px; cursor: pointer; transition: .18s; }
.mobilization-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); border-color: #b8cac2; }
.mobilization-card.past { opacity: .68; }
.mobilization-date { width: 49px; height: 55px; border-radius: 11px; background: var(--green-soft); color: var(--green); display: grid; place-content: center; text-align: center; }
.mobilization-date strong { font: 700 21px/1 Georgia,serif; }
.mobilization-date small { font-size: 8px; text-transform: uppercase; margin-top: 3px; }
.mobilization-top { display: flex; align-items: center; gap: 8px; }
.mobilization-top small { color: var(--muted); font-size: 8px; }
.mobilization-content h3 { margin: 10px 0 5px; font: 700 15px Georgia,serif; }
.mobilization-content > p { margin: 0 0 12px; color: var(--muted); font-size: 9px; }
.mobilization-progress > div:first-child { display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; margin-bottom: 6px; }
.mobilization-progress strong { color: var(--ink); }
.avatar-stack { display: flex; align-items: center; margin-top: 12px; min-height: 28px; }
.avatar-stack .avatar { width: 27px; height: 27px; border: 2px solid #fff; margin-left: -6px; font-size: 7px; }
.avatar-stack .avatar:first-child { margin-left: 0; }
.avatar-stack > span:last-child:not(.avatar) { margin-left: 6px; color: var(--muted); font-size: 8px; }
.mobilization-participant-section { margin-top:22px; padding:16px; border:1px solid color-mix(in srgb,var(--green) 24%,var(--line)); border-radius:15px; background:linear-gradient(145deg,color-mix(in srgb,var(--green-soft) 70%,var(--surface)),var(--surface)); }
.participant-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:13px; }
.participant-section-heading span,.participant-section-heading small { display:block; }
.participant-section-heading span { color:var(--ink); font-size:11px; font-weight:800; }
.participant-section-heading small { margin-top:4px; color:var(--muted); font-size:8px; line-height:1.45; }
.participant-section-heading strong { flex:0 0 auto; padding:6px 9px; border-radius:999px; color:var(--green-2); background:var(--surface); box-shadow:0 4px 12px color-mix(in srgb,var(--green) 10%,transparent); font-size:9px; }
.participant-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.participant-action-group { min-width:0; padding:11px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.participant-action-group-wide { grid-column:1/-1; }
.participant-action-group > span,.participant-action-group > label { display:block; margin-bottom:7px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.participant-action-group > div { display:flex; flex-wrap:wrap; gap:6px; }
.participant-action-group select { width:100%; min-height:38px; margin-bottom:7px; padding:0 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface-2); outline:0; font-size:9px; }
.participant-action-group select:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--focus-ring); }
.participant-action-group .button { min-height:34px; padding-inline:10px; border-radius:8px; font-size:8px; }
.participant-action-group > .button { width:100%; }
.participant-action-group .participant-clear { margin-left:auto; color:var(--danger); }
.participant-section-note { display:block; margin-top:8px; color:var(--muted); font-size:8px; line-height:1.45; }
.participant-picker { margin-top: 8px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background:var(--surface); }
.participant-search { height: 40px; display: flex; align-items: center; gap: 7px; padding: 0 10px; border-bottom: 1px solid var(--line); color: var(--muted); }
.participant-search input { border: 0; outline: 0; height: 100%; width: 100%; color:var(--ink); background:transparent; }
.participant-list { max-height: 210px; overflow-y: auto; padding: 6px; display: grid; }
.participant-list > label { display: grid; grid-template-columns: 18px 30px 1fr; align-items: center; gap: 7px; padding: 6px; border-radius: 8px; cursor: pointer; }
.participant-list > label:hover { background: var(--surface-2); }
.participant-list input { accent-color: var(--green); }
.participant-list .avatar { width: 28px; height: 28px; font-size: 7px; }
.participant-list strong,.participant-list small { display: block; }
.participant-list strong { font-size: 9px; }
.participant-list small { color: var(--muted); font-size: 7px; margin-top: 2px; }
.participant-hint { margin: 7px; color: var(--muted); text-align: center; font-size: 8px; }
.mobilization-actions { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.mobilization-actions .icon-button { width: 32px; height: 32px; }
.mobilization-actions .plan-button { color: var(--green); background: var(--green-soft); }
.mobilization-logistics-summary { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; color: var(--green-2); font-size: 8px; font-weight: 700; }

@media(max-width:680px){
  .mobilization-dialog { width:calc(100vw - 12px); max-height:calc(100vh - 12px); max-height:calc(100dvh - 12px); }
  .mobilization-form-card { max-height:calc(100vh - 12px); max-height:calc(100dvh - 12px); padding:18px; border-radius:16px; scrollbar-gutter:auto; }
  .mobilization-form-card > header { position:sticky; z-index:4; top:-18px; margin:-18px -18px 18px; padding:17px 18px 14px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--surface) 95%,transparent); backdrop-filter:blur(10px); }
  .mobilization-form-card > footer { bottom:-18px; margin:20px -18px -18px; padding:11px 18px max(11px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:.8fr 1.2fr; }
  .mobilization-form-card > footer .button { width:100%; min-height:45px; padding-inline:9px; }
  .mobilization-participant-section { margin-inline:-5px; padding:13px; }
  .participant-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .participant-quick-actions { grid-template-columns:1fr; }
  .participant-action-group-wide { grid-column:auto; }
  .participant-action-group-wide > div { display:grid; grid-template-columns:1fr 1fr; }
  .participant-action-group-wide .participant-clear { grid-column:1/-1; margin-left:0; }
  .participant-action-group .button { min-height:40px; font-size:9px; }
  .participant-list { max-height:240px; }
}

body.planning-surface-open { overflow:hidden; }
.planning-overlay { position:fixed; z-index:90; inset:0; box-sizing:border-box; padding:2.5vh 2vw; display:grid; place-items:center; overflow:clip; background:rgba(10,30,26,.45); backdrop-filter:blur(3px); }
.planning-overlay[hidden] { display:none !important; }
.planning-shell { width:min(1380px,96vw); height:min(920px,95vh); max-width:100%; max-height:100%; background:var(--paper); border-radius:20px; box-shadow:var(--shadow); display:flex; flex-direction:column; overflow:hidden; }
.planning-header { flex: 0 0 auto; padding: 20px 24px; background: #fff; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.planning-header h2 { margin: 0; font: 700 27px Georgia,serif; }
.planning-header > div > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 10px; text-transform: capitalize; }
.planning-body { flex: 1; overflow: auto; padding: 20px 24px 28px; }
.planning-filter-card,.planning-columns-card,.planning-table-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px; margin-bottom: 14px; }
.planning-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.planning-filter-actions { margin-top: 13px; padding-top: 13px; border-top: 1px dashed var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.planning-filter-actions p { margin: 0; color: var(--muted); font-size: 10px; }
.planning-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 14px; }
.planning-metrics article { min-height: 78px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 11px; }
.planning-metrics article > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--green); background: var(--green-soft); font-weight: 800; }
.planning-metrics strong,.planning-metrics small { display: block; }
.planning-metrics strong { font: 700 21px Georgia,serif; }
.planning-metrics small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.column-builder { display: grid; grid-template-columns: minmax(220px,1fr) 220px auto; gap: 10px; align-items: end; }
.column-builder.readonly { display: none; }
.column-presets { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.column-presets > span { color: var(--muted); font-size: 9px; margin-right: 3px; }
.column-presets button { border: 1px solid var(--line); background: var(--surface-2); color: var(--ink-2); border-radius: 999px; padding: 5px 9px; cursor: pointer; font-size: 9px; }
.column-presets button:hover { border-color: #aac2b9; color: var(--green); }
.active-plan-columns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.active-plan-column { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #cfdad5; border-radius: 9px; padding: 6px 8px; color: var(--green); background: #f7faf8; }
.active-plan-column-type { font-size: 8px; opacity: .7; }
.active-plan-column strong { font-size: 9px; }
.active-plan-column button { border: 0; background: transparent; color: var(--muted); cursor: pointer; padding: 0 2px; }
.active-plan-column-actions { display:inline-flex; align-items:center; gap:2px; padding-left:3px; border-left:1px solid var(--line); }
.active-plan-column-actions button { min-width:20px; height:20px; border-radius:6px; }
.active-plan-column-actions button:hover:not(:disabled) { color:var(--green); background:var(--green-soft); }
.active-plan-column-actions button:disabled { opacity:.3; cursor:not-allowed; }
.active-plan-column-actions .remove-plan-column:hover { color:var(--danger); background:var(--danger-soft); }
.empty-inline { margin: 0; color: var(--muted); font-size: 9px; }
.planning-table-card { padding-bottom: 0; overflow: hidden; }
.planning-table-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding-bottom:14px; }
.planning-table-heading .section-heading { flex:1; min-width:260px; }
.planning-table-tools { display:flex; align-items:flex-end; justify-content:flex-end; gap:10px; }
.planning-table-search { display:grid; gap:5px; min-width:min(310px,34vw); color:var(--muted); font-size:8px; font-weight:800; }
.planning-search-control { position:relative; display:block; }
.planning-search-control b { position:absolute; z-index:1; left:11px; top:50%; translate:0 -50%; color:var(--green); font-size:14px; }
.planning-search-control input { width:100%; height:38px; padding:0 34px; border:1px solid var(--line); border-radius:10px; outline:none; color:var(--ink); background:var(--surface); font:inherit; font-size:10px; font-weight:600; }
.planning-search-control input:focus { border-color:var(--green-2); box-shadow:0 0 0 3px rgba(45,106,90,.1); }
.planning-table-search small { min-height:10px; color:var(--muted); font-size:7px; font-weight:500; }
.planning-table-wrap { overflow: auto; max-height: 440px; margin: 0 -18px; border-top: 1px solid var(--line); }
.planning-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: 10px; }
.planning-table th,.planning-table td { padding: 10px 11px; border-right: 1px solid #edf0ec; border-bottom: 1px solid #edf0ec; text-align: left; vertical-align: middle; background: #fff; }
.planning-table th { position: sticky; z-index: 2; top: 0; color: var(--muted); background: #f6f7f4; text-transform: uppercase; letter-spacing: .05em; font-size: 8px; }
.planning-table th:first-child { min-width: 210px; left: 0; z-index: 3; }
.planning-table td:first-child { position: sticky; left: 0; z-index: 1; min-width: 210px; }
.planning-table th small { display: block; margin-top: 3px; color: #a2aaa6; font-size: 6px; text-transform: none; letter-spacing: 0; }
.plan-sort-button { width:100%; display:inline-flex; align-items:center; justify-content:space-between; gap:7px; padding:0; border:0; color:inherit; background:transparent; font:inherit; font-weight:800; text-align:left; text-transform:uppercase; letter-spacing:inherit; cursor:pointer; }
.plan-sort-button b { display:grid; place-items:center; width:17px; height:17px; flex:0 0 17px; border-radius:6px; color:#8090a3; background:#e8eef5; font-size:10px; line-height:1; }
.plan-sort-button:hover,.plan-sort-button:focus-visible { color:var(--blue); }
.plan-sort-button:focus-visible { outline:2px solid color-mix(in srgb,var(--blue) 40%,transparent); outline-offset:3px; border-radius:3px; }
.plan-sort-button.active b { color:#fff; background:var(--blue); }
.planning-table-search .planning-sort-status { color:var(--blue); font-weight:700; }
.planning-table td > strong,.planning-table td > small { display: block; }
.planning-table td > small { max-width: 270px; margin-top: 4px; color: var(--muted); font-size: 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plan-person-link { max-width:190px; padding:0; overflow:hidden; border:0; color:var(--ink); background:transparent; font:inherit; font-weight:800; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.plan-person-link:hover,.plan-person-link:focus-visible { color:var(--primary); text-decoration:underline; }
.planning-table tr.completed td { background: #f3faf5; }
.planning-table tr.completed td:first-child { background: #edf7f0; }
.plan-cell-input { width: 120px; height: 34px; border: 1px solid #dfe4df; border-radius: 8px; padding: 0 9px; color: var(--ink); background: #fff; outline: none; }
.plan-cell-input.number { width: 88px; text-align: right; }
.plan-cell-input:focus { border-color: var(--green-2); box-shadow: 0 0 0 3px rgba(45,106,90,.1); }
.plan-cell-input:disabled { border-color: transparent; background: transparent; }
.plan-check-heading,.plan-check-cell,.plan-check-total { min-width: 92px; text-align: center !important; }
.plan-check { display: inline-grid; grid-template-columns: 28px; justify-items: center; gap: 3px; cursor: pointer; }
.plan-check input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.plan-check > span { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #cbd5ce; border-radius: 8px; color: transparent; background: #fff; font-weight: 900; transition: .15s ease; }
.plan-check input:checked + span { border-color: var(--green); color: #fff; background: var(--green); box-shadow: 0 5px 12px rgba(26,79,64,.2); }
.plan-check input:focus-visible + span { outline: 3px solid rgba(45,106,90,.18); outline-offset: 2px; }
.plan-check input:disabled + span { opacity: .75; cursor: default; }
.plan-check small,.plan-check-total small { color: var(--muted); font-size: 6px; }
.planning-table tfoot td { position: sticky; bottom: 0; z-index: 2; color: var(--ink); background: #eef3ef; border-bottom: 0; }
.planning-table tfoot td:first-child { z-index: 3; background: #e8efea; }
.planning-empty { min-height: 150px; display: grid; place-content: center; text-align: center; gap: 6px; color: var(--muted); }
.planning-empty strong { color: var(--ink-2); font: 700 15px Georgia,serif; }
.planning-empty span { font-size: 9px; }
.planning-footer { flex: 0 0 auto; min-height: 70px; padding: 12px 24px; background: #fff; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.planning-footer p { margin: 0; color: var(--muted); font-size: 9px; }
.planning-footer > div { display: flex; gap: 8px; }
.planning-export-scope { min-width:160px; height:40px; padding:4px 9px; display:grid; align-content:center; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:var(--surface); }
.planning-export-scope span { font-size:6px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.planning-export-scope select { min-width:0; padding:0; border:0; outline:0; color:var(--ink); background:transparent; font-size:8px; font-weight:800; cursor:pointer; }
.planning-overlay.table-focus { padding:0; place-items:stretch; }
.planning-overlay.table-focus .planning-shell { width:100vw; height:100vh; height:100dvh; max-width:100vw; max-height:100dvh; min-width:0; min-height:0; border-radius:0; }
.planning-overlay.table-focus .planning-header,
.planning-overlay.table-focus .planning-filter-card,
.planning-overlay.table-focus .planning-metrics,
.planning-overlay.table-focus .mobilization-duplicate-report,
.planning-overlay.table-focus .planning-columns-card { display:none !important; }
.planning-overlay.table-focus .planning-body { min-height:0; padding:0; overflow:hidden; display:flex; }
.planning-overlay.table-focus .planning-table-card { flex:1; min-height:0; margin:0; padding:16px 20px 0; border:0; border-radius:0; display:flex; flex-direction:column; }
.planning-overlay.table-focus .planning-table-heading { flex:0 0 auto; }
.planning-overlay.table-focus .planning-table-wrap { flex:1; min-height:0; max-height:none; }
.planning-overlay.table-focus .planning-table { font-size:11px; }
.planning-overlay.table-focus .planning-table th { font-size:9px; }

/* Communications */
.whatsapp-connect { margin-bottom: 12px; padding: 20px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px 24px; align-items: center; overflow: hidden; background: radial-gradient(circle at 100% 0,rgba(37,211,102,.11),transparent 35%),#fff; }
.whatsapp-connect-main { display: flex; align-items: center; gap: 15px; }
.whatsapp-connect-main h2 { margin: 3px 0 6px; font: 700 18px Georgia,serif; }
.whatsapp-connect-main p:last-child { max-width: 720px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.whatsapp-mark { display: grid; width: 52px; height: 52px; min-width: 52px; place-items: center; border-radius: 17px; color: #fff; background: #247c58; box-shadow: 0 9px 20px rgba(36,124,88,.2); font-size: 12px; font-weight: 900; letter-spacing: -.4px; }
.whatsapp-connect-actions { display: grid; gap: 8px; min-width: 285px; }
.connection-pill { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface-2); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.connection-pill i { width: 8px; height: 8px; border-radius: 50%; background: #a6aaa5; box-shadow: 0 0 0 4px rgba(166,170,165,.14); }
.connection-pill.online { color: var(--green); border-color: #bcd7ca; background: var(--green-soft); }
.connection-pill.online i { background: #2fa56c; box-shadow: 0 0 0 4px rgba(47,165,108,.14); }
.connection-pill.offline { color: #85551d; border-color: #dbc89d; background: var(--gold-soft); }
.connection-pill.offline i { background: #ce8a32; box-shadow: 0 0 0 4px rgba(206,138,50,.14); }
.compact-select { display: grid; gap: 4px; }
.compact-select > span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.compact-select select { min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: #fff; font: inherit; font-size: 9px; }
.whatsapp-flow { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.whatsapp-flow > div { display: grid; grid-template-columns: 28px 1fr; gap: 0 8px; align-items: center; }
.whatsapp-flow span { grid-row: 1/3; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); font-size: 9px; font-weight: 900; }
.whatsapp-flow strong { font-size: 9px; }
.whatsapp-flow small { color: var(--muted); font-size: 7px; line-height: 1.35; }
.whatsapp-qr-panel { grid-column: 1/-1; display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 22px; align-items: center; padding: 18px; border: 1px solid #bcd7ca; border-radius: 14px; background: var(--green-soft); }
.whatsapp-qr-panel img { display: block; width: 210px; height: 210px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; object-fit: contain; }
.whatsapp-qr-panel strong { display: block; margin-bottom: 9px; color: var(--green); font: 700 16px Georgia,serif; }
.whatsapp-qr-panel ol { margin: 0 0 10px; padding-left: 18px; color: var(--ink-2); font-size: 9px; line-height: 1.8; }
.whatsapp-qr-panel p { margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: #fff; font-size: 9px; }
.whatsapp-qr-panel small { color: var(--muted); font-size: 8px; }
.connection-missing { grid-column: 1/-1; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 4px 12px; padding: 11px 13px; border: 1px dashed #d9c392; border-radius: 11px; color: #725222; background: #fff9ec; }
.connection-missing strong { font-size: 8px; }
.connection-missing span { min-width: 0; font-size: 8px; overflow-wrap: anywhere; }
.connection-missing small { grid-column: 1/-1; color: #8c7954; font-size: 7px; }
.communication-policy { margin-bottom: 16px; padding: 14px 17px; border: 1px solid #dbc89d; border-radius: 14px; background: #fffaf0; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; }
.communication-policy > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #745522; background: #f2dfb8; font-weight: 900; }
.communication-policy strong { color: #563f19; font-size: 11px; }
.communication-policy p { margin: 4px 0 0; color: #7f6a43; font-size: 9px; line-height: 1.5; }
.communication-readiness { margin-bottom: 15px; padding: 17px 20px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; align-items: center; }
.communication-readiness h2 { margin: 3px 0 5px; font: 700 15px Georgia,serif; }
.communication-readiness p:last-child { margin: 0; color: var(--muted); font-size: 8px; }
.readiness-actions { display: flex; gap: 7px; }
.readiness-people { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.readiness-people button { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--surface-2); text-align: left; cursor: pointer; }
.readiness-people button:hover { border-color: #91b3a6; background: #fff; }
.readiness-people .avatar { grid-row: 1/3; width: 30px; height: 30px; min-width: 30px; font-size: 8px; }
.readiness-people span { min-width: 0; }
.readiness-people strong,.readiness-people small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.readiness-people strong { font-size: 8px; }
.readiness-people small { color: var(--muted); font-size: 7px; }
.readiness-people b { grid-column: 2; color: var(--green); font-size: 7px; }
.message-template-panel { margin-bottom: 15px; padding: 20px; }
.message-template-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.message-template-card { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.message-template-card > div:first-child,.message-template-card footer,.message-template-card footer > div { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.message-template-card > div:first-child small { color: var(--muted); font-size: 7px; }
.message-template-card h3 { margin: 10px 0 5px; font: 700 13px Georgia,serif; }
.message-template-card p { display: -webkit-box; min-height: 48px; margin: 0; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.message-template-card footer { align-items: flex-end; margin-top: 12px; padding-top: 9px; border-top: 1px solid var(--line); }
.message-template-card footer > span { min-width: 0; color: var(--muted); font-size: 7px; overflow-wrap: anywhere; }
.message-template-form { margin-top: 15px; padding: 16px; border: 1px dashed #91b3a6; border-radius: 13px; background: var(--surface-2); }
.message-template-form footer { display: flex; justify-content: flex-end; margin-top: 12px; }
.communication-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 15px; align-items: start; }
.communication-builder,.communication-history,.communication-queue { padding: 20px; }
.communication-presets { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.communication-filter-grid { margin-top: 15px; padding-top: 15px; border-top: 1px dashed var(--line); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.official-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 13px; border: 1px solid #bcd7ca; border-radius: 12px; background: var(--green-soft); }
.official-fields[hidden] { display: none; }
.communication-risk-note { display:flex; align-items:flex-start; gap:9px; padding:10px 11px; border:1px solid #f0c36a; border-radius:10px; background:#fff8e8; color:#704b0c; }
.communication-risk-note > span { display:grid; place-items:center; flex:0 0 20px; width:20px; height:20px; border-radius:50%; background:#e6a32e; color:#fff; font-weight:900; font-size:10px; }
.communication-risk-note div { display:grid; gap:2px; }
.communication-risk-note strong { font-size:8px; }
.communication-risk-note small { color:#775b29; font-size:7px; line-height:1.45; }
.mode-help { margin: 0; padding: 9px 11px; border-radius: 9px; color: var(--muted); background: var(--surface-2); font-size: 8px; line-height: 1.45; }
.mode-help[hidden] { display: none; }
.communication-preview-grid { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.communication-preview-grid > section { min-height: 175px; border: 1px solid var(--line); border-radius: 14px; padding: 15px; background: var(--surface-2); }
.preview-label { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.communication-preview-grid > section > strong { display: block; margin: 4px 0 11px; color: var(--green); font: 700 26px Georgia,serif; }
.communication-recipient-preview { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.communication-recipient-preview > span { display: inline-flex; align-items: center; gap: 6px; max-width: 190px; padding: 4px 7px 4px 4px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.communication-recipient-preview .avatar { width: 24px; height: 24px; min-width: 24px; font-size: 7px; }
.communication-recipient-preview strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.communication-recipient-preview > small,.communication-recipient-preview > p { margin: 0; color: var(--muted); font-size: 8px; }
.phone-preview { color: #243d35; background: linear-gradient(160deg,#eef5f0,#f8f5ed) !important; }
.phone-preview > div { display: flex; align-items: center; gap: 8px; }
.phone-preview > div > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: 8px; font-weight: 800; }
.phone-preview > div > strong { font-size: 9px; }
.phone-preview > p { position: relative; margin: 13px 0 8px 9px; padding: 10px 12px; border-radius: 4px 11px 11px 11px; background: #dff1e6; box-shadow: 0 2px 6px rgba(26,65,54,.08); font-size: 9px; line-height: 1.5; white-space: pre-wrap; }
.phone-preview > small { color: var(--muted); font-size: 7px; }
.communication-builder-footer { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.communication-builder-footer p { margin: 0; color: var(--muted); font-size: 9px; }
.communication-card-list { display: grid; gap: 10px; max-height: 760px; overflow: auto; }
.communication-card { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; transition: .15s; }
.communication-card.selected { border-color: #91b3a6; box-shadow: 0 0 0 3px rgba(45,106,88,.09); }
.communication-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.communication-card > div:first-child small { color: var(--muted); font-size: 7px; }
.communication-card h3 { margin: 10px 0 5px; font: 700 14px Georgia,serif; }
.communication-card p { margin: 0 0 10px; color: var(--muted); font-size: 8px; }
.communication-card footer { margin-top: 11px; display: flex; justify-content: space-between; align-items: center; }
.communication-queue { margin-top: 15px; }
.communication-queue .panel-header > div:last-child { display: flex; gap: 7px; }
.queue-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.queue-meta span { padding: 4px 7px; border-radius: 999px; color: var(--muted); background: var(--surface-2); font-size: 7px; }
.communication-queue-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.queue-warning { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 10px 12px; border: 1px solid #dbc89d; border-radius: 10px; color: #725222; background: #fff9ec; font-size: 8px; }
.queue-warning span { color: #8c7954; }
.media-reminder { margin: 12px 0; padding: 11px 13px; border-radius: 11px; background: var(--gold-soft); display: flex; align-items: center; gap: 10px; }
.media-reminder > span { font-size: 18px; }
.media-reminder strong { font-size: 9px; }
.media-reminder p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }
.communication-queue-list { display: grid; gap: 8px; }
.communication-recipient { display: grid; grid-template-columns: minmax(210px,1.1fr) minmax(240px,1.4fr) auto minmax(300px,auto); gap: 12px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.communication-recipient.sent,.communication-recipient.delivered,.communication-recipient.read { border-color: #c8ded1; background: #f5faf7; }
.communication-recipient.failed { border-color: #e7c0c0; background: #fff8f8; }
.communication-recipient.queued { border-color: #d5ccb8; background: #fffcf5; }
.communication-recipient.skipped { opacity: .68; }
.communication-recipient.blocked { border-style: dashed; opacity: .72; background: #f7f7f5; }
.communication-message-snippet { color: var(--muted); font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.delivery-error { display: block; margin-top: 4px; color: var(--danger); font-size: 7px; white-space: normal; }
.communication-recipient-actions { display: flex; justify-content: flex-end; gap: 6px; }
.delivery-api-note { align-self: center; max-width: 150px; color: var(--muted); font-size: 7px; line-height: 1.3; }
.delivery-finished { color: var(--green); font-weight: 700; }
.whatsapp-button { color: #fff; background: #247c58; border-color: #247c58; text-decoration: none; }
.whatsapp-button:hover { background: #1b6748; }
.muted-badge { color: var(--muted); background: #eef0ed; }
.queue-limit-note { color: var(--muted); font-size: 8px; text-align: center; }

/* Reports */
.report-hero { color: #fff; background: radial-gradient(circle at 82% 0,color-mix(in srgb,var(--green-soft) 30%,transparent),transparent 34%),linear-gradient(135deg,var(--sidebar-bg),var(--green)); border-radius: 18px; padding: 25px; display: grid; grid-template-columns: 120px 1fr 1fr; gap: 25px; align-items: center; margin-bottom: 16px; box-shadow:0 16px 36px color-mix(in srgb,var(--green) 18%,transparent); }
.quality-ring { width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(color-mix(in srgb,var(--green) 30%,#fff) var(--score),rgba(255,255,255,.14) 0); position: relative; }
.quality-ring::after { content:""; position:absolute; inset:9px; background:color-mix(in srgb,var(--sidebar-bg) 76%,var(--green)); border-radius:50%; }
.quality-ring > span { position:relative; z-index:1; text-align:center; }
.quality-ring strong,.quality-ring small { display:block; }
.quality-ring strong { font:700 25px Georgia,serif; }
.quality-ring small { color:rgba(255,255,255,.55); font-size:8px; }
.report-hero h2 { margin:0; font:700 23px Georgia,serif; }
.report-hero p:not(.eyebrow) { color:rgba(255,255,255,.62); font-size:10px; line-height:1.5; }
.quality-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.quality-stats span { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:9px; padding:10px; font-size:8px; color:rgba(255,255,255,.6); }
.quality-stats strong { color:#fff; font:700 15px Georgia,serif; margin-right:4px; }
.reports-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.progress.gold span { background:var(--gold); }
.quality-alerts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:14px; }
.quality-alert { background:#fff; border:1px solid var(--line); border-radius:13px; padding:14px; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; }
.quality-alert > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--gold-soft); color:var(--warning); }
.quality-alert strong { font-size:10px; }
.quality-alert p { color:var(--muted); font-size:8px; margin:4px 0 0; }
.team-productivity{margin-bottom:16px;padding:0;overflow:hidden}.team-productivity>header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.team-productivity>header h2{margin:2px 0 5px;font:700 22px Georgia,serif}.team-productivity>header p:not(.eyebrow){margin:0;color:var(--muted);font-size:10px}.team-productivity-actions{display:flex;gap:8px;align-items:center}.team-productivity-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:16px 22px;background:var(--surface-2)}.team-productivity-metrics article{display:flex;gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-productivity-metrics article>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft);font-size:15px;font-weight:850}.team-productivity-metrics article.attention>span{color:var(--danger);background:var(--danger-soft)}.team-productivity-metrics strong,.team-productivity-metrics small{display:block}.team-productivity-metrics strong{font-size:19px}.team-productivity-metrics small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.3}.team-productivity-note{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 14px;background:var(--surface-2)}.team-productivity-note span{padding:7px 9px;border-radius:8px;color:var(--warning);background:var(--warning-soft);font-size:8px}.team-productivity-table{overflow:auto}.team-productivity-table table{width:100%;border-collapse:collapse}.team-productivity-table th,.team-productivity-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.team-productivity-table th{color:var(--muted);background:var(--surface);text-transform:uppercase;letter-spacing:.06em;font-size:7px}.team-productivity-table td{font-size:9px}.team-productivity-table td>strong,.team-productivity-table td>small{display:block}.team-productivity-table td>strong{font-size:12px}.team-productivity-table td>small{margin-top:3px;color:var(--muted);font-size:7px}.team-productivity-person{display:flex;align-items:center;gap:9px}.team-productivity-person>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--green),var(--sidebar-bg));font-weight:850}.team-productivity-person strong,.team-productivity-person small{display:block}.team-productivity-overdue{display:inline-grid;min-width:29px;height:29px;place-items:center;border-radius:9px;color:var(--green);background:var(--green-soft);font-weight:850}.team-productivity-overdue.has-overdue{color:var(--danger);background:var(--danger-soft)}.team-productivity>footer{padding:11px 22px;color:var(--muted);background:var(--surface-2);font-size:8px;line-height:1.45}.team-interval-note{margin:10px 0 0;padding:9px 11px;border-radius:9px;color:var(--muted);background:var(--surface-2);font-size:8px;line-height:1.4}
@media(max-width:1000px){.team-productivity-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.team-productivity>header{align-items:flex-start;flex-direction:column}.team-productivity-actions{width:100%;align-items:stretch;flex-direction:column}.team-productivity-actions>*{width:100%}.team-productivity-metrics{grid-template-columns:1fr 1fr;padding:13px}.team-productivity-metrics article:last-child{grid-column:1/-1}.team-productivity-note{padding:0 13px 13px}.team-productivity-table th,.team-productivity-table td{padding:10px}.team-productivity>footer{padding:10px 13px}}

/* Categories, forms and appearance */
.category-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--category-color) 28%,transparent);border-radius:999px;padding:4px 8px;color:var(--category-color);background:color-mix(in srgb,var(--category-color) 12%,var(--surface));font-size:8px;font-weight:750}.category-picker{padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.appearance-settings{display:flex;align-items:center;justify-content:space-between;gap:22px}.appearance-settings>div{max-width:560px}.appearance-settings p{color:var(--muted);font-size:10px;line-height:1.5}.settings-icon{float:left;display:grid;width:42px;height:42px;place-items:center;margin:0 13px 18px 0;border-radius:13px;color:var(--green);background:var(--green-soft);font-size:19px}.category-admin-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.category-admin-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface-2)}.category-admin-group>header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.category-admin-group>header strong{font-size:10px}.category-admin-group>header small{color:var(--muted);font-size:8px}.category-admin-item{display:grid;grid-template-columns:9px 1fr 30px 30px;gap:8px;align-items:center;min-height:54px;padding:8px 9px 8px 13px;border-bottom:1px solid var(--line);background:var(--surface)}.category-admin-item:last-child{border-bottom:0}.category-admin-item.inactive{opacity:.58}.category-admin-item>i{width:9px;height:30px;border-radius:99px}.category-admin-item strong,.category-admin-item small{display:block}.category-admin-item strong{font-size:10px}.category-admin-item small{margin-top:3px;color:var(--muted);font-size:8px}
.appearance-card{width:min(560px,94vw)}.appearance-section{padding:17px 0;border-bottom:1px solid var(--line)}.appearance-section>strong{display:block;margin-bottom:11px;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.appearance-modes{display:grid;grid-template-columns:1fr 1fr;gap:9px}.appearance-modes button,.palette-grid button{border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface-2);cursor:pointer}.appearance-modes button{min-height:48px;font-weight:750}.appearance-modes button.active,.palette-grid button.active{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent)}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.palette-grid button{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;min-height:58px;padding:9px;text-align:left}.palette-grid button>span{display:flex;height:34px;overflow:hidden;border-radius:8px}.palette-grid button i{flex:1}.palette-grid button b{font-size:10px}.appearance-help{color:var(--muted);font-size:9px;line-height:1.5}
.public-form-categories,.general-form-categories{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.general-form-banner{margin-bottom:14px}.general-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:34px}.general-form-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.general-form-card.inactive{opacity:.66}.general-form-card>header{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.general-form-card>header>span:first-child{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--green);background:var(--green-soft);font-size:17px}.general-form-card h3{margin:0;font:700 14px Georgia,serif}.general-form-card header p{margin:4px 0 0;color:var(--muted);font-size:8px}.general-form-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.general-form-stats span{padding:8px;border-radius:9px;background:var(--surface-2);text-align:center}.general-form-stats strong,.general-form-stats small{display:block}.general-form-stats strong{font:700 16px Georgia,serif}.general-form-stats small{color:var(--muted);font-size:7px}.general-form-card .capture-url{margin:10px 0}.general-form-card footer{display:flex;flex-wrap:wrap;gap:6px}.general-form-empty{grid-column:1/-1;display:flex;align-items:center;gap:14px}.general-form-empty>span{font-size:28px}.general-form-empty h2{margin:0;font:700 17px Georgia,serif}.general-form-empty p{margin:5px 0;color:var(--muted);font-size:9px}.general-form-empty .button{margin-left:auto}.capture-leader-title{margin-top:8px}

/* Agenda */
.agenda-metrics .metric-card,.territory-metrics .metric-card{min-height:125px}.agenda-toolbar{display:grid;grid-template-columns:auto minmax(270px,1fr) auto;align-items:center;gap:18px;margin-bottom:15px;padding:12px 15px}.view-switch{display:flex;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.view-switch button{min-height:32px;padding:0 12px;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer;font-size:9px;font-weight:750}.view-switch button.active{color:#fff;background:var(--green)}.calendar-navigation{display:flex;justify-content:center;align-items:center;gap:9px}.calendar-navigation strong{min-width:150px;text-align:center;text-transform:capitalize;font:700 14px Georgia,serif}.calendar-integration{display:flex;align-items:center;gap:8px;max-width:295px}.calendar-integration>span,.google-calendar-note>span{display:grid;width:32px;height:32px;min-width:32px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);font-weight:900}.calendar-integration strong,.calendar-integration small{display:block}.calendar-integration strong{font-size:8px}.calendar-integration small{margin-top:2px;color:var(--muted);font-size:7px;line-height:1.3}.calendar-panel{padding:0;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:var(--surface-2)}.calendar-weekdays span{padding:11px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:800}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-width:0;min-height:118px;padding:9px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:hover{background:var(--surface-2)}.calendar-day.outside{color:var(--muted);opacity:.55}.calendar-day>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;font-size:9px;font-weight:750}.calendar-day.today>span{color:#fff;background:var(--green)}.calendar-day>div{display:grid;gap:4px;margin-top:4px}.calendar-event{display:block;overflow:hidden;padding:5px 6px;border-left:3px solid var(--green);border-radius:5px;color:var(--ink-2);background:var(--green-soft);font-size:7px;font-style:normal;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-event.priority-high{border-color:var(--gold);background:var(--gold-soft)}.calendar-event.priority-urgent{border-color:var(--danger);background:var(--danger-soft)}.calendar-day>div>small{color:var(--muted);font-size:7px}.agenda-upcoming{margin-top:15px}.agenda-list{display:grid;gap:10px}.agenda-event-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:13px;background:var(--surface)}.agenda-event-card.priority-high{border-left-color:var(--gold)}.agenda-event-card.priority-urgent{border-left-color:var(--danger)}.agenda-event-card.status-completed,.agenda-event-card.status-cancelled{opacity:.65}.agenda-event-time strong,.agenda-event-time small{display:block}.agenda-event-time strong{font:700 18px Georgia,serif}.agenda-event-time small{margin-top:3px;color:var(--muted);font-size:8px}.agenda-event-main h3{margin:7px 0 4px;font:700 14px Georgia,serif}.agenda-event-main p,.agenda-event-main>small{display:block;margin:0;color:var(--muted);font-size:8px;line-height:1.45}.agenda-type{margin-right:7px;color:var(--green);text-transform:uppercase;letter-spacing:.06em;font-size:7px;font-weight:850}.agenda-status.planned{background:var(--surface-2);color:var(--muted)}.agenda-status.confirmed{background:var(--green-soft);color:var(--green)}.agenda-status.completed{background:#e6f0ea;color:#397257}.agenda-status.cancelled{background:var(--danger-soft);color:var(--danger)}.agenda-event-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.google-button{color:#fff;border-color:#3170d5!important;background:#3170d5!important;text-decoration:none}.google-calendar-note{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.google-calendar-note strong,.google-calendar-note small{display:block}.google-calendar-note strong{font-size:9px}.google-calendar-note small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.compact-participant-picker{padding:8px}.compact-participant-picker select{width:100%;min-height:125px;border:0;color:var(--ink);background:var(--surface);outline:0;font-size:9px}.compact-participant-picker small{display:block;padding:5px 3px 0;color:var(--muted);font-size:7px}

/* Territory */
.territory-note{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;margin-bottom:15px;padding:14px 17px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));border-radius:14px;background:var(--green-soft)}.territory-note>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#fff;background:var(--green);font-size:19px}.territory-note strong{font-size:10px}.territory-note p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.territory-filters{display:flex;align-items:center;gap:9px;margin-bottom:15px;padding:12px}.territory-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:15px;align-items:start}.territory-map{min-width:0}.territory-legend{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:7px}.territory-legend i{width:12px;height:12px;border-radius:3px;background:color-mix(in srgb,var(--green) 25%,var(--surface))}.territory-legend i:last-of-type{background:var(--green)}.territory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:9px;max-height:700px;overflow:auto;padding-right:3px}.territory-tile{grid-column:span var(--tile-span);min-height:114px;padding:13px;border:1px solid color-mix(in srgb,var(--green) calc(var(--strength) * 45%),var(--line));border-radius:13px;color:var(--ink);background:color-mix(in srgb,var(--green) calc(var(--strength) * 24%),var(--surface));text-align:left;cursor:pointer;transition:.16s}.territory-tile:hover,.territory-tile.selected{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--green)}.territory-tile.selected{outline:3px solid color-mix(in srgb,var(--green) 15%,transparent)}.territory-tile.unmapped{border-style:dashed;background:var(--gold-soft)}.territory-tile small,.territory-tile strong,.territory-tile b,.territory-tile span{display:block}.territory-tile small{color:var(--muted);font-size:7px}.territory-tile strong{margin:9px 0 4px;overflow:hidden;font:700 13px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.territory-tile b{font:700 27px Georgia,serif}.territory-tile span{margin-top:4px;color:var(--muted);font-size:7px}.territory-detail{position:sticky;top:87px}.territory-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:13px}.territory-detail-stats span{padding:9px;border-radius:9px;background:var(--surface-2);text-align:center}.territory-detail-stats strong,.territory-detail-stats small{display:block}.territory-detail-stats strong{font:700 17px Georgia,serif}.territory-detail-stats small{margin-top:2px;color:var(--muted);font-size:7px}.territory-people{display:grid;max-height:440px;overflow:auto}.territory-people button{display:grid;grid-template-columns:31px 1fr;gap:9px;align-items:center;padding:8px 2px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer}.territory-people .avatar{width:31px;height:31px;font-size:8px}.territory-people strong,.territory-people small{display:block}.territory-people strong{font-size:9px}.territory-people small{margin-top:3px;color:var(--muted);font-size:7px}.territory-more{color:var(--muted);font-size:8px;text-align:center}

/* Interactive electoral map */
.territory-layout{grid-template-columns:minmax(0,1.85fr) minmax(290px,.62fr)}
.territory-map{min-width:0;padding:0;overflow:hidden}
.map-panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;border-bottom:1px solid var(--line);background:var(--surface)}
.map-panel-header h2{margin:0;font:700 17px Georgia,serif}.map-panel-header p{margin:4px 0 0;color:var(--muted);font-size:8px}
.map-header-legend{display:flex;gap:12px;color:var(--muted);font-size:7px}.map-header-legend span{display:flex;align-items:center;gap:5px}.map-header-legend i{width:11px;height:11px;border-radius:3px;background:color-mix(in srgb,var(--green) 20%,var(--surface))}.map-header-legend span:last-child i{background:var(--green)}
.electoral-map-shell{position:relative;isolation:isolate;background:#dce7e4}.electoral-map{width:100%;height:610px;z-index:1}
.map-loading,.map-error{position:absolute;inset:0;z-index:700;display:grid;place-content:center;justify-items:center;gap:11px;color:var(--muted);background:var(--surface-2)}
.map-loading>span{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:map-spin .8s linear infinite}.map-loading strong{font-size:9px}@keyframes map-spin{to{transform:rotate(360deg)}}
.map-error{text-align:center}.map-error>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--danger);background:var(--danger-soft);font-size:18px}.map-error strong{font:700 15px Georgia,serif}.map-error p{margin:0 0 4px;font-size:9px}
.map-stat-overlays{position:absolute;z-index:500;left:10px;bottom:10px;display:flex;gap:7px;pointer-events:none}.map-stat-overlays>span{min-width:78px;padding:10px 12px;border:1px solid rgba(23,53,47,.12);border-radius:9px;background:rgba(255,255,255,.93);box-shadow:0 5px 17px rgba(19,55,47,.14);backdrop-filter:blur(8px)}.map-stat-overlays small,.map-stat-overlays strong{display:block}.map-stat-overlays small{color:#687874;font-size:7px}.map-stat-overlays strong{margin-top:2px;color:#2561b7;font:700 19px Georgia,serif}.map-stat-overlays span:last-child strong{color:#26875a}
.map-floating-actions{position:absolute;z-index:500;top:10px;right:10px;display:flex;gap:7px}.map-action{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(23,53,47,.13);border-radius:8px;color:#38534d;background:rgba(255,255,255,.94);box-shadow:0 4px 13px rgba(19,55,47,.11);cursor:pointer;font-size:16px}.map-action:hover,.map-action.active{color:#fff;background:var(--green);border-color:var(--green)}
.map-source{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:7px 13px;border-top:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:7px}.map-source strong{color:var(--ink)}.map-source a{color:var(--green-2);text-decoration:none;font-weight:750}
.electoral-marker-holder,.electoral-cluster-holder{border:0!important;background:transparent!important}.electoral-marker-holder>span,.electoral-cluster-holder>span{display:grid;width:var(--bubble-size);height:var(--bubble-size);place-items:center;border:3px solid rgba(255,255,255,.92);border-radius:50%;color:#fff;background:color-mix(in srgb,#2e78ef calc(62% + var(--bubble-strength)*30%),#6eabff);box-shadow:0 4px 12px rgba(28,89,181,.34);font-size:11px;font-weight:850;line-height:1}.electoral-marker-holder.selected>span{outline:4px solid color-mix(in srgb,var(--gold) 58%,transparent);transform:scale(1.08)}
.electoral-marker-holder>span,.electoral-cluster-holder>span{position:relative}
.electoral-cluster-holder>span{width:100%;height:100%;border-width:3px;background:#337cf0;box-shadow:0 5px 15px rgba(28,89,181,.4);font-size:12px}.electoral-cluster-holder>span::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(51,124,240,.32);border-radius:50%}
.electoral-map .leaflet-tooltip{padding:7px 9px;border:0;border-radius:8px;color:#314a44;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(20,50,43,.18);font-size:8px;line-height:1.45}.electoral-map .leaflet-tooltip strong{font-size:9px}.electoral-map .leaflet-control-attribution{font-size:7px}.electoral-map .leaflet-bar{border:0;box-shadow:0 4px 14px rgba(20,50,43,.14)}.electoral-map .leaflet-bar a{color:#36534c;border-color:#e2e8e5;background:rgba(255,255,255,.94)}
.territory-map.map-expanded{position:fixed;z-index:95;inset:12px;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.34)}.territory-map.map-expanded .electoral-map{height:calc(100vh - 105px)}
.territory-detail{padding:17px}.territory-detail .eyebrow{margin-bottom:4px;font-size:7px}.territory-empty-detail{display:grid;min-height:260px;place-content:center;justify-items:center;gap:8px;color:var(--muted);text-align:center}.territory-empty-detail>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:var(--green);background:var(--green-soft);font-size:20px}.territory-empty-detail p{max-width:190px;font-size:8px;line-height:1.5}
.territory-ranking{margin-top:15px}.territory-ranking>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.territory-ranking button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface-2);text-align:left;cursor:pointer}.territory-ranking button:hover{border-color:var(--green);background:var(--green-soft)}.territory-ranking button>b{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:8px}.territory-ranking button strong,.territory-ranking button small{display:block}.territory-ranking button strong{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.territory-ranking button small{margin-top:3px;color:var(--muted);font-size:7px}.territory-ranking button em{font:700 15px Georgia,serif;font-style:normal}
.territory-review{margin-bottom:15px;padding:0;overflow:hidden}.territory-review>.panel-header{padding:16px 18px;border-bottom:1px solid var(--line)}.territory-review .badge.warning{color:#9a5b00;background:var(--gold-soft)}.territory-review-help{display:flex;align-items:center;gap:10px;padding:11px 18px;color:var(--muted);background:var(--surface-2);font-size:9px}.territory-review-help>span{display:grid;width:27px;height:27px;min-width:27px;place-items:center;border-radius:8px;color:#9a5b00;background:var(--gold-soft);font-weight:850}.territory-review-help p{margin:0;line-height:1.45}.territory-review-list{display:grid;max-height:360px;overflow:auto}.territory-review-row{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,300px) auto;align-items:end;gap:10px;padding:13px 18px;border-top:1px solid var(--line)}.territory-review-row:first-child{border-top:0}.territory-review-source>span,.territory-review-row label>span{display:block;margin-bottom:4px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:7px;font-weight:800}.territory-review-source strong,.territory-review-source small{display:block}.territory-review-source strong{font-size:11px}.territory-review-source small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}.territory-review-row label .filter-select{width:100%;max-width:none}.territory-review-readonly{align-self:center;color:var(--muted);font-size:8px}.territory-review-loading,.territory-review-success{display:flex;align-items:center;gap:12px;min-height:86px;padding:17px 18px}.territory-review-loading>span{width:27px;height:27px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:map-spin .8s linear infinite}.territory-review-loading strong,.territory-review-loading p,.territory-review-success strong,.territory-review-success p{display:block;margin:0}.territory-review-loading p,.territory-review-success p{margin-top:4px;color:var(--muted);font-size:9px}.territory-review-success>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:var(--green);font-weight:900}

/* Strategy */
.strategy-hero{display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:25px;align-items:center;margin-bottom:15px;padding:24px;border-radius:18px;color:#fff;background:radial-gradient(circle at 80% 0,color-mix(in srgb,var(--gold) 26%,transparent),transparent 35%),linear-gradient(135deg,var(--green),var(--sidebar-bg))}.strategy-hero>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:0 13px;align-items:center}.strategy-hero .eyebrow{grid-column:1/-1}.strategy-hero>div:first-child strong{font:700 53px Georgia,serif}.strategy-hero>div:first-child span{color:rgba(255,255,255,.67);font-size:9px;line-height:1.5}.strategy-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.strategy-hero-metrics span{min-height:80px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.07)}.strategy-hero-metrics strong,.strategy-hero-metrics small{display:block}.strategy-hero-metrics strong{font:700 23px Georgia,serif}.strategy-hero-metrics small{margin-top:7px;color:rgba(255,255,255,.61);font-size:8px;line-height:1.4}.strategy-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.strategy-stat{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.strategy-stat>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft)}.strategy-stat strong,.strategy-stat small{display:block}.strategy-stat strong{font:700 19px Georgia,serif}.strategy-stat small{margin-top:3px;color:var(--muted);font-size:7px}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.strategy-ranking{display:grid;gap:11px}.strategy-ranking>div{display:grid;grid-template-columns:27px 1fr 34px;gap:9px;align-items:center}.strategy-ranking>div>b{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:8px}.strategy-ranking span strong{display:block;margin-bottom:5px;font-size:9px}.strategy-ranking i,.quality-bars i{display:block;height:5px;overflow:hidden;border-radius:99px;background:var(--surface-2)}.strategy-ranking u,.quality-bars u{display:block;height:100%;border-radius:inherit;background:var(--green);text-decoration:none}.strategy-ranking em{font-style:normal;font-weight:800;font-size:9px;text-align:right}.strategy-leaders{display:grid;gap:4px}.strategy-leaders button{display:grid;grid-template-columns:24px 32px 1fr 35px;gap:8px;align-items:center;padding:7px;border:0;border-radius:9px;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.strategy-leaders button:hover{background:var(--surface-2)}.strategy-leaders .avatar{width:32px;height:32px;font-size:8px}.strategy-leaders strong,.strategy-leaders small{display:block}.strategy-leaders strong{font-size:9px}.strategy-leaders small{margin-top:3px;color:var(--muted);font-size:7px}.strategy-leaders em{font:700 14px Georgia,serif;font-style:normal;text-align:right}.quality-bars{display:grid;gap:16px}.quality-bars>div{display:grid;grid-template-columns:1fr auto;gap:6px}.quality-bars span,.quality-bars strong{font-size:9px}.quality-bars i{grid-column:1/-1;height:8px}.strategy-actions{margin-top:22px}.strategy-actions .section-title-row{margin-bottom:14px}.strategy-actions h2{margin:0;font:700 23px Georgia,serif}.strategy-actions .section-title-row>small{max-width:380px;color:var(--muted);font-size:8px;line-height:1.5;text-align:right}.recommendation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.recommendation{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.recommendation>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--green);background:var(--green-soft);font-size:17px}.recommendation.warning>span,.recommendation.attention>span{color:var(--warning);background:var(--gold-soft)}.recommendation h3{margin:0;font:700 12px Georgia,serif}.recommendation p{margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.45}

/* Dark mode */
:root[data-theme="dark"] body,:root[data-theme="dark"] .app-loading{background:var(--paper)}:root[data-theme="dark"] .topbar{background:color-mix(in srgb,var(--surface) 88%,transparent)}:root[data-theme="dark"] .period-chip,:root[data-theme="dark"] .toolbar,:root[data-theme="dark"] .table-wrap,:root[data-theme="dark"] .settings-card,:root[data-theme="dark"] .approval-card,:root[data-theme="dark"] .mobilization-card,:root[data-theme="dark"] .planning-header,:root[data-theme="dark"] .planning-footer,:root[data-theme="dark"] .communication-card,:root[data-theme="dark"] .communication-recipient,:root[data-theme="dark"] .message-template-card,:root[data-theme="dark"] .operational-card,:root[data-theme="dark"] .auth-card,:root[data-theme="dark"] .public-form-card,:root[data-theme="dark"] .drawer,:root[data-theme="dark"] .small-card,:root[data-theme="dark"] .detail-card,:root[data-theme="dark"] .profile-card{background:var(--surface)}:root[data-theme="dark"] .auth-form-side,:root[data-theme="dark"] .public-form-panel,:root[data-theme="dark"] .planning-shell{background:var(--paper)}:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea,:root[data-theme="dark"] .filter-select,:root[data-theme="dark"] .mapping-card select,:root[data-theme="dark"] .compact-select select,:root[data-theme="dark"] .global-search kbd{color:var(--ink);border-color:var(--line);background:var(--surface)}:root[data-theme="dark"] .data-table th,:root[data-theme="dark"] .planning-table tfoot td,:root[data-theme="dark"] .planning-table tfoot td:first-child{background:var(--surface-2)}:root[data-theme="dark"] .data-table td{border-color:var(--line)}:root[data-theme="dark"] .data-table tbody tr:hover,:root[data-theme="dark"] .operational-card:hover,:root[data-theme="dark"] .readiness-people button:hover{background:var(--surface-2)}:root[data-theme="dark"] .tag-badge{background:color-mix(in srgb,var(--tag-color) 18%,var(--surface));border-color:color-mix(in srgb,var(--tag-color) 30%,var(--surface))}:root[data-theme="dark"] .communication-policy,:root[data-theme="dark"] .queue-warning,:root[data-theme="dark"] .connection-missing{background:#302a1f;border-color:#5a4b30}:root[data-theme="dark"] .communication-policy strong,:root[data-theme="dark"] .queue-warning strong,:root[data-theme="dark"] .connection-missing{color:#ead6a9}:root[data-theme="dark"] .communication-policy p,:root[data-theme="dark"] .queue-warning span,:root[data-theme="dark"] .connection-missing small{color:#baaa88}:root[data-theme="dark"] .phone-preview{color:var(--ink);background:linear-gradient(160deg,#1b2923,#28251e)!important}:root[data-theme="dark"] .phone-preview>p{background:#254334}:root[data-theme="dark"] .quality-alert{background:var(--surface)}:root[data-theme="dark"] .metric-card.accent{background:linear-gradient(145deg,var(--green),var(--sidebar-bg))}

.toast-region { position: fixed; z-index: 100; bottom: 24px; right: 24px; display: grid; gap: 9px; width: min(370px, calc(100vw - 32px)); }
.toast { color: #fff; background: var(--sidebar-bg); padding: 13px 15px; border-radius: 12px; box-shadow: 0 13px 35px rgba(8,24,46,.28); display: flex; align-items: center; gap: 10px; animation: toast-in .22s ease both; font-size: 11px; }
.toast.error { background: #8d3f3a; }
.toast.success::before { content: "✓"; color: #5de48e; font-weight: 800; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

/* Mandato ON brand typography */
.section-title-row h1, .page-heading h1, .public-message h1, .public-form-card h2,
.auth-copy h1, .auth-card h2, .welcome-strip h1, .metric-value, .panel-header h2,
.rank-number, .rank-value strong, .nav-icon, .operational-icon {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.eyebrow.light { color: #9bc0ff; }
:root[data-palette="mandato"] .nav-item.active { box-shadow: inset 3px 0 var(--gold); }
:root[data-palette="mandato"] .user-menu .avatar { background: var(--gold); }

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-bottom { grid-template-columns: 1fr 1fr; }
  .dashboard-bottom > :last-child { grid-column: 1 / -1; }
  .leader-grid { grid-template-columns: 1fr 1fr; }
  .mobilization-grid { grid-template-columns: 1fr 1fr; }
  .operational-grid,.quality-alerts { grid-template-columns: 1fr 1fr; }
  .birthday-radar { grid-template-columns:1fr; }
  .birthday-radar-hero { grid-template-columns:1fr 190px; }
  .approval-data { grid-template-columns: repeat(3,1fr); }
  .role-guide { grid-template-columns: 1fr 1fr; }
  .address-grid { grid-template-columns: 100px 1fr 90px 1fr; }
  .address-grid .street { grid-column: span 2; }
  .address-grid .complement, .address-grid .neighborhood, .address-grid .city { grid-column: span 2; }
}

@media (max-width: 900px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 252px; transform: translateX(-100%); transition: .22s; box-shadow: 12px 0 35px rgba(0,0,0,.2); }
  .sidebar.open { transform: translateX(0); }
  :root[data-sidebar="collapsed"] .nav-item { grid-template-columns:27px 1fr auto; justify-items:stretch; padding:0 11px; }
  :root[data-sidebar="collapsed"] .nav-item > span:nth-child(2) { display:block; }
  :root[data-sidebar="collapsed"] .nav-count { display:inline-block; }
  :root[data-sidebar="collapsed"] .nav-group-toggle { grid-template-columns:27px 1fr 18px; justify-items:stretch; padding:0 11px; }
  :root[data-sidebar="collapsed"] .nav-group-toggle > span:nth-child(2),:root[data-sidebar="collapsed"] .nav-caret { display:block; }
  :root[data-sidebar="collapsed"] .nav-submenu:not([hidden]) { display:grid!important; }
  .mobile-only { display: grid; }
  .topbar { padding: 0 18px; }
  .today-label { display: none; }
  .content-area { padding: 23px 18px; }
  .dashboard-grid, .network-layout { grid-template-columns: 1fr; }
  .ranking-showcase-header { align-items:flex-start; flex-direction:column; }
  .ranking-showcase-actions { width:100%; justify-content:flex-start; }
  .ranking-showcase-intro,.ranking-showcase-grid { grid-template-columns:1fr; }
  .ranking-showcase-intro { gap:13px; }
  .ranking-showcase-intro > p { max-width:680px; margin:0; }
  .ranking-top-ten { min-height:0; }
  .network-controls { position: static; }
  .public-shell, .auth-shell { grid-template-columns: 1fr; }
  .public-brand-panel, .auth-visual { min-height: auto; padding-block: 30px; }
  .public-message { margin: 70px 0 40px; }
  .public-message h1 { font-size: 44px; }
  .public-form-panel { min-height: auto; padding: 30px 20px 50px; }
  .auth-visual { display: none; }
  .auth-form-side { min-height: 100vh; }
  .auth-mobile-mark { display: block; width: 112px; height: 64px; object-fit: contain; margin-bottom: 28px; }
  .capture-row { grid-template-columns: 1fr auto; }
  .capture-row .capture-url { grid-column: 1 / -1; grid-row: 2; }
  .settings-grid { grid-template-columns: 1fr; }
  .operational-grid,.quality-alerts { grid-template-columns:1fr; }
  .report-hero { grid-template-columns:100px 1fr; }
  .report-hero .quality-stats { grid-column:1/-1; }
  .profile-columns,.reports-grid { grid-template-columns:1fr; }
  .approval-data { grid-template-columns: 1fr 1fr; }
  .team-card { grid-template-columns: 1fr auto; }
  .team-card > .button { grid-column: 1 / -1; }
  .settings-card.wide { grid-column: auto; }
  .planning-filter-grid { grid-template-columns: 1fr 1fr; }
  .planning-metrics { grid-template-columns: 1fr 1fr; }
  .communication-layout { grid-template-columns: 1fr; }
  .message-template-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .communication-history { grid-row: auto; }
  .communication-filter-grid { grid-template-columns: 1fr 1fr; }
  .communication-recipient { grid-template-columns: 1fr auto; }
  .communication-message-snippet { grid-column: 1 / -1; grid-row: 2; }
  .communication-recipient-actions { grid-column: 1 / -1; grid-row: 3; justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 680px) {
  .global-search { width: auto; flex: 1; }
  .global-search kbd, .topbar-actions .button span:last-child { display: none; }
  .topbar-actions { gap: 8px; }
  #quick-add { width: 42px; padding: 0; font-size: 0; }
  #quick-add span { display: inline; font-size: 20px; }
  .metric-grid, .dashboard-bottom, .leader-grid { grid-template-columns: 1fr; }
  .leadership-ranking-panel { margin-inline:-4px; padding:19px 15px; border-radius:19px; }
  .birthday-radar { grid-template-columns:1fr; }
  .birthday-radar-hero { grid-template-columns:1fr 104px; min-height:210px; padding:20px 17px; }
  .birthday-radar-art img { width:102px; height:82px; }
  .birthday-radar-art > span { right:-4px; bottom:18px; min-width:79px; padding:6px 8px; }
  .birthday-radar-copy h2 { font-size:22px; }
  .birthday-person { grid-template-columns:48px 30px minmax(0,1fr); }
  .birthday-contact-status { grid-column:3; justify-self:start; margin-top:-6px; }
  .ranking-showcase-actions { display:grid; grid-template-columns:1fr 1fr; }
  .ranking-mode-switch { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); }
  .ranking-action { width:100%; }
  .ranking-showcase-intro h2 { font-size:28px; }
  .ranking-podium { min-height:302px; gap:4px; }
  .podium-place { height:292px; }
  .podium-avatar { width:58px; height:58px; font-size:13px; }
  .rank-1 .podium-avatar { width:70px; height:70px; font-size:16px; }
  .podium-medal { top:29px; left:calc(50% + 17px); width:25px; height:25px; border-width:2px; }
  .rank-1 .podium-medal { top:17px; left:calc(50% + 20px); width:28px; height:28px; }
  .podium-place { --podium-height:72px; }
  .podium-place.rank-1 { --podium-height:110px; }
  .podium-place.rank-2 { --podium-height:87px; }
  .podium-place.rank-3 { --podium-height:68px; }
  .podium-place > strong { font-size:8px; }
  .podium-place > small { font-size:6px; }
  .podium-base b { font-size:27px; }
  .ranking-showcase-footer { flex-direction:column; }
  .ranking-explainer-grid { grid-template-columns:1fr; }
  .mobilization-grid { grid-template-columns:1fr; }
  .dashboard-bottom > :last-child { grid-column: auto; }
  .metric-card { min-height: 125px; }
  .welcome-strip, .page-heading, .section-title-row { align-items: flex-start; flex-direction: column; }
  .page-actions { width: 100%; }
  .page-actions .button { flex: 1; }
  .form-grid.two, .form-grid.three { grid-template-columns: 1fr; }
  .address-grid { grid-template-columns: 1fr 1fr; }
  .address-grid .street, .address-grid .complement, .address-grid .neighborhood, .address-grid .city { grid-column: 1 / -1; }
  .drawer-dialog { width: 100vw; }
  .drawer-footer > p { display: none; }
  .drawer-footer { justify-content: flex-end; }
  .mapping-grid { grid-template-columns: 1fr; }
  .capture-row { grid-template-columns: 1fr; }
  .capture-row .capture-url { grid-column: auto; grid-row: auto; }
  .public-brand-panel { display: none; }
  .public-form-panel { min-height: 100vh; padding: 15px; }
  .public-form-card { box-shadow: none; padding: 26px 20px; }
  .auth-form-side { padding: 20px; }
  .auth-card { padding: 28px 22px; box-shadow: none; }
  .detail-metrics { grid-template-columns: 1fr 1fr; }
  .mini-people-grid { grid-template-columns: 1fr; }
  .profile-summary-grid,.profile-kpis { grid-template-columns:1fr 1fr; }
  .profile-actions .button { flex:1; }
  .interaction-filter-panel { grid-template-columns:1fr; }
  .interaction-periods { justify-content:flex-start; flex-wrap:wrap; }
  .interaction-selects { grid-column:auto; flex-direction:column; }
  .interaction-selects .filter-select { max-width:none; width:100%; }
  .interaction-table-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .interaction-import-dialog { width:100vw; max-height:100vh; max-height:100dvh; }
  .interaction-import-card { max-height:100vh; max-height:100dvh; border-radius:0; }
  .interaction-import-card > header,.interaction-import-content { padding-inline:15px; }
  .interaction-import-summary,.interaction-import-report-grid { grid-template-columns:1fr 1fr; }
  .interaction-import-actions { margin-inline:-15px; padding-inline:15px; flex-direction:column-reverse; }
  .interaction-import-actions .button,.interaction-import-finish footer .button { width:100%; }
  .interaction-import-finish footer { flex-direction:column-reverse; }
  .interaction-import-table { max-height:45vh; }
  .demand-card { grid-template-columns:1fr; }
  .demand-controls { justify-content:space-between; }
  .report-hero { grid-template-columns:1fr; text-align:center; }
  .quality-ring { margin:auto; }
  .quality-stats { grid-template-columns:1fr 1fr; text-align:left; }
  .approval-card-head,.approval-resolution { align-items:flex-start; flex-direction:column; }
  .approval-data { grid-template-columns:1fr; }
  .approval-actions { flex-direction:column-reverse; align-items:stretch; }
  .duplicate-alert label { grid-template-columns:1fr; }
  .role-guide { grid-template-columns:1fr; }
  .team-card { grid-template-columns:1fr; }
  .team-card > .button { grid-column:auto; }
  .planning-overlay { padding:0; place-items:stretch; }
  .planning-shell { width:100vw; height:100vh; height:100dvh; max-width:100vw; max-height:100dvh; border-radius:0; }
  .planning-header,.planning-body,.planning-footer { padding-inline: 14px; }
  .planning-filter-grid,.planning-metrics { grid-template-columns:1fr; }
  .planning-filter-actions,.planning-footer { align-items:stretch; flex-direction:column; }
  .planning-table-heading,.planning-table-tools { align-items:stretch; flex-direction:column; }
  .planning-table-search { min-width:0; width:100%; }
  .planning-table-tools .button { width:100%; }
  .planning-footer > div { display:grid; grid-template-columns:1fr 1fr; }
  .planning-export-scope { grid-column:1/-1; width:100%; }
  .planning-footer > div .button:last-child { grid-column:1/-1; }
  .column-builder { grid-template-columns:1fr; }
  .communication-policy { grid-template-columns:1fr; }
  .message-template-list,.official-fields { grid-template-columns:1fr; }
  .whatsapp-connect,.communication-readiness { grid-template-columns:1fr; }
  .whatsapp-connect-actions { min-width:0; }
  .whatsapp-flow,.readiness-people { grid-template-columns:1fr; }
  .whatsapp-qr-panel { grid-template-columns:1fr; justify-items:center; text-align:left; }
  .whatsapp-qr-panel > div { width:100%; }
  .readiness-actions { align-items:stretch; flex-direction:column; }
  .readiness-people { grid-column:auto; }
  .communication-presets { justify-content:flex-start; }
  .communication-filter-grid,.communication-preview-grid { grid-template-columns:1fr; }
  .communication-builder-footer,.communication-queue .panel-header { align-items:stretch; flex-direction:column; }
  .communication-queue-header-actions { justify-content:stretch; }
  .communication-queue-header-actions .button { flex:1; }
  .queue-warning { align-items:flex-start; flex-direction:column; }
  .communication-builder-footer .button { width:100%; }
  .communication-recipient { grid-template-columns:1fr; }
  .communication-recipient > .badge,.communication-message-snippet,.communication-recipient-actions { grid-column:auto; grid-row:auto; }
  .communication-recipient-actions .button,.communication-recipient-actions a { flex:1; text-align:center; }
}

@media (max-width:1180px){.territory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.general-form-grid{grid-template-columns:1fr 1fr}.agenda-toolbar{grid-template-columns:auto 1fr}.calendar-integration{grid-column:1/-1;max-width:none}.strategy-summary-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){:root[data-sidebar="collapsed"]{--sidebar:0px}:root[data-sidebar="collapsed"] .sidebar{width:252px;padding:24px 16px 16px}:root[data-sidebar="collapsed"] .sidebar-brand{justify-content:flex-start;padding:0 8px 29px;gap:12px}:root[data-sidebar="collapsed"] .sidebar-brand-copy,:root[data-sidebar="collapsed"] .nav-item>span:nth-child(2),:root[data-sidebar="collapsed"] .nav-count,:root[data-sidebar="collapsed"] .nav-section,:root[data-sidebar="collapsed"] .backup-mini,:root[data-sidebar="collapsed"] .user-menu>div,:root[data-sidebar="collapsed"] .user-menu>button{display:initial}:root[data-sidebar="collapsed"] .nav-item{display:grid;grid-template-columns:27px 1fr auto;justify-items:initial;padding:0 11px}:root[data-sidebar="collapsed"] .user-menu{display:grid;grid-template-columns:34px 1fr 28px 28px;justify-items:initial;padding:14px 4px 0}:root[data-sidebar="collapsed"] .sidebar-collapse,.sidebar-collapse{display:none}.territory-layout,.strategy-grid{grid-template-columns:1fr}.territory-detail{position:static}.general-form-grid{grid-template-columns:1fr}.agenda-event-card{grid-template-columns:70px 1fr}.agenda-event-actions{grid-column:1/-1;justify-content:flex-start}.recommendation-grid{grid-template-columns:1fr}}
@media (max-width:680px){.agenda-toolbar{grid-template-columns:1fr}.calendar-navigation{justify-content:space-between}.calendar-integration{grid-column:auto}.calendar-day{min-height:78px;padding:5px}.calendar-event{font-size:0;padding:3px;min-height:7px}.calendar-event::before{content:""}.territory-filters{align-items:stretch;flex-direction:column}.territory-filters .filter-select{width:100%;max-width:none}.territory-grid{grid-template-columns:1fr 1fr}.territory-tile{grid-column:span 1!important}.strategy-hero{grid-template-columns:1fr}.strategy-hero-metrics{grid-template-columns:1fr}.strategy-summary-grid{grid-template-columns:1fr 1fr}.recommendation{grid-template-columns:38px 1fr}.recommendation .button{grid-column:1/-1}.category-admin-groups{grid-template-columns:1fr}.appearance-settings{align-items:flex-start;flex-direction:column}.appearance-settings .button{width:100%}.palette-grid{grid-template-columns:1fr}.general-form-empty{align-items:flex-start;flex-direction:column}.general-form-empty .button{margin-left:0}.agenda-event-card{grid-template-columns:1fr}.agenda-event-actions{grid-column:auto;flex-wrap:wrap}}
@media (max-width:900px){.electoral-map{height:530px}.territory-ranking>div:last-child{grid-template-columns:repeat(2,1fr)}.territory-map.map-expanded{inset:8px}.territory-map.map-expanded .electoral-map{height:calc(100vh - 102px)}}
@media (max-width:680px){.map-panel-header{align-items:flex-start;flex-direction:column}.electoral-map{height:480px}.map-header-legend{display:none}.map-stat-overlays>span{min-width:66px;padding:8px 9px}.map-stat-overlays strong{font-size:16px}.map-source{align-items:flex-start;flex-direction:column;padding-block:8px}.territory-ranking>div:last-child{grid-template-columns:1fr}.territory-map.map-expanded{inset:0;border-radius:0}.territory-map.map-expanded .map-panel-header{display:none}.territory-map.map-expanded .electoral-map{height:calc(100vh - 40px)}.map-action{width:36px;height:36px}}
@media (max-width:900px){.territory-review-row{grid-template-columns:minmax(0,1fr) auto}.territory-review-row label{grid-column:1/2}.territory-review-row>[data-territory-correct]{grid-column:2/3}}
@media (max-width:680px){.territory-review-row{grid-template-columns:1fr;align-items:stretch}.territory-review-row label,.territory-review-row>[data-territory-correct]{grid-column:auto}.territory-review-row .button{width:100%}.territory-review>.panel-header{align-items:flex-start}}

/* Visual refinement v1.5 --------------------------------------------------- */
html { background: var(--paper); }
body {
  background:
    radial-gradient(circle at 94% 3%, color-mix(in srgb,var(--green) 7%,transparent) 0, transparent 27rem),
    radial-gradient(circle at 72% 96%, color-mix(in srgb,var(--gold) 5%,transparent) 0, transparent 34rem),
    var(--paper);
}

::selection { color: var(--on-primary); background: var(--green); }
:where(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}
input::placeholder, textarea::placeholder { color: color-mix(in srgb,var(--muted) 80%,transparent); opacity:1; }

.sidebar {
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 0%, color-mix(in srgb,var(--green) 34%,transparent), transparent 30%),
    linear-gradient(165deg,var(--sidebar-bg-2) 0%,var(--sidebar-bg) 48%,color-mix(in srgb,var(--sidebar-bg) 82%,#020811) 100%);
  box-shadow: 15px 0 42px rgba(4,17,37,.11);
}
.sidebar::before {
  content:"";
  position:absolute;
  z-index:-1;
  right:-70px;
  bottom:12%;
  width:190px;
  height:190px;
  border-radius:50%;
  background:color-mix(in srgb,var(--gold) 14%,transparent);
  filter:blur(52px);
  pointer-events:none;
}
.sidebar-brand {
  position:relative;
  margin:0 0 16px;
  padding:8px 8px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:16px;
  color:#10233f;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,246,255,.92));
  box-shadow:0 13px 30px rgba(1,12,29,.24),inset 0 1px 0 #fff;
}
.sidebar-brand::after {
  content:"";
  position:absolute;
  inset:auto 12px -1px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--green),var(--gold));
  opacity:.8;
}
.sidebar-brand .brand-compact { filter:drop-shadow(0 5px 10px rgba(11,99,229,.15)); }
.sidebar-brand-lockup { display:block; flex:1; min-width:0; }
.sidebar-logo-full { display:block; width:148px; height:36px; object-fit:contain; object-position:left center; filter:drop-shadow(0 4px 9px rgba(11,99,229,.12)); }
.sidebar-logo-compact { display:none; width:58px; height:38px; object-fit:contain; }
.sidebar-brand-lockup small { display:block; margin:-1px 0 0 42px; min-width:0; color:#52647d; font-size:9px; line-height:1.15; opacity:1; }
.sidebar-brand-copy small { color:#52647d; opacity:1; }
.sidebar-brand-copy strong { color:#10233f; }
.sidebar-brand-copy strong em { color:var(--green); }
.sidebar-collapse {
  color:#29415f;
  border-color:#d4dfed;
  background:#eef4fc;
}
.sidebar-collapse:hover { color:var(--green-2); background:var(--green-soft); }
.nav-list { gap:5px; }
.nav-item {
  min-height:47px;
  border:1px solid transparent;
  border-radius:13px;
  color:rgba(240,247,255,.7);
  font-size:13px;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.nav-item:hover {
  color:#fff;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.075);
  transform:translateX(2px);
}
.nav-item.active {
  color:#fff;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(100deg,color-mix(in srgb,var(--green) 72%,transparent),rgba(255,255,255,.12));
  box-shadow:inset 3px 0 var(--gold),0 9px 20px rgba(0,0,0,.13);
}
.nav-icon { color:color-mix(in srgb,var(--gold) 78%,#fff); text-shadow:0 3px 12px rgba(0,0,0,.24); }
.nav-item.active .nav-icon { color:#fff; }
.nav-count { color:#fff; background:rgba(255,255,255,.13); }
.nav-section { color:rgba(232,241,252,.48); font-size:9.5px; }
.nav-home { flex:0 0 auto; }
.nav-group { display:grid; gap:3px; }
.nav-group[hidden],.nav-submenu[hidden] { display:none; }
.nav-group-toggle {
  width:100%;
  min-height:47px;
  padding:0 11px;
  display:grid;
  grid-template-columns:27px 1fr 18px;
  align-items:center;
  gap:7px;
  border:1px solid transparent;
  border-radius:13px;
  color:rgba(240,247,255,.7);
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.nav-group-toggle:hover {
  color:#fff;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.075);
  transform:translateX(2px);
}
.nav-group.open .nav-group-toggle,.nav-group.has-active .nav-group-toggle {
  color:#fff;
  border-color:rgba(255,255,255,.1);
  background:rgba(255,255,255,.075);
}
.nav-group.open .nav-group-toggle { box-shadow:inset 3px 0 color-mix(in srgb,var(--gold) 72%,transparent); }
.nav-group-icon { width:25px; color:color-mix(in srgb,var(--gold) 78%,#fff); text-align:center; font:700 18px/1 Georgia,serif; text-shadow:0 3px 12px rgba(0,0,0,.24); }
.nav-caret { color:rgba(255,255,255,.48); text-align:center; font-size:15px; transition:transform .18s ease,color .18s ease; }
.nav-group.open .nav-caret { color:#fff; transform:rotate(180deg); }
.nav-submenu { display:grid; gap:2px; margin:1px 0 5px 15px; padding:3px 0 4px 9px; border-left:1px solid rgba(255,255,255,.13); }
.nav-submenu .nav-item { min-height:40px; padding:0 9px; border-radius:11px; font-size:12px; }
.nav-submenu .nav-icon { width:21px; font-size:15px; }
.nav-submenu .nav-item.active { box-shadow:inset 3px 0 var(--gold),0 7px 16px rgba(0,0,0,.1); }
.backup-mini { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.065); }
.user-menu { border-top-color:rgba(255,255,255,.11); }
.user-menu .avatar { background:linear-gradient(145deg,var(--gold),color-mix(in srgb,var(--gold) 68%,var(--green))); color:var(--on-accent); }

.topbar {
  height:76px;
  padding-inline:32px;
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  border-bottom-color:color-mix(in srgb,var(--line) 86%,transparent);
  box-shadow:0 7px 24px rgba(16,35,63,.035);
  backdrop-filter:blur(18px) saturate(1.35);
}
.global-search {
  height:44px;
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-2) 90%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 95%,transparent);
}
.global-search:focus-within { border-color:var(--green); box-shadow:0 0 0 4px var(--focus-ring); }
.global-search kbd { color:var(--muted); background:var(--surface); border-color:var(--line); }
.content-area { padding:34px clamp(24px,2.5vw,42px) 48px; }

.button { border-radius:12px; font-weight:750; letter-spacing:-.005em; }
.button.primary {
  color:var(--on-primary);
  background:linear-gradient(135deg,var(--green),var(--green-2));
  box-shadow:0 8px 20px color-mix(in srgb,var(--green) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.2);
}
.button.primary:hover { background:linear-gradient(135deg,color-mix(in srgb,var(--green) 88%,#fff),var(--green-2)); box-shadow:0 11px 24px color-mix(in srgb,var(--green) 32%,transparent); }
.button.secondary { color:var(--green-2); background:var(--green-soft); border:1px solid color-mix(in srgb,var(--green) 16%,var(--line)); }
.button.secondary:hover { background:color-mix(in srgb,var(--green-soft) 78%,var(--green) 22%); }
.button.ghost { color:var(--ink-2); background:var(--surface); border-color:var(--line); }
.button.ghost:hover { color:var(--green-2); border-color:color-mix(in srgb,var(--green) 38%,var(--line)); background:var(--green-soft); }
.icon-button { border:1px solid transparent; }
.icon-button:hover { border-color:color-mix(in srgb,var(--green) 18%,var(--line)); background:var(--green-soft); }

.section-title-row h1,.page-heading h1,.welcome-strip h1,
.panel-header h2,.settings-card h2,.small-card h2,.auth-card h2,.public-form-card h2 {
  font-family:Inter,"Segoe UI Variable","Segoe UI",sans-serif;
  font-weight:760;
  letter-spacing:-.035em;
}
.section-title-row h1,.page-heading h1,.welcome-strip h1 { font-size:clamp(27px,2.2vw,34px); }
.section-title-row p,.page-heading p,.welcome-strip p { color:var(--muted); font-size:13px; }
.admin-shell :is(h1,h2,h3,h4) { font-family:Inter,"Segoe UI Variable","Segoe UI",sans-serif; letter-spacing:-.025em; }
.eyebrow { color:var(--green); font-size:10.5px; letter-spacing:.14em; }
.period-chip { color:var(--ink-2); background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-sm); }

.metric-grid { gap:18px; }
.metric-card,.panel,.settings-card,.approval-card,.leader-card,.team-card,.mobilization-card,
.communication-card,.agenda-event-card,.strategy-stat,.recommendation,.small-card,.detail-card,.profile-card {
  border-color:var(--line);
  background:var(--card-gradient);
  box-shadow:var(--shadow-sm);
}
.metric-card,.panel,.settings-card,.approval-card,.leader-card,.team-card,.mobilization-card,
.communication-card,.agenda-event-card,.recommendation { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.metric-card:hover,.panel:hover,.leader-card:hover,.team-card:hover,.agenda-event-card:hover {
  border-color:color-mix(in srgb,var(--green) 20%,var(--line));
  box-shadow:var(--shadow-hover);
}
.metric-card { min-height:150px; padding:22px; border-radius:18px; }
.metric-card::after { right:-38px; top:-38px; width:96px; height:96px; opacity:.72; }
.metric-card.accent {
  color:#fff;
  background:
    radial-gradient(circle at 88% 5%,rgba(255,255,255,.2),transparent 28%),
    linear-gradient(140deg,var(--green) 0%,var(--green-2) 52%,var(--sidebar-bg) 100%);
  box-shadow:0 17px 36px color-mix(in srgb,var(--green) 24%,transparent);
}
.metric-card.accent small,.metric-card.accent .metric-foot { color:rgba(255,255,255,.78); }
.metric-card .metric-value { letter-spacing:-.04em; }
.metric-card .metric-foot { font-size:11px; line-height:1.4; }
.metric-icon { background:var(--green-soft); color:var(--green-2); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 12%,transparent); }
.metric-card.accent .metric-icon { color:#fff; background:rgba(255,255,255,.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }

.operational-card {
  border-color:var(--line);
  background:color-mix(in srgb,var(--surface) 82%,var(--green-soft));
  border-radius:14px;
}
.operational-card:hover { border-color:color-mix(in srgb,var(--green) 28%,var(--line)); background:var(--surface); box-shadow:var(--shadow-sm); }
.operational-card.needs-review { border-color:color-mix(in srgb,var(--warning) 38%,var(--line)); background:var(--warning-soft); }
.operational-card strong { color:var(--ink); font-size:12px; }
.operational-card small { color:var(--muted); font-size:10px; }
.operational-card > b { color:var(--green); }
.panel { border-radius:18px; padding:22px; }
.panel-header h2 { color:var(--ink); font-size:18px; }
.panel-header p { font-size:11.5px; }
.panel-link,.text-button { color:var(--green); }

.chart-bars {
  border-bottom-color:var(--line);
  background:repeating-linear-gradient(to top,transparent 0,transparent 44px,color-mix(in srgb,var(--line) 66%,transparent) 45px);
}
.bar {
  min-width:12px;
  border-radius:9px 9px 3px 3px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--green) 66%,#fff),var(--green) 45%,var(--green-2));
  box-shadow:0 5px 13px color-mix(in srgb,var(--green) 20%,transparent);
}
.bar::before {
  content:attr(data-value);
  position:absolute;
  top:-19px;
  left:50%;
  transform:translateX(-50%);
  color:var(--ink-2);
  font-size:9px;
  font-weight:800;
  opacity:.72;
}
.bar:hover { background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 64%,#fff),var(--gold)); }
.bar:hover::after { color:var(--surface); background:var(--ink); }
.chart-labels span { color:var(--muted); font-size:10px; }
.ranking-name strong,.recent-item strong { color:var(--ink); font-size:11.5px; }
.ranking-name small,.recent-item small,.recent-item time { font-size:10px; }
.breakdown-row { color:var(--ink-2); font-size:11px; }
.breakdown-track { background:color-mix(in srgb,var(--line) 72%,var(--surface)); }

.toolbar,.table-wrap,.network-controls,.network-tree-panel,.tree-person,.capture-row,.upload-zone,
.mapping-card,.interaction-list,.interaction-item,.communication-recipient,.message-template-card,
.general-form-card,.quality-alert,.planning-shell,.territory-detail,.category-admin-group {
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface);
}
.role-guide article,.capture-list,.drop-zone,.drawer,.confirm-card,.profile-actions,.profile-info,
.profile-kpis,.profile-section,.interaction-filter-panel,.profile-demand,.demand-card,.planning-header,
.planning-filter-card,.planning-columns-card,.planning-table-card,.planning-metrics article,.planning-footer,
.whatsapp-connect,.whatsapp-qr-panel p,.communication-recipient-preview>span {
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface);
}
.drop-zone { background:color-mix(in srgb,var(--surface) 80%,var(--green-soft)); }
.drop-zone:hover { border-color:var(--green); background:var(--green-soft); }
.mapping-card select,.duplicate-alert select,.compact-select select,.plan-cell-input {
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface);
}
.detail-link code { color:var(--ink-2); background:color-mix(in srgb,var(--surface) 78%,transparent); }
.tag-badge { background:color-mix(in srgb,var(--tag-color) 13%,var(--surface)); border-color:color-mix(in srgb,var(--tag-color) 28%,var(--surface)); }
.tag-choice input:checked+span { background:color-mix(in srgb,var(--tag-color) 13%,var(--surface)); border-color:color-mix(in srgb,var(--tag-color) 44%,var(--surface)); }
.planning-table th,.planning-table td { color:var(--ink-2); border-color:var(--line); background:var(--surface); }
.planning-table th { color:var(--muted); background:var(--surface-2); }
.plan-check>span { border-color:var(--line); background:var(--surface); }
.whatsapp-connect { background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--gold) 13%,transparent),transparent 35%),var(--surface); }
.readiness-people button:hover { border-color:color-mix(in srgb,var(--green) 30%,var(--line)); background:var(--surface-hover); }
.communication-recipient.failed { border-color:color-mix(in srgb,var(--danger) 38%,var(--line)); background:var(--danger-soft); }
.communication-recipient.queued { border-color:color-mix(in srgb,var(--warning) 30%,var(--line)); background:var(--warning-soft); }
.toolbar,.table-wrap { box-shadow:var(--shadow-sm); }
.table-wrap { border-radius:17px; overflow:hidden; }
.data-table th {
  color:var(--muted);
  background:color-mix(in srgb,var(--surface-2) 82%,var(--green-soft));
  border-bottom-color:var(--line);
  font-size:9px;
  letter-spacing:.1em;
}
.data-table td { color:var(--ink-2); border-bottom-color:var(--line); font-size:12px; }
.data-table tbody tr:hover { background:var(--surface-hover); }
.person-cell strong { color:var(--ink); }
.badge { font-size:10px; font-weight:780; }
.badge.leader,.badge.pending { color:color-mix(in srgb,var(--warning) 78%,var(--ink)); background:var(--warning-soft); }
.badge.root,.badge.user-role.admin { color:var(--on-primary); background:linear-gradient(135deg,var(--green),var(--green-2)); }
.badge.status { color:var(--ink-2); background:var(--surface-hover); }
.badge.good { color:color-mix(in srgb,var(--gold) 74%,var(--ink)); background:var(--gold-soft); }
.badge.user-role.advisor { color:color-mix(in srgb,#7a62a9 78%,var(--ink)); background:color-mix(in srgb,#7a62a9 13%,var(--surface)); }

.field > span { color:var(--ink-2); font-size:11px; }
.field input,.field select,.field textarea,
.filter-input,.filter-select,.search-input,input[type="search"] {
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface);
}
.field input:focus,.field select:focus,.field textarea:focus,
.filter-input:focus,.filter-select:focus,.search-input:focus {
  border-color:var(--green);
  box-shadow:0 0 0 4px var(--focus-ring);
}
.field small { color:var(--muted); font-size:9px; }
.settings-card>p,.appearance-settings p { font-size:11px; line-height:1.55; }
.team-card strong,.leader-card strong,.demand-card strong,.mobilization-card strong { color:var(--ink); }
.strategy-stat strong,.strategy-actions h2,.recommendation h3 { font-family:Inter,"Segoe UI Variable","Segoe UI",sans-serif; font-weight:760; letter-spacing:-.02em; }
.strategy-stat small { font-size:9.5px; }
.strategy-ranking span strong,.strategy-leaders strong { font-size:10.5px; }
.strategy-ranking span small,.strategy-leaders small { font-size:9px; }
.strategy-actions .section-title-row>small,.recommendation p { font-size:10px; }
.recommendation h3 { font-size:12.5px; }
.territory-note strong { font-size:11px; }
.territory-note p { font-size:10px; }
.territory-legend,.map-header-legend { font-size:9px; }
.map-panel-header h2 { font:760 18px Inter,"Segoe UI Variable","Segoe UI",sans-serif; letter-spacing:-.02em; }
.map-panel-header p { font-size:10.5px; }
.map-source { font-size:9px; }
.territory-detail .eyebrow { font-size:9px; }
.territory-detail-stats small,.territory-people small,.territory-ranking button small { font-size:9px; }
.territory-people strong,.territory-ranking button strong { font-size:10.5px; }
.electoral-map .leaflet-tooltip { font-size:10px; }
.electoral-map .leaflet-tooltip strong { font-size:11px; }

.attention-card,.duplicate-alert,.queue-warning,.communication-policy,.connection-missing,
.approval-card.flagged,.quality-alert.warning {
  color:var(--ink);
  border-color:color-mix(in srgb,var(--warning) 36%,var(--line));
  background:var(--warning-soft);
}
.form-error,.quality-alert.danger { color:var(--danger); background:var(--danger-soft); }
.empty-state { color:var(--muted); }

.appearance-card { background:var(--surface); }
.appearance-modes button,.palette-grid button {
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface-2);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.appearance-modes button:hover,.palette-grid button:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--green) 34%,var(--line)); background:var(--surface-hover); }
.appearance-modes button.active,.palette-grid button.active { color:var(--green-2); background:var(--green-soft); }
.palette-grid button>span { border:1px solid color-mix(in srgb,var(--line) 82%,transparent); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); }
.appearance-help,.appearance-settings p { font-size:10.5px; }

:root[data-theme="dark"] body {
  background:
    radial-gradient(circle at 94% 3%,color-mix(in srgb,var(--green) 12%,transparent) 0,transparent 28rem),
    radial-gradient(circle at 70% 100%,color-mix(in srgb,var(--gold) 7%,transparent) 0,transparent 34rem),
    var(--paper);
}
:root[data-theme="dark"] .topbar { background:color-mix(in srgb,var(--surface) 88%,transparent); box-shadow:0 8px 24px rgba(0,0,0,.16); }
:root[data-theme="dark"] .metric-card.accent { color:#fff; }
:root[data-theme="dark"] :is(.public-form-panel,.auth-form-side) { background:var(--paper); }
:root[data-theme="dark"] :is(.auth-card,.public-form-card,.loading-mark,.brand-mark) { color:var(--ink); background:var(--surface); border-color:var(--line); }
:root[data-theme="dark"] :is(.toolbar,.table-wrap,.settings-card,.panel,.metric-card,.approval-card,.leader-card,.team-card,.mobilization-card,.communication-card,.agenda-event-card,.small-card,.detail-card,.profile-card,.interaction-item,.communication-recipient,.message-template-card,.general-form-card,.planning-shell,.territory-detail) { color:var(--ink); border-color:var(--line); }
:root[data-theme="dark"] :is(.role-guide article,.capture-list,.drop-zone,.drawer,.confirm-card,.profile-actions,.profile-info,.profile-kpis,.profile-section,.interaction-filter-panel,.profile-demand,.demand-card,.planning-header,.planning-filter-card,.planning-columns-card,.planning-table-card,.planning-metrics article,.planning-footer,.whatsapp-connect,.whatsapp-qr-panel p,.communication-recipient-preview>span) { color:var(--ink); border-color:var(--line); }
:root[data-theme="dark"] :is(.period-chip,.operational-card,.button.ghost,.global-search kbd,.field input,.field select,.field textarea,.filter-input,.filter-select,.search-input,input[type="search"]) { color:var(--ink); background:var(--surface); border-color:var(--line); }
:root[data-theme="dark"] :is(.data-table th,.data-table tbody tr:hover,.badge.status) { background:var(--surface-hover); }
:root[data-theme="dark"] :is(.mapping-card select,.duplicate-alert select,.compact-select select,.plan-cell-input,.planning-table td,.plan-check>span) { color:var(--ink); background:var(--surface); border-color:var(--line); }
:root[data-theme="dark"] .planning-table th { color:var(--muted); background:var(--surface-2); border-color:var(--line); }
:root[data-theme="dark"] .communication-recipient.failed { background:var(--danger-soft); }
:root[data-theme="dark"] .communication-recipient.queued { background:var(--warning-soft); }
:root[data-theme="dark"] .appearance-modes button.active,
:root[data-theme="dark"] .palette-grid button.active {
  color:var(--ink);
  border-color:color-mix(in srgb,var(--green) 72%,#fff);
  background:color-mix(in srgb,var(--green) 30%,var(--surface));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.08);
}
:root[data-theme="dark"] .bar::before { color:var(--ink-2); }
:root[data-theme="dark"] .map-source,:root[data-theme="dark"] .calendar-day,:root[data-theme="dark"] .category-admin-item { color:var(--ink); background:var(--surface); border-color:var(--line); }

:root[data-sidebar="collapsed"] .sidebar-brand { margin-bottom:16px; padding:7px 3px; border-radius:14px; }
:root[data-sidebar="collapsed"] .sidebar-brand-lockup { flex:0 0 auto; justify-content:center; }
:root[data-sidebar="collapsed"] .sidebar-logo-full,:root[data-sidebar="collapsed"] .sidebar-brand-lockup small { display:none; }
:root[data-sidebar="collapsed"] .sidebar-logo-compact { display:block; }
:root[data-sidebar="collapsed"] .sidebar-collapse { left:69px; top:34px; color:#fff; border-color:rgba(255,255,255,.2); background:var(--sidebar-bg-2); }

@media (max-width:900px) {
  .topbar { height:68px; padding-inline:14px; }
  .content-area { padding:24px 16px 36px; }
  :root[data-sidebar="collapsed"] .sidebar-brand { justify-content:flex-start; margin-bottom:16px; padding:8px; gap:12px; }
  :root[data-sidebar="collapsed"] .sidebar-brand-copy { display:block; }
  :root[data-sidebar="collapsed"] .sidebar-brand-lockup { flex:1; justify-content:flex-start; }
  :root[data-sidebar="collapsed"] .sidebar-logo-full { display:block; }
  :root[data-sidebar="collapsed"] .sidebar-logo-compact { display:none; }
  :root[data-sidebar="collapsed"] .sidebar-brand-lockup small { display:block; }
}

@media (max-width:680px) {
  .metric-grid { gap:12px; }
  .metric-card { min-height:132px; padding:17px; }
  .section-title-row h1,.page-heading h1,.welcome-strip h1 { font-size:27px; }
}

/* Product site */
.landing-shell { min-height:100vh; overflow:hidden; color:#10233f; background:#f7faff; }
.landing-header { width:min(1240px,calc(100% - 48px)); height:82px; margin:auto; display:flex; align-items:center; gap:42px; position:relative; z-index:5; }
.landing-logo img { display:block; width:190px; height:48px; object-fit:contain; object-position:left center; }
.landing-header nav { display:flex; gap:28px; margin-left:auto; }
.landing-header nav a { color:#52657e; text-decoration:none; font-weight:700; font-size:13px; }
.landing-header nav a:hover { color:#0b63e5; }
.landing-header-actions { display:flex; gap:9px; }
.landing-header .button.ghost { color:#40536d; background:#fff; border-color:#dbe4f0; }
.landing-hero { width:min(1240px,calc(100% - 48px)); min-height:680px; margin:0 auto; display:grid; grid-template-columns:minmax(420px,.88fr) minmax(560px,1.12fr); gap:45px; align-items:center; position:relative; }
.landing-hero::before { content:""; position:absolute; width:620px; height:620px; right:-330px; top:-180px; border-radius:50%; background:radial-gradient(circle,rgba(11,99,229,.13),rgba(11,99,229,0) 67%); pointer-events:none; }
.landing-hero-copy { padding:65px 0 92px; position:relative; z-index:2; }
.landing-kicker { display:inline-flex; align-items:center; gap:9px; padding:7px 12px; border:1px solid #cfe2ff; border-radius:999px; color:#0b63e5; background:#eff6ff; font-size:11px; font-weight:800; letter-spacing:.025em; }
.landing-kicker i { width:7px; height:7px; border-radius:50%; background:#16a768; box-shadow:0 0 0 5px rgba(22,167,104,.12); }
.landing-hero h1 { max-width:650px; margin:24px 0 22px; font:800 clamp(48px,5.8vw,76px)/.99 Inter,"Segoe UI",sans-serif; letter-spacing:-.065em; }
.landing-hero h1 em { color:#0b63e5; font-style:normal; }
.landing-hero-copy>p { max-width:590px; margin:0; color:#5d6f87; font-size:18px; line-height:1.7; }
.landing-hero-actions { display:flex; align-items:center; gap:22px; margin-top:34px; }
.landing-text-button { border:0; background:transparent; color:#263d5b; cursor:pointer; font-weight:800; }
.landing-text-button span { display:inline-grid; width:30px; height:30px; margin-left:6px; place-items:center; border:1px solid #cdd8e7; border-radius:50%; color:#0b63e5; background:#fff; }
.landing-trust { display:flex; gap:18px; margin-top:30px; color:#6b7d93; font-size:11px; font-weight:700; }
.landing-trust span::first-letter { color:#16a768; }
.landing-product-shot { position:relative; z-index:2; transform:perspective(1600px) rotateY(-4deg) rotateX(1.5deg); transform-origin:left center; }
.shot-window-bar { height:38px; padding:0 14px; display:flex; align-items:center; gap:6px; border:1px solid #dce5f0; border-bottom:0; border-radius:18px 18px 0 0; background:#fff; box-shadow:0 30px 70px rgba(36,67,110,.18); }
.shot-window-bar>span { width:7px; height:7px; border-radius:50%; background:#d3dce7; }
.shot-window-bar b { margin:auto; padding-right:32px; color:#96a4b5; font-size:8px; font-weight:600; }
.shot-app { height:475px; display:grid; grid-template-columns:64px 1fr; overflow:hidden; border:1px solid #dce5f0; border-radius:0 0 18px 18px; background:#fff; box-shadow:0 34px 74px rgba(30,63,108,.2); }
.shot-app aside { padding:18px 12px; display:flex; flex-direction:column; align-items:center; gap:17px; background:#091e3a; }
.shot-app aside img { width:44px; height:32px; object-fit:contain; margin-bottom:11px; }
.shot-app aside i { width:25px; height:25px; border-radius:8px; background:rgba(255,255,255,.09); }
.shot-app aside i:first-of-type { background:#0b63e5; box-shadow:0 0 0 4px rgba(11,99,229,.18); }
.shot-content { padding:0 24px 22px; background:linear-gradient(145deg,#f7faff,#eef4fb); }
.shot-content>header { height:56px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dce5f0; color:#2d4564; font-size:10px; font-weight:800; }
.shot-content>header b { padding:7px 10px; border-radius:7px; color:#fff; background:#0b63e5; font-size:8px; }
.shot-welcome { padding:27px 0 17px; }
.shot-welcome small { color:#0b63e5; font-size:7px; font-weight:900; letter-spacing:.13em; }
.shot-welcome strong { display:block; margin:5px 0 2px; font-size:21px; letter-spacing:-.04em; }
.shot-welcome p { margin:0; color:#7b899c; font-size:8px; }
.shot-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.shot-metrics article { min-height:86px; padding:13px; border:1px solid #e2e9f2; border-radius:12px; background:#fff; box-shadow:0 6px 16px rgba(30,63,108,.05); }
.shot-metrics small,.shot-metrics span { display:block; color:#7b899c; font-size:7px; }
.shot-metrics b { display:block; margin:5px 0; font-size:19px; }
.shot-metrics span { color:#159763; font-weight:800; }
.shot-chart { height:190px; margin-top:12px; padding:16px; border:1px solid #e2e9f2; border-radius:13px; background:#fff; }
.shot-chart small,.shot-chart b { display:block; }
.shot-chart small { color:#7b899c; font-size:7px; }.shot-chart b{font-size:10px}.shot-chart svg{width:100%;height:130px}.shot-chart .area{fill:url(#landingChart)}.shot-chart .line{fill:none;stroke:#0b63e5;stroke-width:4;stroke-linecap:round}
.shot-float { position:absolute; min-width:168px; padding:11px 14px; display:grid; grid-template-columns:34px 1fr; align-items:center; gap:1px 9px; border:1px solid #e0e8f2; border-radius:13px; background:#fff; box-shadow:0 18px 40px rgba(30,63,108,.2); }
.shot-float i { grid-row:1/3; display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; background:#16a768; font-style:normal; font-size:10px; font-weight:900; }.shot-float b{font-size:9px}.shot-float small{color:#7b899c;font-size:7px}.float-one{left:-38px;bottom:82px}.float-two{right:-32px;top:88px}.float-two i{background:#0b63e5}
.landing-section { width:min(1160px,calc(100% - 48px)); margin:0 auto; padding:105px 0; }
.landing-section-heading { max-width:680px; margin:0 auto 48px; text-align:center; }.landing-section-heading>span,.landing-security>div>span,.landing-cta span{color:#0b63e5;font-size:10px;font-weight:900;letter-spacing:.15em}.landing-section-heading h2,.landing-security h2,.landing-cta h2{margin:10px 0 13px;font:800 clamp(34px,4vw,52px)/1.08 Inter,"Segoe UI",sans-serif;letter-spacing:-.05em}.landing-section-heading p{margin:0;color:#687991;font-size:16px}
.landing-features { padding-top:90px; }.landing-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.landing-feature-grid article{min-height:235px;padding:31px;border:1px solid #dfe7f2;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(30,63,108,.055)}.landing-feature-grid h3{margin:18px 0 9px;font-size:21px;letter-spacing:-.035em}.landing-feature-grid p{margin:0;color:#687991;line-height:1.65}.landing-feature-grid .feature-wide{grid-column:1/-1;min-height:310px;display:grid;grid-template-columns:56px 1fr;gap:12px;background:linear-gradient(140deg,#fff 58%,#edf5ff)}.feature-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;color:#0b63e5;background:#eaf2ff;font-size:22px;font-weight:900}.mini-network{width:min(570px,100%);margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:13px;position:relative;text-align:center}.mini-network>b{grid-column:1/-1;justify-self:center;padding:8px 20px;border-radius:10px;color:#fff;background:#0b63e5}.mini-network>i{grid-column:1/-1;width:2px;height:20px;margin:-13px auto;background:#b8cae1}.mini-network>span{padding:10px;border:1px solid #ccd9e9;border-radius:10px;background:#fff;font-weight:800}.mini-network>small{color:#687991}
.landing-steps{width:100%;padding:100px max(24px,calc((100% - 1160px)/2));background:#0a1e3a;color:#fff}.landing-steps .landing-section-heading>span{color:#63a0ff}.landing-steps .landing-section-heading{margin-left:0;text-align:left}.landing-steps>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.landing-steps article{padding:27px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045)}.landing-steps article>b{color:#48db9c;font-size:12px}.landing-steps h3{margin:30px 0 9px;font-size:19px}.landing-steps p{margin:0;color:rgba(255,255,255,.6);font-size:13px;line-height:1.65}
.landing-pricing{width:100%;max-width:none;padding:105px max(24px,calc((100% - 1160px)/2));background:linear-gradient(180deg,#f6f9fd,#eef5ff)}.landing-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.landing-plan-card{min-width:0;padding:30px;display:flex;flex-direction:column;position:relative;border:1px solid #d8e3f1;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(27,60,103,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.landing-plan-card:hover{transform:translateY(-7px);border-color:#afcaec;box-shadow:0 25px 58px rgba(27,60,103,.15)}.landing-plan-card.featured{border:2px solid #0b63e5;background:radial-gradient(circle at 100% 0,rgba(83,224,193,.2),transparent 35%),#fff;box-shadow:0 24px 60px rgba(11,99,229,.19)}.landing-plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:7px 15px;border-radius:999px;color:#fff;background:#0b63e5;font-size:9px;font-weight:900;letter-spacing:.11em;white-space:nowrap}.landing-plan-card header>span{color:#0b63e5;font-size:10px;font-weight:900;letter-spacing:.13em}.landing-plan-card h3{margin:13px 0 10px;color:#10233f;font:850 40px/1 Inter,"Segoe UI",sans-serif;letter-spacing:-.06em}.landing-plan-card h3 small{margin-left:5px;color:#687991;font-size:13px;font-weight:700;letter-spacing:0}.landing-plan-card header p{min-height:50px;margin:0;color:#687991;line-height:1.55}.landing-plan-card ul{margin:25px 0;padding:0;display:grid;gap:12px;list-style:none}.landing-plan-card li{padding-left:23px;position:relative;color:#314963;font-size:13px;font-weight:700;line-height:1.45}.landing-plan-card li::before{content:"✓";position:absolute;left:0;color:#16a768}.landing-plan-card footer{margin-top:auto;padding-top:23px;display:grid;gap:13px;border-top:1px solid #e3eaf3}.landing-annual-offer{padding:17px 18px;display:grid;gap:6px;border:1px solid rgba(11,99,229,.24);border-radius:16px;background:linear-gradient(135deg,rgba(11,99,229,.1),rgba(53,220,145,.17));box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.landing-annual-offer span{color:#0b63e5;font-size:9px;font-weight:950;letter-spacing:.11em}.landing-annual-offer strong{color:#10233f;font:900 27px/1.1 Inter,"Segoe UI",sans-serif;letter-spacing:-.035em}.landing-annual-offer b{color:#0b63e5;font-size:13px;line-height:1.35}.landing-annual-offer em{width:max-content;max-width:100%;padding:7px 10px;border-radius:9px;color:#087a50;background:rgba(53,220,145,.24);font-size:11px;font-style:normal;font-weight:900}.landing-annual-offer small{color:#687991;font-size:10px;font-weight:700}.landing-plan-card.featured .landing-annual-offer{border-color:rgba(11,99,229,.45);background:linear-gradient(135deg,rgba(11,99,229,.15),rgba(53,220,145,.22));box-shadow:0 10px 26px rgba(11,99,229,.12)}.landing-plan-card .button{width:100%}.landing-pricing-note{max-width:820px;margin:25px auto 0;text-align:center;color:#6c7d92;font-size:11px;line-height:1.6}
.landing-security{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}.landing-security h2{font-size:47px}.landing-security p{color:#687991;font-size:16px;line-height:1.75}.landing-security ul{padding:0;list-style:none}.landing-security li{margin:12px 0;padding-left:26px;position:relative;font-weight:700}.landing-security li::before{content:"✓";position:absolute;left:0;color:#16a768}.security-orbit{height:390px;position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#e9f3ff 0 23%,transparent 24%),radial-gradient(circle,transparent 0 46%,#d9e8fa 47% 47.5%,transparent 48%)}.security-orbit img{width:100px;height:100px;object-fit:contain;padding:15px;border-radius:28px;background:#fff;box-shadow:0 18px 40px rgba(30,63,108,.16)}.security-orbit span{position:absolute;padding:8px 11px;border:1px solid #d8e4f2;border-radius:999px;color:#4c6581;background:#fff;font-size:8px;font-weight:900;letter-spacing:.09em}.security-orbit span:nth-of-type(1){top:30px}.security-orbit span:nth-of-type(2){right:-3px;top:48%}.security-orbit span:nth-of-type(3){bottom:28px}.security-orbit span:nth-of-type(4){left:0;top:48%}
.landing-cta{width:min(1160px,calc(100% - 48px));margin:30px auto 90px;padding:50px 58px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:30px;color:#fff;background:radial-gradient(circle at 88% 0,rgba(74,230,164,.25),transparent 35%),linear-gradient(125deg,#0a2a56,#0b63e5);box-shadow:0 30px 65px rgba(11,99,229,.25)}.landing-cta span{color:#7df0bd}.landing-cta h2{max-width:700px;margin-bottom:0;font-size:38px}.button.light{color:#0b4a9f;background:#fff}.landing-footer{min-height:130px;padding:30px max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;gap:28px;border-top:1px solid #dbe4f0;color:#687991;background:#fff}.landing-footer img{width:160px;height:44px;object-fit:contain}.landing-footer p{margin-right:auto}.landing-footer button{border:0;background:transparent;color:#40536d;font-weight:800;cursor:pointer}.landing-footer small{font-size:9px}.auth-back{margin:-17px 0 22px;padding:0;border:0;background:transparent;color:#687991;cursor:pointer;font-weight:700;font-size:11px}.public-dialog::backdrop{background:rgba(5,18,38,.68);backdrop-filter:blur(5px)}#demo-dialog{width:min(650px,calc(100vw - 24px));max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow:hidden}.demo-card{width:100%;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.demo-card header p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px}.demo-card footer,.support-form-card footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.demo-card footer{padding-bottom:max(2px,env(safe-area-inset-bottom))}

/* Support and safe cleanup */
.support-hero{padding:34px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;color:#fff;border-radius:24px;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--gold) 30%,transparent),transparent 38%),linear-gradient(125deg,var(--sidebar-bg),var(--green));box-shadow:var(--shadow)}.support-hero h1{margin:7px 0 9px;font-size:34px;letter-spacing:-.04em}.support-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.72)}.support-hero-mark{display:grid;width:94px;height:94px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(255,255,255,.1);font-size:44px;font-weight:900}.support-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.support-action-card{min-height:210px;padding:25px;text-align:left;border:1px solid var(--line);border-radius:19px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:.18s ease}.support-action-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--green) 34%,var(--line));box-shadow:var(--shadow-hover)}.support-action-card>span{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;color:var(--green);background:var(--green-soft);font-size:21px;font-weight:900}.support-action-card h2{margin:22px 0 8px;font-size:19px}.support-action-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.support-history{margin-top:16px}.support-request-list{display:grid;gap:9px}.support-request{padding:15px;display:grid;grid-template-columns:1fr auto;gap:8px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.support-request strong,.support-request small{display:block}.support-request small{margin-top:4px;color:var(--muted)}.support-request p{grid-column:1/-1;margin:0;color:var(--ink-2);font-size:11px}.support-protocol{font-family:ui-monospace,Consolas,monospace;color:var(--green);font-weight:800}.support-leads{margin-top:16px}.demo-lead-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.demo-lead{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.demo-lead strong,.demo-lead small{display:block}.demo-lead small{margin-top:4px;color:var(--muted)}
.cleanup-card{position:relative;overflow:hidden}.cleanup-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--warning),var(--danger))}.cleanup-intro{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.cleanup-intro p{margin:5px 0 0;color:var(--muted)}.cleanup-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.cleanup-rule{min-height:82px;padding:13px;text-align:left;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface-2);cursor:pointer}.cleanup-rule strong,.cleanup-rule small{display:block}.cleanup-rule small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}.cleanup-rule.active{border-color:var(--green);color:var(--green-2);background:var(--green-soft);box-shadow:0 0 0 3px var(--focus-ring)}.cleanup-options{margin-top:13px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.cleanup-field-list{display:flex;flex-wrap:wrap;gap:8px}.cleanup-field-list label{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:10px;font-weight:700}.cleanup-preview{margin-top:14px;padding:16px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:14px;background:var(--warning-soft)}.cleanup-preview-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.cleanup-preview-head strong{font-size:25px}.cleanup-selection-help{display:flex;align-items:center;gap:10px;margin-top:13px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 34%,var(--line));border-radius:10px;background:var(--surface);font-size:9px}.cleanup-selection-help strong{white-space:nowrap}.cleanup-selection-help span{color:var(--muted);line-height:1.4}.cleanup-preview-table{max-height:320px;margin-top:10px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.cleanup-selection-cell{width:44px!important;min-width:44px!important;text-align:center!important}.cleanup-selection-cell input{width:17px;height:17px;accent-color:var(--green);cursor:pointer}.cleanup-preview-table tr.cleanup-excluded td{opacity:.48;background:var(--surface-2)}.cleanup-preview-table tr.cleanup-excluded td:not(.cleanup-selection-cell){text-decoration:line-through}.cleanup-confirm{display:grid;grid-template-columns:1fr 170px auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--warning) 32%,var(--line))}.cleanup-confirm p{margin:0;color:var(--ink-2);font-size:10px}.cleanup-report-list{display:grid;gap:8px;margin-top:14px}.cleanup-report{padding:13px;display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.cleanup-report strong,.cleanup-report small{display:block}.cleanup-report small{margin-top:3px;color:var(--muted)}

@media(max-width:1050px){.landing-header nav{display:none}.landing-hero{grid-template-columns:1fr;max-width:820px}.landing-hero-copy{padding-bottom:0;text-align:center}.landing-hero h1,.landing-hero-copy>p{margin-left:auto;margin-right:auto}.landing-hero-actions,.landing-trust{justify-content:center}.landing-product-shot{margin-bottom:100px;transform:none}.landing-security{gap:40px}.landing-steps>div:last-child{grid-template-columns:repeat(2,1fr)}.landing-pricing-grid{grid-template-columns:1fr;max-width:720px;margin:auto}.landing-plan-card header p{min-height:0}}
@media(max-width:760px){.landing-header{width:calc(100% - 28px);height:70px;gap:8px}.landing-logo img{width:126px}.landing-header-actions{margin-left:auto;gap:5px}.landing-header-actions [data-open-demo]{display:none}.landing-header-actions .button{min-height:36px;border-radius:9px}.landing-header-actions .button.ghost{display:inline-flex;padding-inline:9px;font-size:10px}.landing-header-actions .button.primary{padding-inline:12px;font-size:0}.landing-header-actions .button.primary::after{content:"Conta";font-size:10px}.landing-hero{width:calc(100% - 30px);min-height:auto}.landing-hero-copy{padding-top:55px}.landing-hero h1{font-size:48px}.landing-hero-copy>p{font-size:15px}.landing-hero-actions{align-items:stretch;flex-direction:column}.landing-trust{align-items:center;flex-direction:column;gap:7px}.landing-product-shot{margin-top:20px;margin-bottom:70px}.shot-app{height:390px;grid-template-columns:48px 1fr}.shot-content{padding-inline:12px}.shot-metrics article{padding:9px}.shot-float{display:none}.landing-section{width:calc(100% - 30px);padding-block:72px}.landing-feature-grid,.landing-feature-grid .feature-wide,.landing-security{grid-template-columns:1fr}.landing-feature-grid .feature-wide{grid-column:auto}.landing-steps{padding-inline:15px}.landing-steps>div:last-child{grid-template-columns:1fr}.landing-pricing{width:100%;padding-inline:15px}.landing-plan-card{padding:25px}.security-orbit{height:330px}.landing-cta{width:calc(100% - 30px);padding:35px;align-items:flex-start;flex-direction:column}.landing-cta h2{font-size:30px}.landing-footer{align-items:flex-start;flex-direction:column;gap:11px}.landing-footer p{margin:0}.support-action-grid,.demo-lead-list{grid-template-columns:1fr}.support-hero{grid-template-columns:1fr}.support-hero-mark{display:none}.cleanup-rule-grid{grid-template-columns:1fr 1fr}.cleanup-confirm{grid-template-columns:1fr}.cleanup-preview-head{align-items:flex-start;flex-direction:column}}

/* Governança da conta e acompanhamento do suporte */
.nav-item.module-blocked .nav-icon{position:relative}
.support-top-count[hidden],.support-update-count[hidden]{display:none}
.suspended-account-view{max-width:720px;margin:8vh auto;padding:48px;text-align:center}.suspended-account-view>span{display:grid;width:64px;height:64px;margin:0 auto 18px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--danger),#9f2936);font-size:30px;font-weight:900;box-shadow:0 16px 35px color-mix(in srgb,var(--danger) 30%,transparent)}.suspended-account-view h1{margin:8px 0 12px;font-size:32px}.suspended-account-view>p:not(.eyebrow){max-width:550px;margin:0 auto 22px;color:var(--muted);line-height:1.6}
.nav-item.module-blocked{opacity:.48;cursor:not-allowed;filter:saturate(.45)}.nav-item.module-blocked .nav-icon:after{content:"×";position:absolute;right:-4px;top:-5px;display:grid;width:12px;height:12px;place-items:center;border-radius:50%;color:#fff;background:var(--danger);font-size:8px}.support-shortcut{position:relative}.support-top-count{position:absolute;right:-5px;top:-6px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border:2px solid var(--surface);border-radius:999px;color:#fff;background:var(--danger);font-size:8px;font-weight:900}.support-update-count{color:#fff!important;background:var(--danger)!important}.platform-notice{margin:14px 30px 0;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #b9d8fb;border-radius:14px;color:#173e70;background:linear-gradient(135deg,#eaf4ff,#f7fbff);box-shadow:var(--shadow-sm)}.platform-notice[hidden]{display:none}.platform-notice>div{display:grid;gap:3px}.platform-notice strong{font-size:12px}.platform-notice span{color:#54708f;font-size:11px}.platform-notice.maintenance{border-color:#efd398;color:#7b5512;background:linear-gradient(135deg,#fff5d9,#fffaf0)}.platform-notice.maintenance span{color:#856d40}.platform-notice.suspended{border-color:#efb9be;color:#91313b;background:linear-gradient(135deg,#fff0f1,#fff8f8)}.platform-notice.suspended span{color:#8a5960}.support-update-banner{margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--green) 36%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--green-soft),var(--surface));box-shadow:var(--shadow-sm)}.support-update-banner>div{display:flex;align-items:center;gap:12px}.support-update-banner strong{display:block;font-size:13px}.support-update-banner p{margin:3px 0 0;color:var(--muted);font-size:11px}.support-update-icon{display:grid;min-width:38px;height:38px;place-items:center;border-radius:12px;color:var(--on-primary);background:linear-gradient(135deg,var(--green),var(--green-2));font-weight:900}.support-request{display:block;padding:18px}.support-request.has-update{border-color:color-mix(in srgb,var(--green) 40%,var(--line));box-shadow:inset 4px 0 0 var(--green),var(--shadow-sm)}.support-request-heading{display:grid;grid-template-columns:1fr auto;gap:14px}.support-request-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.support-request-title>strong{font-size:13px}.badge.support-new{color:var(--on-primary);background:linear-gradient(135deg,var(--green),var(--green-2))}.support-original{margin-top:12px;padding-top:11px;border-top:1px dashed var(--line)}.support-original summary{width:max-content;color:var(--green-2);font-size:10px;font-weight:800;cursor:pointer}.support-original p{margin:9px 0 0!important;white-space:pre-wrap}.support-public-reply{margin-top:13px;padding:14px 15px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--green-soft) 65%,var(--surface))}.support-public-reply span{display:block;color:var(--green-2);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.support-public-reply p{margin:7px 0 0!important;white-space:pre-wrap;font-size:12px!important;line-height:1.55}.support-timeline{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:9px}.support-timeline-item{display:grid;grid-template-columns:10px 1fr;gap:9px}.support-timeline-item i{width:8px;height:8px;margin-top:4px;border:2px solid var(--surface);border-radius:50%;background:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.support-timeline-item strong,.support-timeline-item small{display:block}.support-timeline-item strong{font-size:10px}.support-timeline-item small{margin-top:2px;font-size:9px}.support-timeline-item p{margin:4px 0 0!important;color:var(--muted)!important;font-size:10px!important}
:root[data-theme="dark"] .platform-notice{border-color:color-mix(in srgb,var(--green) 28%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--green-soft) 25%,var(--surface))}:root[data-theme="dark"] .platform-notice span{color:var(--muted)}:root[data-theme="dark"] .support-update-banner,:root[data-theme="dark"] .support-public-reply{background:color-mix(in srgb,var(--green-soft) 24%,var(--surface))}
@media(max-width:760px){.platform-notice{margin:10px 12px 0;align-items:flex-start;flex-direction:column}.platform-notice .button{width:100%}.support-update-banner{align-items:flex-start;flex-direction:column}.support-update-banner .button{width:100%}.support-request-heading{grid-template-columns:1fr}.support-request-heading .support-protocol{width:max-content}}
.system-notification-region{margin:14px 30px 0;padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 82%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm)}.system-notification-region[hidden]{display:none}.system-notification-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--on-primary);background:linear-gradient(135deg,var(--green),var(--green-2));font-size:18px;font-weight:900}.system-notification-copy{display:grid;gap:3px;min-width:0}.system-notification-copy>span{color:var(--green-2);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.system-notification-copy>strong{font-size:13px}.system-notification-copy>p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.system-notification-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}@media(max-width:760px){.system-notification-region{margin:10px 12px 0;grid-template-columns:auto minmax(0,1fr)}.system-notification-actions{grid-column:1/-1;justify-content:stretch}.system-notification-actions .button{flex:1}}
@media(max-width:480px){.landing-hero h1{font-size:40px}.landing-product-shot{display:none}.landing-hero{padding-bottom:70px}.landing-feature-grid .feature-wide{display:block}.mini-network{margin-top:24px}.landing-security h2{font-size:36px}.cleanup-rule-grid{grid-template-columns:1fr}}
.message-template-image{width:100%;height:150px;margin:-2px 0 12px;border:1px solid var(--line);border-radius:12px;object-fit:cover;object-position:center 54%;background:var(--surface-2)}

/* Automatic birthday greetings */
.birthday-automation{position:relative;overflow:hidden;margin:17px 0;padding:0;border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.birthday-automation::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--green),var(--blue,#0b63e5),var(--gold))}.birthday-automation.inactive::before{background:linear-gradient(90deg,var(--muted),var(--line))}
.birthday-automation-header{padding:25px 27px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;background:radial-gradient(circle at 94% 0,color-mix(in srgb,var(--gold) 16%,transparent),transparent 40%),linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 45%,var(--surface)),var(--surface))}.birthday-automation-header h2{margin:3px 0 7px;font-size:24px;letter-spacing:-.035em}.birthday-automation-header p:last-child{max-width:760px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.automation-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:9px;font-weight:900}.automation-status i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.automation-status.on{color:var(--green-2);border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:var(--green-soft)}.automation-status.on i{background:#28c77c;box-shadow:0 0 0 5px rgba(40,199,124,.13)}
.birthday-runtime-strip{padding:13px 27px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-block:1px solid var(--line);background:var(--surface-2)}.birthday-runtime-strip>span{min-width:0;padding:10px 12px;display:grid;grid-template-columns:30px 1fr;gap:1px 9px;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.birthday-runtime-strip b{grid-row:1/3;display:grid;width:30px;height:30px;place-items:center;border-radius:9px;color:var(--green);background:var(--green-soft);font-size:12px}.birthday-runtime-strip small,.birthday-runtime-strip strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-runtime-strip small{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.08em}.birthday-runtime-strip strong{font-size:9px}.birthday-runtime-strip .waiting b{color:var(--warning);background:var(--warning-soft)}
.birthday-automation form{padding:24px 27px 25px}.birthday-automation-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px}.birthday-config-fields{min-width:0}.toggle-row{position:relative;display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}.toggle-row.featured{margin-bottom:15px;padding:15px;background:linear-gradient(135deg,var(--green-soft),var(--surface-2));border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row>span{position:relative;flex:0 0 auto;width:42px;height:24px;border-radius:99px;background:color-mix(in srgb,var(--muted) 45%,var(--surface));transition:.18s}.toggle-row>span::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.18s}.toggle-row input:checked+span{background:var(--green)}.toggle-row input:checked+span::after{transform:translateX(18px)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:10px}.toggle-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.toggle-row.compact{min-height:67px;margin-top:20px}.toggle-row.full{margin-top:0}
.birthday-preview{display:grid;place-items:center;padding:18px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 85% 8%,rgba(11,99,229,.14),transparent 35%),var(--surface-2)}.birthday-preview-phone{width:min(300px,100%);padding:13px;border:5px solid color-mix(in srgb,var(--sidebar-bg) 90%,#000);border-radius:24px;background:var(--surface);box-shadow:0 20px 40px rgba(7,27,53,.15)}.birthday-preview-phone>div{display:flex;align-items:center;gap:8px;margin:0 2px 10px}.birthday-preview-phone>div b{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--green),#0b63e5);font-size:8px}.birthday-preview-phone>div span{font-size:9px;font-weight:800}.birthday-preview-phone img{display:block;width:100%;height:122px;object-fit:cover;object-position:center 53%;border-radius:11px;background:var(--surface-2)}.birthday-preview-phone p{margin:10px 0 2px;padding:10px;border-radius:9px 9px 2px 9px;color:#123229;background:#dcf8e9;font-size:8px;line-height:1.55}
.birthday-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.birthday-media-card{min-height:82px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px dashed color-mix(in srgb,var(--green) 32%,var(--line));border-radius:13px;background:var(--surface-2);transition:.18s}.birthday-media-card.has-file{border-style:solid;background:color-mix(in srgb,var(--green-soft) 42%,var(--surface))}.birthday-media-card.uploading{opacity:.55;pointer-events:none}.birthday-media-card>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--green);background:var(--green-soft);font-size:17px;font-weight:900}.birthday-media-card strong,.birthday-media-card small{display:block}.birthday-media-card strong{font-size:10px}.birthday-media-card small{max-width:230px;margin-top:4px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.birthday-media-card .button{cursor:pointer}.birthday-automation-footer{margin-top:18px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.birthday-automation-footer small,.birthday-automation-footer strong,.birthday-automation-footer span{display:block}.birthday-automation-footer small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.birthday-automation-footer strong{margin-top:4px;font-size:10px}.birthday-automation-footer span{margin-top:3px;color:var(--muted);font-size:8px}
.birthday-politician-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:12px;margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--blue,#0b63e5) 22%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue-soft,#eaf3ff) 55%,var(--surface)),var(--surface-2))}.birthday-politician-card .toggle-row{margin:0;background:var(--surface)}.birthday-politician-card .field{margin:0}.birthday-politician-card .field small{line-height:1.45}
.nav-whatsapp{margin-top:6px;border:1px solid color-mix(in srgb,#25d366 20%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#25d366 12%,transparent),transparent)}.nav-whatsapp .nav-icon{font-size:8px;font-weight:950;letter-spacing:-.04em}.nav-whatsapp.active{border-color:color-mix(in srgb,#25d366 52%,transparent)}.nav-voice{margin-bottom:6px;border:1px solid color-mix(in srgb,#45e7b1 20%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#186be8 14%,transparent),color-mix(in srgb,#45e7b1 7%,transparent))}.nav-voice.active{border-color:color-mix(in srgb,#45e7b1 52%,transparent)}
#view-communications [hidden]{display:none!important}.whatsapp-heading{align-items:center}.whatsapp-heading-status{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:9px;font-weight:900}.whatsapp-heading-status i,.whatsapp-health i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.whatsapp-heading-status.online{color:var(--green-2);border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft)}.whatsapp-heading-status.online i,.whatsapp-health.ready i{background:#25c875;box-shadow:0 0 0 5px rgba(37,200,117,.12)}
.whatsapp-section-tabs{position:sticky;z-index:8;top:10px;margin:0 0 18px;padding:6px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 14px 32px rgba(17,42,72,.08);backdrop-filter:blur(13px)}.whatsapp-section-tabs button{position:relative;min-height:54px;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;color:var(--muted);background:transparent;cursor:pointer;font:inherit;transition:.18s}.whatsapp-section-tabs button>span{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:var(--surface-2);font-size:11px;font-weight:900}.whatsapp-section-tabs button strong{font-size:10px}.whatsapp-section-tabs button small{display:grid;min-width:20px;height:20px;padding-inline:5px;place-items:center;border-radius:999px;background:var(--surface-2);font-size:8px}.whatsapp-section-tabs button:hover{color:var(--ink);background:var(--surface-2)}.whatsapp-section-tabs button.active{color:#fff;border-color:#0a59cc;background:linear-gradient(135deg,#0d67df,#073d91);box-shadow:0 9px 22px rgba(7,74,167,.22)}.whatsapp-section-tabs button.active>span,.whatsapp-section-tabs button.active small{color:#fff;background:rgba(255,255,255,.16)}
.whatsapp-operations-panel{overflow:hidden;margin-top:16px}.whatsapp-operations-panel>header{padding:22px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 95% 0,color-mix(in srgb,var(--green) 13%,transparent),transparent 40%),var(--surface)}.whatsapp-operations-panel h2{margin:3px 0 5px;font-size:22px}.whatsapp-operations-panel header p:last-child{margin:0;color:var(--muted);font-size:10px}.whatsapp-health{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--warning);background:var(--warning-soft);font-size:9px;font-weight:900}.whatsapp-health.ready{color:var(--green-2);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.whatsapp-health-grid{padding:14px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;border-bottom:1px solid var(--line);background:var(--surface-2)}.whatsapp-health-grid article{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.whatsapp-health-grid small,.whatsapp-health-grid strong{display:block}.whatsapp-health-grid small{color:var(--muted);font-size:8px}.whatsapp-health-grid strong{margin-top:5px;font-size:20px}.whatsapp-health-grid article.danger strong{color:var(--danger)}.whatsapp-readiness-strip{padding:15px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border-bottom:1px solid var(--line)}.whatsapp-readiness-strip>span{padding:11px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.whatsapp-readiness-strip b{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:var(--muted);background:var(--surface-2);font-size:11px}.whatsapp-readiness-strip .ok b{color:var(--green-2);background:var(--green-soft)}.whatsapp-readiness-strip .issue b{color:var(--danger);background:var(--danger-soft)}.whatsapp-readiness-strip strong,.whatsapp-readiness-strip small{display:block}.whatsapp-readiness-strip strong{font-size:9px}.whatsapp-readiness-strip small{margin-top:2px;color:var(--muted);font-size:8px}.whatsapp-delivery-table{padding:8px 24px 20px}.whatsapp-delivery-head,.whatsapp-delivery-table>article{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(180px,1fr) 110px minmax(135px,.7fr);gap:12px;align-items:center}.whatsapp-delivery-head{padding:10px 12px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.whatsapp-delivery-table>article{padding:11px 12px;border-top:1px solid var(--line)}.whatsapp-delivery-table>article>div>strong,.whatsapp-delivery-table>article>div>small,.whatsapp-delivery-table time{display:block}.whatsapp-delivery-table>article>div>strong{font-size:9px}.whatsapp-delivery-table>article>div>small,.whatsapp-delivery-table time{margin-top:3px;color:var(--muted);font-size:8px}.whatsapp-delivery-table .person-cell{display:flex}
.birthday-notification-settings{margin-top:16px;padding:14px;display:grid;gap:11px;border:1px solid color-mix(in srgb,var(--blue,#0b63e5) 22%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue-soft,#eaf3ff) 55%,var(--surface)),var(--surface-2))}.birthday-notification-settings>header{padding:1px 2px 5px}.birthday-notification-settings>header strong,.birthday-notification-settings>header small{display:block}.birthday-notification-settings>header strong{font-size:11px}.birthday-notification-settings>header small{margin-top:4px;color:var(--muted);font-size:8px}.birthday-notification-recipient{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.birthday-notification-recipient>header{margin-bottom:9px;display:flex;align-items:center;justify-content:space-between}.birthday-notification-recipient>header span{font-size:9px;font-weight:900}.birthday-notification-recipient>header small{color:var(--muted);font-size:8px}.birthday-notification-recipient .toggle-row{margin:0 0 10px}.birthday-notification-recipient .field{margin:0}.birthday-notification-status{display:block;margin-top:8px;color:var(--muted);font-size:8px;line-height:1.45}
.birthday-delivery-history{margin-top:17px;padding:23px}.birthday-run-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px}.birthday-run-layout>aside{display:grid;align-content:start;gap:8px}.birthday-run-card{padding:12px;display:grid;gap:3px;text-align:left;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface-2);cursor:pointer}.birthday-run-card span,.birthday-run-card small{color:var(--muted);font-size:8px}.birthday-run-card strong{font-size:10px}.birthday-run-card.active{border-color:color-mix(in srgb,var(--blue,#0b63e5) 44%,var(--line));background:var(--blue-soft,#eaf3ff)}.birthday-run-detail{overflow:hidden;border:1px solid var(--line);border-radius:13px}.birthday-run-detail>header{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2)}.birthday-run-detail>header strong,.birthday-run-detail>header small{display:block}.birthday-run-detail>header strong{font-size:10px}.birthday-run-detail>header small{margin-top:3px;color:var(--muted);font-size:8px}.birthday-delivery-list>article{padding:11px 14px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(100px,.5fr) 100px minmax(125px,.55fr);gap:10px;align-items:center;border-top:1px solid var(--line)}.birthday-person-markers{display:flex;gap:5px;flex-wrap:wrap}.birthday-person-markers span{padding:4px 6px;border-radius:999px;color:var(--green-2);background:var(--green-soft);font-size:7px;font-weight:850}.birthday-delivery-list time,.birthday-delivery-list>article>div>small{display:block;color:var(--muted);font-size:8px}.whatsapp-team-placeholder{min-height:360px;padding:60px 24px;display:grid;place-items:center;text-align:center}.whatsapp-team-placeholder>span{display:grid;width:62px;height:62px;place-items:center;border-radius:18px;color:#0d67df;background:var(--blue-soft,#eaf3ff);font-size:26px}.whatsapp-team-placeholder h2{margin:7px 0 4px;font-size:25px}.whatsapp-team-placeholder p:last-child{max-width:540px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}
:root[data-theme="dark"] .birthday-preview-phone p{color:#dff9ec;background:#174231}:root[data-theme="dark"] .birthday-preview-phone{border-color:#020916}

@media(max-width:1050px){.birthday-runtime-strip{grid-template-columns:1fr 1fr}.birthday-automation-grid{grid-template-columns:1fr}.birthday-preview{display:none}.birthday-media-grid{grid-template-columns:1fr}.birthday-politician-card{grid-template-columns:1fr}}
@media(max-width:1050px){.whatsapp-delivery-head,.whatsapp-delivery-table>article{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) 100px}.whatsapp-delivery-head span:last-child,.whatsapp-delivery-table>article>div:last-child{grid-column:2/4}.birthday-run-layout{grid-template-columns:1fr}.birthday-run-layout>aside{grid-template-columns:repeat(3,1fr)}.birthday-delivery-list>article{grid-template-columns:minmax(190px,1fr) 100px minmax(130px,.7fr)}.birthday-person-markers{grid-column:1}.birthday-delivery-list>article>div:last-child{grid-column:3}}
@media(max-width:680px){.birthday-automation-header{padding:22px 18px 17px;align-items:flex-start;flex-direction:column;gap:14px}.birthday-automation-header h2{font-size:21px}.birthday-runtime-strip{padding:12px 18px;grid-template-columns:1fr}.birthday-automation form{padding:19px 18px}.birthday-media-card{grid-template-columns:38px minmax(0,1fr) auto}.birthday-media-card .icon-button{grid-column:3}.birthday-automation-footer{align-items:stretch;flex-direction:column}.birthday-automation-footer .button{width:100%}.toggle-row.compact{margin-top:0}.drawer-dialog{height:100dvh;max-height:100dvh}.drawer-header{padding:17px 18px}.drawer-body{padding:4px 18px 24px}.highlight-section{margin-inline:-18px;padding-inline:18px}.drawer-footer{padding:10px 18px max(10px,env(safe-area-inset-bottom));justify-content:stretch}.drawer-footer>div{width:100%;display:grid;grid-template-columns:.72fr 1.28fr}.drawer-footer .button{width:100%;min-height:45px}.whatsapp-heading{align-items:flex-start}.whatsapp-section-tabs{position:static;grid-template-columns:repeat(2,1fr)}.whatsapp-section-tabs button:last-child{grid-column:1/-1}.whatsapp-operations-panel>header{padding:19px;align-items:flex-start;flex-direction:column}.whatsapp-health-grid,.whatsapp-readiness-strip{padding:12px 18px;grid-template-columns:1fr 1fr}.whatsapp-delivery-table{padding:6px 18px 18px}.whatsapp-delivery-head{display:none}.whatsapp-delivery-table>article{grid-template-columns:1fr auto;padding:13px 0}.whatsapp-delivery-table>article>div:nth-child(2),.whatsapp-delivery-table>article>div:last-child{grid-column:1/-1}.birthday-notification-recipient .form-grid.two{grid-template-columns:1fr}.birthday-delivery-history{padding:18px}.birthday-run-layout>aside{grid-template-columns:1fr 1fr}.birthday-delivery-list>article{grid-template-columns:1fr auto}.birthday-delivery-list>article>.birthday-person-markers,.birthday-delivery-list>article>div:last-child{grid-column:1/-1}}
@media(max-width:680px){.person-photo-card{grid-template-columns:66px minmax(0,1fr);gap:12px;padding:13px}.person-photo-preview{width:66px;height:66px;font-size:18px}.person-photo-copy>div{margin-top:9px}.person-photo-copy .button{min-height:36px;padding-inline:11px}.person-photo-copy>p{display:none}}

/* Document control */
.document-storage-strip{margin-bottom:17px;padding:16px 18px;display:grid;grid-template-columns:38px 1fr auto;gap:13px;align-items:center;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}
.document-storage-strip>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;font-size:18px;font-weight:900}
.document-storage-strip.ready>span{color:var(--gold);background:var(--gold-soft)}
.document-storage-strip.pending>span{color:var(--warning);background:var(--warning-soft)}
.document-storage-strip strong,.document-storage-strip p{display:block;margin:0}.document-storage-strip p{margin-top:3px;color:var(--muted);font-size:10px}.document-storage-strip>em{padding:6px 9px;border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:9px;font-style:normal;font-weight:800}
.document-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0;padding:5px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));box-shadow:var(--shadow-sm)}
.document-section-tabs button{min-width:0;min-height:58px;padding:9px 12px;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border:1px solid transparent;border-radius:12px;color:var(--muted);background:transparent;text-align:left;cursor:pointer;transition:.18s ease}
.document-section-tabs button:hover{color:var(--ink);background:var(--surface)}
.document-section-tabs button>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft);font-size:12px;font-weight:900}
.document-section-tabs button>b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.document-section-tabs button>em{display:grid;min-width:28px;height:28px;padding:0 7px;place-items:center;border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:9px;font-style:normal;font-weight:900}
.document-section-tabs button.active{color:var(--on-primary);border-color:color-mix(in srgb,var(--green) 62%,transparent);background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:0 8px 22px color-mix(in srgb,var(--green) 22%,transparent)}
.document-section-tabs button.active>span{color:var(--green-2);background:var(--surface)}.document-section-tabs button.active>em{color:var(--on-primary);background:rgba(255,255,255,.16)}
.document-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.document-flow-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.document-flow-tabs button{min-width:0;padding:16px 18px;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:.18s ease}.document-flow-tabs button:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--line));transform:translateY(-1px)}.document-flow-tabs button>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--green);background:var(--green-soft);font-size:18px;font-weight:900}.document-flow-tabs b,.document-flow-tabs small{display:block}.document-flow-tabs b{font-size:13px}.document-flow-tabs small{margin-top:3px;color:var(--muted);font-size:9px}.document-flow-tabs em{display:grid;min-width:36px;height:30px;padding:0 9px;place-items:center;border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:10px;font-style:normal;font-weight:900}.document-flow-tabs button.active{color:var(--on-primary);border-color:transparent;background:linear-gradient(135deg,var(--green-2),var(--green));box-shadow:0 12px 28px color-mix(in srgb,var(--green) 25%,transparent)}.document-flow-tabs button.active>span{color:var(--green);background:var(--surface)}.document-flow-tabs button.active small{color:rgba(255,255,255,.75)}.document-flow-tabs button.active em{color:var(--on-primary);background:rgba(255,255,255,.16)}
.document-toolbar{margin:17px 0;display:grid;grid-template-columns:minmax(280px,1fr) repeat(4,minmax(135px,.24fr));gap:10px;padding:14px}
.document-list-panel{padding:0;overflow:hidden}.document-list-panel>.panel-header{padding:20px 22px 16px;margin:0}.document-list-panel>.table-wrap{max-width:100%;border:0;border-top:1px solid var(--line);border-radius:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--green) var(--surface-2);box-shadow:none}.document-list-panel>.table-wrap::-webkit-scrollbar{height:10px}.document-list-panel>.table-wrap::-webkit-scrollbar-track{background:var(--surface-2)}.document-list-panel>.table-wrap::-webkit-scrollbar-thumb{border:2px solid var(--surface-2);border-radius:99px;background:var(--green)}.document-table-scroll-guide{display:none}
.document-table th:first-child{min-width:205px}.document-table th:nth-child(3){min-width:300px}.document-table td{vertical-align:middle}
.document-table td>strong,.document-table td>small,.document-table td>em{display:block}.document-table td>small{margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.4}.document-table td>em{width:max-content;max-width:100%;margin-top:7px;padding:4px 7px;border-radius:7px;color:var(--green-2);background:var(--green-soft);font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.document-number{padding:0;border:0;text-align:left;color:var(--ink);background:transparent;cursor:pointer}.document-number strong,.document-number b{display:block}.document-number strong{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.document-number b{margin-top:2px;font-size:15px}
.document-file-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.document-file-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);background:var(--surface-2);text-decoration:none;font-size:8px;font-weight:800}.document-file-pill:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.document-file-pill.disabled{opacity:.48;cursor:not-allowed}.document-file-pill.disabled:hover{border-color:var(--line);color:var(--ink-2);background:var(--surface-2)}.document-file-pill b{font-size:8px}.document-file-pill.word b{color:#1768c7}.document-file-pill.pdf b{color:#c4444e}.document-no-file{color:var(--muted);font-size:8px}
.document-status{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap;background:var(--surface-2);color:var(--ink-2)}.document-status.status-review,.document-status.status-awaiting_signature{color:var(--warning);background:var(--warning-soft)}.document-status.status-signed,.document-status.status-sent,.document-status.status-returned{color:var(--gold);background:var(--gold-soft)}.document-status.status-archived{color:var(--muted);border:1px solid var(--line)}
.document-empty{padding:70px 24px}.document-empty>span{display:grid;width:58px;height:58px;margin:0 auto 16px;place-items:center;border-radius:18px;color:var(--green);background:var(--green-soft);font-size:28px}
.document-dialog{width:min(1060px,96vw);max-height:94vh;padding:0;border:0;border-radius:24px;color:var(--ink);background:var(--surface);box-shadow:0 30px 90px rgba(4,16,35,.3)}.document-dialog::backdrop{background:rgba(4,16,35,.67);backdrop-filter:blur(5px)}.document-form-card{display:flex;max-height:94vh;flex-direction:column}.document-form-header{padding:25px 28px 20px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface),var(--green-soft))}.document-form-header h2{margin:0;font-size:25px;letter-spacing:-.035em}.document-form-header p:last-child{margin:5px 0 0;color:var(--muted);font-size:11px}.document-form-body{padding:21px 28px;overflow:auto}.document-form-body .form-section{margin-bottom:15px}.document-form-footer{padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);background:var(--surface)}.document-form-footer>div{display:flex;gap:9px}
.document-direction-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.document-direction-picker button{padding:13px 15px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.document-direction-picker button>span{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft);font-weight:900}.document-direction-picker button b,.document-direction-picker button small{display:block}.document-direction-picker button small{color:var(--muted);font-size:8px}.document-direction-picker button.active{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent)}.document-direction-picker button:disabled{cursor:default;opacity:1}.document-outgoing-field[hidden],.document-incoming-field[hidden]{display:none!important}
.document-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.document-upload-card{min-height:105px;padding:16px;display:grid;grid-template-columns:49px 1fr;gap:12px;align-items:center;border:1px dashed color-mix(in srgb,var(--green) 35%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--green-soft) 30%,var(--surface));cursor:pointer;transition:.18s ease}.document-upload-card:hover{border-color:var(--green);background:var(--green-soft)}.document-upload-card input{grid-column:1/-1;width:100%;font-size:9px;color:var(--muted)}.document-upload-card strong,.document-upload-card small,.document-upload-card em{display:block}.document-upload-card small{margin-top:3px;color:var(--muted);font-size:9px}.document-upload-card em{margin-top:7px;color:var(--green-2);font-size:9px;font-style:normal;font-weight:700;word-break:break-word}.document-file-icon{display:grid;width:49px;height:49px;place-items:center;border-radius:13px;color:#fff;font-size:13px;font-weight:900}.document-file-icon.word{background:linear-gradient(145deg,#2d82df,#1456ad)}.document-file-icon.pdf{background:linear-gradient(145deg,#e35f67,#a92e39);font-size:9px}.document-file-icon.image{background:linear-gradient(145deg,#28a77c,#12674f)}
.document-file-pill.image{color:#167859;border-color:color-mix(in srgb,#1c9b72 30%,var(--line));background:#e8f8f2}.document-file-pill.pages{color:#a43a45;border-color:color-mix(in srgb,#c4444e 28%,var(--line));background:color-mix(in srgb,#fff0f1 80%,var(--surface))}.document-photo-quick{position:relative;width:max-content;max-width:190px;margin-top:6px;padding:5px 8px;display:flex;align-items:center;gap:5px;border:1px dashed color-mix(in srgb,var(--green) 42%,var(--line));border-radius:9px;color:var(--green);background:var(--green-soft);font:inherit;font-size:8px;line-height:1.2;cursor:pointer}.document-photo-quick:hover{border-style:solid}.document-photo-quick input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.document-photo-quick.disabled{color:var(--muted);border-color:var(--line);background:var(--surface-2);cursor:not-allowed}.document-photo-quick.busy{opacity:.55;pointer-events:none}.document-scan-note{margin:10px 0 0;padding:9px 11px;border-radius:10px;color:var(--muted);background:var(--surface-2);font-size:9px;line-height:1.45}.document-scan-editor{margin-top:12px;padding:13px;border:1px solid color-mix(in srgb,var(--green) 32%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--green-soft) 34%,var(--surface))}.document-scan-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.document-scan-editor>header strong,.document-scan-editor>header small{display:block}.document-scan-editor>header strong{font-size:11px}.document-scan-editor>header small{margin-top:3px;color:var(--muted);font-size:8px}.document-scan-editor>header>span{padding:5px 8px;border-radius:999px;color:#a43a45;background:color-mix(in srgb,#fff0f1 82%,var(--surface));font-size:8px;font-weight:900;white-space:nowrap}.document-scan-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.document-scan-page{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.document-scan-thumbnail{position:relative;display:grid;width:58px;height:70px;place-items:center;overflow:hidden;border-radius:8px;background:var(--surface-2)}.document-scan-thumbnail img{display:block;max-width:100%;max-height:100%;object-fit:contain;transition:transform .18s ease}.document-scan-thumbnail b{position:absolute;left:4px;bottom:4px;display:grid;width:18px;height:18px;place-items:center;border-radius:6px;color:#fff;background:rgba(5,22,45,.78);font-size:8px}.document-scan-page>div:nth-child(2){min-width:0}.document-scan-page strong,.document-scan-page small,.document-scan-page em{display:block}.document-scan-page strong{font-size:9px}.document-scan-page small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.document-scan-page em{margin-top:3px;color:var(--green);font-size:7px;font-style:normal;font-weight:800}.document-scan-actions{display:grid;grid-template-columns:repeat(2,27px);gap:4px}.document-scan-actions button{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);background:var(--surface-2);font-size:12px;font-weight:900;cursor:pointer}.document-scan-actions button:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.document-scan-actions button:disabled{opacity:.34;cursor:default}.document-scan-actions button:last-child{color:var(--danger)}.document-scan-add-page{width:100%;margin-top:10px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--green) 48%,var(--line));border-radius:10px;color:var(--green);background:color-mix(in srgb,var(--green-soft) 58%,var(--surface));font:inherit;font-size:9px;font-weight:900;cursor:pointer}.document-scan-add-page:hover{border-style:solid;background:var(--green-soft)}.document-date-group td{padding:8px 13px!important;border-top:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--green) 20%,var(--line));background:color-mix(in srgb,var(--green-soft) 55%,var(--surface))!important}.document-date-group span,.document-date-group strong{display:inline}.document-date-group span{margin-right:6px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.document-date-group strong{color:var(--green-2);font-size:9px}.document-table.incoming th:nth-child(3){min-width:260px}

.document-response-insights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 17px}.document-response-insights button{min-width:0;min-height:78px;padding:13px;display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:.18s ease}.document-response-insights button:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--line));transform:translateY(-1px);box-shadow:var(--shadow-md)}.document-response-insights button>span{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:var(--warning);background:var(--warning-soft);font-weight:900}.document-response-insights button.danger>span{color:var(--danger);background:var(--danger-soft)}.document-response-insights button.success>span{color:var(--green);background:var(--green-soft)}.document-response-insights b,.document-response-insights small{display:block}.document-response-insights b{font:700 22px Georgia,serif}.document-response-insights small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.35;text-overflow:ellipsis}
.document-response-badge{width:max-content;max-width:190px;margin-top:8px;padding:5px 8px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-2);font-size:8px;line-height:1.2;text-align:left}.document-response-badge[type="button"]{cursor:pointer}.document-response-badge[type="button"]:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.document-response-badge span{font-weight:900}.document-response-badge b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-response-badge.response-overdue{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--line));background:var(--danger-soft)}.document-response-badge.response-today,.document-response-badge.response-soon{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 28%,var(--line));background:var(--warning-soft)}.document-response-badge.response-answered{color:var(--green);border-color:color-mix(in srgb,var(--green) 28%,var(--line));background:var(--green-soft)}
.document-response-card header,.document-alert-card header{align-items:flex-start}.document-response-card header p:last-child,.document-alert-card header p:last-child{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.document-response-switch{margin:2px 0 15px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:flex-start;border:1px solid color-mix(in srgb,var(--green) 26%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--green-soft) 45%,var(--surface));cursor:pointer}.document-response-switch input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}.document-response-switch strong,.document-response-switch small{display:block}.document-response-switch strong{font-size:10px}.document-response-switch small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}.document-response-fields{display:grid;gap:12px}.document-response-help{margin:0;padding:10px 12px;border-radius:10px;color:var(--muted);background:var(--surface-2);font-size:8px;line-height:1.5}
.document-alert-list{display:grid;gap:8px;max-height:52vh;overflow:auto}.document-alert-item{width:100%;padding:12px;display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.document-alert-item:hover{border-color:var(--green);background:var(--green-soft)}.document-alert-item>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--warning);background:var(--warning-soft);font-size:10px;font-weight:900}.document-alert-item.alert-overdue>span{color:var(--danger);background:var(--danger-soft)}.document-alert-item strong,.document-alert-item p,.document-alert-item small{display:block;margin:0}.document-alert-item strong{font-size:9px}.document-alert-item p{margin-top:3px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.document-alert-item small{margin-top:4px;color:var(--muted);font-size:8px}.document-alert-item>b{color:var(--green);font-size:8px}.document-alert-card footer{display:flex;justify-content:flex-end;gap:8px}

@media(max-width:1100px){.document-toolbar{grid-template-columns:1fr 1fr}.form-grid.four{grid-template-columns:1fr 1fr}.document-response-insights{grid-template-columns:repeat(3,1fr)}.document-upload-grid{grid-template-columns:1fr 1fr}.document-upload-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.document-heading-actions{width:100%;display:grid;grid-template-columns:1fr}.document-heading-actions .button{width:100%}.document-flow-tabs{grid-template-columns:1fr}.document-storage-strip{grid-template-columns:38px 1fr}.document-storage-strip>em{display:none}.document-section-tabs{grid-template-columns:repeat(3,minmax(145px,1fr));overflow-x:auto;scroll-snap-type:x proximity}.document-section-tabs button{scroll-snap-align:start}.document-toolbar{grid-template-columns:1fr}.document-upload-grid,.form-grid.four,.document-direction-picker,.document-scan-pages{grid-template-columns:1fr}.document-upload-card:last-child{grid-column:auto}.document-form-header,.document-form-body,.document-form-footer{padding-inline:18px}.document-form-footer{align-items:stretch;flex-direction:column}.document-form-footer>div{display:grid;grid-template-columns:1fr 1fr}.document-table th:nth-child(3){min-width:250px}.document-table-scroll-guide{padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);background:var(--surface-2)}.document-table-scroll-guide>span{color:var(--muted);font-size:8px;line-height:1.35}.document-table-scroll-guide>div{display:flex;gap:6px}.document-table-scroll-guide button{display:grid;width:38px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--green) 34%,var(--line));border-radius:10px;color:var(--green);background:var(--surface);font-size:15px;font-weight:900;cursor:pointer}.document-table-scroll-guide button:disabled{color:var(--muted);border-color:var(--line);background:color-mix(in srgb,var(--surface-2) 85%,var(--surface));opacity:.55;cursor:default}.document-response-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.document-response-insights button:last-child{grid-column:1/-1}.document-alert-item{grid-template-columns:32px 1fr}.document-alert-item>b{display:none}}
@media(max-width:760px){.team-card-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.team-card-actions .button{width:100%}.team-protected{grid-column:1/-1}.user-form-footer{grid-template-columns:1fr 1fr!important}.user-form-footer>span{display:none}.user-form-footer .soft-danger{grid-column:1/-1}.advisor-tab-options{grid-template-columns:1fr}.advisor-access-heading{align-items:flex-start;flex-direction:column}.subscription-hero,.subscription-note,.subscription-checkout{align-items:flex-start;flex-direction:column}.subscription-billing-summary,.subscription-inclusions{grid-template-columns:1fr}.subscription-note .button,.subscription-checkout>a,.subscription-checkout-actions,.subscription-checkout-actions .button{width:100%}}
@media(max-width:760px){.subscription-payer-fields{grid-template-columns:1fr;width:100%}.subscription-payer-fields small{grid-column:1}}

/* Onboarding público do Assinante */
#account-dialog{width:min(700px,calc(100vw - 24px));max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow:hidden}
.account-card{width:100%;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.account-form-section{display:flex;align-items:center;gap:11px;margin:22px 0 4px;padding-top:18px;border-top:1px solid var(--line)}
.account-form-section:first-of-type{margin-top:0;padding-top:0;border-top:0}
.account-form-section>span{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft);font-weight:850}
.account-form-section div{display:grid;gap:2px}.account-form-section strong{font-size:13px}.account-form-section small{color:var(--muted);font-size:10px}.account-card>.consent-check{margin-top:20px}
.account-checkout-flow{margin-top:18px;padding:14px 16px;display:grid;gap:5px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--blue-soft) 72%,var(--surface))}.account-checkout-flow strong{color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.account-checkout-flow span{color:var(--ink);font-size:11px;font-weight:760;line-height:1.5}.account-checkout-flow small{color:var(--muted);font-size:10px;line-height:1.5}

/* Frequência e temperatura da base */
.temperature-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap}.temperature-badge i{font-style:normal;font-size:11px}.temperature-badge.hot{color:#9a3d17;background:linear-gradient(135deg,#fff1df,#ffe2c4);border-color:#f3bd8d}.temperature-badge.cold{color:#246087;background:linear-gradient(135deg,#eef8ff,#dceeff);border-color:#afd2e9}.temperature-badge.compact{padding:4px 7px;font-size:9px}.temperature-operational .operational-icon{background:linear-gradient(135deg,#ffead3,#ddecff);color:#c65d24}.frequency-metrics{margin-bottom:18px}.frequency-import-panel{margin-bottom:24px;padding:22px}.frequency-import-panel.success{border-color:rgba(31,181,119,.35);background:linear-gradient(135deg,var(--surface),rgba(30,197,133,.08))}.frequency-import-success{display:flex;align-items:center;gap:16px}.frequency-import-success>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#daf7e9;color:#078352;font-size:24px;font-weight:900}.frequency-import-success>div{flex:1}.frequency-import-success h2{margin:3px 0 5px}.frequency-import-success p{margin:0;color:var(--muted)}.frequency-event-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:17px 0}.frequency-event-fields .full{grid-column:1/-1}.frequency-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:24px;border:2px dashed var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(24,107,232,.04),rgba(18,183,121,.05));cursor:pointer;text-align:center;transition:.2s}.frequency-drop:hover,.frequency-drop.dragging{border-color:var(--primary);background:rgba(24,107,232,.08);transform:translateY(-1px)}.frequency-drop>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:15px;background:var(--primary);color:#fff;font-size:24px}.frequency-drop strong{font-size:15px}.frequency-drop small{margin-top:5px;color:var(--muted)}.frequency-preview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.frequency-preview-metrics>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.frequency-preview-metrics strong{display:block;font-size:24px;color:var(--heading)}.frequency-preview-metrics span{color:var(--muted);font-size:10px}.frequency-preview-metrics .matched{background:#effbf6;border-color:#bdebd7}.frequency-preview-metrics .unmatched{background:#fff8e8;border-color:#f2d89a}.frequency-preview-metrics .blocked{background:#fff1f1;border-color:#efc1c1}.frequency-guidance{margin:14px 0;padding:14px 16px;border-left:4px solid var(--primary);border-radius:10px;background:rgba(24,107,232,.07)}.frequency-guidance p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.frequency-preview-table{max-height:430px;overflow:auto;border:1px solid var(--border);border-radius:14px}.frequency-preview-table td>small{display:block;margin-top:3px;color:var(--muted)}.frequency-match{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.frequency-match.matched{background:#dcf7e9;color:#087f51}.frequency-match.unmatched{background:#fff0c8;color:#8b6300}.frequency-match.conflict,.frequency-match.invalid{background:#ffe0e0;color:#a33333}.frequency-match.duplicate{background:#e7edf5;color:#56657b}.frequency-import-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.frequency-history{margin-top:12px}.frequency-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.frequency-event-card{padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.frequency-event-card>header{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px}.frequency-event-card h3{margin:3px 0 4px;font-size:17px;color:var(--heading)}.frequency-event-card header p,.frequency-event-card header small{margin:0;color:var(--muted);font-size:10px}.frequency-event-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,rgba(24,107,232,.15),rgba(20,190,128,.15));color:var(--primary);font-size:18px}.frequency-event-stats{display:grid;grid-template-columns:80px 80px 1fr;gap:8px;margin:16px 0}.frequency-event-stats>span{padding:10px;border-radius:12px;background:var(--surface-soft);min-width:0}.frequency-event-stats strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--heading);font-size:14px}.frequency-event-stats small{color:var(--muted);font-size:9px}.frequency-people-preview{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:38px}.frequency-people-preview button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:9px;cursor:pointer}.frequency-people-preview .ranking-mini-avatar{width:24px;height:24px;font-size:8px}.frequency-event-card>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.frequency-empty{grid-column:1/-1;padding:45px;text-align:center}.frequency-empty>span{font-size:32px;color:var(--primary)}.frequency-empty h3{margin:10px 0 4px}.capture-attendance-settings{margin:13px 0;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.capture-attendance-settings>small{display:block;margin-top:9px;color:var(--muted);line-height:1.5}.capture-event-meta{display:flex;align-items:center;gap:8px;margin:10px 0;padding:9px 11px;border-radius:11px;background:linear-gradient(90deg,rgba(24,107,232,.09),rgba(18,183,121,.07));font-size:10px}.capture-event-meta span{font-weight:800;color:var(--primary)}.capture-event-meta small{color:var(--muted)}.approval-attendance-context{display:flex;gap:10px;margin:12px 0;padding:12px;border:1px solid #f1d18d;border-radius:12px;background:#fff9e9}.approval-attendance-context>span{color:#b77800;font-size:20px}.approval-attendance-context p{margin:3px 0 0;color:#6f5a2b;font-size:10px;line-height:1.5}.profile-attendance-list{margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.profile-attendance-list>strong{display:block;margin-bottom:8px}.profile-attendance-list>div{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:10px}.profile-attendance-list span,.profile-attendance-list time{color:var(--muted)}.period-setting-input{display:flex;align-items:center;gap:9px}.period-setting-input input{max-width:120px}.period-setting-input b{color:var(--muted);font-size:12px}

.nav-preview-badge{margin-left:auto;padding:3px 6px;border:1px solid rgba(69,231,177,.35);border-radius:999px;background:rgba(69,231,177,.12);color:#77efc4;font-size:7px;font-weight:900;letter-spacing:.06em}.voice-preview-shell{display:grid;gap:20px;max-width:1180px;margin:0 auto}.voice-preview-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;min-height:360px;padding:clamp(30px,5vw,62px);overflow:hidden;border:1px solid rgba(95,175,255,.23);border-radius:30px;background:radial-gradient(circle at 86% 14%,rgba(39,218,163,.22),transparent 27%),linear-gradient(135deg,#071a35 0%,#0b3766 62%,#075d66 100%);box-shadow:0 24px 60px rgba(7,28,58,.2);color:#fff}.voice-preview-hero::after{content:"";position:absolute;right:-130px;bottom:-180px;width:440px;height:440px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}.voice-preview-copy{position:relative;z-index:2;max-width:660px}.voice-preview-kicker{display:inline-flex;margin-bottom:17px;color:#63e4b6;font-size:11px;font-weight:900;letter-spacing:.16em}.voice-preview-copy h1{margin:0 0 14px;color:#fff;font-size:clamp(38px,6vw,68px);line-height:.96;letter-spacing:-.045em}.voice-preview-copy>p{max-width:640px;margin:0;color:rgba(232,243,255,.78);font-size:clamp(14px,1.5vw,18px);line-height:1.65}.voice-preview-status{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin-top:26px;padding:10px 13px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(5,20,42,.38);backdrop-filter:blur(12px)}.voice-preview-status i{width:9px;height:9px;border-radius:50%;background:#4ee0ac;box-shadow:0 0 0 5px rgba(78,224,172,.12)}.voice-preview-status strong{font-size:11px}.voice-preview-status span{padding-left:9px;border-left:1px solid rgba(255,255,255,.16);color:rgba(232,243,255,.58);font-size:9px}.voice-preview-visual{position:relative;z-index:2;display:grid;place-items:center;min-height:240px}.voice-phone{position:relative;display:grid;place-items:center;width:150px;height:150px;border:1px solid rgba(255,255,255,.18);border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.05));box-shadow:0 24px 50px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.24);transform:rotate(-5deg);backdrop-filter:blur(12px)}.voice-phone span{font-size:60px;transform:rotate(5deg)}.voice-phone i{position:absolute;width:9px;height:9px;border-radius:50%;background:#4ee0ac}.voice-phone i:nth-of-type(1){top:18px;right:22px}.voice-phone i:nth-of-type(2){right:-42px;bottom:34px;opacity:.65}.voice-phone i:nth-of-type(3){left:-25px;bottom:12px;opacity:.4}.voice-wave{position:absolute;right:4%;bottom:2%;display:flex;align-items:center;gap:5px;height:54px;padding:9px 13px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(5,20,42,.42)}.voice-wave b{display:block;width:4px;border-radius:99px;background:#62e9bb}.voice-wave b:nth-child(1),.voice-wave b:nth-child(7){height:12px}.voice-wave b:nth-child(2),.voice-wave b:nth-child(6){height:24px}.voice-wave b:nth-child(3),.voice-wave b:nth-child(5){height:34px}.voice-wave b:nth-child(4){height:44px}.voice-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.voice-preview-grid article{display:flex;gap:13px;min-height:145px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.voice-preview-grid article>span{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,rgba(24,107,232,.14),rgba(18,183,121,.14));color:var(--primary);font-size:10px;font-weight:900}.voice-preview-grid strong{display:block;margin:5px 0 7px;color:var(--heading);font-size:13px}.voice-preview-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.voice-preview-notice{display:flex;align-items:flex-start;gap:15px;padding:20px 22px;border:1px solid rgba(20,183,121,.26);border-radius:20px;background:linear-gradient(135deg,rgba(20,183,121,.09),rgba(24,107,232,.06))}.voice-preview-notice>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#13a972;color:#fff;font-size:18px;font-weight:900}.voice-preview-notice strong{display:block;margin:1px 0 5px;color:var(--heading);font-size:13px}.voice-preview-notice p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.voice-sandbox-panel{overflow:hidden;border:1px solid rgba(24,107,232,.24);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-sm)}.voice-sandbox-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px;background:linear-gradient(135deg,rgba(24,107,232,.08),rgba(20,183,121,.08))}.voice-sandbox-panel>header h2{margin:3px 0 7px;color:var(--heading);font-size:22px}.voice-sandbox-panel>header p:not(.eyebrow){max-width:680px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.voice-sandbox-panel>header>span{padding:7px 10px;border:1px solid rgba(20,183,121,.28);border-radius:999px;background:rgba(20,183,121,.1);color:#0a8c61;font-size:9px;font-weight:900;white-space:nowrap}.voice-sandbox-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:20px;padding:24px 26px}.voice-sandbox-create{padding-right:20px;border-right:1px solid var(--border)}.voice-sandbox-create h3,.voice-sandbox-history h3{margin:0 0 13px;color:var(--heading);font-size:12px}.voice-topup-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.voice-topup-options button{min-height:42px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--heading);font-size:10px;font-weight:850}.voice-topup-options button.active{border-color:var(--primary);background:rgba(24,107,232,.1);color:var(--primary)}.voice-sandbox-create label{display:grid;gap:6px;margin-bottom:13px}.voice-sandbox-create label span{color:var(--muted);font-size:9px}.voice-sandbox-create input{height:42px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--heading)}.voice-sandbox-balance{display:grid;grid-template-columns:1fr auto;gap:4px;padding:16px;border:1px solid rgba(24,107,232,.16);border-radius:15px;background:rgba(24,107,232,.05)}.voice-sandbox-balance span{color:var(--muted);font-size:9px}.voice-sandbox-balance strong{grid-row:1/3;grid-column:2;color:var(--heading);font-size:22px}.voice-sandbox-balance small{color:var(--muted);font-size:8px}.voice-sandbox-history{margin-top:16px}.voice-sandbox-history>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border)}.voice-sandbox-history>div span{display:grid;gap:2px}.voice-sandbox-history b{color:var(--heading);font-size:10px}.voice-sandbox-history small,.voice-sandbox-history>p{color:var(--muted);font-size:8px}.voice-sandbox-history em{padding:5px 7px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:8px;font-style:normal;font-weight:800}.voice-sandbox-history em.confirmed{background:rgba(20,183,121,.12);color:#0a8c61}.voice-pix-result{display:grid;grid-template-columns:130px 1fr;gap:15px;margin-top:15px;padding:14px;border:1px solid rgba(20,183,121,.25);border-radius:16px;background:rgba(20,183,121,.06)}.voice-pix-result img{width:130px;height:130px;border-radius:10px;background:#fff;object-fit:contain}.voice-pix-result strong{display:block;margin:2px 0 6px;color:var(--heading);font-size:12px}.voice-pix-result p{margin:0 0 10px;color:var(--muted);font-size:9px;line-height:1.5}.voice-pix-result small{display:block;margin-top:8px;color:var(--muted);font-size:8px}.voice-pix-error{margin:12px 0 0;padding:10px;border-radius:10px;background:rgba(211,55,72,.1);color:#c12c3e;font-size:9px}.voice-sandbox-panel>footer{padding:13px 26px;border-top:1px solid var(--border);color:var(--muted);font-size:8px;text-align:center}
.voice-sandbox-history h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.voice-sandbox-history h3 .button{min-height:28px;padding:5px 9px;font-size:8px}
@media(max-width:980px){.voice-preview-hero{grid-template-columns:1fr;min-height:auto}.voice-preview-visual{min-height:210px}.voice-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nav-preview-badge{font-size:6px}.voice-preview-shell{gap:14px}.voice-preview-hero{padding:28px 22px;border-radius:23px}.voice-preview-copy h1{font-size:42px}.voice-preview-status{align-items:flex-start;flex-wrap:wrap;width:100%}.voice-preview-status span{width:100%;padding:7px 0 0;border-top:1px solid rgba(255,255,255,.16);border-left:0}.voice-preview-visual{min-height:175px}.voice-phone{width:120px;height:120px;border-radius:34px}.voice-phone span{font-size:48px}.voice-wave{right:0;bottom:0}.voice-preview-grid{grid-template-columns:1fr}.voice-preview-grid article{min-height:auto}.voice-preview-notice{padding:17px}}
@media(max-width:820px){.voice-sandbox-grid{grid-template-columns:1fr}.voice-sandbox-create{padding-right:0;padding-bottom:20px;border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:620px){.voice-sandbox-panel>header{display:grid;padding:20px}.voice-sandbox-grid{padding:20px}.voice-topup-options{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-pix-result{grid-template-columns:1fr}.voice-pix-result img{width:min(180px,100%);height:auto;aspect-ratio:1;margin:auto}.voice-sandbox-balance{grid-template-columns:1fr}.voice-sandbox-balance strong{grid-row:auto;grid-column:auto}.voice-sandbox-panel>footer{padding:12px 20px}}

@media(max-width:900px){.frequency-event-grid{grid-template-columns:1fr}.frequency-preview-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.frequency-import-panel{padding:15px}.frequency-event-fields{grid-template-columns:1fr}.frequency-event-fields .full{grid-column:auto}.frequency-preview-metrics{grid-template-columns:1fr 1fr}.frequency-import-success{align-items:flex-start;flex-wrap:wrap}.frequency-import-success>div{min-width:calc(100% - 70px)}.frequency-import-success .button{width:100%}.frequency-import-actions{position:sticky;bottom:0;padding:10px 0;background:var(--surface);flex-direction:column-reverse}.frequency-import-actions .button{width:100%}.frequency-event-card>header{grid-template-columns:auto 1fr}.frequency-event-card>header>.badge{grid-column:2}.frequency-event-stats{grid-template-columns:1fr 1fr}.frequency-event-stats>span:last-child{grid-column:1/-1}.profile-attendance-list>div{grid-template-columns:1fr auto}.profile-attendance-list>div>span{grid-column:1/-1}}

/* Captação exclusiva por mobilização e liderança */
.mobilization-capture-table th{white-space:nowrap}.mobilization-capture-table .capture-number{text-align:center;min-width:86px}.mobilization-capture-table .capture-number strong,.mobilization-capture-table .capture-number small{display:block}.mobilization-capture-table .capture-number strong{font-size:15px;color:var(--green)}.mobilization-capture-table .capture-number small{margin-top:3px;color:var(--muted);font-size:8px}.mobilization-capture-table .capture-number.new strong{color:#1769d2}.mobilization-capture-table .capture-number.duplicate strong{color:var(--warning)}.mobilization-link-cell{min-width:150px}.mobilization-link-cell .button{margin-right:5px}.mobilization-link-cell .icon-button{display:inline-grid;width:34px;height:34px;vertical-align:middle}.planning-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.planning-footer>div{flex-wrap:wrap;justify-content:flex-end}
.mobilization-duplicate-report{margin:0 0 16px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:16px;background:var(--warning-soft);overflow:hidden}.mobilization-duplicate-report summary{padding:14px 16px;display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;cursor:pointer;list-style:none}.mobilization-duplicate-report summary::-webkit-details-marker{display:none}.mobilization-duplicate-report summary>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:var(--warning);background:var(--surface);font-weight:900}.mobilization-duplicate-report summary strong,.mobilization-duplicate-report summary small{display:block}.mobilization-duplicate-report summary small{margin-top:3px;color:var(--muted);font-size:9px}.mobilization-duplicate-report summary>b{color:var(--warning);font-size:9px}.duplicate-report-list{padding:0 16px 14px;display:grid;gap:7px}.duplicate-report-list article{padding:10px 12px;display:grid;grid-template-columns:minmax(150px,.7fr) 1.5fr auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--warning) 24%,var(--line));border-radius:11px;background:var(--surface)}.duplicate-report-list strong,.duplicate-report-list small{display:block}.duplicate-report-list small,.duplicate-report-list p,.duplicate-report-list time{margin:3px 0 0;color:var(--muted);font-size:8px}.duplicate-report-list time{white-space:nowrap}
@media(max-width:1050px){.planning-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.planning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mobilization-link-cell{min-width:138px}.planning-footer>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.planning-footer>div .button{width:100%}.duplicate-report-list article{grid-template-columns:1fr}.duplicate-report-list article time{margin-top:0}}
@media(max-width:640px){.profile-leader-link{align-items:stretch;flex-direction:column}.profile-leader-link>div:last-child{display:grid;grid-template-columns:1fr 1fr}.profile-leader-link .button{width:100%}}

/* Seleção coletiva e lista de presença online */
.people-bulk-bar{margin:0 0 12px;padding:12px 14px;display:grid;grid-template-columns:minmax(240px,1fr) auto repeat(3,auto);gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.people-bulk-bar.active{border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:linear-gradient(135deg,var(--green-soft),var(--surface))}.people-bulk-bar label{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;cursor:pointer}.people-bulk-bar input,.selection-cell input{width:17px;height:17px;accent-color:var(--green);cursor:pointer}.people-bulk-bar strong{color:var(--green-2);font-size:10px}.selection-cell{width:42px!important;min-width:42px!important;text-align:center!important}.people-table tr.selected-row td{background:color-mix(in srgb,var(--green-soft) 50%,var(--surface))}.bulk-edit-help{margin:0 0 14px;padding:10px 12px;border-radius:11px;color:var(--muted);background:var(--surface-2);font-size:9px;line-height:1.5}
.frequency-checklist-dialog{width:min(1060px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:hidden}.frequency-checklist-card{width:100%;max-height:calc(100dvh - 24px);overflow:hidden}.frequency-checklist-card>header{padding-bottom:14px}.frequency-checklist-card>header p:last-child{margin:5px 0 0;color:var(--muted);font-size:10px}.frequency-checklist-card>#frequency-checklist-content{min-height:0;overflow:auto;padding-right:3px}.frequency-checklist-meta{margin-bottom:13px}.checklist-audience{margin:0 0 13px;padding:12px;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:14px;background:var(--green-soft)}.checklist-audience>small{grid-column:1/-1;color:var(--muted);font-size:8px}.checklist-toolbar{position:sticky;top:0;z-index:2;margin:0 0 10px;padding:10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px)}.checklist-toolbar .search-field{flex:1}.checklist-toolbar>div{min-width:130px;text-align:center}.checklist-toolbar strong,.checklist-toolbar small{display:block}.checklist-toolbar strong{font-size:11px}.checklist-toolbar small{margin-top:2px;color:var(--muted);font-size:8px}.checklist-person-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:48vh;overflow:auto;padding:2px}.checklist-person-list>label{position:relative;min-width:0;padding:10px 11px;display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}.checklist-person-list>label:hover,.checklist-person-list>label.present{border-color:color-mix(in srgb,var(--green) 48%,var(--line));background:var(--green-soft)}.checklist-person-list input{width:18px;height:18px;accent-color:var(--green)}.checklist-person-list label>span{min-width:0;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:1px 8px;align-items:center}.checklist-person-list .ranking-mini-avatar{grid-row:1/3;width:28px;height:28px;font-size:8px}.checklist-person-list b,.checklist-person-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checklist-person-list b{font-size:10px}.checklist-person-list small{color:var(--muted);font-size:8px}.checklist-form-error{margin:10px 0 0}.checklist-footer{position:sticky;bottom:0;margin-top:12px;padding:12px 0 0;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:var(--surface)}
@media(max-width:780px){.people-bulk-bar{grid-template-columns:1fr 1fr}.people-bulk-bar label{grid-column:1/-1}.people-bulk-bar .button{width:100%}.frequency-checklist-dialog{width:100vw;max-height:100dvh;margin:0}.frequency-checklist-card{max-height:100dvh;border-radius:0}.checklist-audience{grid-template-columns:1fr}.checklist-audience .button{width:100%}.checklist-toolbar{align-items:stretch;flex-direction:column}.checklist-toolbar .search-field{width:100%}.checklist-toolbar>div{width:100%}.checklist-person-list{grid-template-columns:1fr;max-height:50vh}.checklist-footer .button{flex:1}}
.territory-pin-editor{padding:18px;border:2px solid var(--green);border-radius:12px;margin:12px;background:var(--surface-2)}
.territory-manual-badge{position:absolute;top:-9px;right:-8px;font-size:18px;line-height:22px}.territory-detail>.button{margin-top:8px}
.territory-pin-editor p{font-size:12px;line-height:1.5}.territory-pin-editor>div{display:flex;gap:10px;flex-wrap:wrap}.territory-pin{font-size:32px;line-height:40px}
.territory-review-row>.button:last-child{grid-column:1/-1;justify-self:start}
.territory-area-controls{padding:16px 18px;margin-bottom:15px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.territory-area-controls>.field{min-width:205px}.territory-area-controls>p{flex:1;min-width:200px;font-size:12px;color:var(--muted);line-height:1.5}.territory-area-legend{flex-basis:100%;display:flex;gap:8px;flex-wrap:wrap}.territory-area-legend:empty{display:none}.territory-area-legend>p{flex-basis:100%;margin:0;font-size:12px;color:var(--muted)}.territory-area-legend i,.territory-area-swatch{display:inline-block;width:15px;height:15px;min-width:15px;border-radius:50%;border:1px solid #71809655}
.territory-area-dialog{width:min(740px,94vw);max-height:90dvh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink)}.territory-area-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.territory-area-dialog h2{margin:0}.territory-area-dialog form>p,.territory-area-saved>p{font-size:12px;line-height:1.5;color:var(--muted)}.territory-area-saved{max-height:180px;overflow:auto;margin:18px 0}.territory-area-saved>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.territory-area-saved>div>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.territory-area-saved small{display:block;color:var(--muted)}.territory-area-fields{display:grid;grid-template-columns:1fr 100px;gap:14px}.territory-area-fields input[type=color]{height:42px;width:100%;padding:4px}.territory-area-options{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}.territory-area-options>label{display:flex;align-items:center;gap:10px;padding:9px;cursor:pointer;font-size:13px}.territory-area-options>label[hidden]{display:none}.territory-area-options input{width:18px;height:18px;flex-shrink:0}.territory-area-options small{display:block;color:var(--muted);margin-top:3px}.territory-area-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}.territory-area-dialog .territory-area-error,.territory-area-error{color:#b42318!important;font-size:12px;line-height:1.5}.territory-detail>.panel-header p{overflow-wrap:anywhere}
@media(max-width:600px){.territory-area-controls{align-items:stretch}.territory-area-controls>.field,.territory-area-controls>button{width:100%}.territory-area-dialog{padding:16px}.territory-area-saved>div{flex-wrap:wrap}.territory-area-saved>div>span:nth-child(2){flex-basis:60%}.territory-area-dialog footer>.button{flex:1}.territory-area-dialog input,.territory-area-dialog select{font-size:16px}}

.territory-route-stop-holder,.territory-route-arrow-holder{background:transparent;border:0}.territory-route-stop-holder>span{display:grid;width:42px;height:42px;place-content:center;border:3px solid #fff;border-radius:50%;color:#fff;background:var(--route-color);box-shadow:0 4px 14px rgba(15,23,42,.28);text-align:center;transition:.16s}.territory-route-stop-holder b,.territory-route-stop-holder small{display:block;line-height:1}.territory-route-stop-holder b{font-size:13px}.territory-route-stop-holder small{margin-top:3px;font-size:8px}.territory-route-stop-holder.selected>span{outline:4px solid color-mix(in srgb,var(--route-color) 24%,transparent);transform:scale(1.12)}.territory-route-arrow-holder{pointer-events:none!important}.territory-route-arrow-holder>span{display:grid;width:30px;height:30px;place-items:center;color:var(--route-color);font-size:25px;font-weight:900;line-height:1;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff;transform-origin:center}.territory-route-legend{color:var(--muted);font-weight:700}.territory-area-legend>button.selected{border-color:var(--green);background:var(--green-soft)}.territory-area-legend>button>span{white-space:normal;text-align:left}.territory-route-visibility-toolbar{display:flex;flex-basis:100%;align-items:center;gap:7px}.territory-route-visibility-toolbar>strong{margin-right:auto;font-size:11px}.territory-route-chips{display:flex;flex-basis:100%;flex-wrap:wrap;gap:7px}.territory-route-chip{display:flex;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.territory-route-chip.selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent)}.territory-route-chip.hidden-route{opacity:.58}.territory-route-chip.hidden-route .territory-route-chip-main span{text-decoration:line-through}.territory-route-chip-main{display:flex;min-width:0;align-items:center;gap:7px;padding:7px 8px;border:0;color:var(--ink);background:transparent;cursor:pointer}.territory-route-chip-main i{display:block;width:13px;height:13px;flex:0 0 13px;border:1px solid #71809655;border-radius:50%}.territory-route-chip-main span{overflow:hidden;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.territory-route-visibility{display:grid;width:34px;flex:0 0 34px;place-items:center;border:0;border-left:1px solid var(--line);color:var(--green);background:var(--surface-2);cursor:pointer;font-size:13px}.territory-route-chip.hidden-route .territory-route-visibility{color:var(--muted)}.territory-route-title-swatch,.territory-route-ranking-swatch{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:50%;vertical-align:middle}.territory-route-capacity{margin:4px 0 16px;padding:13px;border-radius:12px;background:var(--surface-2)}.territory-route-capacity>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.territory-route-capacity progress{width:100%;height:9px;margin:9px 0 5px;accent-color:var(--route-color)}.territory-route-capacity small{display:block;color:var(--muted);font-size:8px;line-height:1.45}.territory-route-detail-stops{display:grid;gap:5px;max-height:250px;margin:0 0 14px;padding:0;overflow:auto;list-style:none}.territory-route-detail-stops li{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:9px}.territory-route-detail-stops li>b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:9px}.territory-route-detail-stops strong,.territory-route-detail-stops small{display:block}.territory-route-detail-stops strong{font-size:9px}.territory-route-detail-stops small{margin-top:2px;color:var(--muted);font-size:8px}.territory-route-export-note{display:block;margin-top:7px;color:var(--muted);font-size:8px;text-align:center}.territory-ranking em.over-capacity{color:var(--danger)}
.territory-route-dialog{width:min(920px,95vw);max-height:92dvh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink)}.territory-route-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.territory-route-dialog h2{margin:0}.territory-route-dialog>p,.territory-route-saved>p{color:var(--muted);font-size:12px;line-height:1.55}.territory-route-saved{display:grid;max-height:190px;margin:16px 0;overflow:auto}.territory-route-saved article{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.territory-route-saved article>i{width:16px;height:16px;flex:0 0 16px;border:1px solid #71809655;border-radius:50%}.territory-route-saved article>span{flex:1}.territory-route-saved strong,.territory-route-saved small{display:block}.territory-route-saved small{margin-top:3px;color:var(--muted)}.territory-route-fields{display:grid;grid-template-columns:minmax(180px,1fr) 150px 100px;gap:12px}.territory-route-fields input[type=color]{width:100%;height:42px;padding:4px}.territory-route-builder{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(330px,1.15fr);gap:16px;margin-top:16px}.territory-route-builder>section{min-width:0}.territory-route-catalog,.territory-route-sequence{height:315px;overflow:auto;border:1px solid var(--line);border-radius:11px;padding:7px}.territory-route-catalog>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer}.territory-route-catalog>button[hidden]{display:none}.territory-route-catalog>button:disabled{opacity:.58;cursor:default}.territory-route-catalog strong,.territory-route-catalog small{display:block}.territory-route-catalog small{margin-top:3px;color:var(--muted);font-size:9px}.territory-route-catalog b{font-size:18px}.territory-route-sequence-heading{display:flex;height:63px;align-items:end;justify-content:space-between;padding:0 2px 8px;color:var(--muted);font-size:11px}.territory-route-sequence{display:grid;height:315px;margin:0;align-content:start;gap:6px;list-style:none}.territory-route-sequence li{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:9px}.territory-route-sequence li>b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:9px}.territory-route-sequence strong,.territory-route-sequence small{display:block}.territory-route-sequence small{margin-top:3px;color:var(--muted);font-size:9px}.territory-route-sequence li>div{display:flex;gap:2px}.territory-route-sequence li.empty{display:grid;grid-template-columns:1fr;min-height:120px;place-content:center;color:var(--muted);text-align:center;font-size:11px;line-height:1.5}.territory-route-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.territory-route-dialog [data-error].success{color:var(--green)!important}
@media(max-width:720px){.territory-route-visibility-toolbar{align-items:stretch;flex-wrap:wrap}.territory-route-visibility-toolbar>strong{flex-basis:100%}.territory-route-chips{display:grid;grid-template-columns:1fr;width:100%}.territory-route-chip-main{flex:1}.territory-route-dialog{padding:16px}.territory-route-fields,.territory-route-builder{grid-template-columns:1fr}.territory-route-fields{gap:8px}.territory-route-builder{gap:12px}.territory-route-catalog,.territory-route-sequence{height:260px}.territory-route-sequence-heading{height:auto;padding-top:8px}.territory-route-saved article{flex-wrap:wrap}.territory-route-saved article>span{flex-basis:65%}.territory-route-dialog input{font-size:16px}.territory-route-dialog footer>.button{flex:1}}

.territory-route-share-toggle{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.territory-route-routing-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.territory-route-sequence li.has-point{border-color:color-mix(in srgb,var(--green) 36%,var(--line))}.territory-route-sequence li.needs-point{border-style:dashed}.territory-route-sequence li>span{min-width:0}.territory-route-sequence li>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.territory-route-point-picker{position:absolute;inset:18px;z-index:30;display:grid;grid-template-rows:auto auto minmax(330px,1fr) auto auto;gap:12px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px #061b3738}.territory-route-point-picker>header h3{margin:2px 0 0}.territory-route-point-picker>p{margin:0;color:var(--muted);font-size:12px}.territory-route-point-map{min-height:360px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.territory-route-point-picker footer{margin:0}
.territory-route-trip-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.territory-route-trip-summary span{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.territory-route-trip-summary small,.territory-route-trip-summary strong{display:block}.territory-route-trip-summary small{color:var(--muted);font-size:10px}.territory-route-trip-summary strong{margin-top:3px;font-size:13px}.territory-route-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.territory-route-action-grid .button:last-child{grid-column:1/-1}
.territory-map-settings{align-content:start}.territory-map-file-status{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.territory-map-file-status small{color:var(--muted)}.settings-card-actions{display:flex;flex-wrap:wrap;gap:8px}

.route-share-shell{min-height:100vh;padding:0 4vw 48px;background:radial-gradient(circle at 12% 14%,#dceeff 0,transparent 29%),linear-gradient(145deg,#f7fbff,#eef5f8);color:#102746}.route-share-topbar{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ccdae8}.route-share-topbar img{width:174px;height:auto;display:block}.route-share-topbar span{color:#60758d;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.route-share-loading{min-height:calc(100vh - 84px);display:grid;place-content:center;justify-items:center;gap:16px}.route-share-loading span{width:42px;height:42px;border:4px solid #cbdcf0;border-top-color:#1769d2;border-radius:50%;animation:spin .9s linear infinite}.route-share-content{max-width:1500px;margin:0 auto;padding-top:34px}.route-share-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.route-share-heading h1{margin:5px 0 7px;font-size:clamp(30px,4vw,52px);line-height:1.02}.route-share-heading p{margin:0;color:#60758d}.route-share-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.route-share-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.7fr);gap:20px}.route-share-map-card,.route-share-sidebar>div{border:1px solid #ccdae8;border-radius:20px;background:#fff;box-shadow:0 18px 48px rgba(18,47,79,.10)}.route-share-map-card{position:relative;min-height:690px;overflow:hidden}.route-share-map{position:absolute;inset:0}.route-share-watermark{position:absolute;z-index:500;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #ffffffaa;border-radius:10px;background:#ffffffde;box-shadow:0 8px 30px #10274620;color:#102746;font-size:12px}.route-share-watermark b{color:#1769d2;letter-spacing:.06em}.route-share-sidebar{display:grid;align-content:start;gap:16px}.route-share-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden}.route-share-metrics article{padding:18px;background:#fff}.route-share-metrics small,.route-share-metrics strong{display:block}.route-share-metrics small{min-height:30px;color:#6d8198;font-size:11px;text-transform:uppercase}.route-share-metrics strong{font-size:20px}.route-share-stop-card{padding:22px}.route-share-stop-card h2{margin:0 0 6px}.route-share-stop-card>p{margin:0 0 16px;color:#60758d;font-size:13px;line-height:1.5}.route-share-stop-card ol{display:grid;gap:8px;max-height:475px;margin:0;padding:0;overflow:auto;list-style:none}.route-share-stop-card li{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #d8e3ef;border-radius:12px}.route-share-stop-card li>b,.route-share-marker-holder span{display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--route-color);font-weight:800}.route-share-stop-card li>b{width:34px;height:34px}.route-share-stop-card strong,.route-share-stop-card small{display:block}.route-share-stop-card small{margin-top:3px;color:#6d8198}.route-share-marker-holder{background:transparent;border:0}.route-share-marker-holder span{width:38px;height:38px;border:3px solid #fff;box-shadow:0 4px 16px #10274650}.route-share-error{min-height:calc(100vh - 84px);display:grid;place-content:center;justify-items:center;gap:12px;text-align:center}.route-share-error>div{display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:30px;font-weight:800}.route-share-error h1,.route-share-error p{margin:0}.route-share-error p{color:#60758d}
@media(max-width:900px){.route-share-shell{padding:0 18px 30px}.route-share-heading{align-items:start;flex-direction:column}.route-share-actions{justify-content:flex-start}.route-share-layout{grid-template-columns:1fr}.route-share-map-card{min-height:520px}.route-share-sidebar{grid-template-columns:1fr 1fr}.territory-route-point-picker{inset:8px}}
@media(max-width:620px){.route-share-topbar{height:68px}.route-share-topbar img{width:142px}.route-share-topbar span{font-size:10px}.route-share-content{padding-top:22px}.route-share-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.route-share-actions .button:last-child{grid-column:1/-1}.route-share-sidebar{grid-template-columns:1fr}.route-share-map-card{min-height:460px}.route-share-metrics strong{font-size:17px}.territory-route-point-picker{grid-template-rows:auto auto minmax(250px,1fr) auto auto;padding:12px}.territory-route-point-map{min-height:260px}.territory-route-point-picker footer{display:grid;grid-template-columns:1fr 1fr}.territory-route-point-picker footer .button:first-child{grid-column:1/-1}.territory-route-action-grid{grid-template-columns:1fr}.territory-route-action-grid .button:last-child{grid-column:auto}}

.territory-route-sequence li>b,.territory-route-detail-stops li>b{width:auto;min-width:30px;padding:0 5px}.territory-route-stop-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.territory-route-stop-actions .button{min-width:34px}.territory-route-stop-actions [data-point-slot="1"]{min-width:58px}.territory-route-point-picker>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.territory-route-point-choice{padding:6px 9px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:10px;font-weight:800;text-transform:uppercase}.territory-route-point-picker footer{flex-wrap:wrap}.territory-route-picker-pin{border:0!important;background:transparent!important}.territory-route-picker-pin>span{position:relative;display:grid;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--route-color,#1769d2);box-shadow:0 5px 15px rgba(15,39,70,.35);transform:rotate(-45deg)}.territory-route-picker-pin>span b{color:#fff;font-size:12px;line-height:1;transform:rotate(45deg)}.territory-route-picker-pin.muted{opacity:.6}.territory-route-picker-pin.muted>span{filter:saturate(.55)}
@media(max-width:720px){.territory-route-sequence li{grid-template-columns:38px 1fr}.territory-route-stop-actions{grid-column:1/-1;justify-content:flex-start;padding-left:46px}.territory-route-stop-actions .button{flex:0 0 auto}.territory-route-point-picker footer .button{min-height:42px}}

/* Página Pública */
.public-page-preview-shell{min-height:100vh;background:#e8eef7}.public-page-preview-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(18px,4vw,55px);background:#081a31;color:#d9eaff}.public-page-preview-bar img{width:145px;filter:brightness(0) invert(1)}.public-page-preview-bar span{font-size:12px;font-weight:750}.public-page-preview-content{max-width:1440px;margin:0 auto;box-shadow:0 12px 60px #17345122}.public-page-preview-loading,.public-page-preview-error{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:12px;color:#19324f}.public-page-preview-loading>span{width:34px;height:34px;border:3px solid #c9d9eb;border-top-color:#0b63ce;border-radius:50%;animation:spin .8s linear infinite}.public-page-preview-error>div{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ffe7e7;color:#c53535;font-size:24px;font-weight:800}

.status-chip.draft{background:#fff4cf;color:#805c00;border:1px solid #f2d777}
.public-page-preview-bar{justify-content:center;padding:9px 18px;background:#eef3fa;color:#51657e}.public-page-preview-bar span{font-size:11px;font-weight:500}.public-page-preview-content{max-width:none;box-shadow:none}

/* Planilha de pessoas */
.people-sheet-shell{width:min(1560px,98vw);height:min(960px,97vh)}
.people-sheet-body{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.people-sheet-toolbar{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(190px,.85fr) minmax(145px,.55fr) minmax(280px,1.5fr);gap:10px;margin-bottom:12px}
.people-sheet-toolbar .field{margin:0}
.people-sheet-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.people-sheet-summary>div{display:flex;align-items:center;gap:12px;min-width:0}
.people-sheet-summary strong{font-size:11px}.people-sheet-summary span{color:var(--muted);font-size:9px}
.people-sheet-table-card{flex:1;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}
.people-sheet-table-wrap{flex:1;min-height:0;max-height:none;margin:0;display:flex;flex-direction:column;border-top:0}
.people-sheet-table{min-width:max-content}
.people-sheet-table th,.people-sheet-table td{min-width:132px;max-width:320px;white-space:nowrap}
.people-sheet-table th:first-child,.people-sheet-table td:first-child{min-width:220px}
.people-sheet-table .people-sheet-name{position:sticky;left:0;z-index:1;min-width:220px;background:var(--surface)}
.people-sheet-table th.people-sheet-column-name{z-index:3;background:var(--surface-2)}
.people-sheet-table.selection-mode th:first-child,.people-sheet-table.selection-mode td:first-child{position:sticky;left:0;z-index:4;min-width:44px;background:var(--surface-2)}
.people-sheet-table.selection-mode td:first-child{z-index:2;background:var(--surface)}
.people-sheet-table.selection-mode .people-sheet-name,.people-sheet-table.selection-mode th.people-sheet-column-name{left:44px}
.people-sheet-table tr.selected-row td{background:color-mix(in srgb,var(--green-soft) 52%,var(--surface))}
.people-sheet-table tr.selected-row td:first-child,.people-sheet-table tr.selected-row .people-sheet-name{background:color-mix(in srgb,var(--green-soft) 72%,var(--surface))}
.people-sheet-table .people-sheet-cell-wrap{min-width:240px;max-width:360px;white-space:normal;line-height:1.45}
.people-sheet-person-link{max-width:205px;padding:0;overflow:hidden;border:0;color:var(--ink);background:transparent;font:inherit;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.people-sheet-person-link:hover,.people-sheet-person-link:focus-visible{color:var(--primary);text-decoration:underline}
.people-sheet-pagination{position:sticky;bottom:0;z-index:6;min-height:52px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);font-size:9px}
.people-sheet-pagination>div{display:flex;align-items:center;gap:9px}.people-sheet-pagination>span{color:var(--muted)}
.people-sheet-footer>p{max-width:690px}.people-sheet-footer>div{display:flex;gap:8px}
:root[data-theme="dark"] .people-sheet-table .people-sheet-name,:root[data-theme="dark"] .people-sheet-table.selection-mode td:first-child{background:var(--surface)}
:root[data-theme="dark"] .people-sheet-table th.people-sheet-column-name,:root[data-theme="dark"] .people-sheet-table.selection-mode th:first-child{background:var(--surface-2)}

/* Áreas de trabalho em tela ampla: os controles cedem espaço para as linhas. */
.people-sheet-overlay{padding:clamp(4px,.7vh,8px) clamp(4px,.55vw,8px);place-items:stretch}
.people-sheet-shell{width:100%;height:100%;max-width:none;max-height:none;border-radius:12px}
.people-sheet-shell .planning-header{min-height:54px;padding:7px 13px;gap:12px}
.people-sheet-shell .planning-header .eyebrow{margin-bottom:2px;font-size:7px}
.people-sheet-shell .planning-header h2{font-size:20px;line-height:1.05}
.people-sheet-shell .planning-header>div>p:last-child{margin-top:2px;font-size:8px;line-height:1.2}
.people-sheet-body{padding:7px 11px 0}
.people-sheet-toolbar{grid-template-columns:minmax(155px,.75fr) minmax(175px,.8fr) minmax(125px,.48fr) minmax(260px,1.5fr);gap:6px;margin-bottom:6px}
.people-sheet-toolbar .field>span{margin-bottom:3px;font-size:8px}
.people-sheet-toolbar .field input,.people-sheet-toolbar .field select{height:33px;padding:5px 9px;border-radius:8px;font-size:10px}
.people-sheet-summary{min-height:34px;margin-bottom:6px;padding:4px 9px;border-radius:9px}
.people-sheet-summary>div{gap:8px}.people-sheet-summary strong{font-size:10px}.people-sheet-summary span{font-size:8px}
.people-sheet-summary .button{min-height:29px;padding-inline:10px;border-radius:8px;font-size:9px}
.people-sheet-table-card{border-radius:10px}
.people-sheet-table{font-size:9px}
.people-sheet-table th,.people-sheet-table td{padding:6px 8px;line-height:1.25}
.people-sheet-table th{font-size:7px}
.people-sheet-table th{position:relative}
.people-sheet-column-state{position:absolute;right:4px;top:50%;translate:0 -50%;color:var(--muted);font-size:8px;font-weight:800;pointer-events:none}
.people-sheet-table.edit-mode .plan-sort-button{padding-right:14px}
.people-sheet-table .people-sheet-cell-active-mode{padding:2px 3px}
.people-sheet-edit-cell,.people-sheet-open-record{width:100%;min-width:0;min-height:27px;padding:3px 5px;display:flex;align-items:center;justify-content:space-between;gap:7px;overflow:hidden;border:1px solid transparent;border-radius:6px;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}
.people-sheet-edit-cell span,.people-sheet-open-record span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.people-sheet-edit-cell b,.people-sheet-open-record b{flex:none;color:var(--primary);font-size:9px;opacity:.55}
.people-sheet-edit-cell:hover,.people-sheet-edit-cell:focus-visible{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:color-mix(in srgb,var(--primary-soft) 58%,var(--surface))}
.people-sheet-open-record{color:var(--muted)}
.people-sheet-open-record:hover,.people-sheet-open-record:focus-visible{border-color:var(--line);background:var(--surface-2);color:var(--ink)}
.people-sheet-cell-locked{background-image:repeating-linear-gradient(135deg,transparent 0,transparent 8px,color-mix(in srgb,var(--surface-2) 55%,transparent) 8px,color-mix(in srgb,var(--surface-2) 55%,transparent) 10px)}
.people-sheet-table td.is-editing{padding:2px 3px;background:color-mix(in srgb,var(--primary-soft) 58%,var(--surface))}
.people-sheet-table td.is-saving{opacity:.65;cursor:wait}
.people-sheet-cell-editor{width:100%;min-width:118px;height:29px;padding:3px 6px;border:1px solid var(--primary);border-radius:6px;outline:2px solid color-mix(in srgb,var(--primary) 20%,transparent);color:var(--ink);background:var(--surface);font:inherit}
textarea.people-sheet-cell-editor{height:42px;resize:vertical;white-space:normal}
.people-sheet-pagination{min-height:38px;padding:4px 9px;font-size:8px}
.people-sheet-pagination .button{min-height:29px;padding-inline:9px;font-size:9px}
.people-sheet-footer{min-height:46px;padding:6px 11px;gap:10px}
.people-sheet-footer>p{font-size:8px;line-height:1.3}
.people-sheet-footer .button{min-height:34px;padding-inline:12px;font-size:10px}

.planning-overlay.table-focus .planning-table-card{padding:8px 10px 0}
.planning-overlay.table-focus .planning-table-heading{align-items:center;gap:10px;padding-bottom:7px}
.planning-overlay.table-focus .planning-table-heading .section-heading{min-width:150px}
.planning-overlay.table-focus .planning-table-heading .section-number,
.planning-overlay.table-focus .planning-table-heading .section-heading p{display:none}
.planning-overlay.table-focus .planning-table-heading .section-heading h3{font-size:17px;line-height:1.1}
.planning-overlay.table-focus .planning-table-tools{flex:1;align-items:center;gap:7px}
.planning-overlay.table-focus .planning-table-search{min-width:0;max-width:none;flex:1;display:grid;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:7px}
.planning-overlay.table-focus .planning-table-search>span:first-child,
.planning-overlay.table-focus .planning-table-search .planning-sort-status{display:none}
.planning-overlay.table-focus .planning-table-search small{min-height:0;white-space:nowrap}
.planning-overlay.table-focus .planning-search-control input{height:33px}
.planning-overlay.table-focus .planning-table-tools>.button{min-height:33px;padding-inline:11px;font-size:9px}
.planning-overlay.table-focus .planning-table th,.planning-overlay.table-focus .planning-table td{padding:6px 8px;line-height:1.25}
.planning-overlay.table-focus .planning-table{font-size:9px}
.planning-overlay.table-focus .planning-table th{font-size:7px}
.planning-overlay.table-focus .planning-table td>small{margin-top:2px}
.planning-overlay.table-focus .plan-cell-input{height:29px}
.planning-overlay.table-focus .plan-check{grid-template-columns:24px;gap:2px}
.planning-overlay.table-focus .plan-check>span{width:24px;height:24px;border-radius:7px}
.planning-overlay.table-focus .planning-footer{min-height:48px;padding:6px 10px;gap:8px}
.planning-overlay.table-focus .planning-footer>p{font-size:8px;white-space:nowrap}
.planning-overlay.table-focus .planning-footer>div{flex-wrap:nowrap;gap:6px}
.planning-overlay.table-focus .planning-footer .button{min-height:34px;padding-inline:10px;font-size:9px}
.planning-overlay.table-focus .planning-export-scope{min-width:145px;height:34px}
@media(max-width:900px){.people-sheet-toolbar{grid-template-columns:1fr 1fr}.people-sheet-search{grid-column:1/-1}.people-sheet-summary{align-items:stretch;flex-direction:column}.people-sheet-summary>div{justify-content:space-between}.people-sheet-footer{align-items:stretch;flex-direction:column}.people-sheet-footer>div{display:grid;grid-template-columns:1fr 1fr}.people-sheet-footer .button:last-child{grid-column:1/-1}}
@media(max-width:560px){.people-sheet-toolbar{grid-template-columns:1fr}.people-sheet-search{grid-column:auto}.people-sheet-summary>div{align-items:flex-start;flex-direction:column;gap:6px}.people-sheet-summary .button{width:100%}.people-sheet-pagination{align-items:stretch;flex-direction:column}.people-sheet-pagination>div{justify-content:space-between}.people-sheet-footer>div{grid-template-columns:1fr}.people-sheet-footer .button:last-child{grid-column:auto}}
@media(max-width:900px){.planning-overlay.table-focus .planning-table-heading{align-items:stretch;flex-direction:column}.planning-overlay.table-focus .planning-table-tools{width:100%;flex-direction:row}.planning-overlay.table-focus .planning-table-search{grid-template-columns:1fr auto}.planning-overlay.table-focus .planning-footer>p{display:none}.planning-overlay.table-focus .planning-footer{overflow-x:auto}.planning-overlay.table-focus .planning-footer>div{display:flex;width:max-content}}
@media(max-width:560px){.people-sheet-shell .planning-header>div>p:last-child,.people-sheet-footer>p{display:none}.people-sheet-shell .planning-header{min-height:46px}.people-sheet-body{padding:5px 7px 0}.people-sheet-toolbar{display:flex;overflow-x:auto}.people-sheet-toolbar .field{min-width:180px}.people-sheet-search{min-width:260px!important}.people-sheet-summary{align-items:center;flex-direction:row}.people-sheet-summary>div:first-child span{display:none}.people-sheet-summary>div:last-child>span{display:none}.people-sheet-summary .button{width:auto}.people-sheet-footer{min-height:44px;flex-direction:row}.people-sheet-footer>div{display:flex;width:100%}.people-sheet-footer .button{flex:1}.planning-overlay.table-focus .planning-table-tools{align-items:stretch;flex-direction:column}.planning-overlay.table-focus .planning-table-search{grid-template-columns:1fr}.planning-overlay.table-focus .planning-table-search small{display:none}}

/* Product site — premium commercial presentation */
.landing-shell{--landing-blue:#176ee8;--landing-navy:#071a33;--landing-green:#35dc91;--landing-ice:#f3f7fc;min-height:100vh;overflow:clip;color:#10233f;background:#fff;scroll-behavior:smooth}
.landing-header{position:sticky;top:0;z-index:50;width:100%;height:82px;margin:0;padding:0 max(24px,calc((100% - 1360px)/2));gap:28px;border-bottom:1px solid rgba(166,188,216,.35);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 6px 26px rgba(19,52,93,.04)}
.landing-logo img{width:178px;height:48px}.landing-header nav{margin-left:auto;gap:25px}.landing-header nav a{position:relative;color:#465a74;font-size:12px}.landing-header nav a::after{content:"";position:absolute;right:50%;bottom:-9px;left:50%;height:2px;border-radius:2px;background:var(--landing-blue);transition:.2s ease}.landing-header nav a:hover::after{right:0;left:0}.landing-header-actions{gap:8px}.landing-header .button{min-height:39px;border-radius:11px}.landing-header .button.ghost{color:#354c68;background:#fff;border-color:#d6e2f1}
.landing-hero{width:min(1500px,calc(100% - 40px));min-height:710px;margin:20px auto 0;padding:clamp(48px,6vw,88px) clamp(28px,5vw,76px);display:grid;grid-template-columns:minmax(370px,.78fr) minmax(600px,1.22fr);gap:clamp(38px,5vw,78px);align-items:center;overflow:hidden;border-radius:38px;color:#fff;background:radial-gradient(circle at 82% 17%,rgba(23,110,232,.34),transparent 28%),radial-gradient(circle at 20% 110%,rgba(53,220,145,.12),transparent 32%),linear-gradient(135deg,#06162d 0%,#0a2444 62%,#0a315d 100%);box-shadow:0 30px 80px rgba(7,26,51,.22)}
.landing-hero::before{width:520px;height:520px;right:-170px;top:-180px;background:radial-gradient(circle,rgba(82,151,255,.24),transparent 68%)}
.landing-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.landing-hero-copy{padding:0;z-index:2}.landing-kicker{border-color:rgba(104,178,255,.25);color:#c9e3ff;background:rgba(67,141,238,.12);backdrop-filter:blur(10px)}.landing-kicker i{background:var(--landing-green);box-shadow:0 0 0 5px rgba(53,220,145,.13)}
.landing-hero h1{max-width:650px;margin:25px 0 22px;font-size:clamp(48px,5.5vw,78px);line-height:.96;letter-spacing:-.065em}.landing-hero h1 em{color:#6aaaff;background:linear-gradient(100deg,#5da3ff,#64efb6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-hero-copy>p{max-width:620px;color:rgba(231,241,255,.72);font-size:17px;line-height:1.7}.landing-hero-actions{margin-top:33px}.landing-hero .button.primary{border-color:#2f83f4;background:#247af0;box-shadow:0 15px 36px rgba(23,110,232,.35)}.landing-text-button{color:#eef6ff}.landing-text-button span{border-color:rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.07)}.landing-trust{flex-wrap:wrap;color:rgba(223,236,251,.65)}
.landing-showcase{position:relative;z-index:3;min-width:0;outline:none;touch-action:pan-y}.landing-showcase:focus-visible{border-radius:26px;box-shadow:0 0 0 4px rgba(102,171,255,.32)}.landing-showcase-glow{position:absolute;inset:-12% -8%;z-index:-1;filter:blur(32px);opacity:.62;background:radial-gradient(circle at 65% 20%,rgba(37,126,255,.62),transparent 34%),radial-gradient(circle at 15% 80%,rgba(53,220,145,.24),transparent 30%)}
.landing-showcase-window{position:relative;padding:9px;border:1px solid rgba(255,255,255,.18);border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.045));box-shadow:0 38px 80px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.2);backdrop-filter:blur(18px)}.landing-window-bar{height:39px;padding:0 11px;display:flex;align-items:center;gap:6px;border-radius:18px 18px 8px 8px;color:rgba(255,255,255,.55);background:#0c203b;font-size:8px}.landing-window-bar>span{width:7px;height:7px;border-radius:50%;background:#536b86}.landing-window-bar>span:first-child{background:#ff6b6b}.landing-window-bar>span:nth-child(2){background:#f8ca54}.landing-window-bar>span:nth-child(3){background:#4bd78e}.landing-window-bar b{margin-left:10px;font-weight:600}.landing-window-bar em{margin-left:auto;padding:5px 8px;border-radius:99px;color:#89f0be;background:rgba(53,220,145,.1);font-style:normal;font-weight:800;letter-spacing:.08em}
.landing-showcase-stage{position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:8px 8px 18px 18px;background:#dce8f6}.landing-showcase-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transform:scale(1.025);transition:opacity .52s ease,transform .72s cubic-bezier(.2,.75,.25,1),visibility .52s}.landing-showcase-slide.active{visibility:visible;opacity:1;transform:scale(1)}.landing-showcase-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.landing-showcase-slide::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(4,16,34,.88) 75%)}.landing-showcase-slide>div{position:absolute;right:24px;bottom:22px;left:24px;z-index:2;max-width:610px;color:#fff}.landing-showcase-slide span{color:#70efb8;font-size:8px;font-weight:900;letter-spacing:.15em}.landing-showcase-slide h2{margin:7px 0 5px;font-size:clamp(19px,2.1vw,28px);line-height:1.08;letter-spacing:-.035em}.landing-showcase-slide p{margin:0;color:rgba(234,244,255,.72);font-size:10px;line-height:1.5}.landing-showcase-controls{height:48px;padding:0 4px;display:flex;align-items:center;gap:10px}.landing-showcase-controls>button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;background:rgba(255,255,255,.06);cursor:pointer}.landing-showcase-controls>button:hover{border-color:rgba(102,171,255,.6);background:rgba(42,121,235,.28)}.landing-showcase-controls>span{margin-left:auto;color:rgba(255,255,255,.42);font-size:9px}.landing-showcase-controls>span b{color:#fff;font-size:12px}.landing-showcase-dots{display:flex;gap:5px}.landing-showcase-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.25);cursor:pointer;transition:.25s ease}.landing-showcase-dots button.active{width:24px;background:#5d9fff}
.landing-proof-strip{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.landing-proof-strip>div{padding:7px 28px;border-left:1px solid #dfe8f3}.landing-proof-strip>div:first-child{border-left:0}.landing-proof-strip strong,.landing-proof-strip span{display:block}.landing-proof-strip strong{font-size:18px;letter-spacing:-.025em}.landing-proof-strip span{margin-top:6px;color:#687c94;font-size:11px;line-height:1.45}
.landing-section{width:min(1180px,calc(100% - 40px));padding:110px 0}.landing-section-heading{max-width:760px;margin-bottom:54px}.landing-section-heading>span,.landing-security>div>span,.landing-comparison-copy>span,.landing-cta>div>span{color:var(--landing-blue);font-size:10px;font-weight:900;letter-spacing:.16em}.landing-section-heading h2,.landing-security h2,.landing-comparison h2,.landing-cta h2{font-size:clamp(36px,4.4vw,56px);line-height:1.04;letter-spacing:-.055em}.landing-section-heading p{max-width:680px;margin-inline:auto;color:#64788f;line-height:1.65}
.landing-capabilities{padding-top:92px}.landing-bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.landing-bento-card{grid-column:span 4;min-height:310px;padding:30px;position:relative;overflow:hidden;border:1px solid #dce6f1;border-radius:24px;background:#fff;box-shadow:0 15px 45px rgba(20,54,95,.065);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.landing-bento-card:hover{transform:translateY(-7px);border-color:#adc9eb;box-shadow:0 24px 54px rgba(19,58,106,.14)}.landing-bento-card.bento-primary,.landing-bento-card.bento-public{grid-column:span 6;min-height:350px}.landing-bento-card.bento-primary{color:#fff;border-color:#123f72;background:radial-gradient(circle at 90% 0,rgba(62,220,151,.21),transparent 35%),linear-gradient(140deg,#081c37,#0d396a)}.landing-bento-card.bento-public{background:radial-gradient(circle at 100% 0,rgba(23,110,232,.15),transparent 38%),linear-gradient(145deg,#f8fbff,#eaf3ff)}.landing-card-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid #d2e2f4;border-radius:15px;color:var(--landing-blue);background:#edf5ff;font-size:22px;font-weight:900}.bento-primary .landing-card-icon{border-color:rgba(255,255,255,.16);color:#67efb7;background:rgba(255,255,255,.08)}.landing-bento-card>small{display:block;margin-top:27px;color:#4b7eb9;font-size:9px;font-weight:900;letter-spacing:.14em}.bento-primary>small{color:#67efb7}.landing-bento-card h3{max-width:520px;margin:9px 0 11px;font-size:clamp(21px,2.1vw,29px);line-height:1.13;letter-spacing:-.04em}.landing-bento-card p{margin:0;color:#677a90;line-height:1.65}.bento-primary p{color:rgba(232,242,255,.67)}.landing-bento-card ul{margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;list-style:none}.landing-bento-card li,.landing-card-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#dcecff;background:rgba(255,255,255,.06);font-size:9px;font-weight:800}.landing-card-tags{margin-top:24px;display:flex;flex-wrap:wrap;gap:7px}.landing-card-tags span{border-color:#cbdff5;color:#32679f;background:#fff}
.landing-operating-system{width:calc(100% - 40px);max-width:1500px;margin:20px auto;padding:105px max(24px,calc((100% - 1180px)/2));border-radius:34px;color:#fff;background:radial-gradient(circle at 8% 100%,rgba(53,220,145,.1),transparent 25%),linear-gradient(135deg,#07172e,#0a2b50)}.landing-operating-system .landing-section-heading>span{color:#65efb6}.landing-operating-system .landing-section-heading h2{color:#fff}.landing-operating-system .landing-section-heading p{color:rgba(225,237,251,.6)}.landing-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.landing-module-grid article{min-height:225px;padding:27px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.045);transition:.25s ease}.landing-module-grid article:hover{transform:translateY(-5px);border-color:rgba(91,162,255,.42);background:rgba(255,255,255,.075)}.landing-module-grid b{color:#62eeb5;font-size:10px}.landing-module-grid h3{margin:27px 0 9px;font-size:19px}.landing-module-grid p{margin:0;color:rgba(229,240,253,.57);font-size:12px;line-height:1.65}
.landing-comparison{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:120px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.landing-comparison-copy h2{margin:12px 0 18px;font-size:clamp(36px,4.3vw,54px)}.landing-comparison-copy p{margin:0 0 28px;color:#63768d;font-size:15px;line-height:1.75}.landing-comparison-table{overflow:hidden;border:1px solid #d9e4f0;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(20,54,95,.1)}.landing-comparison-table>div{min-height:68px;padding:14px 20px;display:grid;grid-template-columns:1.05fr .95fr 1fr;gap:14px;align-items:center;border-top:1px solid #e3ebf4;font-size:11px}.landing-comparison-table>div:first-child{border-top:0}.landing-comparison-table span{font-weight:800}.landing-comparison-table i{color:#8594a5;font-style:normal}.landing-comparison-table b{padding:9px 10px;border-radius:9px;color:#08784e;background:#eafaf3}.landing-comparison-table .comparison-head{min-height:55px;color:#61748b;background:#f2f6fb;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.landing-comparison-table .comparison-head strong{color:#1165cb}
.landing-steps{width:100%;padding:105px max(24px,calc((100% - 1180px)/2));background:#f3f7fc;color:#10233f}.landing-steps .landing-section-heading{margin:0 auto 48px;text-align:center}.landing-steps .landing-section-heading>span{color:var(--landing-blue)}.landing-steps .landing-section-heading p{color:#64788f}.landing-steps>div:last-child{gap:15px}.landing-steps article{min-height:230px;padding:28px;border-color:#dbe6f2;color:#10233f;background:#fff;box-shadow:0 12px 36px rgba(20,54,95,.055)}.landing-steps article>b{color:var(--landing-blue)}.landing-steps h3{margin-top:36px}.landing-steps p{color:#687b92}
.landing-pricing{padding:115px max(24px,calc((100% - 1180px)/2));background:linear-gradient(180deg,#fff,#eff6ff)}.landing-pricing-grid{gap:18px}.landing-plan-card{border-radius:26px}.landing-plan-card.featured{border-color:var(--landing-blue);background:radial-gradient(circle at 100% 0,rgba(53,220,145,.18),transparent 35%),#fff}.landing-plan-badge{background:var(--landing-blue)}
.landing-security{grid-template-columns:1.06fr .94fr;gap:85px}.landing-security h2{font-size:clamp(38px,4.3vw,53px)}
.landing-faq{padding-top:55px}.landing-faq-list{max-width:900px;margin:auto;border-top:1px solid #dbe5f0}.landing-faq details{border-bottom:1px solid #dbe5f0}.landing-faq summary{min-height:78px;padding:20px 4px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;font-size:16px;font-weight:800;list-style:none}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary span{display:grid;width:32px;height:32px;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--landing-blue);background:#eaf3ff;transition:transform .2s ease}.landing-faq details[open] summary span{transform:rotate(45deg)}.landing-faq details p{margin:-7px 50px 24px 4px;color:#64788f;line-height:1.7}
.landing-cta{width:min(1180px,calc(100% - 40px));margin:25px auto 95px;padding:55px 60px;border-radius:30px;background:radial-gradient(circle at 90% 0,rgba(73,232,165,.27),transparent 38%),linear-gradient(125deg,#071b35,#176ee8)}.landing-cta>div:first-child{max-width:680px}.landing-cta>div>span{color:#69efb8}.landing-cta h2{margin-bottom:0;font-size:clamp(31px,3.6vw,44px)}.landing-cta>div:last-child{display:grid;gap:9px;flex:0 0 auto}.landing-cta-secondary{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08)}
.landing-footer{min-height:165px;padding:34px max(24px,calc((100% - 1180px)/2));display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto auto;gap:8px 32px}.landing-footer img{grid-row:1/4}.landing-footer p{margin:0;align-self:end}.landing-footer>div{display:flex;gap:20px;align-items:center;justify-content:flex-end}.landing-footer a,.landing-footer button{border:0;color:#40536d;background:transparent;text-decoration:none;font-size:10px;font-weight:800;cursor:pointer}.landing-footer-contacts a{color:#0b63e5}.landing-footer small{grid-column:3;justify-self:end;font-size:9px}.support-direct-email{display:inline-flex;margin-top:14px;color:#fff;font-size:12px;font-weight:850;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}.subscription-finance-email{display:inline-flex;margin-top:8px;color:var(--green-2);font-size:11px;font-weight:850;text-decoration:none}
@media(max-width:1120px){.landing-header nav{display:none}.landing-hero{grid-template-columns:1fr;max-width:920px}.landing-hero-copy{text-align:center}.landing-hero h1,.landing-hero-copy>p{margin-left:auto;margin-right:auto}.landing-hero-actions,.landing-trust{justify-content:center}.landing-showcase{width:min(820px,100%);margin:auto}.landing-proof-strip{grid-template-columns:1fr 1fr}.landing-proof-strip>div:nth-child(3){border-left:0}.landing-bento-card{grid-column:span 6}.landing-operating-system{width:calc(100% - 28px)}.landing-comparison{grid-template-columns:1fr;gap:44px}.landing-comparison-copy{text-align:center}.landing-comparison-copy p{max-width:740px;margin-inline:auto}.landing-security{gap:40px}}
@media(max-width:760px){.landing-header{height:70px;padding:0 14px;gap:7px}.landing-logo img{width:128px}.landing-header-actions [data-open-demo]{display:none}.landing-header-actions .button{min-height:36px}.landing-header-actions .button.ghost{padding-inline:9px;font-size:10px}.landing-header-actions .button.primary{padding-inline:12px;font-size:0}.landing-header-actions .button.primary::after{content:"Conta";font-size:10px}.landing-hero{width:calc(100% - 20px);margin-top:10px;padding:50px 18px 22px;border-radius:27px}.landing-hero-copy{padding:0}.landing-hero h1{font-size:clamp(43px,13vw,60px)}.landing-hero-copy>p{font-size:15px}.landing-hero-actions{align-items:stretch;flex-direction:column}.landing-trust{align-items:center;flex-direction:column;gap:7px}.landing-window-bar em{display:none}.landing-showcase-window{padding:6px;border-radius:20px}.landing-showcase-stage{aspect-ratio:4/3}.landing-showcase-slide img{object-fit:cover}.landing-showcase-slide>div{right:15px;bottom:15px;left:15px}.landing-showcase-slide h2{font-size:20px}.landing-showcase-slide p{display:none}.landing-showcase-controls{height:45px}.landing-showcase-dots{gap:4px}.landing-showcase-dots button{width:6px;height:6px}.landing-showcase-dots button.active{width:18px}.landing-proof-strip{width:calc(100% - 30px);padding:35px 0;grid-template-columns:1fr}.landing-proof-strip>div{padding:17px 6px;border-top:1px solid #dfe8f3;border-left:0}.landing-proof-strip>div:first-child{border-top:0}.landing-section{width:calc(100% - 30px);padding:78px 0}.landing-section-heading{margin-bottom:38px}.landing-bento-grid{grid-template-columns:1fr}.landing-bento-card,.landing-bento-card.bento-primary,.landing-bento-card.bento-public{grid-column:1;min-height:0;padding:25px}.landing-operating-system{width:calc(100% - 20px);padding:78px 18px;border-radius:26px}.landing-module-grid{grid-template-columns:1fr}.landing-module-grid article{min-height:0}.landing-comparison{width:calc(100% - 30px);padding:82px 0}.landing-comparison-table{overflow-x:auto}.landing-comparison-table>div{min-width:650px}.landing-steps{padding:78px 15px}.landing-steps>div:last-child{grid-template-columns:1fr}.landing-steps article{min-height:0}.landing-pricing{width:100%;padding:82px 15px}.landing-pricing-grid{grid-template-columns:1fr}.landing-security{grid-template-columns:1fr}.security-orbit{height:330px}.landing-faq{padding-top:45px}.landing-faq summary{min-height:70px;font-size:14px}.landing-cta{width:calc(100% - 20px);padding:36px 24px;align-items:stretch;flex-direction:column}.landing-cta>div:last-child{width:100%}.landing-footer{padding:35px 24px;grid-template-columns:1fr;grid-template-rows:auto;gap:13px}.landing-footer img,.landing-footer small{grid-row:auto;grid-column:auto}.landing-footer>div{justify-content:flex-start;flex-wrap:wrap}.landing-footer small{justify-self:start}}
@media(prefers-reduced-motion:reduce){.landing-showcase-slide,.landing-bento-card,.landing-module-grid article,.landing-faq summary span{transition:none}.landing-shell{scroll-behavior:auto}}
.landing-bento-card{grid-column:span 3}
.landing-bento-card.bento-electoral{grid-column:1/-1;min-height:350px;padding:34px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:34px;align-items:center;color:#fff;border-color:#153d68;background:radial-gradient(circle at 5% 100%,rgba(48,218,148,.24),transparent 36%),radial-gradient(circle at 90% 0,rgba(74,158,255,.24),transparent 38%),linear-gradient(135deg,#071b34,#0b345f);box-shadow:0 24px 58px rgba(9,35,67,.18)}
.landing-bento-card.bento-electoral:hover{border-color:#2d689e;box-shadow:0 29px 68px rgba(9,35,67,.25)}
.bento-electoral>div:first-child>small{display:block;margin-top:24px;color:#68efb9;font-size:9px;font-weight:900;letter-spacing:.14em}.bento-electoral h3{max-width:650px;margin:9px 0 12px;color:#fff;font-size:clamp(26px,3vw,40px)}.bento-electoral p{max-width:690px;color:rgba(232,242,255,.7)}.bento-electoral>div:first-child>em{display:block;margin-top:19px;color:rgba(222,236,252,.52);font-size:9px;font-style:normal}.bento-electoral .landing-card-tags span{border-color:rgba(255,255,255,.15);color:#dcecff;background:rgba(255,255,255,.07)}
.landing-electoral-preview{padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.1),0 20px 46px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.landing-electoral-preview header,.landing-electoral-preview footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-electoral-preview header span{color:#68efb9;font-size:8px;font-weight:900;letter-spacing:.13em}.landing-electoral-preview header b{padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.07);font-size:9px}.landing-electoral-preview>strong{display:block;margin:22px 0 12px;font-size:17px}.landing-electoral-preview>div{display:grid;gap:8px}.landing-electoral-preview>div>span{position:relative;min-height:57px;padding:11px 12px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(5,24,47,.5)}.landing-electoral-preview>div i{position:absolute;inset:auto auto 0 0;width:var(--score);height:3px;border-radius:99px;background:linear-gradient(90deg,#32dd98,#f0bd5a)}.landing-electoral-preview>div b,.landing-electoral-preview>div small{display:block;position:relative}.landing-electoral-preview>div b{font-size:11px}.landing-electoral-preview>div small{margin-top:3px;color:rgba(232,242,255,.52);font-size:8px}.landing-electoral-preview footer{margin-top:17px;color:rgba(232,242,255,.62);font-size:8px;font-weight:800}
@media(max-width:1120px){.landing-bento-card{grid-column:span 6}}
@media(max-width:1120px){.landing-bento-card.bento-electoral{grid-column:1/-1}}
@media(max-width:760px){.landing-bento-card,.landing-bento-card.bento-primary,.landing-bento-card.bento-public{grid-column:1}.landing-bento-card.bento-electoral{grid-column:1;padding:25px;grid-template-columns:1fr;gap:25px}.landing-electoral-preview{padding:17px}}
.landing-whatsapp-inline{display:inline-flex;align-items:center;text-decoration:none}.landing-whatsapp-float{position:fixed;z-index:70;right:22px;bottom:22px;padding:10px 15px 10px 10px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:#fff;background:#16a765;box-shadow:0 16px 38px rgba(5,89,52,.32);text-decoration:none;font-size:11px;font-weight:850;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.landing-whatsapp-float:hover{transform:translateY(-3px);background:#118f55;box-shadow:0 21px 46px rgba(5,89,52,.4)}.landing-whatsapp-float:focus-visible{outline:3px solid rgba(52,220,145,.35);outline-offset:3px}.landing-whatsapp-float svg{width:29px;height:29px;fill:currentColor}.landing-whatsapp-float span{white-space:nowrap}@media(max-width:760px){.landing-whatsapp-float{right:14px;bottom:14px;width:52px;height:52px;padding:0;justify-content:center}.landing-whatsapp-float svg{width:30px;height:30px}.landing-whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* Raio X de votos */
.electoral-heading{align-items:center}.electoral-config{margin-bottom:18px;padding:0;overflow:hidden}.electoral-config summary{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.electoral-config summary::-webkit-details-marker{display:none}.electoral-config summary span,.electoral-config summary small{display:block}.electoral-config summary small{margin-top:3px;color:var(--muted);font-weight:500}.electoral-config[open] summary b{transform:rotate(180deg)}.electoral-config form{padding:18px 20px;display:grid;grid-template-columns:1.15fr 1.15fr 1fr auto;gap:12px;align-items:end;border-top:1px solid var(--line)}.electoral-config select[multiple]{min-height:112px}.electoral-config .field small{margin-top:5px;color:var(--muted);font-size:9px}.electoral-note{grid-column:1/-1;color:var(--muted)}
.electoral-identity{margin-bottom:16px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 9%,var(--surface)),var(--surface))}.electoral-identity>div:first-child{display:flex;align-items:center;gap:16px}.electoral-identity h2{margin:3px 0 5px}.electoral-identity p{margin:0;color:var(--muted)}.electoral-number{display:grid;min-width:72px;height:72px;padding:0 10px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(145deg,var(--primary),#0a4fae);font-size:25px;font-weight:900}.electoral-sources{display:flex;gap:8px;flex-wrap:wrap}.electoral-sources a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--primary);background:var(--surface);font-size:10px;font-weight:800;text-decoration:none}
.electoral-metrics{margin:16px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.electoral-metrics article{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.electoral-metrics small,.electoral-metrics span,.electoral-metrics strong{display:block}.electoral-metrics small{color:var(--muted);font-weight:800}.electoral-metrics strong{margin:8px 0 4px;color:var(--heading);font-size:27px}.electoral-metrics span{color:var(--muted);font-size:10px}
.electoral-comparison{margin-bottom:16px}.electoral-comparison>div{display:grid;gap:10px}.electoral-comparison article{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,2fr) auto;gap:14px;align-items:center}.electoral-comparison article>span strong,.electoral-comparison article>span small{display:block}.electoral-comparison article>span b{display:inline-block;margin-right:7px;color:var(--primary)}.electoral-comparison article>span small{margin-top:3px;color:var(--muted);font-size:9px}.electoral-comparison article>div{height:10px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.electoral-comparison article i{display:block;width:var(--bar);height:100%;border-radius:inherit;background:#93a8c2}.electoral-comparison article.primary i{background:linear-gradient(90deg,var(--primary),var(--green))}.electoral-comparison article em{font-style:normal;font-weight:850}
.electoral-ranking{margin-bottom:16px}.electoral-ranking>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.electoral-filters{display:flex;gap:8px}.electoral-filters select,.electoral-filters input{min-height:40px}.electoral-filters input{width:260px}.electoral-table{margin-top:16px;overflow:auto}.electoral-row{min-width:720px;padding:10px 8px;display:grid;grid-template-columns:minmax(260px,1fr) 90px 115px 145px;gap:12px;align-items:center;border-top:1px solid var(--line)}.electoral-row-head{color:var(--muted);background:var(--surface-soft);font-size:9px;font-weight:850;text-transform:uppercase}.electoral-row>span strong,.electoral-row>span small{display:block}.electoral-row>span small{margin-top:3px;color:var(--muted);font-size:9px}.electoral-row>span i{display:block;width:var(--bar);max-width:100%;height:4px;margin-top:7px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--green))}.electoral-row b{color:var(--heading)}.electoral-row em{font-style:normal;color:var(--muted)}
.electoral-map-panel{margin-bottom:16px}.vote-xray-map{height:520px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.vote-xray-map>p{padding:60px;text-align:center;color:var(--muted)}.vote-xray-map .leaflet-popup-content{font-size:11px;line-height:1.55}.electoral-coverage>header{display:flex;justify-content:space-between;gap:16px}.electoral-coverage>header>strong{font-size:26px;text-align:right}.electoral-coverage>header>strong small{display:block;color:var(--muted);font-size:9px}.electoral-coverage-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.electoral-coverage-columns h3{font-size:12px}.electoral-coverage-columns p{margin:0;padding:8px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);font-size:10px}.electoral-coverage-columns p.muted{display:block;color:var(--muted);line-height:1.5}.electoral-methodology{margin:16px 0;padding:18px 20px;border-left:4px solid var(--primary);border-radius:0 14px 14px 0;background:var(--surface-soft)}.electoral-methodology p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.electoral-empty,.electoral-loading{min-height:320px;display:grid;place-content:center;text-align:center}.electoral-empty>span{color:var(--primary);font-size:44px}.electoral-empty h2{margin:13px 0 7px}.electoral-empty p{max-width:560px;color:var(--muted);line-height:1.6}.electoral-empty small{color:var(--primary);font-weight:800}.electoral-loading span{width:40px;height:40px;margin:auto;border:4px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.electoral-loading strong{margin-top:14px}
@media(max-width:1000px){.electoral-config form{grid-template-columns:1fr 1fr}.electoral-config form .button{width:max-content}.electoral-metrics{grid-template-columns:1fr 1fr}}@media(max-width:700px){.electoral-config form{grid-template-columns:1fr}.electoral-identity,.electoral-ranking>header{align-items:stretch;flex-direction:column}.electoral-sources{justify-content:flex-start}.electoral-metrics{grid-template-columns:1fr}.electoral-comparison article{grid-template-columns:1fr auto}.electoral-comparison article>div{grid-column:1/-1;grid-row:2}.electoral-filters{flex-direction:column}.electoral-filters input{width:100%}.vote-xray-map{height:430px}.electoral-coverage-columns{grid-template-columns:1fr}}

/* Raio X de votos — apresentação executiva */
.electoral-heading {
  position: relative;
  isolation: isolate;
  min-height: 184px;
  margin: 0 0 18px;
  padding: 30px 34px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--green) 22%,var(--line));
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 5%,color-mix(in srgb,var(--gold) 34%,transparent),transparent 24%),
    radial-gradient(circle at 8% 120%,color-mix(in srgb,var(--green) 42%,transparent),transparent 34%),
    linear-gradient(135deg,var(--sidebar-bg),color-mix(in srgb,var(--sidebar-bg-2) 78%,var(--green)));
  box-shadow: 0 22px 52px color-mix(in srgb,var(--sidebar-bg) 22%,transparent);
}
.electoral-heading::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .17;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(90deg,#000,transparent 88%);
}
.electoral-heading .eyebrow { color: color-mix(in srgb,var(--gold) 65%,#fff); }
.electoral-heading h1 { color: #fff; font-size: clamp(31px,3.5vw,46px); }
.electoral-heading>div>p:not(.eyebrow) { max-width: 680px; color: rgba(235,244,255,.72); font-size: 14px; }
.electoral-heading-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.electoral-heading-tags span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(245,249,255,.79); background: rgba(255,255,255,.06); font-size: 9px; font-weight: 800; }
.electoral-edition { display: grid; min-width: 92px; min-height: 86px; place-content: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.15); border-radius: 22px; background: rgba(255,255,255,.08); box-shadow: inset 0 1px rgba(255,255,255,.12); text-align: center; backdrop-filter: blur(10px); }
.electoral-edition small,.electoral-edition b { display: block; }
.electoral-edition small { color: rgba(255,255,255,.55); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.electoral-edition b { margin-top: 3px; color: #fff; font-size: 23px; }

.electoral-config { border-radius: 17px; box-shadow: var(--shadow-sm); }
.electoral-config summary { transition: background .18s ease; }
.electoral-config summary:hover { background: var(--surface-hover); }
.electoral-config summary b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); transition: transform .18s ease; }

.electoral-identity {
  position: relative;
  isolation: isolate;
  min-height: 144px;
  padding: 25px;
  overflow: hidden;
  border-color: color-mix(in srgb,var(--green) 25%,var(--line));
  background: linear-gradient(120deg,color-mix(in srgb,var(--green-soft) 82%,var(--surface)),var(--surface) 72%);
  box-shadow: var(--shadow-sm);
}
.electoral-identity::after { content: ""; position: absolute; z-index: -1; width: 260px; height: 260px; right: -120px; top: -150px; border-radius: 50%; background: color-mix(in srgb,var(--green) 8%,transparent); }
.electoral-identity-main { display: flex; align-items: center; gap: 19px; min-width: 0; }
.electoral-candidate-visual { position: relative; flex: 0 0 auto; }
.electoral-portrait { display: block; width: 108px; height: 116px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--green) 24%,var(--line)); border-radius: 25px; background: radial-gradient(circle at 50% 20%,#fff,color-mix(in srgb,var(--green-soft) 62%,var(--surface-2))); box-shadow: 0 13px 30px rgba(16,35,63,.13); }
.electoral-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.electoral-candidate-visual.has-portrait .electoral-number { position: absolute; right: -11px; bottom: -8px; min-width: 63px; width: auto; height: 47px; padding: 7px 11px; border-radius: 14px; box-shadow: 0 9px 20px color-mix(in srgb,var(--green) 32%,transparent); }
.electoral-candidate-visual.has-portrait .electoral-number small { margin-bottom: 4px; font-size: 6px; }
.electoral-candidate-visual.has-portrait .electoral-number b { font-size: 18px; }
.electoral-number {
  display: grid;
  min-width: 112px;
  height: 92px;
  padding: 13px 16px;
  place-content: center;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  color: #fff;
  background: radial-gradient(circle at 90% 0,rgba(255,255,255,.2),transparent 38%),linear-gradient(145deg,var(--green),var(--green-2));
  box-shadow: 0 14px 30px color-mix(in srgb,var(--green) 30%,transparent);
  line-height: 1;
}
.electoral-number small { display: block; margin-bottom: 7px; color: rgba(255,255,255,.68); font-size: 7px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.electoral-number b { color: #fff; font-size: 27px; letter-spacing: -.02em; }
.electoral-candidate-copy { min-width: 0; }
.electoral-candidate-copy h2 { color: var(--ink); font-size: clamp(18px,2vw,25px); line-height: 1.15; }
.electoral-candidate-copy>p:last-of-type { color: var(--ink-2); }
.electoral-status-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.electoral-ready-badge,
.electoral-photo-badge { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: 8px; font-weight: 850; }
.electoral-ready-badge { color: #08784e; background: #e6f8ef; }
.electoral-photo-badge { color: #174276; background: #e8f2ff; }
.electoral-sources { max-width: 300px; justify-content: flex-end; }
.electoral-sources>small { width: 100%; color: var(--muted); font-size: 8px; font-weight: 850; text-align: right; text-transform: uppercase; letter-spacing: .1em; }
.electoral-sources a { color: var(--green); box-shadow: 0 5px 14px rgba(16,35,63,.04); transition: transform .18s ease,border-color .18s ease; }
.electoral-sources a:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--green) 45%,var(--line)); }

.electoral-metrics { gap: 13px; }
.electoral-metrics article { position: relative; isolation: isolate; min-height: 137px; padding: 19px 20px; overflow: hidden; box-shadow: var(--shadow-sm); }
.electoral-metrics article::after { content: ""; position: absolute; z-index: -1; width: 92px; height: 92px; right: -47px; bottom: -50px; border-radius: 50%; background: color-mix(in srgb,var(--metric-color,var(--green)) 12%,transparent); }
.electoral-metrics article[data-tone="votes"] { --metric-color: var(--green); }
.electoral-metrics article[data-tone="rank"] { --metric-color: #7556d8; }
.electoral-metrics article[data-tone="share"] { --metric-color: #0d9a78; }
.electoral-metrics article[data-tone="coverage"] { --metric-color: #d08718; }
.electoral-metrics article>div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.electoral-metrics article>div i { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; color: var(--metric-color); background: color-mix(in srgb,var(--metric-color) 11%,var(--surface)); font-size: 13px; font-style: normal; font-weight: 900; }
.electoral-metrics small { color: var(--ink-2); }
.electoral-metrics strong { margin: 12px 0 3px; color: var(--ink); font-size: 29px; line-height: 1; letter-spacing: -.035em; }

.electoral-comparison,.electoral-ranking,.electoral-map-panel,.electoral-coverage { border-radius: 21px; box-shadow: var(--shadow-sm); }
.electoral-comparison>header,.electoral-map-panel>header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.electoral-comparison>header h2,.electoral-map-panel>header h2,.electoral-ranking>header h2,.electoral-coverage>header h2 { margin: 0; font-size: 20px; }
.electoral-comparison>header p:not(.eyebrow),.electoral-map-panel>header p:not(.eyebrow),.electoral-ranking>header p:not(.eyebrow),.electoral-coverage>header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.electoral-panel-badge { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.electoral-comparison-list { margin-top: 17px; display: grid; gap: 7px; }
.electoral-comparison article { position: relative; min-height: 78px; padding: 11px 46px 11px 12px; grid-template-columns: 38px minmax(190px,1.05fr) minmax(130px,.8fr) minmax(310px,1.45fr); gap: 13px; border: 1px solid transparent; border-radius: 13px; transition: background .18s ease,border-color .18s ease; }
.electoral-comparison article:hover { background: var(--surface-hover); }
.electoral-comparison article.primary { border-color: color-mix(in srgb,var(--green) 22%,var(--line)); background: color-mix(in srgb,var(--green-soft) 62%,var(--surface)); }
.electoral-candidate-rank { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--muted); background: var(--surface-2); font-size: 9px; font-weight: 900; }
.electoral-comparison article.primary .electoral-candidate-rank { color: #fff; background: var(--green); }
.electoral-comparison-profile { display: flex; align-items: center; gap: 11px; min-width: 0; }
.electoral-comparison-photo { display: grid; width: 39px; height: 45px; flex: 0 0 39px; overflow: hidden; place-items: center; border: 1px solid color-mix(in srgb,var(--green) 20%,var(--line)); border-radius: 11px; color: var(--muted); background: var(--surface-2); box-shadow: 0 5px 12px rgba(16,35,63,.08); }
.electoral-comparison-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.electoral-comparison-photo.fallback { font-size: 9px; }
.electoral-comparison-name { min-width: 0; }
.electoral-comparison-name>span { display: flex; align-items: center; gap: 7px; }
.electoral-comparison-name>span b { margin: 0; color: var(--green); font-size: 9px; }
.electoral-comparison-name>strong { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.electoral-comparison-name>small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.electoral-current-label { margin: 0!important; padding: 3px 6px; border-radius: 999px; color: #08784e!important; background: #dcf7e9; font-size: 7px!important; font-weight: 900; text-transform: uppercase; }
.electoral-comparison-score { min-width: 0; }
.electoral-comparison-score>small { display: block; margin-top: 5px; color: var(--muted); font-size: 7px; font-weight: 750; }
.electoral-comparison-bar { height: 9px; overflow: hidden; border-radius: 999px; background: var(--surface-2); }
.electoral-comparison-bar i { display: block; width: var(--bar); height: 100%; border-radius: inherit; background: #9eb0c7; }
.electoral-comparison article.primary .electoral-comparison-bar i { background: linear-gradient(90deg,var(--green),var(--gold)); }
.electoral-comparison-stats { margin: 0; display: grid; grid-template-columns:.8fr 1fr 1.35fr; gap: 6px; }
.electoral-comparison-stats>span { min-width: 0; padding: 7px 8px; border: 1px solid var(--line); border-radius: 9px; background: color-mix(in srgb,var(--surface-2) 78%,transparent); }
.electoral-comparison-stats dt { overflow: hidden; color: var(--muted); font-size: 7px; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.electoral-comparison-stats dd { margin: 3px 0 0; color: var(--ink); font-size: 10px; font-weight: 900; white-space: nowrap; }
.electoral-comparison-stats dd small { color: var(--muted); font-size: 7px; }
.electoral-comparison-stats .positive dd { color: #08784e; }
.electoral-comparison-stats .negative dd { color: #b34843; }
.electoral-comparison-stats .reference dd { color: var(--primary); }
.electoral-comparison-note { margin: 12px 2px 0; color: var(--muted); font-size: 8px; }
.electoral-remove-candidate { position: absolute; z-index: 2; right: 10px; top: 10px; display: grid; width: 27px; height: 27px; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: color-mix(in srgb,var(--surface) 92%,transparent); box-shadow: 0 5px 12px rgba(16,35,63,.08); font: 800 17px/1 Arial,sans-serif; cursor: pointer; transition: color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease; }
.electoral-remove-candidate:hover { border-color: color-mix(in srgb,#c3413b 42%,var(--line)); color: #a8312c; background: #fff0ef; transform: translateY(-1px); }
.electoral-remove-candidate:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.electoral-remove-candidate:disabled { opacity: .5; cursor: wait; transform: none; }

.electoral-ranking>header { align-items: flex-start; }
.electoral-filters select,.electoral-filters input { border-color: var(--line); border-radius: 11px; color: var(--ink); background: var(--surface-2); }
.electoral-filters select:focus,.electoral-filters input:focus { border-color: var(--green); box-shadow: 0 0 0 3px var(--focus-ring); outline: 0; }
.electoral-table { border: 1px solid var(--line); border-radius: 14px; }
.electoral-row { padding: 12px 14px; border-top-color: var(--line); }
.electoral-row:first-child { border-top: 0; }
.electoral-row-head { color: var(--ink-2); background: var(--surface-2); }
.electoral-row:not(.electoral-row-head):hover { background: var(--surface-hover); }
.electoral-area { display: grid!important; grid-template-columns: 29px minmax(0,1fr); gap: 11px; align-items: center; }
.electoral-area>b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: var(--muted); background: var(--surface-2); font-size: 9px; }
.electoral-row.top .electoral-area>b { color: #fff; background: var(--green); }
.electoral-area>span { min-width: 0; }
.electoral-area strong { color: var(--ink); }
.electoral-area i { display: block; width: var(--bar); max-width: 100%; height: 4px; margin-top: 7px; border-radius: 999px; background: linear-gradient(90deg,var(--green),var(--gold)); }
.electoral-row>b { color: var(--ink); font-size: 12px; }

.electoral-view-switch { width: max-content; margin-top: 17px; padding: 4px; display: flex; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.electoral-view-switch button { min-height: 35px; padding: 0 13px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font-size: 9px; font-weight: 850; cursor: pointer; }
.electoral-view-switch button.active { color: #fff; background: linear-gradient(135deg,var(--green),var(--green-2)); box-shadow: 0 5px 13px rgba(13,143,104,.2); }
.electoral-view-switch button:disabled { opacity: .45; cursor: not-allowed; }
.electoral-territorial-picker { margin-top: 13px; padding: 13px; display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 12px; border: 1px solid color-mix(in srgb,var(--green) 18%,var(--line)); border-radius: 14px; background: color-mix(in srgb,var(--green-soft) 32%,var(--surface)); }
.electoral-territorial-picker label { display: block; margin-bottom: 5px; color: var(--ink-2); font-size: 8px; font-weight: 850; }
.electoral-territorial-picker input { width: 100%; min-height: 42px; border-color: var(--line); border-radius: 10px; background: var(--surface); }
.electoral-history-territorial-picker { margin-top: 13px; padding: 13px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 10px; align-items: end; border: 1px solid color-mix(in srgb,var(--blue) 18%,var(--line)); border-radius: 14px; background: color-mix(in srgb,var(--blue-soft) 35%,var(--surface)); }
.electoral-history-territorial-picker label>span { display: block; margin-bottom: 5px; color: var(--ink-2); font-size: 8px; font-weight: 850; }
.electoral-history-territorial-picker select { width: 100%; min-height: 42px; border-color: var(--line); border-radius: 10px; color: var(--ink); background: var(--surface); }
.electoral-history-territorial-picker>span { padding-bottom: 12px; color: var(--blue); font-size: 17px; font-weight: 900; }
.electoral-history-territorial-picker>small { grid-column: 1/-1; color: var(--muted); font-size: 8px; }
.electoral-territorial-candidates { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.electoral-territorial-candidates button { min-width: 0; min-height: 54px; padding: 6px 8px; display: grid; grid-template-columns: 34px minmax(0,1fr) 17px; gap: 7px; align-items: center; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); text-align: left; background: var(--surface); cursor: pointer; }
.electoral-territorial-candidates button:hover,.electoral-territorial-candidates button.selected { border-color: color-mix(in srgb,var(--green) 55%,var(--line)); background: var(--green-soft); }
.electoral-territorial-candidates .electoral-comparison-photo { width: 32px; height: 39px; flex-basis: 32px; border-radius: 9px; }
.electoral-territorial-candidates button span { min-width: 0; }
.electoral-territorial-candidates button b,.electoral-territorial-candidates button strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electoral-territorial-candidates button b { color: var(--green); font-size: 8px; }
.electoral-territorial-candidates button strong { margin-top: 2px; font-size: 8px; }
.electoral-territorial-candidates button i { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: transparent; background: var(--surface-2); font-size: 8px; font-style: normal; }
.electoral-territorial-candidates button.selected i { color: #fff; background: var(--green); }
.electoral-territorial-candidates>p { margin: 0; padding: 13px; grid-column: 1/-1; color: var(--muted); font-size: 9px; }
.electoral-territorial-legend { margin: 13px 0 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 11px; color: var(--muted); font-size: 8px; }
.electoral-territorial-legend span { display: flex; align-items: center; gap: 5px; font-weight: 800; }
.electoral-territorial-legend i { width: 9px; height: 9px; border-radius: 3px; }
.electoral-territorial-legend i.better { background: #bfeeda; }
.electoral-territorial-legend i.worse { background: #f6c8c5; }
.electoral-territorial-legend i.equal { border: 1px solid var(--line); background: var(--surface-2); }
.electoral-territorial-legend small { margin-left: auto; font-size: 8px; }
.electoral-territorial-scroll { overflow: auto; border: 1px solid var(--line); border-radius: 15px; }
.electoral-territorial-compare { min-width: 880px; }
.electoral-territorial-compare-head,.electoral-territorial-compare-row { display: grid; grid-template-columns: minmax(190px,.75fr) minmax(315px,1fr) minmax(315px,1fr); gap: 11px; align-items: center; }
.electoral-territorial-compare-head { min-height: 72px; padding: 9px 12px; color: var(--muted); background: var(--surface-2); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.electoral-territorial-profile { display: flex; align-items: center; gap: 9px; min-width: 0; }
.electoral-territorial-profile>span { min-width: 0; }
.electoral-territorial-profile small,.electoral-territorial-profile strong,.electoral-territorial-profile b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electoral-territorial-profile small { color: var(--muted); font-size: 7px; }
.electoral-territorial-profile strong { margin-top: 2px; color: var(--ink); font-size: 9px; }
.electoral-territorial-profile b { margin-top: 2px; color: var(--green); font-size: 8px; }
.electoral-territorial-compare-row { min-height: 83px; padding: 10px 12px; border-top: 1px solid var(--line); }
.electoral-territorial-compare-row:hover { background: var(--surface-hover); }
.electoral-territory-name { display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 8px; align-items: center; }
.electoral-territory-name>b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 8px; }
.electoral-territory-name strong,.electoral-territory-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electoral-territory-name strong { color: var(--ink); font-size: 9px; }
.electoral-territory-name small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.electoral-territorial-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.electoral-territorial-metric { min-width: 0; min-height: 55px; padding: 8px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.electoral-territorial-metric small,.electoral-territorial-metric strong,.electoral-territorial-metric em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electoral-territorial-metric small { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.electoral-territorial-metric strong { margin-top: 3px; color: var(--ink); font-size: 11px; }
.electoral-territorial-metric em { margin-top: 2px; color: var(--muted); font-size: 7px; font-style: normal; font-weight: 800; }
.electoral-territorial-values.primary .electoral-territorial-metric.better { border-color: #9cddc1; background: #e8f8f0; box-shadow: 0 4px 12px rgba(8,120,78,.08); }
.electoral-territorial-values.primary .electoral-territorial-metric.better strong,.electoral-territorial-values.primary .electoral-territorial-metric.better em { color: #08784e; }
.electoral-territorial-values.primary .electoral-territorial-metric.worse { border-color: #edb2ae; background: #fff0ef; box-shadow: 0 4px 12px rgba(179,72,67,.07); }
.electoral-territorial-values.primary .electoral-territorial-metric.worse strong,.electoral-territorial-values.primary .electoral-territorial-metric.worse em { color: #a43d38; }
.electoral-territorial-empty { margin-top: 13px; padding: 28px; border: 1px dashed var(--line); border-radius: 14px; text-align: center; }
.electoral-territorial-empty p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.electoral-history-territorial-note { margin: 11px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.55; }

.electoral-map-layout { margin-top: 17px; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(270px,.75fr); gap: 15px; }
.electoral-map-stage { position: relative; min-width: 0; }
.vote-xray-map { height: 460px; border-radius: 17px; background-color: #dce8f2; background-image: linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px),radial-gradient(circle at 65% 30%,#e8f3ec,#caddeb); background-size: 32px 32px,32px 32px,auto; }
.vote-xray-map.basemap-unavailable::after { content: "Fundo cartográfico temporariamente indisponível"; position: absolute; z-index: 600; right: 12px; top: 12px; padding: 6px 8px; border-radius: 8px; color: var(--ink-2); background: rgba(255,255,255,.9); box-shadow: var(--shadow-sm); font-size: 8px; font-weight: 800; }
.electoral-map-key { position: absolute; z-index: 600; left: 12px; bottom: 12px; display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.72); border-radius: 9px; color: #29435e; background: rgba(255,255,255,.9); box-shadow: 0 6px 18px rgba(16,35,63,.12); font-size: 8px; font-weight: 800; backdrop-filter: blur(8px); }
.electoral-map-key i { width: 12px; height: 12px; border: 2px solid #fff; border-radius: 50%; background: #1769d2; box-shadow: 0 2px 5px rgba(23,105,210,.35); }
.electoral-hotspots { padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(155deg,var(--surface),var(--surface-2)); }
.electoral-hotspots>div { margin-bottom: 10px; }
.electoral-hotspots>div small,.electoral-hotspots>div strong { display: block; }
.electoral-hotspots>div small { color: var(--green); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.electoral-hotspots>div strong { margin-top: 3px; font-size: 13px; }
.electoral-hotspots article { min-height: 59px; padding: 9px 0; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; gap: 9px; align-items: center; border-top: 1px solid var(--line); }
.electoral-hotspots article>b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 8px; }
.electoral-hotspots article span { min-width: 0; }
.electoral-hotspots article span strong,.electoral-hotspots article span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electoral-hotspots article span strong { color: var(--ink); font-size: 9px; }
.electoral-hotspots article span small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.electoral-hotspots article span i { display: block; width: var(--bar); height: 3px; margin-top: 7px; border-radius: 99px; background: linear-gradient(90deg,var(--green),var(--gold)); }
.electoral-hotspots article em { color: var(--ink); font-size: 9px; font-style: normal; font-weight: 900; }

.electoral-coverage { overflow: hidden; }
.electoral-coverage>header>strong { padding: 10px 13px; border-radius: 13px; color: var(--green); background: var(--green-soft); }
.electoral-coverage-empty { margin-top: 18px; padding: 18px; display: grid; grid-template-columns: 48px minmax(180px,.8fr) minmax(320px,1.2fr); gap: 15px; align-items: center; border: 1px dashed color-mix(in srgb,var(--green) 35%,var(--line)); border-radius: 15px; background: color-mix(in srgb,var(--green-soft) 48%,var(--surface)); }
.electoral-coverage-empty>span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--green),var(--green-2)); font-size: 21px; }
.electoral-coverage-empty strong { display: block; color: var(--ink); }
.electoral-coverage-empty p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.electoral-coverage-empty ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; list-style: none; }
.electoral-coverage-empty li { min-height: 46px; padding: 9px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink-2); background: var(--surface); font-size: 8px; font-weight: 750; }
.electoral-coverage-empty li b { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 7px; color: var(--green); background: var(--green-soft); }
.electoral-methodology { padding: 17px 19px; display: flex; align-items: flex-start; gap: 13px; border: 1px solid color-mix(in srgb,var(--green) 18%,var(--line)); border-left: 4px solid var(--green); border-radius: 14px; background: color-mix(in srgb,var(--green-soft) 40%,var(--surface)); }
.electoral-methodology>span { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-family: Georgia,serif; font-weight: 900; }
.electoral-methodology p { margin: 4px 0 0; }
.electoral-empty>span,.electoral-empty small { color: var(--green); }
.electoral-loading span { border-top-color: var(--green); }
.electoral-edition.setup b { font-size: 24px; letter-spacing: .08em; }
.electoral-onboarding { display: grid; gap: 22px; overflow: hidden; }
.electoral-onboarding>header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.electoral-onboarding>header h2,.electoral-official-results h3 { margin: 3px 0 4px; color: var(--ink); }
.electoral-onboarding>header p,.electoral-official-results p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.electoral-onboarding form { display: grid; gap: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg,var(--surface-2),var(--surface)); }
.electoral-onboarding-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.electoral-onboarding-grid .full { grid-column: 1/-1; }
.electoral-onboarding form>.button { justify-self: start; }
.electoral-candidate-search input { font-size: 13px; font-weight: 760; }
.electoral-preparation-status { display: flex; gap: 13px; align-items: flex-start; padding: 16px 18px; border: 1px solid #cfe0f1; border-radius: 17px; background: #eef6ff; }
.electoral-preparation-status>span { width: 12px; height: 12px; margin-top: 6px; flex: 0 0 12px; border-radius: 50%; background: #1d73d5; box-shadow: 0 0 0 5px rgba(29,115,213,.12); }
.electoral-preparation-status>div { display: grid; flex: 1; gap: 3px; }
.electoral-preparation-status>.button { align-self: center; flex: 0 0 auto; white-space: nowrap; }
.electoral-preparation-status small { color: #1260b7; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.electoral-preparation-status strong { color: #082b53; }
.electoral-preparation-status p { margin: 1px 0; color: #526a83; font-size: 10px; }
.electoral-preparation-status em { color: #7a8999; font-size: 9px; font-style: normal; }
.electoral-preparation-status.ready { border-color: #bce7d2; background: #edfbf4; }
.electoral-preparation-status.ready>span { background: #17a768; box-shadow: 0 0 0 5px rgba(23,167,104,.12); }
.electoral-preparation-status.failed { border-color: #f1c9c9; background: #fff4f4; }
.electoral-preparation-status.failed>span { background: #d34848; box-shadow: 0 0 0 5px rgba(211,72,72,.12); }
.electoral-official-results { display: grid; gap: 12px; padding-top: 20px; border-top: 1px dashed var(--line); }
.electoral-official-candidate { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 14px 15px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 24px rgba(14,52,91,.05); }
.electoral-official-candidate .electoral-comparison-photo { width: 58px; height: 58px; }
.electoral-official-candidate>div { display: grid; gap: 2px; min-width: 0; }
.electoral-official-candidate>div small { color: var(--blue); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.electoral-official-candidate>div strong { color: var(--ink); font-size: 13px; }
.electoral-official-candidate>div span { color: var(--ink-2); font-size: 10px; }
.electoral-official-candidate>div em { color: var(--muted); font-size: 9px; font-style: normal; }
.electoral-config-actions { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 10px; }
.electoral-onboarding-inline { display: grid; gap: 14px; padding: 4px 0 18px; }
.electoral-history { overflow: hidden; }
.electoral-history-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 13px; }
.electoral-history-grid article { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; padding: 15px 48px 15px 15px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,var(--surface),var(--surface-2)); }
.electoral-history-grid article>.electoral-comparison-photo { width: 52px; height: 52px; }
.electoral-history-grid article>div { min-width: 0; }
.electoral-history-grid article>div small,.electoral-history-grid article>div strong,.electoral-history-grid article>div span { display: block; }
.electoral-history-grid article>div small { color: var(--blue); font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.electoral-history-grid article>div strong { margin-top: 3px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.electoral-history-grid article>div span { margin-top: 2px; color: var(--muted); font-size: 8px; }
.electoral-history-grid dl { grid-column: 1/-1; margin: 2px 0 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.electoral-history-grid dl span { padding: 9px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.electoral-history-grid dt { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.electoral-history-grid dd { margin: 2px 0 0; color: var(--ink); font-size: 11px; font-weight: 900; }
.electoral-history-grid article>p { grid-column: 1/-1; margin: 0; padding: 8px 10px; border-radius: 10px; font-size: 9px; font-weight: 850; }
.electoral-history-grid article>p.positive { color: #147747; background: #eaf8f0; }.electoral-history-grid article>p.negative { color: #a43d38; background: #fff0ef; }.electoral-history-grid article>p.reference { color: var(--muted); background: var(--surface-2); }
.electoral-history-note { margin: 13px 0 0; color: var(--muted); font-size: 9px; }

@media(max-width:1100px){
  .electoral-map-layout { grid-template-columns: 1fr; }
  .electoral-hotspots { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 18px; }
  .electoral-hotspots>div { grid-column: 1/-1; }
  .electoral-comparison article { grid-template-columns: 34px minmax(180px,1fr) minmax(120px,.75fr) minmax(270px,1.3fr); }
}
@media(max-width:760px){
  .electoral-heading { min-height: 0; padding: 25px 22px; align-items: flex-start; }
  .electoral-heading-tags { gap: 6px; }
  .electoral-heading-tags span:nth-child(3) { display: none; }
  .electoral-edition { min-width: 76px; min-height: 70px; border-radius: 17px; }
  .electoral-identity { align-items: stretch; flex-direction: column; }
  .electoral-identity-main { align-items: flex-start; }
  .electoral-number { min-width: 90px; height: 80px; }
  .electoral-sources { max-width: none; justify-content: flex-start; }
  .electoral-sources>small { text-align: left; }
  .electoral-comparison article { grid-template-columns: 32px minmax(0,1fr); }
  .electoral-comparison-score,.electoral-comparison-stats { grid-column: 2; }
  .electoral-hotspots { grid-template-columns: 1fr; }
  .electoral-coverage-empty { grid-template-columns: 45px minmax(0,1fr); }
  .electoral-coverage-empty ol { grid-column: 1/-1; }
  .electoral-territorial-picker { grid-template-columns: 1fr; }
  .electoral-history-territorial-picker { grid-template-columns: 1fr; align-items: stretch; }
  .electoral-history-territorial-picker>span { display: none; }
  .electoral-onboarding-grid { grid-template-columns: 1fr 1fr; }
  .electoral-official-candidate { grid-template-columns: auto minmax(0,1fr); }
  .electoral-official-candidate>.button { grid-column: 1/-1; width: 100%; }
  .electoral-history-grid { grid-template-columns: 1fr; }
}
@media(max-width:520px){
  .electoral-heading { display: block; }
  .electoral-edition { position: absolute; right: 18px; top: 18px; min-width: 65px; min-height: 58px; }
  .electoral-heading>div { padding-right: 60px; }
  .electoral-heading-tags { margin-top: 17px; }
  .electoral-heading-tags span { width: max-content; }
  .electoral-identity-main { flex-direction: column; }
  .electoral-number { width: 100%; }
  .electoral-candidate-visual.has-portrait .electoral-number { width: auto; }
  .electoral-metrics { grid-template-columns: 1fr 1fr; }
  .electoral-metrics article { min-height: 122px; padding: 16px; }
  .electoral-metrics strong { font-size: 25px; }
  .electoral-comparison>header,.electoral-map-panel>header,.electoral-coverage>header { flex-direction: column; }
  .electoral-comparison article { grid-template-columns: 28px minmax(0,1fr); }
  .electoral-comparison-photo { width: 36px; height: 42px; flex-basis: 36px; }
  .electoral-comparison-stats { grid-template-columns:1fr 1fr; }
  .electoral-comparison-stats>span:last-child { grid-column:1/-1; }
  .electoral-ranking { padding: 16px; }
  .electoral-filters { width: 100%; }
  .electoral-view-switch { width: 100%; }
  .electoral-view-switch button { flex: 1; padding: 0 8px; }
  .electoral-territorial-candidates { grid-template-columns: 1fr; }
  .electoral-territorial-legend small { width: 100%; margin-left: 0; }
  .vote-xray-map { height: 360px; }
  .electoral-coverage-empty { grid-template-columns: 1fr; }
  .electoral-coverage-empty>span { margin-bottom: -4px; }
  .electoral-coverage-empty ol { grid-column: auto; grid-template-columns: 1fr; }
  .electoral-onboarding-grid { grid-template-columns: 1fr; }
  .electoral-onboarding-grid .full { grid-column: auto; }
  .electoral-onboarding>header { display: grid; }
  .electoral-preparation-status { flex-wrap: wrap; }
  .electoral-preparation-status>.button { width: 100%; }
  .electoral-official-candidate { grid-template-columns: 1fr; text-align: center; }
  .electoral-official-candidate .electoral-comparison-photo { margin: auto; }
}

/* Painel compacto e ações contextuais */
.app-loading{position:fixed;inset:0;z-index:9999;min-height:0;display:block;background:var(--paper);pointer-events:none}
.app-loading>span{position:absolute;top:0;left:0;width:42%;height:3px;border-radius:0 99px 99px 0;background:linear-gradient(90deg,var(--green),#2f8cff,var(--green));box-shadow:0 1px 8px color-mix(in srgb,var(--green) 34%,transparent);animation:startup-progress .72s ease-in-out infinite}
@keyframes startup-progress{0%{transform:translateX(-105%);opacity:.4}55%{opacity:1}100%{transform:translateX(245%);opacity:.25}}
.page-primary-relocated{display:none!important}

.welcome-strip.compact{min-height:42px;margin-bottom:12px;align-items:center}
.welcome-strip.compact h1{font-size:30px;line-height:1.05}
.dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:13px}
.dashboard-kpi{position:relative;isolation:isolate;display:flex;min-width:0;min-height:92px;align-items:center;gap:13px;overflow:hidden;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 24px rgba(16,45,79,.055)}
.dashboard-kpi::after{display:none}
.dashboard-kpi-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:13px;color:#fff;background:var(--kpi);box-shadow:0 8px 18px color-mix(in srgb,var(--kpi) 28%,transparent);font-size:19px;font-weight:900}
.dashboard-kpi strong,.dashboard-kpi small{display:block}
.dashboard-kpi strong{color:var(--ink);font-size:27px;line-height:1;font-weight:850;letter-spacing:-.04em}
.dashboard-kpi small{margin-top:6px;color:var(--ink-2);font-size:9px;font-weight:750;line-height:1.25}
.dashboard-kpi.blue{--kpi:#146ee8;--kpi-soft:#e7f1ff}.dashboard-kpi.orange{--kpi:#e77324;--kpi-soft:#fff0e4}.dashboard-kpi.cyan{--kpi:#1a8fb5;--kpi-soft:#e4f6fb}.dashboard-kpi.purple{--kpi:#7658d9;--kpi-soft:#eeeafe}.dashboard-kpi.green{--kpi:#199864;--kpi-soft:#e4f6ed}

.operational-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 14px}
.operational-card{min-width:0;min-height:72px;grid-template-columns:34px minmax(0,1fr) auto;padding:11px 12px;background:color-mix(in srgb,var(--surface) 92%,transparent)}
.operational-icon{color:#fff;background:linear-gradient(145deg,var(--green),var(--green));box-shadow:0 6px 14px color-mix(in srgb,var(--green) 22%,transparent)}
.operational-card strong,.operational-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.operational-card strong{font-size:10px}.operational-card small{font-size:7.5px}
.temperature-operational .operational-icon{color:#fff;background:linear-gradient(145deg,#ee7b27,#247bc9)}

.dashboard-focus-grid{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(500px,1.18fr);gap:14px;margin-bottom:14px}
.dashboard-focus-grid>.panel{min-height:254px;padding:17px 19px}
.dashboard-birthday-panel>header,.dashboard-attention-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:9px}
.dashboard-birthday-panel h2,.dashboard-attention-panel h2{margin:0;font-size:17px;line-height:1.2}
.dashboard-birthday-panel>header>span{padding:6px 9px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:8px;font-weight:800;white-space:nowrap}
.dashboard-birthday-panel .birthday-upcoming-list{min-height:174px}
.birthday-empty.compact{min-height:152px}
.dashboard-birthday-panel>.panel-link{margin-top:5px;padding:3px 0}
.dashboard-attention-panel>header>div:last-child{display:flex;gap:7px}
.dashboard-attention-panel>header>div:last-child button{display:grid;min-width:72px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface-2);text-align:left;cursor:pointer}
.dashboard-attention-panel>header>div:last-child strong,.dashboard-attention-panel>header>div:last-child small{display:block}
.dashboard-attention-panel>header>div:last-child strong{font-size:16px;line-height:1}.dashboard-attention-panel>header>div:last-child small{margin-top:4px;color:var(--muted);font-size:7px}
.dashboard-attention-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.dashboard-attention-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px 9px;min-width:0;min-height:60px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface-2);text-align:left;cursor:pointer;transition:.16s ease}
.dashboard-attention-list>button:hover{border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:var(--surface);transform:translateY(-1px)}
.dashboard-attention-list>button.urgent{border-color:#efc594;background:#fff8ec}
.dashboard-attention-list>button>span{grid-column:1;font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.dashboard-attention-list>button>strong{grid-column:1/3;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-attention-list>button>small{grid-column:1/3;color:var(--muted);font-size:7px}.dashboard-attention-list>button>b{grid-column:3;grid-row:1/4;color:var(--green)}
.attention-empty{grid-column:1/-1;display:flex;min-height:130px;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:left}.attention-empty>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:var(--green);font-weight:900}.attention-empty strong,.attention-empty small{display:block}.attention-empty strong{color:var(--ink);font-size:10px}.attention-empty small{margin-top:3px;font-size:8px}

.dashboard-insights{display:grid;grid-template-columns:minmax(360px,1.25fr) repeat(2,minmax(230px,.8fr));gap:14px}
.dashboard-insights>.panel{min-width:0;padding:18px}.dashboard-insights .panel-header{margin-bottom:13px}.dashboard-insights .activity-chart{height:165px}

.metric-card{min-height:122px;padding:17px}.metric-icon{width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--green),var(--green));box-shadow:0 7px 17px color-mix(in srgb,var(--green) 23%,transparent),inset 0 1px rgba(255,255,255,.22)}
.metric-card.accent .metric-icon{color:#fff;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.operational-icon,.business-kpis article>span,.strategy-stat>span,.document-response-insights button>span{color:#fff;background:linear-gradient(145deg,var(--green),var(--green));box-shadow:0 7px 16px color-mix(in srgb,var(--green) 21%,transparent)}
.document-response-insights button.danger>span{color:#fff;background:linear-gradient(145deg,#e14f4f,#a72525)}.document-response-insights button.success>span{color:#fff;background:linear-gradient(145deg,var(--green),#087449)}
.document-scan-upload-card.busy{opacity:.7;pointer-events:none}.document-scan-note.error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));background:var(--danger-soft)}.document-scan-add-page:disabled{opacity:.55;cursor:wait}

#user-dialog{width:min(700px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 20px);overflow:hidden}
#user-dialog #user-form{width:100%;max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
#user-dialog #user-form>header{position:sticky;top:0;z-index:5;margin:-28px -28px 20px;padding:22px 28px 16px;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:0 8px 20px rgba(7,27,53,.045)}
#user-dialog #user-form>.user-form-footer{position:sticky;bottom:0;z-index:5;margin:20px -28px -28px;padding:14px 28px;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 22px rgba(7,27,53,.065)}

@media(max-width:1180px){.dashboard-metrics{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;padding-bottom:3px}.operational-grid{grid-template-columns:repeat(5,minmax(155px,1fr));overflow-x:auto;padding-bottom:3px}.dashboard-focus-grid{grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr)}.dashboard-insights{grid-template-columns:1.2fr 1fr}.dashboard-insights>.panel:last-child{grid-column:1/-1}}
@media(max-width:900px){#quick-add{width:40px;min-width:40px;height:40px;flex:0 0 40px;padding:0;border-radius:12px}#quick-add>span:first-child{display:inline;font-size:19px;line-height:1}#quick-add #quick-add-label{display:none}.dashboard-metrics{grid-template-columns:repeat(3,1fr);overflow:visible}.operational-grid{grid-template-columns:repeat(2,1fr);overflow:visible}.dashboard-focus-grid{grid-template-columns:1fr}.dashboard-insights{grid-template-columns:1fr 1fr}.dashboard-growth{grid-column:1/-1}}
@media(max-width:680px){.welcome-strip.compact{display:block;min-height:auto}.welcome-strip.compact h1{font-size:27px}.dashboard-metrics{grid-template-columns:1fr 1fr;gap:8px}.dashboard-kpi{min-height:82px;padding:12px}.dashboard-kpi-icon{width:36px;height:36px;flex-basis:36px}.dashboard-kpi strong{font-size:23px}.operational-grid{grid-template-columns:1fr}.dashboard-focus-grid,.dashboard-insights{grid-template-columns:1fr}.dashboard-insights>.panel:last-child,.dashboard-growth{grid-column:auto}.dashboard-attention-panel>header{flex-direction:column}.dashboard-attention-panel>header>div:last-child{width:100%}.dashboard-attention-panel>header>div:last-child button{flex:1}.dashboard-attention-list{grid-template-columns:1fr}#quick-add{width:40px;min-width:40px;height:40px;flex:0 0 40px;padding:0;border-radius:12px}#quick-add>span:first-child{display:inline;font-size:19px;line-height:1}#quick-add #quick-add-label{display:none}#user-dialog{width:100vw;max-height:100dvh;margin:0}#user-dialog #user-form{max-height:100dvh;border-radius:0;padding:20px}#user-dialog #user-form>header{margin:-20px -20px 18px;padding:18px 20px 14px}#user-dialog #user-form>.user-form-footer{margin:18px -20px -20px;padding:12px 20px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap}#user-dialog #user-form>.user-form-footer .button{flex:1}}
.lead-origin-note{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.45}

/* Tarefas da equipe */
.tasks-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tasks-mode-switch{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.tasks-mode-switch button{min-height:34px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.tasks-mode-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(16,35,63,.12)}
.tasks-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 14px}
.tasks-summary-strip span{padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12.5px}
.tasks-summary-strip b{color:var(--ink);font-weight:800}
.tasks-summary-strip .danger{border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:var(--danger-soft);color:var(--danger)}
.tasks-summary-strip .danger b{color:var(--danger)}
.tasks-note{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));border-radius:13px;background:var(--green-soft)}
.tasks-note-icon{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#1b8f4c;color:#fff;font-size:10px;font-weight:900}
.tasks-note p{flex:1;margin:0;color:var(--ink-2);font-size:13px;line-height:1.45}
.tasks-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tasks-toolbar .filter-select{max-width:230px;background:var(--surface);color:var(--ink-2)}
.tasks-board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}
.task-column{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.task-column>header{display:flex;align-items:center;gap:8px;padding:12px 10px 8px 14px}
.task-column>header h2{margin:0;color:var(--ink);font-size:14px;font-weight:800}
.task-column-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#94a3b8}
.task-column-dot.doing{background:var(--green)}
.task-column-dot.waiting{background:#e39a1f}
.task-column-dot.done{background:#16a768}
.task-column-count{min-width:24px;padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:800;text-align:center}
.task-column-add{width:30px;height:30px;margin-left:auto;font-size:18px}
.task-column-add:hover{background:var(--surface);color:var(--green)}
.task-quick-add{display:grid;gap:8px;margin:0 10px 8px;padding:10px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}
.task-quick-add[hidden]{display:none}
.task-quick-add input{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}
.task-quick-add input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}
.task-quick-add div{display:flex;gap:6px}
.task-column-body{display:grid;align-content:start;gap:8px;min-height:120px;padding:4px 10px 12px;border-radius:0 0 16px 16px;transition:background .15s}
.task-column.drop-target .task-column-body{background:color-mix(in srgb,var(--green) 7%,transparent)}
.task-column-empty{margin:0;padding:18px 10px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12.5px;text-align:center}
.task-column-body:has(.task-drop-placeholder) .task-column-empty{display:none}
.task-column-more{margin:0 10px 12px;padding:9px;border:0;border-radius:10px;background:transparent;color:var(--green);font:inherit;font-size:12.5px;font-weight:750;cursor:pointer}
.task-column-more:hover{background:var(--surface)}
.task-card{position:relative;display:grid;gap:8px;padding:12px 12px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgba(16,35,63,.05);cursor:pointer;transition:border-color .15s,box-shadow .15s,opacity .15s}
.task-card:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line));box-shadow:var(--shadow-sm)}
.task-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}
.task-card.prio-urgente::before,.task-card.prio-alta::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#e39a1f}
.task-card.prio-urgente::before{background:var(--danger)}
.task-card.is-dragging{opacity:.4}
.task-card h3{margin:0;color:var(--ink);font-size:14px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.task-card-top{display:flex;flex-wrap:wrap;gap:6px}
.task-priority{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:11px;font-style:normal;font-weight:800;letter-spacing:.02em}
.task-priority.alta{background:var(--warning-soft);color:var(--warning)}
.task-priority.urgente{background:var(--danger-soft);color:var(--danger)}
.task-due,.task-done-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:11.5px;font-weight:700}
.task-due svg,.task-meta-chip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.task-due.overdue{background:var(--danger-soft);color:var(--danger)}
.task-due.today{background:var(--warning-soft);color:var(--warning)}
.task-due.tomorrow{color:var(--ink-2)}
.task-done-chip{background:#e6f6ee;color:#13804f}
.task-card footer{display:flex;align-items:center;gap:8px;min-height:26px}
.task-card footer>:first-child{margin-right:auto}
.task-card-meta{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted)}
.task-meta-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700}
.task-meta-chip.complete{color:#13804f}
.task-avatar{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--green) 16%,var(--surface));color:var(--green-2);font-size:10.5px;font-weight:850;letter-spacing:.02em}
.task-avatar.empty{border:1px dashed var(--line);background:var(--surface-2);color:var(--muted)}
.task-move{position:relative;display:none;align-items:center;padding:3px 8px;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);font-size:11.5px;font-weight:750}
.task-move select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.task-drop-placeholder{height:54px;border:2px dashed color-mix(in srgb,var(--green) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--green) 6%,transparent)}
.tasks-list-panel{padding:4px 0;overflow:hidden}
.tasks-table{display:grid}
.tasks-table-head,.tasks-table-row{display:grid;grid-template-columns:minmax(220px,2.4fr) minmax(120px,1fr) minmax(130px,1fr) minmax(110px,.9fr) 80px;gap:12px;align-items:center;padding:11px 18px}
.tasks-table-head{color:var(--muted);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.tasks-table-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink-2);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.tasks-table-row:hover{background:var(--surface-hover)}
.tasks-table-row:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}
.tasks-table-title{display:flex;align-items:center;gap:8px;min-width:0}
.tasks-table-title b{overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.tasks-table-row.is-done .tasks-table-title b{color:var(--muted);text-decoration:line-through}
.task-status-pill{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-style:normal;font-weight:750}
.task-status-pill.doing{background:var(--green-soft);color:var(--green)}
.task-status-pill.waiting{background:var(--warning-soft);color:var(--warning)}
.task-status-pill.done{background:#e6f6ee;color:#13804f}
.task-due-cell.overdue{color:var(--danger);font-weight:750}
.task-due-cell.today{color:var(--warning);font-weight:750}
#task-dialog{width:min(660px,96vw)}
.task-title-field input{font-size:16px;font-weight:700}
.task-fields{margin-top:14px}
.task-whatsapp-hint{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--green-soft);color:var(--ink-2);font-size:12.5px;line-height:1.45}
.task-whatsapp-hint[hidden]{display:none}
.task-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.task-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.task-section h3{margin:0;font-size:15px;font-weight:800}
.task-section>header span{color:var(--muted);font-size:12.5px;font-weight:800}
.task-progress{height:6px;margin-bottom:10px;overflow:hidden;border-radius:99px;background:var(--surface-2)}
.task-progress[hidden]{display:none}
.task-progress span{display:block;width:0;height:100%;border-radius:inherit;background:#16a768;transition:width .2s}
.task-checklist{display:grid;gap:2px}
.task-check-item{display:flex;align-items:center;gap:6px;padding:2px;border-radius:9px}
.task-check-item:hover{background:var(--surface-2)}
.task-check-item label{display:flex;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:5px 4px;font-size:14px;line-height:1.4;cursor:pointer}
.task-check-item input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#16a768}
.task-check-item span{overflow-wrap:anywhere}
.task-check-item.done span{color:var(--muted);text-decoration:line-through}
.task-check-item .icon-button{width:30px;height:30px;opacity:.55}
.task-check-item .icon-button:hover{color:var(--danger);opacity:1}
.task-checklist-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}
.task-checklist-add[hidden],.task-comment-add[hidden]{display:none}
.task-checklist-add input,.task-comment-add textarea{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}
.task-comment-add textarea{min-height:66px;padding:10px 11px;resize:vertical;line-height:1.45}
.task-checklist-add input:focus,.task-comment-add textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}
.task-section-empty{margin:0;padding:4px 2px;color:var(--muted);font-size:13px;line-height:1.45}
.task-comments{display:grid;gap:14px;margin-bottom:12px}
.task-comment{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}
.task-comment header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.task-comment header b{font-size:13.5px}
.task-comment time{color:var(--muted);font-size:12px}
.task-comment p{margin:3px 0 0;color:var(--ink-2);font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.task-comment-delete{margin-left:auto;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.task-comment-delete:hover{color:var(--danger);text-decoration:underline}
.task-comment-add{display:grid;gap:8px}
.task-comment-add>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.task-comment-add small{color:var(--muted);font-size:12px}
.task-meta{margin:20px 0 0;color:var(--muted);font-size:12.5px}
.task-meta[hidden]{display:none}
.task-delete{color:var(--danger)}
:root[data-theme="dark"] .task-done-chip,:root[data-theme="dark"] .task-status-pill.done{background:#163a2b;color:#6fdaa4}
:root[data-theme="dark"] .task-meta-chip.complete{color:#6fdaa4}
:root[data-theme="dark"] .task-avatar{background:color-mix(in srgb,var(--green) 45%,var(--surface));color:#fff}
:root[data-theme="dark"] .task-avatar.empty{background:var(--surface-2);color:var(--muted)}
:root[data-theme="dark"] .tasks-mode-switch button.active{box-shadow:0 1px 4px rgba(0,0,0,.4)}
@media(hover:none){.task-move{display:inline-flex}}
@media(max-width:760px){
  .tasks-heading-actions{width:100%}
  .tasks-heading-actions .button.primary{flex:1}
  .tasks-toolbar .search-field{min-width:100%}
  .tasks-toolbar .filter-select{flex:1 1 40%;max-width:none;min-width:0}
  #task-dialog{width:100vw;max-width:100vw}
  #task-dialog .drawer-footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
  #task-dialog .drawer-footer>div{display:grid;grid-template-columns:1fr 1.4fr;width:auto}
  #task-dialog .task-delete{padding-inline:12px}
  #task-dialog .task-delete[hidden]+div{grid-column:1/-1}
  .tasks-board{grid-template-columns:repeat(4,minmax(262px,86%));gap:10px;scroll-snap-type:x mandatory}
  .task-column{scroll-snap-align:start}
  .tasks-table-head{display:none}
  .tasks-table-row{grid-template-columns:auto 1fr auto;gap:6px 10px;padding:12px 16px}
  .tasks-table-row>span:nth-child(1){grid-column:1/-1}
  .tasks-table-row>span:nth-child(3){grid-column:2;color:var(--muted);font-size:12.5px}
  .tasks-table-row>span:nth-child(4){grid-column:3;grid-row:2;text-align:right}
  .tasks-table-row>span:nth-child(5){display:none}
  .tasks-table-title b{white-space:normal}
  .task-check-item .icon-button{opacity:1}
  .task-comment-add>div{align-items:stretch;flex-direction:column}
}

/* Login: continuar conectado */
.auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.auth-options .auth-forgot{margin:0}
.auth-remember{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-size:13px;font-weight:650;cursor:pointer;user-select:none}
.auth-remember input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--green);cursor:pointer}
.auth-remember-hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4}
.auth-remember-hint[hidden]{display:none}
