:root,[data-theme="dark"]{
  --color-bg:#101923;--color-surface:#172431;--color-surface-2:#1e3040;--color-text:#edf4f8;
  --color-muted:#91a7b7;--color-divider:color-mix(in srgb,#dcecf5 16%,transparent);
  --color-accent:#59a6d1;--color-accent-soft:color-mix(in srgb,#59a6d1 16%,transparent);
  --color-danger:#dc7a70;--color-warning:#d6bd68;--color-success:#6fc29d;
  --color-on-accent:#0d1c18;
  --shadow-sm:0 0 0 1px #3a3f49;--shadow-md:0 0 0 1px #3a3f49,0 8px 24px #0008;--shadow-lg:-24px 0 60px #0008;
  --paper:var(--color-surface);--bg:var(--color-bg);--ink:var(--color-text);--muted:var(--color-muted);--line:var(--color-divider);--green:var(--color-accent);
}
[data-theme="light"]{
  --color-bg:#eaf1f5;--color-surface:#f8fbfd;--color-surface-2:#e3edf3;--color-text:#183044;
  --color-muted:#60798b;--color-divider:color-mix(in srgb,#123b5d 16%,transparent);
  --color-accent:#286f9d;--color-accent-soft:color-mix(in srgb,#3984b5 15%,transparent);
  --color-danger:#a7433b;--color-warning:#8b721f;--color-success:#327657;
  --color-on-accent:#fff;
  --shadow-sm:0 0 0 1px #c2c8d0;--shadow-md:0 0 0 1px #c2c8d0,0 6px 18px #2834401f;--shadow-lg:-24px 0 60px #28344033;
  --paper:var(--color-surface);--bg:var(--color-bg);--ink:var(--color-text);--muted:var(--color-muted);--line:var(--color-divider);--green:var(--color-accent);
}
*{scrollbar-width:thin;scrollbar-color:var(--color-divider) transparent}
body{font-family:Inter,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:15px}
.app-shell{grid-template-columns:236px 1fr;height:100vh;min-height:0;overflow:hidden}
aside{height:100vh;padding:18px 14px;background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 9%,var(--color-bg)),var(--color-bg) 35%);border-right:1px solid var(--color-divider)}
.brand{padding:4px 7px 22px;display:flex;align-items:flex-end;gap:8px}.company-logo{display:block;max-width:100%;height:auto}.sidebar-logo{width:150px}.brand small{padding-bottom:2px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted)}
nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.nav-group{margin:15px 10px 5px;font-size:9.5px;text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb,var(--color-muted) 75%,transparent);font-weight:600}
nav button,.text-button{display:flex;gap:11px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--color-muted);font-size:14.5px;transition:.12s}
nav button span{width:18px;text-align:center;font-size:16px}.nav-active{color:var(--color-accent)!important;background:var(--color-accent-soft)!important;font-weight:500}
nav button:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 6%,transparent);color:var(--color-text)}
.user-box{border-color:var(--color-divider)}.user-box>span{background:#286f9d;color:#fff}.user-box small{color:var(--color-muted)}
main{height:100vh;overflow:auto;padding:0 24px 96px;background:var(--color-bg)}
header{position:sticky;top:0;z-index:5;margin:0 -24px 20px;padding:14px 24px;background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-divider)}
header h1{font-size:20px;font-weight:500;letter-spacing:-.02em}.eyebrow{font-size:9.5px;letter-spacing:.16em;color:var(--color-muted);margin:0}.header-actions{display:flex;align-items:center;gap:12px}.status-dot{color:var(--color-muted);font-size:11px}.theme-toggle{width:36px;height:36px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer}
.stats{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}.stats article,.panel{background:var(--color-surface);border-color:var(--color-divider);border-radius:10px}
.stats article{padding:14px 16px}.stats strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.stats span,.stats small,.muted{color:var(--color-muted)}
.panel{box-shadow:var(--shadow-sm)}.toolbar{padding:16px 18px}.toolbar h2{font-size:17px;font-weight:500}
.filters input,.filters select,.login-card input,.stack-form input:not([type=checkbox]),.stack-form textarea,.stack-form select,.inline-form input:not([type=checkbox]),.phone-row select,.email-row select,.admin-form input,.admin-form select,.role-card input,#user-list input,#user-list select,.bulk-form input:not([type=checkbox]),.bulk-form select,.bulk-form textarea{background:var(--color-surface-2);border:1px solid var(--color-divider);color:var(--color-text);border-radius:8px;padding:9px 11px;min-height:40px;outline:none}
.filters input:focus,.filters select:focus,.login-card input:focus,.stack-form input:focus,.stack-form select:focus,.admin-form input:focus,.admin-form select:focus,.bulk-form input:focus,.bulk-form select:focus,.bulk-form textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}
.bulk-form{padding:0 18px 18px}.bulk-form fieldset{background:color-mix(in srgb,var(--color-surface-2) 58%,transparent);border:1px solid var(--color-divider);border-radius:10px;padding:14px;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px}.bulk-form legend{color:var(--color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.bulk-form label{display:grid;gap:5px;color:var(--color-muted);font-size:11px}.bulk-form button{min-height:40px;border:1px solid var(--color-accent);border-radius:8px;background:transparent;color:var(--color-accent);font-weight:700;cursor:pointer}.bulk-form button:hover{background:var(--color-accent-soft)}
table{color:var(--color-text);font-size:14.5px}th{background:var(--color-surface-2);color:var(--color-muted);font-size:11px;letter-spacing:.1em;font-weight:600}td{border-color:var(--color-divider)}tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}
.badge{background:var(--color-accent-soft);color:var(--color-accent)}.badge.nao_finalizado{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}
.pagination{border-color:var(--color-divider)}.pagination button,.queue-tabs button,.task-actions button{background:var(--color-surface-2);border-color:var(--color-divider);color:var(--color-text)}
.primary-button,.stack-form button,.inline-form button,.phone-row button,.email-row button,.admin-form button,.row-actions button,.role-form>button,.role-card>button,.queue-tabs button.active,.task-actions button[data-action=complete-task]{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}
.record-delete-button{width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border-radius:6px;border:1px solid var(--color-divider);background:transparent;color:var(--color-muted);font-size:18px;font-weight:400;line-height:1;display:grid;place-items:center;cursor:pointer}
.record-delete-button:hover{border-color:var(--destructive,#b94a48);color:var(--destructive,#b94a48);background:transparent}
.action-card{background:var(--color-surface-2);border-color:var(--color-divider)}.phone-row,.email-row,.role-card{border-color:var(--color-divider)}.permission-grid label{background:var(--color-surface-2)}
dialog{position:fixed;inset:0 0 0 236px;margin:0;width:calc(100vw - 236px);max-width:none;height:100vh;max-height:none;border-radius:0;background:var(--color-bg);color:var(--color-text);box-shadow:none;animation:detail-in .18s ease}
dialog::backdrop{background:transparent}.dialog-head{background:linear-gradient(145deg,var(--color-accent-soft),var(--color-bg) 70%);border-color:var(--color-divider);padding:18px 28px}.dialog-head button{background:var(--color-surface-2);color:var(--color-text)}
#detail-content{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(480px,1.2fr);gap:16px;align-items:start;padding:20px 28px 60px}
#detail-content>.detail-grid{grid-column:1/-1;grid-template-columns:repeat(8,minmax(120px,1fr))}
#detail-content>.detail-section,#detail-content>.action-card{margin-top:0;height:fit-content}
#detail-content>.detail-section:last-child{grid-column:1/-1;grid-row:auto;max-height:none;overflow:visible;padding:0 10px 30px 0}
.detail-grid>div{background:var(--color-surface);box-shadow:var(--shadow-sm)}.detail-grid span,.timeline time,.timeline small,.phone-row small,.email-row small{color:var(--color-muted)}.chips span,.timeline article{border-color:var(--color-divider)}
.timeline [data-action="edit-interaction-notes"]{display:block;margin-top:8px;padding:5px 8px;border:1px solid var(--color-divider);border-radius:6px;background:transparent;color:var(--color-accent);font-size:11px;cursor:pointer}
.task-card{border-color:var(--color-divider)}.task-card:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.task-card small,.task-date span{color:var(--color-muted)}
.login-shell{background:radial-gradient(circle at 15% 10%,var(--color-accent-soft),transparent 36%),var(--color-bg)}.login-card{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.login-card button{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.login-logo-shell{width:210px;padding:13px 16px;border-radius:10px;background:#111820}.login-logo-shell .company-logo{width:178px}
#toast{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}
[data-theme="dark"]{color-scheme:dark}[data-theme="light"]{color-scheme:light}
[data-theme="dark"] #app-view .panel,
[data-theme="dark"] #app-view .stats article,
[data-theme="dark"] #app-view .team-card,
[data-theme="dark"] #app-view .action-card,
[data-theme="dark"] #app-view .admin-form,
[data-theme="dark"] #app-view .role-form,
[data-theme="dark"] #app-view .permission-grid label,
[data-theme="dark"] #app-view .detail-grid>div,
[data-theme="dark"] dialog{background-color:var(--color-surface);color:var(--color-text)}
[data-theme="dark"] #app-view button:not(.primary-button):not(.theme-toggle):not(.text-button):not([data-action="open-campaign-report"]),
[data-theme="dark"] .dialog-head button{background-color:var(--color-surface-2);border-color:var(--color-divider);color:var(--color-text)}
#app-view input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="image"]),#app-view select,#app-view textarea{background:var(--color-surface-2);border:1px solid var(--color-divider);color:var(--color-text);border-radius:8px;padding:9px 11px;min-height:40px;outline:none;box-shadow:none}
#app-view input:not([type="checkbox"]):not([type="radio"]):focus,#app-view select:focus,#app-view textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}
#app-view input::placeholder,#app-view textarea::placeholder{color:color-mix(in srgb,var(--color-muted) 82%,transparent)}
#app-view input[type="checkbox"],#app-view input[type="radio"]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--color-accent)}
.admin-form,.role-form{background:color-mix(in srgb,var(--color-surface-2) 58%,transparent);border-color:var(--color-divider);padding:14px 18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}
.admin-form label,.role-form label{display:grid;gap:5px;color:var(--color-muted);font-size:11px}
#campaign-search{width:min(320px,100%)}
.campaign-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.campaign-toolbar-actions #campaign-search{flex:1 1 230px}.campaign-toolbar-actions #new-campaign,.campaign-toolbar-actions #add-campaign-prospects,.campaign-toolbar-actions #update-campaign-prospects{min-height:40px;white-space:nowrap}@media(max-width:620px){.campaign-toolbar-actions{width:100%;align-items:stretch;flex-direction:column}.campaign-toolbar-actions #campaign-search,.campaign-toolbar-actions #new-campaign,.campaign-toolbar-actions #add-campaign-prospects,.campaign-toolbar-actions #update-campaign-prospects{width:100%;max-width:none}}
.campaign-import-form{display:flex;align-items:end;gap:12px;padding:0 18px 18px}.campaign-file-field{display:grid;gap:6px;min-width:0;flex:1;color:var(--color-muted);font-size:12px}.campaign-file-field input{width:100%;min-height:44px;padding:7px;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:8px;color:var(--color-text)}.campaign-file-field small{color:var(--color-muted)}.campaign-import-form>button{min-height:44px;white-space:nowrap}.campaign-import-progress{margin:0 18px 18px;padding:13px 15px;border:1px solid var(--color-divider);border-radius:9px;background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.campaign-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:0 18px 14px}.campaign-import-summary>div{display:grid;gap:4px;min-width:0;padding:13px 14px;border:1px solid var(--color-divider);border-radius:9px;background:var(--color-surface-2)}.campaign-import-summary span{color:var(--color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.campaign-import-summary strong{overflow-wrap:anywhere;font-size:15px}.campaign-import-result{display:grid;gap:4px;margin:0 18px 14px;padding:14px 16px;border:1px solid var(--color-divider);border-radius:9px}.campaign-import-result.is-valid{border-color:color-mix(in srgb,var(--color-success) 55%,var(--color-divider));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface))}.campaign-import-result.has-errors{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-divider));background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface))}.campaign-import-result span,.campaign-import-result small{color:var(--color-muted)}.campaign-import-warnings{margin:0 18px 14px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--color-warning) 48%,var(--color-divider));border-radius:9px;background:color-mix(in srgb,var(--color-warning) 8%,var(--color-surface))}.campaign-import-warnings ul{margin:7px 0 0;padding-left:20px}.campaign-import-table-wrap{max-height:54vh;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.campaign-import-table{min-width:1220px;font-size:12px}.campaign-import-table th,.campaign-import-table td{padding:9px 11px}.campaign-import-table thead{position:sticky;top:0;z-index:1}.campaign-import-table td:last-child{min-width:250px;white-space:normal}.campaign-import-table td:last-child small{margin-top:5px}.campaign-import-status{display:inline-block;padding:3px 7px;border-radius:99px;font-size:10px;font-weight:800}.campaign-import-status.valid{background:color-mix(in srgb,var(--color-success) 17%,transparent);color:var(--color-success)}.campaign-import-status.warning{background:color-mix(in srgb,var(--color-warning) 17%,transparent);color:var(--color-warning)}.campaign-import-status.error{background:color-mix(in srgb,var(--color-danger) 17%,transparent);color:var(--color-danger)}.campaign-import-limit{padding:12px 18px 16px}@media(max-width:620px){.campaign-import-form{align-items:stretch;flex-direction:column}.campaign-import-form>button{width:100%}}
.campaign-import-table-wrap{max-height:64vh}.campaign-import-table{min-width:1320px}.campaign-import-warnings.has-errors{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-divider));background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface))}.campaign-import-detail-row>td,.campaign-import-detail-row>td:last-child{min-width:0;padding:0 10px 10px;background:var(--color-surface-2)}.campaign-import-details{border:1px solid var(--color-divider);border-radius:9px;background:var(--color-surface)}.campaign-import-details>summary{cursor:pointer;padding:11px 13px;color:var(--color-accent);font-weight:800;list-style-position:inside}.campaign-import-details[open]>summary{border-bottom:1px solid var(--color-divider)}.campaign-import-detail-content{display:grid;gap:12px;padding:13px}.campaign-import-detail-content>section{min-width:0;padding:12px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-surface-2)}.campaign-import-detail-content h4{margin:0 0 10px;color:var(--color-text)}.campaign-import-detail-grid,.campaign-import-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.campaign-import-field{display:grid;align-content:start;gap:4px;min-width:0;padding:9px 10px;border-radius:7px;background:var(--color-surface)}.campaign-import-field span{color:var(--color-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.campaign-import-field strong{overflow-wrap:anywhere;color:var(--color-text);font-size:12px}.campaign-import-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.campaign-import-contact-grid>div{min-width:0;padding:10px;border-radius:7px;background:var(--color-surface)}.campaign-import-contact-grid p{margin:7px 0;overflow-wrap:anywhere}.campaign-import-contact-grid small{color:var(--color-muted)}.campaign-import-fup{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-divider))!important;background:var(--color-accent-soft)!important}.campaign-import-fup>small{display:block;margin-top:10px;color:var(--color-muted)}@media(max-width:620px){.campaign-import-detail-grid,.campaign-import-source-grid,.campaign-import-contact-grid{grid-template-columns:1fr}}
.campaign-import-campaign-review{display:grid;gap:10px;margin:0 18px 16px;padding:14px 16px;border:1px solid var(--color-divider);border-radius:9px;background:var(--color-surface-2)}.campaign-import-campaign-review h3,.campaign-import-campaign-review h4{margin:0;color:var(--color-text)}.campaign-import-campaign-review h4{margin-top:3px;font-size:12px}.campaign-import-notes{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:11px 12px;border-radius:7px;background:var(--color-surface);color:var(--color-text);font-size:12px;line-height:1.5}
.campaign-update-table{min-width:1050px}.campaign-import-change-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px}.campaign-import-change{display:grid;gap:7px;min-width:0;padding:10px;border:1px solid var(--color-divider);border-radius:7px;background:var(--color-surface)}.campaign-import-change>strong{color:var(--color-text)}.campaign-import-change>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start}.campaign-import-change span{color:var(--color-muted);font-size:10px;text-transform:uppercase}.campaign-import-change b{overflow-wrap:anywhere;font-weight:600}@media(max-width:620px){.campaign-import-change-grid{grid-template-columns:1fr}}
.toolbar input,.toolbar select{flex:0 1 320px}
.panel>.admin-form{border-top:1px solid var(--color-divider)}
.role-card,.detail-grid>div,.action-card{border-radius:9px}
.result-count{margin:0 18px 14px;padding:8px 11px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-accent-soft);color:var(--color-accent);font-size:12px;font-weight:700;width:fit-content}
.audit-filter-actions{display:flex;gap:8px;justify-content:flex-end}
#audit-result-count{margin:12px 18px}
.audit-table{table-layout:fixed;min-width:1100px;width:100%}
.audit-date-column{width:24%}.audit-user-column{width:24%}.audit-action-column{width:20%}.audit-entity-column{width:17%}.audit-id-column{width:15%}
.audit-column-filters th{cursor:default!important;padding-top:6px;padding-bottom:10px;vertical-align:top}
.audit-column-filters input,.audit-column-filters select{box-sizing:border-box;min-width:0;width:100%;max-width:100%}
.audit-date-filter{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
.agenda-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px 18px;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.agenda-summary button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:11px 12px;text-align:left}
.agenda-summary button span{min-width:0;overflow-wrap:anywhere}
.agenda-summary button strong{color:var(--color-accent);font-size:18px;white-space:nowrap}
.agenda-summary button.active{background:var(--color-accent-soft)!important;border-color:var(--color-accent)!important;color:var(--color-accent)!important}
@keyframes detail-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1100px){#detail-content{grid-template-columns:1fr}#detail-content>.detail-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}#detail-content>.detail-section:last-child{grid-column:1;grid-row:auto;max-height:none}.bulk-form fieldset{grid-template-columns:repeat(2,minmax(160px,1fr))}.agenda-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{display:block}aside{display:none}main{height:auto;min-height:100vh;padding-inline:16px}header{margin-inline:-16px;padding-inline:16px}dialog{inset:0;width:100vw}#detail-content{padding-inline:18px}.bulk-form fieldset{grid-template-columns:1fr}}
@media(max-width:620px){.audit-filter-actions{justify-content:stretch}.audit-filter-actions button{flex:1}.agenda-summary{grid-template-columns:1fr 1fr}}
dialog.team-profile-dialog{inset:0!important;margin:auto!important;height:min(88vh,760px)!important;max-height:760px!important;border-radius:14px!important;box-shadow:var(--shadow-lg)!important}

/* Ações de manutenção de campanhas com leitura visual distinta. */
#app-view #add-campaign-prospects{
  border-color:var(--color-success)!important;
  background:var(--color-success)!important;
  color:var(--color-on-accent)!important;
  font-weight:800;
}
#app-view #update-campaign-prospects{
  border-color:var(--color-warning)!important;
  background:var(--color-warning)!important;
  color:#101923!important;
  font-weight:800;
}
[data-theme="light"] #app-view #update-campaign-prospects{color:#fff!important}
#app-view #add-campaign-prospects:hover,#app-view #update-campaign-prospects:hover{filter:brightness(1.07)}

.campaign-add-mode-switch{
  display:flex;
  gap:8px;
  margin:0 18px 18px;
  padding:5px;
  width:fit-content;
  border:1px solid var(--color-divider);
  border-radius:10px;
  background:var(--color-surface-2);
}
.campaign-add-mode-switch button{
  min-height:36px;
  padding:7px 13px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent!important;
  color:var(--color-muted)!important;
  cursor:pointer;
}
.campaign-add-mode-switch button.active{
  border-color:var(--color-success)!important;
  background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface))!important;
  color:var(--color-success)!important;
  font-weight:800;
}
.campaign-manual-form{display:grid;gap:12px;padding:0 18px 20px}
.campaign-manual-form fieldset,.campaign-manual-form details{
  margin:0;
  border:1px solid var(--color-divider);
  border-radius:10px;
  background:color-mix(in srgb,var(--color-surface-2) 64%,transparent);
}
.campaign-manual-form fieldset,.campaign-manual-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:11px;
  padding:14px;
}
.campaign-manual-form legend,.campaign-manual-form summary{
  color:var(--color-text);
  font-weight:800;
}
.campaign-manual-form summary{cursor:pointer;padding:12px 14px}
.campaign-manual-form details[open]>summary{border-bottom:1px solid var(--color-divider)}
.campaign-manual-form label{display:grid;align-content:start;gap:5px;color:var(--color-muted);font-size:11px}
.campaign-manual-form .campaign-manual-wide{grid-column:span 2}
.campaign-manual-form textarea{resize:vertical;min-height:82px}
.campaign-manual-actions{display:flex;justify-content:flex-end;gap:9px}
.campaign-manual-actions button{min-height:40px;padding:8px 14px}
@media(max-width:1000px){
  .campaign-manual-form fieldset,.campaign-manual-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
}
@media(max-width:620px){
  .campaign-add-mode-switch{width:calc(100% - 36px)}
  .campaign-add-mode-switch button{flex:1}
  .campaign-manual-form fieldset,.campaign-manual-grid{grid-template-columns:1fr}
  .campaign-manual-form .campaign-manual-wide{grid-column:auto}
  .campaign-manual-actions{display:grid;grid-template-columns:1fr 1fr}
}

/* Ação de exportação reconhecível e consistente nos temas claro e escuro. */
#app-view .excel-export-button {
  background-color:#2f7d58!important;
  border-color:#2f7d58!important;
  color:#fff!important;
  font-weight:750;
  box-shadow:0 2px 8px color-mix(in srgb,#173f2d 22%,transparent);
}
#app-view .excel-export-button:hover,
#app-view .excel-export-button:focus-visible {
  background-color:#276b4b!important;
  border-color:#276b4b!important;
  color:#fff!important;
  filter:brightness(1.08);
}

/* Contraste consistente dos botões nos temas claro e escuro. */
#app-view button:not(nav button):not(.text-button):not(.theme-toggle),
dialog button {
  background-color:var(--color-surface-2);
  border:1px solid var(--color-divider);
  color:var(--color-text);
}
#app-view button:not(nav button):not(.text-button):not(.theme-toggle):hover,
dialog button:hover {
  border-color:var(--color-accent);
  color:var(--color-accent);
}
#app-view form button:not([type="button"]),
#app-view .primary-button,
#app-view .form-actions button,
#app-view .prospect-edit-actions button,
dialog form button:not([type="button"]) {
  background-color:var(--color-accent)!important;
  border-color:var(--color-accent)!important;
  color:var(--color-on-accent)!important;
  font-weight:750;
}
#app-view form button:not([type="button"]):hover,
#app-view .primary-button:hover,
#app-view .form-actions button:hover,
#app-view .prospect-edit-actions button:hover,
dialog form button:not([type="button"]):hover {
  filter:brightness(1.12);
  color:var(--color-on-accent)!important;
}
.dialog-head button {
  background-color:var(--color-surface-2)!important;
  color:var(--color-text)!important;
}

/* Deve permanecer por último: destaque verde uniforme das exportações Excel. */
#app-view button.excel-export-button,
#app-view form button.excel-export-button {
  background:#2f7d58!important;
  border-color:#2f7d58!important;
  color:#fff!important;
}
#app-view button.excel-export-button:hover,
#app-view button.excel-export-button:focus-visible {
  background:#276b4b!important;
  border-color:#276b4b!important;
  color:#fff!important;
}
.contacts-table{min-width:1280px}.contacts-table .money-cell{white-space:nowrap;font-variant-numeric:tabular-nums}
.contacts-list-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 18px 14px}.contacts-list-meta .result-count{margin:0}.contacts-list-meta label{display:flex;align-items:center;gap:7px;color:var(--color-muted);font-size:12px;font-weight:700}.contacts-list-meta select{min-width:72px;padding:7px 28px 7px 9px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-surface-2);color:var(--color-text)}@media(max-width:620px){.contacts-list-meta{align-items:stretch;flex-direction:column}.contacts-list-meta .result-count{width:100%}.contacts-list-meta label{justify-content:space-between}}
