:root{
  --bg:#f5f5ef;--card:#fff;--ink:#121716;--muted:#68726e;--line:#e3e7e1;
  --lime:#baff50;--lime-soft:#ecffd0;--ok:#23765a;--bad:#b94747;--dark:#18201e;
  --blue:#dce8ff;--orange:#ffe7cf;--soft:#eef1ec;--shadow:0 18px 60px rgba(18,23,22,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
a{color:inherit}
.wrap{max-width:1100px;margin:38px auto;padding:18px}
.card{background:var(--card);border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px}
.auth-card{width:min(520px,100%);background:#fff;border-radius:30px;padding:32px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:50%;background:var(--dark);color:var(--lime);display:grid;place-items:center}
.badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--lime);font-weight:900}
h1{font-size:46px;letter-spacing:-.05em;margin:14px 0 8px;line-height:1}
h2{font-size:28px;letter-spacing:-.035em;margin:10px 0}
.muted{color:var(--muted);line-height:1.55}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:11px 14px;background:var(--dark);color:#fff;font-weight:850;text-decoration:none}
.btn.alt{background:#eef1ec;color:var(--ink)}
.btn.lime{background:var(--lime);color:var(--ink)}
.btn.danger{background:#9f3f3f}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.item{display:flex;justify-content:space-between;gap:12px;background:#f1f3ef;border-radius:14px;padding:13px 15px}
.ok{color:var(--ok);font-weight:900}.bad{color:var(--bad);font-weight:900}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}
.kpi{background:#f1f3ef;border-radius:18px;padding:17px}.kpi:nth-child(2){background:var(--blue)}.kpi:nth-child(3){background:var(--lime-soft)}.kpi:nth-child(4){background:var(--orange)}
.kpi span{font-size:12px;color:var(--muted);display:block}.kpi strong{font-size:28px}
code{background:#eef1ec;padding:3px 6px;border-radius:7px}
.note,.alert{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:var(--muted)}
.alert.error{background:#fff0ef;border-color:#f0cecb;color:#873d3a}
.alert.success{background:#ecf8f1;border-color:#cce9d9;color:#226047}
.alert.info{background:#edf4ff;border-color:#d4e2f6;color:#3b536d}
.form{display:grid;gap:14px;margin-top:22px}
.field{display:grid;gap:6px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:850}
.field input{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:12px 13px;outline:0}
.field input:focus{border-color:#99a794;box-shadow:0 0 0 3px rgba(18,23,22,.05)}
.form-help{font-size:12px;color:var(--muted);line-height:1.45}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.panel{background:#fff;border-radius:24px;padding:22px}
.topbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:20px}
.user-chip{background:#fff;border-radius:999px;padding:7px 10px;font-size:13px;box-shadow:0 4px 14px rgba(18,23,22,.04)}
.role{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef1ec;font-size:11px;font-weight:850}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;color:var(--muted);text-transform:uppercase}
.local-box{background:var(--lime-soft);padding:18px;border-radius:20px}
.reset-link{word-break:break-all;background:#fff;padding:12px;border-radius:10px;font-size:12px;display:block}
@media(max-width:760px){.grid,.split{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.wrap{margin:14px auto}.card,.auth-card{padding:22px}h1{font-size:37px}}

.password-checklist{display:grid;gap:8px;margin-top:8px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fafbf8}
.password-checklist-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.password-rule{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}
.password-rule::before{content:"";width:18px;height:18px;border-radius:50%;background:#e7eae5;box-shadow:inset 0 0 0 5px #fff;border:1px solid #d3d8d1}
.password-rule.valid{color:var(--ok);font-weight:750}
.password-rule.valid::before{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 4px #fff}
.password-rule.invalid{color:var(--bad)}
.email-status{margin-top:12px;padding:14px 16px;border-radius:14px;font-size:14px}
.email-status.exists{background:#ecf8f1;border:1px solid #cce9d9;color:#226047}
.email-status.missing{background:#fff0ef;border:1px solid #f0cecb;color:#873d3a}

.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.catalog-head h1{margin-bottom:5px}
.catalog-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}
.catalog-tab{display:inline-flex;padding:10px 13px;border-radius:999px;background:#fff;text-decoration:none;font-weight:800;font-size:13px;border:1px solid var(--line)}
.catalog-tab.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;align-items:start}
.catalog-table{background:#fff;border-radius:22px;padding:18px;overflow:hidden}
.catalog-form{background:#fff;border-radius:22px;padding:20px;position:sticky;top:18px}
.catalog-form h2{margin-top:0}
.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
.toolbar .field{min-width:220px;flex:1}
select,textarea{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:11px 12px;outline:0;font:inherit}
textarea{resize:vertical}
.check-row{display:flex;gap:15px;flex-wrap:wrap;margin:4px 0}
.check{display:flex;align-items:center;gap:7px;font-size:13px}
.check input{width:auto}
.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}
.status-pill.on{background:#e5f5ed;color:#26705a}.status-pill.off{background:#f5e6e4;color:#9d423f}
.subtle{font-size:12px;color:var(--muted)}
.path{color:var(--muted);font-size:12px}
.table-actions{display:flex;gap:6px;flex-wrap:wrap}
.mini-btn{border:0;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:850;cursor:pointer;background:#eef1ec;color:var(--ink);text-decoration:none}
.mini-btn.dark{background:var(--dark);color:#fff}
.catalog-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}
.catalog-kpi{background:#fff;border-radius:16px;padding:13px}
.catalog-kpi:nth-child(2){background:var(--blue)}.catalog-kpi:nth-child(4){background:var(--lime-soft)}.catalog-kpi:nth-child(6){background:var(--orange)}
.catalog-kpi span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.catalog-kpi strong{display:block;font-size:23px;margin-top:3px}
.empty-state{padding:34px;text-align:center;color:var(--muted)}
.assoc-form{background:#fff;border-radius:22px;padding:18px;margin-bottom:14px}
@media(max-width:920px){.catalog-layout{grid-template-columns:1fr}.catalog-form{position:static}.catalog-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.catalog-kpis{grid-template-columns:1fr 1fr}.toolbar .field{min-width:100%}}

.catalog-user-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.catalog-user-actions form{margin:0}
.modal-backdrop{position:fixed;inset:0;background:rgba(18,23,22,.48);backdrop-filter:blur(4px);display:none;place-items:center;padding:18px;z-index:1000}
.modal-backdrop.open{display:grid}
.app-modal{width:min(520px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(18,23,22,.28)}
.app-modal h2{margin:8px 0 0}
.app-modal p{color:var(--muted);line-height:1.55}
.modal-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.modal-close{width:38px;height:38px;border:0;border-radius:50%;background:#eef1ec;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.validation-account{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr);gap:18px;padding:18px 0;border-top:1px solid var(--line);align-items:start}
.validation-account:first-of-type{margin-top:12px}
.compact-form{margin-top:0}
@media(max-width:760px){.validation-account{grid-template-columns:1fr}.catalog-user-actions{align-items:flex-start}}

.top-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.top-logout-form{margin:0}
.btn.compact{padding:8px 11px;border-radius:999px;font-size:12px}
@media(max-width:760px){
  .topbar{align-items:flex-start}
  .top-user-actions{justify-content:flex-start}
}

.business-list-layout{grid-template-columns:minmax(0,1.55fr) minmax(360px,.45fr)}
.business-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.business-status-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:12px 0}
.business-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.business-dl{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;margin:0}
.business-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}
.business-dl dd{margin:0;padding-bottom:8px;border-bottom:1px solid var(--line)}
.schedule-grid{display:grid;gap:8px}
.schedule-row{display:grid;grid-template-columns:150px 120px 120px 120px 1fr;gap:9px;align-items:center;padding:10px;border-radius:13px;background:#f5f7f3}
.schedule-row input{min-width:0}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.media-card{border:1px solid var(--line);border-radius:15px;padding:10px;display:grid;gap:8px}
.media-card img{width:100%;height:150px;object-fit:cover;border-radius:10px;background:#eef1ec}
.media-inactive{opacity:.55}
.provider-business-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.provider-business-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfcfa}
.business-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.provider-business-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.provider-business-stats span{background:#eef1ec;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}
@media(max-width:980px){
  .business-list-layout,.business-detail-grid{grid-template-columns:1fr}
  .schedule-row{grid-template-columns:1fr 1fr 1fr}
  .schedule-row strong{grid-column:1/-1}
  .schedule-row input:last-child{grid-column:1/-1}
}
@media(max-width:650px){
  .business-two,.provider-business-grid,.media-grid{grid-template-columns:1fr}
  .business-dl{grid-template-columns:1fr}
  .schedule-row{grid-template-columns:1fr 1fr}
}

.admin-portal-nav{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;margin:18px 0 20px;padding:6px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:18px;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.admin-portal-nav::-webkit-scrollbar{display:none}
.admin-portal-link{flex:0 0 auto;padding:9px 10px;border-radius:13px;text-decoration:none;font-size:11px;font-weight:850;color:var(--ink);white-space:nowrap}
.admin-portal-link:hover{background:#fff}
.admin-portal-link.active{background:var(--dark);color:#fff}
.admin-hero{margin-bottom:0}
.admin-overview-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 16px}
.admin-kpi-card{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid rgba(0,0,0,.035);border-radius:18px;padding:15px;min-width:0;transition:transform .15s ease,box-shadow .15s ease}
.admin-kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(18,23,22,.08)}
.admin-kpi-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}
.admin-kpi-card strong{display:block;font-size:28px;margin:3px 0}
.admin-kpi-card small{display:block;color:var(--muted);font-size:11px;line-height:1.3}
.admin-kpi-card.accent-green{background:var(--lime-soft)}
.admin-kpi-card.accent-blue{background:var(--blue)}
.admin-kpi-card.accent-orange{background:var(--orange)}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:16px;margin-bottom:16px}
.admin-lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.panel-heading h2{margin:3px 0 0}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);font-weight:900}
.admin-pending-list{display:grid;gap:8px}
.admin-pending-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;background:#f7f8f5;border-radius:14px}
.admin-empty-ok{display:grid;gap:3px;padding:22px;border-radius:16px;background:var(--lime-soft)}
.admin-empty-ok span{color:var(--muted);font-size:13px}
.admin-system-card h2{margin-top:4px}
.system-status-line{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.system-status-line span{color:var(--muted)}
.system-status-line strong{text-align:right}
.admin-attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.admin-attention-card{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:15px;border-radius:16px;background:#f4f6f2}
.admin-attention-card.warning{background:#fff2e5}
.admin-attention-card.ok{background:#edf8f0}
.attention-count{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:18px;font-weight:900}
.admin-attention-card strong{font-size:13px}
.admin-attention-card p{font-size:12px;color:var(--muted);line-height:1.45;margin:5px 0 8px}
.admin-attention-card a{font-size:12px;font-weight:850;text-decoration:none}
.admin-activity-list{display:grid}
.admin-activity-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}
.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--dark)}
.admin-activity-item strong{font-size:13px}
.admin-activity-item time{font-size:11px;color:var(--muted);white-space:nowrap}
.admin-quick-links{display:grid;gap:8px}
.admin-quick-links a{display:grid;gap:2px;padding:13px;border-radius:14px;background:#f4f6f2;color:var(--ink);text-decoration:none}
.admin-quick-links a:hover{background:#ebeee8}
.admin-quick-links strong{font-size:13px}
.admin-quick-links span{font-size:11px;color:var(--muted)}
.admin-local-tools{margin-top:16px}
.admin-local-tools summary{cursor:pointer;font-weight:850}
.admin-users-layout{grid-template-columns:minmax(0,1.55fr) minmax(340px,.45fr)}
.status-pill.role-admin{background:#dce7ff;color:#365c9d}
.status-pill.role-provider{background:#e8f6d7;color:#497431}
.admin-test-accounts{margin-top:16px}
@media(max-width:1080px){
  .admin-overview-kpis{grid-template-columns:repeat(3,1fr)}
  .admin-attention-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .admin-dashboard-grid,.admin-lower-grid,.admin-users-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .admin-overview-kpis{grid-template-columns:1fr 1fr}
  .admin-attention-grid{grid-template-columns:1fr}
  .admin-portal-nav{width:100%}
  .admin-portal-link{flex:0 0 auto;text-align:center;min-width:0}
}

.provider-portal-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:18px 0 20px;padding:6px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:18px;width:max-content;max-width:100%}
.provider-portal-link{padding:10px 14px;border-radius:13px;text-decoration:none;font-size:13px;font-weight:850;color:var(--ink)}
.provider-portal-link:hover{background:#fff}.provider-portal-link.active{background:var(--dark);color:#fff}
.provider-overview-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.provider-overview-heading h2{margin:3px 0}.provider-overview-heading p{margin:0}
.provider-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provider-management-card{background:#fff;border-radius:22px;padding:20px;border:1px solid rgba(0,0,0,.04);box-shadow:0 10px 28px rgba(18,23,22,.035)}
.provider-management-card h2{font-size:22px;margin:4px 0}.provider-type-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.provider-completion{margin:18px 0 12px}.provider-completion-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.provider-completion-head strong{color:var(--ink)}
.provider-progress{height:8px;border-radius:999px;background:#eef1ec;overflow:hidden;margin-top:7px}.provider-progress span{display:block;height:100%;border-radius:999px;background:var(--dark)}
.provider-business-stats span.attention{background:#fff0dc;color:#8d5c16}.provider-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.provider-permission-note{margin-top:16px}.provider-business-summary{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;background:#fff;border-radius:18px;padding:13px 15px;margin-bottom:14px;border:1px solid var(--line)}
.provider-mini-progress{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.provider-mini-progress>div{width:110px;height:7px;background:#eef1ec;border-radius:999px;overflow:hidden}.provider-mini-progress i{display:block;height:100%;background:var(--dark);border-radius:999px}
.provider-profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px}.provider-protected-data{height:max-content}.provider-tabs{margin-top:0}.provider-no-business{max-width:800px}.provider-hero{margin-bottom:0}
@media(max-width:850px){.provider-management-grid,.provider-profile-grid{grid-template-columns:1fr}}
@media(max-width:620px){.provider-portal-nav{width:100%}.provider-portal-link{flex:1;text-align:center}.provider-card-footer{align-items:flex-start;flex-direction:column}.provider-business-summary{align-items:flex-start;flex-direction:column}.provider-mini-progress{width:100%}.provider-mini-progress>div{flex:1}}

/* Portal público — Etapa 8 */
.public-main{min-height:72vh;background:#f7f8f4}
.public-shell{width:min(1180px,calc(100% - 36px));margin:0 auto}
.public-site-header{position:sticky;top:0;z-index:60;background:rgba(247,248,244,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,42,38,.08)}
.public-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.public-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:950;text-decoration:none;letter-spacing:-.02em}
.public-brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--dark);color:#fff;font-size:17px}
.public-nav{display:flex;align-items:center;gap:6px}
.public-nav a{padding:9px 12px;border-radius:999px;color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}
.public-nav a:hover{background:#fff}
.public-nav .public-nav-account{background:var(--dark);color:#fff;padding-inline:15px}
.public-hero{padding:64px 0 46px;overflow:hidden;background:radial-gradient(circle at 78% 25%,rgba(208,237,171,.72),transparent 31%),linear-gradient(180deg,#f7f8f4 0%,#f1f4ed 100%)}
.public-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:56px;align-items:center}
.public-kicker{display:inline-block;font-size:10px;line-height:1.2;font-weight:950;text-transform:uppercase;letter-spacing:.095em;color:#65716c}
.public-hero-copy h1{font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.055em;max-width:780px;margin:13px 0 20px}
.public-hero-copy>p{font-size:18px;line-height:1.55;color:var(--muted);max-width:660px}
.public-discovery-form{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(200px,.75fr) auto;gap:8px;margin:30px 0 20px;padding:8px;background:#fff;border:1px solid rgba(30,42,36,.08);border-radius:20px;box-shadow:0 18px 50px rgba(28,39,34,.08)}
.public-form-field{display:grid;gap:4px;padding:4px 7px}
.public-form-field label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}
.public-form-field select,.public-form-field input{border:0;background:transparent;padding:5px 0;font-size:14px;font-weight:750;border-radius:0}
.public-form-field select:focus,.public-form-field input:focus{outline:none}
.public-search-button,.public-filter-button{border:0;border-radius:14px;background:var(--dark);color:#fff;font:inherit;font-weight:900;padding:0 20px;cursor:pointer}
.public-search-button:hover,.public-filter-button:hover{filter:brightness(1.1)}
.public-hero-proof{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.public-hero-proof strong{color:var(--ink)}
.public-hero-visual{position:relative;min-height:390px}
.public-visual-orb{position:absolute;inset:30px 10px 0 60px;border-radius:52% 48% 44% 56%;background:linear-gradient(145deg,#d8f3b3,#a8cfff 70%,#f4bf86);transform:rotate(-7deg)}
.public-visual-card{position:absolute;z-index:2;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.72);box-shadow:0 20px 50px rgba(20,31,26,.12)}
.public-visual-main{left:28px;right:16px;bottom:66px;border-radius:24px;padding:22px;display:flex;align-items:center;gap:14px}
.public-visual-main small,.public-visual-float span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.public-visual-main strong,.public-visual-float strong{font-size:14px}
.public-visual-dot{width:38px;height:38px;border-radius:13px;background:var(--dark);box-shadow:inset 0 0 0 10px #d7efb4}
.public-visual-float{border-radius:18px;padding:15px 17px}
.public-visual-float.one{right:-8px;top:64px}
.public-visual-float.two{left:3px;top:153px}
.public-section{padding:58px 0}
.public-section-soft{background:#edf1e8}
.public-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.public-section-head h2{font-size:31px;letter-spacing:-.035em;margin:6px 0 0}
.public-section-head>a{font-size:13px;font-weight:850;text-decoration:none;color:var(--ink)}
.public-section-head.compact{margin-bottom:16px}
.public-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.public-category-card{display:flex;align-items:center;gap:13px;padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(27,38,33,.06);text-decoration:none;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}
.public-category-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,31,26,.07)}
.public-category-icon{width:42px;height:42px;border-radius:13px;background:var(--lime-soft);display:grid;place-items:center;font-size:16px;font-weight:950}
.public-category-card strong{display:block;font-size:14px}
.public-category-card span:last-child{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.public-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.public-business-card{display:flex;flex-direction:column;min-height:290px;padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(25,36,31,.07);box-shadow:0 8px 26px rgba(27,38,32,.04)}
.public-business-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.public-business-avatar{width:52px;height:52px;border-radius:16px;background:var(--lime-soft);display:grid;place-items:center;overflow:hidden;font-size:19px;font-weight:950}
.public-business-avatar img{width:100%;height:100%;object-fit:cover}
.public-verified{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#e7f3ff;color:#315f8f;font-size:10px;font-weight:900}
.public-business-card h3,.public-business-card h2{font-size:20px;line-height:1.1;letter-spacing:-.025em;margin:18px 0 8px}
.public-business-card h2{font-size:22px}
.public-business-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 14px}
.public-business-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-top:auto;padding-top:12px}
.public-business-meta.stacked{display:grid;justify-content:stretch;gap:4px;margin-top:0}
.public-business-type{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900;margin-top:16px}
.public-card-link{display:inline-block;margin-top:17px;color:var(--ink);font-size:12px;font-weight:900;text-decoration:none}
.public-attendance-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}
.public-attendance-badges span{padding:5px 8px;border-radius:999px;background:#f0f3ed;color:#536059;font-size:10px;font-weight:800}
.public-attendance-badges.large span{font-size:11px;padding:7px 10px}
.public-how-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(400px,1.3fr);gap:60px;align-items:start}
.public-how-grid h2{font-size:36px;letter-spacing:-.04em;margin:9px 0}
.public-how-grid>div>p{color:var(--muted);line-height:1.6}
.public-steps{display:grid;gap:9px}
.public-steps article{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:17px;border-radius:17px;background:#fff}
.public-steps article>span{width:42px;height:42px;border-radius:13px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}
.public-steps strong{font-size:14px}
.public-steps p{font-size:12px;color:var(--muted);margin:4px 0 0}
.public-empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:46px 24px;border-radius:22px;background:#fff;color:var(--muted)}
.public-empty strong{color:var(--ink);font-size:18px}
.public-primary-link{margin-top:10px;padding:10px 14px;border-radius:12px;background:var(--dark);color:#fff;text-decoration:none;font-size:12px;font-weight:900}
.public-footer{background:#19201d;color:#fff;padding:40px 0}
.public-footer-inner{display:flex;justify-content:space-between;gap:40px;align-items:end}
.public-footer .public-brand{color:#fff}
.public-footer .public-brand-mark{background:#d5efaf;color:#19201d}
.public-footer p{color:#aeb8b3;font-size:12px;margin:12px 0 0}
.public-footer-links{display:flex;gap:18px;flex-wrap:wrap}
.public-footer-links a{color:#dce3df;font-size:12px;text-decoration:none}
.public-directory-head{padding:44px 0 28px;background:#eef2e9;border-bottom:1px solid rgba(29,40,35,.07)}
.public-directory-head h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.045em;margin:10px 0}
.public-directory-head>div>p{color:var(--muted)}
.public-filter-bar{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(160px,.9fr) minmax(230px,1.4fr) minmax(140px,.7fr) auto;gap:7px;padding:8px;margin-top:24px;border-radius:18px;background:#fff;border:1px solid rgba(29,40,35,.07)}
.public-form-grow{min-width:0}
.public-filter-button{padding-inline:16px}
.public-results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.public-results-head>div{display:flex;align-items:baseline;gap:6px}
.public-results-head strong{font-size:24px}
.public-results-head span,.public-results-head a{font-size:12px;color:var(--muted)}
.public-results-head a{font-weight:850;color:var(--ink);text-decoration:none}
.directory-grid{grid-template-columns:repeat(3,1fr)}
.public-profile-hero{background:#edf1e8}
.public-profile-cover{height:230px;background-size:cover;background-position:center}
.public-profile-cover-fallback{background:radial-gradient(circle at 75% 20%,#a8cfff,transparent 33%),linear-gradient(135deg,#d7efb4,#eff3eb 58%,#f0c08f)}
.public-profile-header{display:grid;grid-template-columns:116px 1fr;gap:24px;align-items:end;margin-top:-58px;padding-bottom:28px;position:relative}
.public-profile-avatar{width:116px;height:116px;border-radius:30px;background:#fff;border:6px solid #edf1e8;box-shadow:0 10px 30px rgba(20,31,26,.1);display:grid;place-items:center;overflow:hidden;font-size:38px;font-weight:950}
.public-profile-avatar img{width:100%;height:100%;object-fit:cover}
.public-profile-title{padding-top:64px}
.public-profile-labels{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.public-profile-title h1{font-size:40px;letter-spacing:-.045em;margin:7px 0}
.public-profile-title>p{color:var(--muted);margin:0;max-width:700px}
.public-profile-location{margin-top:8px;font-size:12px;font-weight:800;color:#536059}
.profile-section{padding-top:36px}
.public-profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:24px;align-items:start}
.public-profile-content{display:grid;gap:16px}
.public-profile-block,.public-contact-card,.public-sidebar-card{background:#fff;border:1px solid rgba(27,38,33,.07);border-radius:22px;padding:22px}
.public-profile-block h2,.public-contact-card h2{font-size:24px;letter-spacing:-.03em;margin:6px 0 15px}
.public-profile-description{line-height:1.7;color:#4d5953}
.public-profile-sidebar{display:grid;gap:12px;position:sticky;top:92px}
.public-contact-actions{display:grid;gap:7px}
.public-contact-actions a{display:block;text-align:center;padding:11px 13px;border-radius:12px;background:#f1f3ef;color:var(--ink);text-decoration:none;font-size:12px;font-weight:850}
.public-contact-actions .public-contact-primary{background:var(--dark);color:#fff}
.public-sidebar-card h3{font-size:16px;margin:7px 0 12px}
.sidebar-subhead{margin-top:20px!important}
.public-clean-list,.public-schedule-list{list-style:none;padding:0;margin:0;display:grid}
.public-clean-list li,.public-schedule-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}
.public-clean-list li span{color:var(--muted)}
.public-schedule-list li>span{color:var(--muted)}
.public-confirmed-note{padding:12px 14px;border-radius:13px;background:#edf8f0;color:#49705b;font-size:11px}
.public-offer-list{display:grid;gap:9px}
.public-offer-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:16px;border-radius:16px;background:#f5f7f2}
.public-offer-category{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.public-offer-card h3{font-size:16px;margin:4px 0 6px}
.public-offer-card p{color:var(--muted);font-size:12px;line-height:1.45;margin:0 0 5px}
.public-offer-card small{color:var(--muted);font-size:10px}
.public-offer-side{text-align:right;min-width:150px}
.public-offer-side>strong{font-size:12px}
.public-offer-side .public-attendance-badges{justify-content:flex-end}
.public-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.public-gallery img{width:100%;height:180px;object-fit:cover;border-radius:14px}
@media(max-width:1000px){
  .public-hero-grid{grid-template-columns:1fr}.public-hero-visual{display:none}
  .public-category-grid{grid-template-columns:repeat(2,1fr)}
  .public-business-grid,.directory-grid{grid-template-columns:repeat(2,1fr)}
  .public-filter-bar{grid-template-columns:1fr 1fr}
  .public-filter-button{min-height:48px}
  .public-profile-grid{grid-template-columns:1fr}.public-profile-sidebar{position:static}
  .public-how-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .public-shell{width:min(100% - 24px,1180px)}
  .public-header-inner{min-height:62px}.public-nav>a:not(.public-nav-account){display:none}
  .public-hero{padding-top:42px}.public-hero-copy h1{font-size:45px}
  .public-discovery-form{grid-template-columns:1fr}.public-search-button{min-height:48px}
  .public-hero-proof{display:grid;gap:6px}
  .public-category-grid,.public-business-grid,.directory-grid{grid-template-columns:1fr}
  .public-section{padding:42px 0}.public-section-head{align-items:flex-start;flex-direction:column}
  .public-filter-bar{grid-template-columns:1fr}
  .public-footer-inner{align-items:flex-start;flex-direction:column}
  .public-profile-cover{height:150px}
  .public-profile-header{grid-template-columns:76px 1fr;gap:14px;margin-top:-38px}
  .public-profile-avatar{width:76px;height:76px;border-radius:21px;font-size:24px}
  .public-profile-title{padding-top:45px}.public-profile-title h1{font-size:29px}
  .public-offer-card{grid-template-columns:1fr}.public-offer-side{text-align:left}.public-offer-side .public-attendance-badges{justify-content:flex-start}
  .public-gallery{grid-template-columns:1fr 1fr}
}

/* Busca determinística — Etapa 9 */
.public-search-examples{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-8px 0 18px;font-size:11px}
.public-search-examples>span{color:var(--muted);font-weight:800}
.public-search-examples a{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(28,39,34,.07);color:var(--ink);text-decoration:none;font-weight:800}
.public-search-examples a:hover{background:#fff}
.public-search-head{padding:45px 0 30px;background:radial-gradient(circle at 85% 0%,rgba(211,239,176,.8),transparent 30%),#eef2e9;border-bottom:1px solid rgba(29,40,35,.07)}
.public-search-head h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.05em;margin:10px 0}
.public-search-head>div>p{color:var(--muted);max-width:760px;line-height:1.55}
.public-search-page-form{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(170px,.65fr) minmax(145px,.55fr) auto;gap:7px;padding:8px;margin-top:24px;border-radius:18px;background:#fff;border:1px solid rgba(29,40,35,.07);box-shadow:0 12px 35px rgba(29,40,35,.05)}
.public-search-page-form input[type=search]{width:100%;font:inherit}
.page-examples{margin:12px 6px 0}
.search-results-section{padding-top:32px}
.search-understanding-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:19px 22px;margin-bottom:12px;border-radius:20px;background:#fff;border:1px solid rgba(26,38,32,.07)}
.search-understanding-card h2{font-size:25px;letter-spacing:-.03em;margin:5px 0}
.search-understanding-card p{color:var(--muted);font-size:12px;margin:0}
.search-confidence{min-width:105px;text-align:center;border-radius:16px;padding:12px 14px;background:#f0f3ed}
.search-confidence.alta{background:#e8f6d7;color:#426d31}
.search-confidence.media{background:#fff1d9;color:#7a5b21}
.search-confidence.baixa{background:#f5ece5;color:#875b43}
.search-confidence strong{display:block;font-size:23px;letter-spacing:-.03em}
.search-confidence span{display:block;margin-top:2px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
.search-low-confidence{margin-bottom:14px;padding:10px 13px;border-radius:12px;background:#fff1d9;color:#735823;font-size:11px;line-height:1.5}
.search-result-count{margin-top:17px}
.search-time{font-size:10px!important}
.search-match-tag{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:15px;padding:7px 9px;border-radius:10px;background:#eff4e9;font-size:10px;font-weight:850;color:#52624f}
.search-match-tag span{font-variant-numeric:tabular-nums}
.search-business-card h2{margin-top:12px}
.search-other-matches{margin-top:18px;padding:13px 15px;border-radius:14px;background:#eef1ec;font-size:11px;color:var(--muted)}
.search-other-matches summary{cursor:pointer;color:var(--ink);font-weight:850}
.search-other-matches>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.search-other-matches span{padding:6px 8px;border-radius:999px;background:#fff}
.public-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.centered-examples{justify-content:center;margin:16px 0 0}
.no-deterministic-match{padding-bottom:38px}
@media(max-width:920px){
  .public-search-page-form{grid-template-columns:1fr 1fr}
  .public-search-page-form .public-form-grow{grid-column:1/-1}
  .public-search-page-form .public-filter-button{min-height:48px}
}
@media(max-width:620px){
  .public-search-page-form{grid-template-columns:1fr}
  .public-search-page-form .public-form-grow{grid-column:auto}
  .search-understanding-card{align-items:flex-start;flex-direction:column}
  .search-confidence{min-width:0;width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}
  .search-confidence strong{font-size:20px}.search-confidence span{margin:0}
}

/* Fallback semântico — Etapa 10 */
.semantic-reason{margin-top:7px!important;padding-top:7px;border-top:1px solid var(--line);font-size:11px!important}
.semantic-local-hint{max-width:680px;margin:15px auto 0;padding:10px 12px;border-radius:11px;background:#fff1d9;color:#735823;font-size:11px;line-height:1.5}
.semantic-local-hint code{background:rgba(255,255,255,.62);padding:2px 5px;border-radius:5px}

/* Ranking e rotação — Etapa 11 */
.search-rotation-note{
  margin:-6px 0 15px;
  padding:9px 12px;
  border-radius:12px;
  background:#eef3e9;
  color:#59675f;
  font-size:10px;
  line-height:1.45;
}

/* Métricas e auditoria — Etapa 12 */
.metrics-period-form{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px}
.metrics-period-form strong{display:block;margin-top:3px}
.metrics-period-buttons{display:flex;gap:5px;flex-wrap:wrap}
.metrics-period-buttons a{padding:7px 10px;border-radius:999px;background:#f0f2ee;color:var(--ink);text-decoration:none;font-size:10px;font-weight:850}
.metrics-period-buttons a.active{background:var(--dark);color:#fff}
.metrics-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:14px 0}
.metrics-kpi{padding:16px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:0 5px 20px rgba(20,30,25,.035)}
.metrics-kpi span{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.metrics-kpi strong{display:block;font-size:25px;letter-spacing:-.035em;margin:6px 0 2px}
.metrics-kpi small{display:block;color:var(--muted);font-size:9px;line-height:1.35}
.metrics-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.metrics-span-2{grid-column:span 2}
.metrics-daily-chart{height:220px;display:flex;align-items:end;gap:7px;padding:14px 4px 0;overflow-x:auto}
.metrics-day{min-width:34px;flex:1;height:100%;display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:4px}
.metrics-day-bars{height:100%;width:100%;display:flex;align-items:end;justify-content:center}
.metrics-day-bar{width:min(24px,70%);min-height:8px;border-radius:8px 8px 3px 3px;background:var(--dark)}
.metrics-day strong{font-size:10px}.metrics-day span{font-size:8px;color:var(--muted)}
.metric-lines{display:grid;gap:0}
.metric-lines>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}
.metric-lines span{color:var(--muted)}.metric-lines strong{font-variant-numeric:tabular-nums}
.metrics-ranked-list{display:grid}
.metrics-ranked-list>div{display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.metrics-rank{width:25px;height:25px;border-radius:9px;background:var(--lime-soft);display:grid;place-items:center;font-size:9px;font-weight:950}
.metrics-rank.warning{background:#fff0d9}
.metrics-ranked-list strong{display:block;font-size:11px}.metrics-ranked-list small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.metrics-ranked-list b{font-size:13px}
.metrics-table{width:100%;border-collapse:collapse}
.metrics-table th,.metrics-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}
.metrics-table th{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.audit-kpis{grid-template-columns:repeat(4,1fr)}
.audit-filter-form{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .7fr auto auto;gap:8px;align-items:end;margin-bottom:14px}
.audit-filter-form .field{margin:0}.audit-filter-form .btn{min-height:40px}
.audit-event-list{display:grid;gap:8px}
.audit-event{padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.audit-event-head{display:flex;justify-content:space-between;gap:14px;align-items:start}
.audit-event-head strong{font-size:12px}.audit-event-head span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.audit-event-head time{font-size:9px;color:var(--muted);white-space:nowrap}
.audit-event-meta{display:flex;gap:11px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:9px}
.audit-event details{margin-top:9px}.audit-event summary{cursor:pointer;font-size:9px;font-weight:850;color:var(--ink)}
.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.audit-detail-grid>div>span,.audit-user-agent>span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:900}
.audit-detail-grid pre{margin:0;padding:10px;border-radius:10px;background:#202824;color:#eaf0ec;white-space:pre-wrap;overflow-wrap:anywhere;font-size:9px;line-height:1.5}
.audit-user-agent{margin-top:8px;padding:8px;border-radius:9px;background:#f0f2ee;font-size:8px;overflow-wrap:anywhere}
.audit-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:10px}
.audit-pagination a{padding:7px 10px;border-radius:9px;background:#eef1ec;color:var(--ink);text-decoration:none;font-weight:850}
@media(max-width:1100px){
  .metrics-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .audit-filter-form{grid-template-columns:1fr 1fr 1fr}
  .metrics-layout{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .metrics-period-form{align-items:flex-start;flex-direction:column}
  .metrics-kpi-grid,.audit-kpis{grid-template-columns:1fr 1fr}
  .metrics-layout{grid-template-columns:1fr}.metrics-span-2{grid-column:auto}
  .audit-filter-form{grid-template-columns:1fr}
  .audit-detail-grid{grid-template-columns:1fr}
}

/* WhatsApp Cloud API — Etapa 13 */
.whatsapp-status-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:14px 0}
.whatsapp-admin-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.whatsapp-span-2{grid-column:span 2}
.whatsapp-config-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.whatsapp-config-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}
.whatsapp-config-list span{color:var(--muted)}
.whatsapp-webhook-url{grid-column:1/-1;align-items:flex-start!important;flex-direction:column}
.whatsapp-webhook-url code{display:block;width:100%;padding:9px 10px;border-radius:10px;background:#f0f2ee;overflow-wrap:anywhere}
.whatsapp-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.whatsapp-action-row form{margin:0}
.stack-form{display:grid;gap:10px}
.stack-form .field{margin:0}
.stack-form small,.small-note{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:4px}
.compact-alert{margin:12px 0 0}
@media(max-width:1100px){
  .whatsapp-status-grid{grid-template-columns:repeat(3,1fr)}
  .whatsapp-admin-layout{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .whatsapp-status-grid{grid-template-columns:1fr 1fr}
  .whatsapp-admin-layout{grid-template-columns:1fr}
  .whatsapp-span-2{grid-column:auto}
  .whatsapp-config-list{grid-template-columns:1fr}
}

/* Segurança, privacidade e backups — Etapa 15 */
.privacy-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}
.privacy-kpis .kpi small{display:block;margin-top:5px;color:var(--muted);font-size:8px}
.privacy-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.privacy-span-2{grid-column:span 2}
.privacy-status-list,.privacy-retention-list{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.privacy-status-list>div,.privacy-retention-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}
.privacy-status-list span,.privacy-retention-list span{color:var(--muted)}
.privacy-action-form{display:grid;gap:9px;margin-top:14px}
.privacy-confirm{display:flex;gap:8px;align-items:center;font-size:9px;color:var(--muted)}
.backup-list{display:grid;gap:8px}.backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.backup-row>div:first-child span{display:block;margin-top:3px;color:var(--muted);font-size:8px}.backup-actions{display:flex;gap:5px;flex-wrap:wrap}
.privacy-request-list{display:grid;gap:9px}.privacy-request-item{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfcfa}
.privacy-request-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.privacy-request-head span{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.status-pill{padding:5px 8px!important;border-radius:999px;background:#eef1ec;color:var(--ink)!important;font-weight:800;white-space:nowrap}
.privacy-request-item p{font-size:10px;line-height:1.55}.privacy-resolution-form{display:grid;grid-template-columns:140px 1fr auto;gap:7px;margin-top:9px}
.privacy-public-page{padding-top:22px;padding-bottom:30px}.privacy-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.privacy-request-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.privacy-request-form .privacy-details{grid-column:1/-1}.privacy-request-form .btn{justify-self:start}.privacy-identity-note{grid-column:1/-1;padding:10px;border-radius:10px;background:#eef1ec;font-size:10px}
@media(max-width:900px){.privacy-kpis{grid-template-columns:1fr 1fr}.privacy-admin-grid,.privacy-public-grid{grid-template-columns:1fr}.privacy-span-2{grid-column:auto}.privacy-resolution-form{grid-template-columns:1fr}.backup-row{grid-template-columns:1fr}.privacy-request-form{grid-template-columns:1fr}.privacy-request-form .privacy-details{grid-column:auto}}


/* Etapa 16 — testes integrados */
.integrated-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.integrated-kpis .kpi{min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}
.integrated-kpis .kpi span{font-size:11px}
.integrated-kpis .kpi strong{display:block;max-width:100%;margin-top:4px;font-size:clamp(24px,2.3vw,31px);line-height:1.04;letter-spacing:-.035em;overflow-wrap:anywhere}
.integrated-kpis .kpi small{display:block;max-width:100%;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.integrated-run-panel{margin-bottom:16px}
.integrated-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.integrated-meta span{background:var(--soft);padding:7px 10px;border-radius:999px}
.integrated-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.integrated-group{margin:0}
.integrated-check-list{display:grid;gap:8px}
.integrated-check{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px}
.integrated-check-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);font-weight:800}
.integrated-check strong,.integrated-check small{display:block}
.integrated-check small{margin-top:3px;color:var(--muted)}
.integrated-check.pass>span:last-child{font-weight:800}
.integrated-check.fail{border-color:#d8a3a3}
.integrated-check.fail>span:last-child{font-weight:800}
@media(max-width:980px){.integrated-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.integrated-groups{grid-template-columns:1fr}}
@media(max-width:600px){.integrated-kpis{grid-template-columns:1fr}.integrated-check{grid-template-columns:30px minmax(0,1fr)}.integrated-check>span:last-child{grid-column:2}}

/* v0.17.2 — correção visual definitiva da Etapa 16 */
.admin-portal-page{max-width:1280px}
.admin-portal-page .admin-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:28px;row-gap:12px}
.admin-portal-page .admin-hero>div:first-child{min-width:0}
.admin-portal-page .top-user-actions{align-self:start;flex-wrap:nowrap}
.admin-portal-nav{display:grid!important;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:start;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
.admin-portal-nav .admin-portal-link{display:block;white-space:nowrap;min-width:max-content}

.integrated-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.integrated-kpi-card{min-width:0;min-height:132px;padding:18px;border-radius:20px;background:#f1f3ef;display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:7px;overflow:hidden}
.integrated-kpi-card.accent-blue{background:var(--blue)}
.integrated-kpi-card.accent-green{background:var(--lime-soft)}
.integrated-kpi-card.accent-orange{background:var(--orange)}
.integrated-kpi-card>span{display:block;color:var(--muted);font-size:11px;line-height:1.25}
.integrated-kpi-card>strong{display:block;min-width:0;margin:0;font-size:clamp(25px,2vw,32px);line-height:1.05;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}
.integrated-kpi-card>small{display:block;min-width:0;margin:0;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:1080px){
  .admin-portal-page{max-width:100%}
  .integrated-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-portal-page .admin-hero{grid-template-columns:1fr}
  .admin-portal-page .top-user-actions{justify-content:flex-start;flex-wrap:wrap}
  .integrated-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.integrated-kpis{grid-template-columns:1fr}}



/* Etapa 17 — implantação */
.deployment-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.deployment-panel{margin-bottom:16px}
.deployment-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.deployment-check{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.deployment-check.fail{border-color:#d8a3a3;background:#fff7f5}
.deployment-check-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);font-weight:800}
.deployment-check.pass .deployment-check-mark{background:var(--lime-soft)}
.deployment-check.fail .deployment-check-mark{background:#f8dada}
.deployment-check strong,.deployment-check small{display:block}
.deployment-check small{margin-top:3px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.deployment-check>span:last-child{font-weight:800;font-size:.82rem}
.deployment-confirm-panel{margin-bottom:24px}
@media(max-width:980px){.deployment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-check-list{grid-template-columns:1fr}}
@media(max-width:600px){.deployment-kpis{grid-template-columns:1fr}.deployment-check{grid-template-columns:30px minmax(0,1fr)}.deployment-check>span:last-child{grid-column:2}}

/* Piloto real — Etapa 18 */
.pilot-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.pilot-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.pilot-contact-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:16px 0}
.pilot-contact-list{display:grid;gap:8px;margin-top:14px}
.pilot-contact-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f7f8f5}
.pilot-contact-item strong,.pilot-contact-item small{display:block}.pilot-contact-item small{margin-top:3px;color:var(--muted)}
.pilot-check-list{display:grid;gap:8px}
.pilot-check{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:11px 12px;border-radius:13px;border:1px solid var(--line)}
.pilot-check>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:var(--soft)}
.pilot-check.pass>span{background:var(--lime-soft)}.pilot-check.fail{background:#fff7f5;border-color:#e6c3c0}.pilot-check.fail>span{background:#f8dada}
.pilot-check strong,.pilot-check small{display:block}.pilot-check small{margin-top:2px;color:var(--muted)}
.pilot-control-panel{margin-bottom:24px}.pilot-control-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pilot-safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.pilot-safety-grid>div{padding:14px;border-radius:15px;background:#f4f6f2}.pilot-safety-grid span,.pilot-safety-grid strong{display:block}.pilot-safety-grid span{font-size:11px;color:var(--muted)}.pilot-safety-grid strong{margin-top:5px;font-size:18px}
@media(max-width:1050px){.pilot-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pilot-grid{grid-template-columns:1fr}.pilot-safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.pilot-kpis{grid-template-columns:1fr}.pilot-contact-form{grid-template-columns:1fr}.pilot-safety-grid{grid-template-columns:1fr}.pilot-control-actions{justify-content:flex-start}}

/* Etapa 19 — Auditoria final */
.final-audit-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.final-audit-intro{margin-bottom:16px}
.final-audit-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.final-audit-group{margin:0;min-width:0}
.final-audit-check-list{display:grid;gap:8px}
.final-audit-check{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.final-audit-check.fail{background:#fff7f5;border-color:#e6c3c0}
.final-audit-check-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:var(--soft)}
.final-audit-check.pass .final-audit-check-mark{background:var(--lime-soft)}
.final-audit-check.fail .final-audit-check-mark{background:#f8dada}
.final-audit-check strong,.final-audit-check small{display:block}
.final-audit-check small{margin-top:3px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.final-audit-check>span:last-child{font-weight:800;font-size:.8rem}
.final-audit-actions-panel{margin-bottom:24px}
.final-audit-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.final-audit-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.final-audit-groups{grid-template-columns:1fr}}
@media(max-width:700px){.final-audit-kpis{grid-template-columns:1fr}.final-audit-check{grid-template-columns:30px minmax(0,1fr)}.final-audit-check>span:last-child{grid-column:2}.final-audit-actions{justify-content:flex-start}}


/* Etapa 20 — Congelamento v1.0.0 */
.freeze-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.freeze-intro,.freeze-manifest-panel{margin-bottom:16px}
.freeze-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.freeze-group{margin:0;min-width:0}
.freeze-check-list{display:grid;gap:8px}.freeze-check{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.freeze-check.fail{background:#fff7f5;border-color:#e6c3c0}.freeze-check-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:var(--soft)}
.freeze-check.pass .freeze-check-mark{background:var(--lime-soft)}.freeze-check.fail .freeze-check-mark{background:#f8dada}.freeze-check strong,.freeze-check small{display:block}.freeze-check small{margin-top:3px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.freeze-check>span:last-child{font-weight:800;font-size:.8rem}
.freeze-manifest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.freeze-manifest-grid>div{padding:14px;border-radius:15px;background:#f4f6f2}.freeze-manifest-grid span,.freeze-manifest-grid strong{display:block}.freeze-manifest-grid span{font-size:11px;color:var(--muted)}.freeze-manifest-grid strong{margin-top:5px;font-size:17px;overflow-wrap:anywhere}
.freeze-actions-panel{margin-bottom:24px}.freeze-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.freeze-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.freeze-groups{grid-template-columns:1fr}.freeze-manifest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.freeze-kpis{grid-template-columns:1fr}.freeze-check{grid-template-columns:30px minmax(0,1fr)}.freeze-check>span:last-child{grid-column:2}.freeze-manifest-grid{grid-template-columns:1fr}.freeze-actions{justify-content:flex-start}}

/* Etapa 20A — prévia da experiência WhatsApp v1.1.0 */
.wa-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.wa-phone-preview{background:var(--surface,#fff);border:1px solid rgba(127,127,127,.22);border-radius:18px;padding:14px;min-width:0}
.wa-preview-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.68;margin:0 0 10px}
.wa-chat-bubble{background:rgba(127,127,127,.08);border-radius:14px;padding:14px;line-height:1.45}
.wa-chat-bubble p{margin:.55rem 0}.wa-chat-bubble small{display:block;margin-top:10px;opacity:.7}
.wa-preview-buttons{display:grid;gap:7px;margin-top:12px}.wa-preview-buttons span,.wa-preview-list span{display:block;text-align:center;padding:8px 10px;border-radius:9px;border:1px solid rgba(46,125,94,.32);background:rgba(46,125,94,.08);font-weight:650}
.wa-preview-list{margin-top:12px}
@media(max-width:980px){.wa-preview-grid{grid-template-columns:1fr}}

/* Etapa 20A.3 — edição por modal mantendo a prévia como tela principal */
.whatsapp-span-3{grid-column:1/-1}
.wa-experience-panel{overflow:visible}
.wa-experience-heading{align-items:flex-start;gap:18px}
.wa-experience-heading p{margin:.35rem 0 0;max-width:900px}
.wa-preview-grid-primary{grid-template-columns:repeat(3,minmax(260px,1fr));align-items:stretch}
.wa-preview-grid-primary .wa-phone-preview{display:flex;flex-direction:column}
.wa-preview-grid-primary .wa-chat-bubble{flex:1}
.wa-preview-copy{white-space:normal;overflow-wrap:anywhere}
.wa-edit-model{width:100%;margin-top:12px}
.wa-secondary-models{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.wa-secondary-models-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}
.wa-secondary-models-heading h3{margin:5px 0 0}
.wa-secondary-models-heading p{margin:0;max-width:560px;text-align:right}
.wa-secondary-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.wa-secondary-model{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:#fbfcfa}
.wa-secondary-model strong,.wa-secondary-model small{display:block}
.wa-secondary-model small{margin-top:3px;color:var(--muted);line-height:1.35}
.wa-history-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.wa-history-table td:first-child{font-weight:650}
.empty-state.compact{padding:14px}

/* Editor modal */
body.wa-modal-open{overflow:hidden}
.wa-message-modal{z-index:1200}
.app-modal.wa-message-editor-modal{width:min(1120px,calc(100vw - 36px));max-height:calc(100vh - 36px);padding:24px;overflow:auto}
.wa-message-editor-modal>.modal-title-row{position:sticky;top:-24px;z-index:3;margin:-24px -24px 0;padding:24px 24px 16px;background:#fff;border-bottom:1px solid var(--line)}
.wa-message-editor-modal>.modal-title-row p{margin:.35rem 0 0;max-width:720px}
.wa-modal-form{margin-top:18px}
.wa-modal-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.wa-modal-fields,.wa-modal-variables{min-width:0}
.wa-modal-variables{position:sticky;top:96px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f7f9f6}
.wa-modal-column-heading{margin-bottom:14px}
.wa-modal-column-heading strong,.wa-modal-column-heading small{display:block}
.wa-modal-column-heading strong{font-size:1rem}
.wa-modal-column-heading small{margin-top:3px;color:var(--muted);line-height:1.4}
.wa-modal-fields{display:grid;gap:13px}
.wa-modal-field{margin:0}
.wa-modal-field textarea{min-height:132px;line-height:1.5;resize:vertical}
.wa-modal-field input,.wa-modal-field textarea{width:100%}
.wa-modal-counter{display:block;margin-top:5px;color:var(--muted);font-size:10px;text-align:right}
.wa-variable-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wa-variable-chip{appearance:none;border:1px solid rgba(46,125,94,.26);border-radius:12px;background:#fff;padding:10px 11px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}
.wa-variable-chip:hover:not(:disabled){border-color:rgba(46,125,94,.55);box-shadow:0 5px 16px rgba(31,79,61,.09);transform:translateY(-1px)}
.wa-variable-chip code,.wa-variable-chip small{display:block}
.wa-variable-chip code{font-size:.76rem;font-weight:750;color:var(--ink);overflow-wrap:anywhere}
.wa-variable-chip small{margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-variable-chip.is-disabled,.wa-variable-chip:disabled{opacity:.36;cursor:not-allowed;background:#f1f3f0}
.wa-variable-help{margin-top:12px;padding:10px 11px;border-radius:12px;background:#eef2ed;color:var(--muted);font-size:.76rem;line-height:1.45}
.wa-modal-safety-note{margin:14px 0 0}
.wa-modal-actions{position:sticky;bottom:-24px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px -24px -24px;padding:14px 24px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);backdrop-filter:blur(7px)}
.wa-modal-actions-right{display:flex;gap:8px;align-items:center}

@media(max-width:980px){
  .wa-preview-grid-primary{grid-template-columns:1fr}
  .wa-secondary-model-grid{grid-template-columns:1fr}
  .wa-secondary-models-heading{align-items:flex-start;flex-direction:column}
  .wa-secondary-models-heading p{text-align:left}
  .wa-modal-editor-grid{grid-template-columns:1fr}
  .wa-modal-variables{position:static}
}
@media(max-width:620px){
  .app-modal.wa-message-editor-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:18px}
  .wa-message-editor-modal>.modal-title-row{top:-18px;margin:-18px -18px 0;padding:18px 18px 14px}
  .wa-variable-toolbar{grid-template-columns:1fr}
  .wa-modal-actions{bottom:-18px;margin:18px -18px -18px;padding:12px 18px;align-items:stretch;flex-direction:column}
  .wa-modal-actions-right{width:100%}
  .wa-modal-actions .btn,.wa-modal-actions-right .btn{flex:1}
}


/* Etapa 20B — proteção contra abuso e custos */
.usage-protection-panel{overflow:visible}
.usage-protection-heading{align-items:flex-start;gap:18px}
.usage-protection-heading p{margin:.35rem 0 0;max-width:850px}
.usage-protection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.usage-protection-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.usage-protection-kpis article{padding:14px;border:1px solid var(--line);border-radius:15px;background:#f7f9f6;min-width:0}
.usage-protection-kpis span,.usage-protection-kpis strong,.usage-protection-kpis small{display:block}
.usage-protection-kpis span{font-size:10px;color:var(--muted)}
.usage-protection-kpis strong{margin-top:4px;font-size:24px;line-height:1}
.usage-protection-kpis small{margin-top:5px;font-size:9px;color:var(--muted);line-height:1.35}
.usage-protection-rules{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.usage-protection-rules>span{padding:7px 9px;border-radius:999px;background:#eef2ed;font-size:10px;color:var(--muted)}
.usage-protection-rules strong{color:var(--ink)}
.usage-protection-note{margin-top:12px}
.usage-protection-modal{z-index:1210}
.app-modal.usage-protection-editor{width:min(1120px,calc(100vw - 36px));max-height:calc(100vh - 36px);padding:24px;overflow:auto}
.usage-protection-editor>.modal-title-row{position:sticky;top:-24px;z-index:3;margin:-24px -24px 0;padding:24px 24px 16px;background:#fff;border-bottom:1px solid var(--line)}
.usage-protection-editor>.modal-title-row p{margin:.35rem 0 0;max-width:760px}
.usage-protection-form{margin-top:18px}
.usage-protection-editor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;align-items:start}
.usage-protection-fields{min-width:0}
.usage-protection-fields>h3{margin:18px 0 10px}
.usage-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.usage-setting-field{margin:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.usage-setting-field>span{display:block;font-weight:700;margin-bottom:6px}
.usage-setting-field input{width:100%}
.usage-setting-field small{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.35}
.usage-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f7f9f6}
.usage-setting-toggle strong,.usage-setting-toggle small{display:block}
.usage-setting-toggle small{margin-top:3px;color:var(--muted);line-height:1.35}
.switch-control{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}
.switch-control input[type=checkbox]{width:18px;height:18px}
.usage-protection-explainer{position:sticky;top:96px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#f7f9f6}
.usage-protection-explainer h3{margin:5px 0 13px}
.usage-flow-list{display:grid;gap:10px}
.usage-flow-list>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start}
.usage-flow-list strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6eee8;font-size:11px}
.usage-flow-list span{font-size:10px;line-height:1.45;color:var(--muted)}
.usage-protection-modal-actions{bottom:-24px}
@media(max-width:980px){
  .usage-protection-kpis{grid-template-columns:1fr 1fr}
  .usage-protection-editor-grid{grid-template-columns:1fr}
  .usage-protection-explainer{position:static}
}
@media(max-width:620px){
  .usage-protection-heading{flex-direction:column}
  .usage-protection-actions{justify-content:flex-start}
  .usage-protection-kpis,.usage-setting-grid{grid-template-columns:1fr}
  .app-modal.usage-protection-editor{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:18px}
  .usage-protection-editor>.modal-title-row{top:-18px;margin:-18px -18px 0;padding:18px 18px 14px}
  .usage-setting-toggle{align-items:flex-start;flex-direction:column}
}

/* ========================================================================== */
/* v1.3.0 — normalização global de layout e responsividade                    */
/* ========================================================================== */

/* Base: nenhum conteúdo textual, mídia, formulário ou grid pode ampliar a página. */
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip;line-height:1.45}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
form,fieldset,input,select,textarea,button{min-width:0;max-width:100%}
fieldset{border:0;padding:0;margin:0}
pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
code{max-width:100%;overflow-wrap:anywhere;word-break:break-word}

/* Área de trabalho mais larga no desktop, mas com respiro proporcional. */
.wrap{width:min(1380px,calc(100% - 32px));max-width:none;margin:28px auto;padding:0}
.card{max-width:100%;min-width:0;padding:clamp(20px,2.4vw,34px);overflow:visible}
.panel,.catalog-table,.catalog-form,.assoc-form,.provider-management-card,
.public-profile-block,.public-contact-card,.public-sidebar-card,.wa-phone-preview,
.admin-kpi-card,.catalog-kpi,.kpi,.audit-event,.privacy-request-item,
.integrated-group,.deployment-panel,.pilot-control-panel,.final-audit-group,
.freeze-group,.usage-protection-panel{min-width:0;max-width:100%}

/* Tipografia flexível: títulos grandes deixam de escapar de cartões/telas menores. */
h1{font-size:clamp(34px,4.2vw,58px);line-height:1.02;overflow-wrap:anywhere}
h2{font-size:clamp(24px,2.4vw,32px);line-height:1.08;overflow-wrap:anywhere}
h3,h4,p,li,dd{overflow-wrap:anywhere}
.muted,.subtle,.small-note,.form-help{overflow-wrap:anywhere}

/* Flex e grid: itens internos podem realmente encolher sem empurrar o contêiner. */
.grid,.split,.kpis,.catalog-layout,.catalog-kpis,.validation-account,
.business-list-layout,.business-two,.business-detail-grid,.schedule-row,.media-grid,
.provider-business-grid,.admin-overview-kpis,.admin-dashboard-grid,.admin-lower-grid,
.admin-attention-grid,.admin-users-layout,.provider-management-grid,.provider-profile-grid,
.public-hero-grid,.public-category-grid,.public-business-grid,.public-how-grid,
.public-filter-bar,.directory-grid,.public-profile-header,.public-profile-grid,
.public-gallery,.public-search-page-form,.metrics-kpi-grid,.metrics-layout,
.audit-kpis,.audit-filter-form,.audit-detail-grid,.whatsapp-status-grid,
.whatsapp-admin-layout,.whatsapp-config-list,.privacy-kpis,.privacy-admin-grid,
.privacy-status-list,.privacy-retention-list,.privacy-resolution-form,.privacy-public-grid,
.privacy-request-form,.integrated-kpis,.integrated-groups,.integrated-check,
.deployment-kpis,.deployment-check-list,.deployment-check,.pilot-kpis,.pilot-grid,
.pilot-contact-form,.pilot-safety-grid,.final-audit-kpis,.final-audit-groups,
.final-audit-check,.freeze-kpis,.freeze-groups,.freeze-check,.freeze-manifest-grid,
.wa-preview-grid,.wa-preview-grid-primary,.wa-secondary-model-grid,.wa-modal-editor-grid,
.wa-variable-toolbar,.usage-protection-kpis,.usage-protection-editor-grid,
.usage-setting-grid,.usage-flow-list{min-width:0}

.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.business-two,.business-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.provider-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.business-dl{grid-template-columns:minmax(110px,140px) minmax(0,1fr)}

/* KPIs se reorganizam conforme a largura disponível, em vez de comprimir o texto. */
.kpis,.catalog-kpis,.admin-overview-kpis,.metrics-kpi-grid,.whatsapp-status-grid,
.privacy-kpis,.integrated-kpis,.deployment-kpis,.pilot-kpis,.final-audit-kpis,
.freeze-kpis,.usage-protection-kpis{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.admin-attention-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* Navegação administrativa: elimina a barra horizontal e distribui os itens em linhas. */
.admin-portal-nav{
  flex-wrap:wrap;
  overflow:visible;
  width:100%;
  gap:6px;
  padding:7px;
}
.admin-portal-link{
  flex:1 1 auto;
  min-width:max-content;
  text-align:center;
  padding:9px 12px;
}
.provider-portal-nav{
  width:100%;
  max-width:100%;
  flex-wrap:wrap;
}
.provider-portal-link{flex:1 1 auto;text-align:center}

/* Barras de topo e cabeçalhos deixam os controles quebrarem de linha com dignidade. */
.topbar,.catalog-head,.panel-heading,.provider-overview-heading,.business-card-top,
.provider-card-footer,.public-results-head,.search-understanding-card,
.audit-event-head,.privacy-request-head,.metrics-period-form,.wa-experience-heading,
.wa-secondary-models-heading,.usage-protection-heading{
  min-width:0;
  flex-wrap:wrap;
}
.topbar>*,.catalog-head>*,.panel-heading>*,.business-card-top>*,.provider-card-footer>*,
.public-results-head>*,.search-understanding-card>*,.audit-event-head>*,
.privacy-request-head>*,.metrics-period-form>*{min-width:0}
.top-user-actions,.catalog-user-actions,.whatsapp-action-row,.usage-protection-actions,
.final-audit-actions,.freeze-actions,.pilot-control-actions,.backup-actions,.table-actions{
  min-width:0;
  max-width:100%;
}
.user-chip{max-width:100%;overflow-wrap:anywhere}

/* Botões e badges podem quebrar texto sem extrapolar o cartão. */
.btn,.mini-btn,.catalog-tab,.admin-portal-link,.provider-portal-link,.public-nav a,
.public-search-button,.public-filter-button,.status-pill,.badge,.role{
  max-width:100%;
  white-space:normal;
  text-align:center;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.status-pill{white-space:normal!important}

/* Linhas chave/valor: valores longos quebram em vez de sair do quadro. */
.item,.system-status-line,.metric-lines>div,.whatsapp-config-list>div,
.privacy-status-list>div,.privacy-retention-list>div,.public-clean-list li,
.public-schedule-list li{
  min-width:0;
  align-items:flex-start;
}
.item>*,.system-status-line>*,.metric-lines>div>*,.whatsapp-config-list>div>*,
.privacy-status-list>div>*,.privacy-retention-list>div>*,.public-clean-list li>*,
.public-schedule-list li>*{
  min-width:0;
  overflow-wrap:anywhere;
}
.system-status-line strong,.whatsapp-config-list strong,.whatsapp-config-list code,
.metric-lines strong,.business-dl dd{text-align:right;overflow-wrap:anywhere;word-break:break-word}

/* Tabelas: permanecem legíveis no desktop e ganham rolagem própria em telas estreitas. */
table{max-width:100%;table-layout:auto}
th,td{vertical-align:top;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.catalog-table,.panel,.wa-history-block{max-width:100%}
@media(max-width:860px){
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table thead,table tbody{white-space:nowrap}
  table th,table td{overflow-wrap:normal}
}

/* Formulários: campos e toolbars acompanham o contêiner. */
.field,.toolbar,.check-row,.compact-form,.stack-form,.privacy-action-form,
.pilot-contact-form,.audit-filter-form,.public-discovery-form,.public-filter-bar,
.public-search-page-form{min-width:0;max-width:100%}
.field input,.field select,.field textarea,select,textarea,input[type=text],input[type=email],
input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number]{
  width:100%;
  min-width:0;
}
.toolbar .field{min-width:min(220px,100%)}

/* Cartões públicos: colunas fluidas para evitar títulos e endereços espremidos. */
.public-shell{width:min(1280px,calc(100% - 32px))}
.public-category-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.public-business-grid,.directory-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.public-offer-side{min-width:0;max-width:220px}
.public-profile-title,.public-profile-content,.public-profile-sidebar{min-width:0}
.public-profile-title h1{overflow-wrap:anywhere}
.public-contact-actions a{overflow-wrap:anywhere}
.public-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

/* Horários e formulários administrativos usam colunas elásticas em vez de larguras rígidas. */
.schedule-row{
  grid-template-columns:minmax(120px,1.15fr) repeat(3,minmax(96px,.8fr)) minmax(150px,1.2fr);
}
.audit-filter-form{
  grid-template-columns:repeat(5,minmax(130px,1fr)) auto auto;
}
.privacy-resolution-form{grid-template-columns:minmax(130px,160px) minmax(0,1fr) auto}

/* Modais: sem conteúdo escapando lateralmente. */
.app-modal{max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);overflow:auto}
.modal-title-row>*{min-width:0}
.wa-message-editor-modal,.usage-protection-editor{max-width:calc(100vw - 28px)}
.wa-variable-chip small{max-width:100%}

/* Faixas intermediárias: reorganização antecipada reduz cartões comprimidos. */
@media(max-width:1180px){
  .audit-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .public-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-filter-button{min-height:46px}
  .schedule-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .schedule-row strong{grid-column:1/-1}
  .schedule-row input:last-child{grid-column:1/-1}
}

@media(max-width:900px){
  .wrap{width:min(100% - 24px,1380px);margin:18px auto}
  .card{border-radius:22px}
  .admin-portal-link{flex:1 1 calc(33.333% - 8px);min-width:150px}
  .provider-portal-link{flex:1 1 calc(33.333% - 8px);min-width:140px}
  .public-header-inner{gap:14px}
  .public-nav{min-width:0}
  .public-profile-grid,.provider-profile-grid,.catalog-layout,.admin-dashboard-grid,
  .admin-lower-grid,.admin-users-layout{grid-template-columns:1fr}
}

@media(max-width:700px){
  .wrap{width:min(100% - 18px,1380px);margin:10px auto}
  .card,.panel,.catalog-table,.catalog-form,.assoc-form{border-radius:18px;padding:18px}
  h1{font-size:clamp(31px,10vw,42px)}
  h2{font-size:clamp(23px,7vw,30px)}
  .grid,.split,.business-two,.business-detail-grid,.provider-business-grid{grid-template-columns:1fr}
  .kpis,.catalog-kpis,.admin-overview-kpis,.metrics-kpi-grid,.whatsapp-status-grid,
  .privacy-kpis,.integrated-kpis,.deployment-kpis,.pilot-kpis,.final-audit-kpis,
  .freeze-kpis,.usage-protection-kpis{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
  .admin-portal-link,.provider-portal-link{flex:1 1 calc(50% - 6px);min-width:0}
  .topbar{align-items:stretch}
  .top-user-actions{width:100%;justify-content:flex-start}
  .top-user-actions .user-chip{flex:1 1 220px}
  .public-shell{width:min(100% - 20px,1280px)}
  .public-header-inner{min-height:64px}
  .public-brand>span:last-child{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-profile-header{grid-template-columns:72px minmax(0,1fr)}
  .public-profile-title{min-width:0}
  .public-offer-side{max-width:none}
  .audit-filter-form,.public-filter-bar,.schedule-row,.privacy-resolution-form{grid-template-columns:1fr}
  .schedule-row strong,.schedule-row input:last-child{grid-column:auto}
  .backup-row{grid-template-columns:1fr}
}

@media(max-width:460px){
  .admin-portal-link,.provider-portal-link{flex-basis:100%}
  .kpis,.catalog-kpis,.admin-overview-kpis,.metrics-kpi-grid,.whatsapp-status-grid,
  .privacy-kpis,.integrated-kpis,.deployment-kpis,.pilot-kpis,.final-audit-kpis,
  .freeze-kpis,.usage-protection-kpis{grid-template-columns:1fr}
  .actions,.table-actions,.whatsapp-action-row,.usage-protection-actions{display:grid;grid-template-columns:1fr;width:100%}
  .actions .btn,.table-actions .mini-btn,.whatsapp-action-row .btn,.usage-protection-actions .btn{width:100%}
}

/* v1.5.0 — Portal/comercial, contatos úteis e relatórios */
.admin-nav-groups{display:grid;gap:10px;padding:12px;background:#fff;border-radius:18px;margin:0 0 20px}
.admin-nav-group{display:grid;grid-template-columns:145px 1fr;gap:10px;align-items:start}
.admin-nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);padding:10px 6px}
.admin-nav-links{display:flex;flex-wrap:wrap;gap:7px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.google-auth-button{width:100%}
.useful-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.useful-contact-card h2{font-size:22px}.useful-filter{align-items:end}.compact-field{min-width:210px;position:relative}.autocomplete-list{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:250px;overflow:auto}.autocomplete-list button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;cursor:pointer}.autocomplete-list button:hover{background:var(--soft)}
.admin-commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.inline-form{display:flex;gap:6px;align-items:center}.provider-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.provider-plan-card{border:1px solid var(--line)}
.report-kpis{margin-top:18px}.report-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.report-channel{background:var(--soft);border-radius:14px;padding:13px;display:flex;justify-content:space-between;align-items:center}.report-channel span{font-size:12px;color:var(--muted);font-weight:800}.report-channel strong{font-size:20px}.registration-terms-check{align-items:flex-start;line-height:1.45;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
@media(max-width:900px){.admin-nav-group{grid-template-columns:1fr}.admin-nav-label{padding:4px 2px}.admin-commercial-grid,.useful-contact-grid{grid-template-columns:1fr}}

/* v1.5.1 — renovação visual do portal público */
.public-main{
  background:
    radial-gradient(circle at 8% 8%,rgba(186,255,80,.06),transparent 28%),
    radial-gradient(circle at 92% 34%,rgba(91,143,255,.05),transparent 28%),
    #f7f8f4;
}
.public-site-header{
  background:rgba(247,248,244,.78);
  border-bottom:1px solid rgba(23,32,29,.07);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
.public-brand-mark{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(145deg,#121a18,#25302c);
  box-shadow:0 8px 24px rgba(18,32,27,.16);
}
.public-brand-mark:after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  right:-5px;bottom:-7px;background:var(--lime);filter:blur(1px);opacity:.85;
}
.public-nav a{transition:background .18s ease,transform .18s ease,color .18s ease}
.public-nav a:hover{transform:translateY(-1px)}
.public-nav .public-nav-account{
  background:linear-gradient(135deg,#18201e,#26352f);
  box-shadow:0 8px 20px rgba(18,32,27,.13);
}
.public-hero{
  position:relative;
  padding:82px 0 64px;
  overflow:hidden;
  background:
    radial-gradient(circle at 83% 17%,rgba(186,255,80,.19),transparent 25%),
    radial-gradient(circle at 72% 72%,rgba(79,143,255,.12),transparent 30%),
    linear-gradient(180deg,#f8faf5 0%,#f2f5ef 100%);
}
.public-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.46;
  background-image:radial-gradient(rgba(31,45,39,.1) .75px,transparent .75px);
  background-size:20px 20px;
  mask-image:linear-gradient(to right,transparent 0,#000 22%,#000 78%,transparent 100%);
}
.public-hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:64px}
.public-kicker{
  padding:7px 10px;border:1px solid rgba(40,59,51,.09);border-radius:999px;
  background:rgba(255,255,255,.58);backdrop-filter:blur(10px);
  color:#52605a;letter-spacing:.08em;
}
.public-hero-copy h1{
  font-size:clamp(46px,6.2vw,82px);line-height:.93;letter-spacing:-.062em;
  margin:18px 0 22px;max-width:820px;
  text-wrap:balance;
}
.public-hero-copy>p{font-size:18px;max-width:620px;color:#64706a}
.public-discovery-form{
  position:relative;
  margin-top:34px;
  border:1px solid rgba(24,37,31,.08);
  border-radius:24px;
  padding:9px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 60px rgba(31,48,39,.1),0 1px 0 #fff inset;
}
.public-discovery-form:before{
  content:"";position:absolute;inset:-1px;border-radius:25px;padding:1px;pointer-events:none;
  background:linear-gradient(115deg,rgba(186,255,80,.65),rgba(117,168,255,.28),rgba(255,255,255,.15));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.public-form-field{padding:6px 10px}
.public-form-field label{font-size:9px;letter-spacing:.085em}
.public-form-field select,.public-form-field input{font-size:14px}
.public-search-button{
  min-width:112px;border-radius:17px;
  background:linear-gradient(135deg,#17211d 0%,#283b32 100%);
  box-shadow:0 9px 22px rgba(23,35,30,.16);
  transition:transform .18s ease,box-shadow .18s ease;
}
.public-search-button:hover{filter:none;transform:translateY(-1px);box-shadow:0 13px 27px rgba(23,35,30,.2)}
.public-search-examples a{background:rgba(255,255,255,.58);backdrop-filter:blur(8px)}
.public-hero-proof{gap:10px;margin-top:20px}
.public-hero-proof span{
  padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.56);
  border:1px solid rgba(26,39,33,.06);backdrop-filter:blur(8px);
}

.public-hero-visual{position:relative;min-height:500px;isolation:isolate;perspective:1100px}
.public-visual-glow{position:absolute;border-radius:50%;filter:blur(10px);opacity:.85;z-index:-3}
.public-visual-glow-a{width:330px;height:330px;right:10px;top:58px;background:rgba(169,213,255,.42)}
.public-visual-glow-b{width:250px;height:250px;left:42px;bottom:28px;background:rgba(190,255,93,.28)}
.public-visual-mesh{
  position:absolute;inset:28px 6px 25px 25px;z-index:-2;border-radius:42px;
  border:1px solid rgba(255,255,255,.72);
  background:
    linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.18)),
    repeating-linear-gradient(90deg,rgba(31,57,45,.045) 0 1px,transparent 1px 42px),
    repeating-linear-gradient(0deg,rgba(31,57,45,.045) 0 1px,transparent 1px 42px),
    linear-gradient(145deg,rgba(202,244,148,.44),rgba(156,205,255,.53) 57%,rgba(255,211,171,.39));
  box-shadow:0 44px 100px rgba(41,66,55,.14),inset 0 1px 0 rgba(255,255,255,.76);
  transform:rotateY(-5deg) rotateX(2deg);
  overflow:hidden;
}
.public-visual-mesh:after{
  content:"";position:absolute;inset:-40%;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.58) 48%,transparent 58%);
  transform:translateX(-52%);animation:publicVisualSheen 8s ease-in-out infinite;
}
.public-visual-radar{position:absolute;width:235px;height:235px;right:82px;top:72px;border-radius:50%;z-index:0}
.public-radar-ring{position:absolute;border:1px solid rgba(23,39,32,.12);border-radius:50%;inset:0}
.public-radar-ring-b{inset:29px}.public-radar-ring-c{inset:60px}
.public-radar-core{
  position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-50%);
  border-radius:18px;background:rgba(24,32,30,.94);display:grid;place-items:center;
  box-shadow:0 0 0 8px rgba(186,255,80,.2),0 16px 34px rgba(19,32,27,.22);
}
.public-radar-core span{width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 8px rgba(186,255,80,.13)}
.public-radar-sweep{
  position:absolute;inset:0;border-radius:50%;overflow:hidden;animation:publicRadarSpin 7s linear infinite;
  background:conic-gradient(from 0deg,rgba(186,255,80,.32),transparent 18%,transparent 100%);
  mask-image:radial-gradient(circle,transparent 0 18%,#000 19% 100%);
}
.public-visual-card{
  position:absolute;z-index:2;background:rgba(255,255,255,.82);backdrop-filter:blur(18px) saturate(1.15);
  border:1px solid rgba(255,255,255,.76);box-shadow:0 24px 60px rgba(19,36,28,.14),inset 0 1px 0 rgba(255,255,255,.8);
}
.public-visual-main{
  left:20px;right:18px;bottom:48px;border-radius:24px;padding:18px 19px;
  display:grid;grid-template-columns:50px minmax(0,1fr) 34px;align-items:center;gap:14px;
  transform:translateZ(20px);
}
.public-visual-search-icon{
  width:50px;height:50px;border-radius:17px;display:grid;place-items:center;color:#14201b;
  background:linear-gradient(145deg,#d8ff9a,#baff50);box-shadow:0 10px 25px rgba(118,183,35,.2);
}
.public-visual-search-icon svg{width:22px;height:22px}
.public-visual-main-copy{min-width:0}.public-visual-main-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.075em;font-weight:900;color:#6c7872}
.public-visual-main-copy strong{display:block;margin-top:4px;font-size:15px;letter-spacing:-.01em}
.public-visual-main-copy span{display:block;color:#6b7671;font-size:10px;margin-top:4px}
.public-visual-arrow{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#18201e;color:#fff;font-size:15px}
.public-visual-float{border-radius:18px;padding:13px 15px;animation:publicFloat 5.8s ease-in-out infinite}
.public-visual-float span{font-size:9px;text-transform:uppercase;letter-spacing:.065em;font-weight:850;color:#758079;margin:0}
.public-visual-float strong{display:block;font-size:13px;margin-top:4px}
.public-visual-float.one{right:-2px;top:32px;min-width:176px;animation-delay:-1.1s}
.public-visual-float.two{left:0;top:180px;display:flex;align-items:center;gap:10px;animation-delay:-2.7s}
.public-visual-float.three{right:16px;top:292px;display:flex;align-items:center;gap:10px;animation-delay:-4s}
.public-visual-label{display:flex!important;align-items:center;gap:6px}
.public-live-dot{width:7px;height:7px;border-radius:50%;background:#43b46f;box-shadow:0 0 0 4px rgba(67,180,111,.12)}
.public-visual-mini-icon,.public-whatsapp-glyph{
  width:31px;height:31px;flex:0 0 31px;border-radius:10px;display:grid;place-items:center;font-weight:950;
  background:#18201e;color:#d9ff9f;font-size:12px;
}
.public-whatsapp-glyph{background:#e7ffd0;color:#2d6b42}
.public-visual-result-pill{
  position:absolute;left:86px;top:69px;z-index:3;display:flex;align-items:center;gap:7px;
  padding:8px 11px;border-radius:999px;background:rgba(24,32,30,.9);color:#eef6f1;
  font-size:9px;font-weight:850;letter-spacing:.03em;box-shadow:0 12px 28px rgba(18,31,25,.2);
}
.public-visual-result-pill span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#152019;font-size:10px}

.public-section{padding:68px 0}
.public-section-soft{
  background:linear-gradient(180deg,rgba(233,240,230,.78),rgba(238,243,235,.9));
  border-block:1px solid rgba(34,49,42,.05);
}
.public-section-head h2{font-size:34px;letter-spacing:-.045em}
.public-category-card,.public-business-card,.public-steps article{
  border-color:rgba(23,36,30,.06);box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.public-category-card{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.public-category-card:after{content:"↗";position:absolute;right:15px;top:14px;font-size:12px;opacity:0;transform:translate(-4px,4px);transition:.22s ease}
.public-category-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(26,41,34,.09);border-color:rgba(55,84,71,.1)}
.public-category-card:hover:after{opacity:.55;transform:translate(0,0)}
.public-category-icon{background:linear-gradient(145deg,#efffd8,#d9ff9f);box-shadow:0 7px 18px rgba(112,159,48,.09)}
.public-business-card{transition:transform .22s ease,box-shadow .22s ease}.public-business-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(26,41,34,.08)}
.public-steps article{transition:transform .2s ease,box-shadow .2s ease}.public-steps article:hover{transform:translateX(4px);box-shadow:0 14px 32px rgba(26,41,34,.06)}
.public-footer{background:radial-gradient(circle at 85% 20%,rgba(186,255,80,.08),transparent 26%),#17201c}

@keyframes publicFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes publicRadarSpin{to{transform:rotate(360deg)}}
@keyframes publicVisualSheen{0%,55%,100%{transform:translateX(-55%)}72%{transform:translateX(55%)}}
@media(prefers-reduced-motion:reduce){.public-visual-float,.public-radar-sweep,.public-visual-mesh:after{animation:none!important}.public-category-card,.public-business-card,.public-steps article,.public-search-button{transition:none!important}}
@media(max-width:1100px){.public-hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);gap:34px}.public-hero-copy h1{font-size:clamp(44px,6vw,68px)}.public-hero-visual{min-height:470px}}
@media(max-width:1000px){.public-hero-grid{grid-template-columns:1fr}.public-hero-visual{display:block;min-height:440px;max-width:620px;width:100%;margin:5px auto 0}.public-hero{padding-bottom:50px}}
@media(max-width:700px){.public-hero{padding-top:48px}.public-hero-copy h1{font-size:clamp(42px,12vw,58px)}.public-hero-copy>p{font-size:16px}.public-hero-visual{min-height:370px}.public-visual-mesh{inset:18px 0 18px 0;border-radius:32px}.public-visual-radar{width:185px;height:185px;right:42px;top:57px}.public-visual-main{left:10px;right:10px;bottom:28px;padding:14px;grid-template-columns:42px minmax(0,1fr) 30px}.public-visual-search-icon{width:42px;height:42px;border-radius:14px}.public-visual-arrow{width:30px;height:30px}.public-visual-float.one{right:4px;top:16px}.public-visual-float.two{left:3px;top:147px}.public-visual-float.three{right:4px;top:239px}.public-visual-result-pill{left:38px;top:54px}.public-section{padding:50px 0}}
@media(max-width:480px){.public-hero-visual{min-height:348px}.public-visual-float.one{min-width:145px}.public-visual-float.three{right:0}.public-visual-float{padding:10px 11px}.public-visual-float strong{font-size:11px}.public-visual-float span{font-size:8px}.public-visual-radar{right:28px}.public-visual-result-pill{left:22px}.public-visual-main-copy strong{font-size:13px}.public-visual-main-copy span{font-size:9px}}

/* v1.5.3 — Administração em abas de primeiro nível */
.admin-portal-nav.admin-nav-tabs{
  display:block!important;
  padding:0;
  margin:0 0 20px;
  overflow:visible;
  white-space:normal;
  background:transparent;
  border:0;
  border-radius:0;
}
.admin-nav-tab-input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.admin-nav-tab-controls{
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:0 10px;
  border-bottom:1px solid var(--line);
}
.admin-nav-tab{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 17px 11px;
  border:1px solid transparent;
  border-bottom:0;
  border-radius:14px 14px 0 0;
  color:var(--muted);
  background:transparent;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
  user-select:none;
  transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease;
}
.admin-nav-tab:hover{background:rgba(255,255,255,.72);color:var(--ink)}
#admin-nav-tab-portal:checked ~ .admin-nav-tab-controls label[for="admin-nav-tab-portal"],
#admin-nav-tab-system:checked ~ .admin-nav-tab-controls label[for="admin-nav-tab-system"]{
  margin-bottom:-1px;
  color:var(--ink);
  background:#fff;
  border-color:var(--line);
  box-shadow:0 -8px 24px rgba(18,23,22,.035);
}
#admin-nav-tab-portal:focus-visible ~ .admin-nav-tab-controls label[for="admin-nav-tab-portal"],
#admin-nav-tab-system:focus-visible ~ .admin-nav-tab-controls label[for="admin-nav-tab-system"]{
  outline:3px solid rgba(186,255,80,.55);
  outline-offset:2px;
}
.admin-nav-panels{
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 18px 18px;
  box-shadow:0 12px 34px rgba(18,23,22,.035);
}
.admin-nav-panel{display:none;flex-wrap:wrap;gap:7px}
#admin-nav-tab-portal:checked ~ .admin-nav-panels .admin-nav-panel-portal{display:flex}
#admin-nav-tab-system:checked ~ .admin-nav-panels .admin-nav-panel-system{display:flex}
.admin-nav-tabs .admin-portal-link{
  flex:0 1 auto;
  min-width:0;
  padding:9px 12px;
}
@media(max-width:720px){
  .admin-nav-tab-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 6px}
  .admin-nav-tab{padding:10px 8px;font-size:12px;text-align:center}
  .admin-nav-panels{padding:10px}
  .admin-nav-panel{display:none;grid-template-columns:1fr 1fr;gap:7px}
  #admin-nav-tab-portal:checked ~ .admin-nav-panels .admin-nav-panel-portal,
  #admin-nav-tab-system:checked ~ .admin-nav-panels .admin-nav-panel-system{display:grid}
  .admin-nav-tabs .admin-portal-link{width:100%;min-width:0}
}
@media(max-width:480px){
  .admin-nav-panel{grid-template-columns:1fr}
}

/* v1.5.8 — identidade visual oficial PertAí
   Únicos assets de marca:
   - logo-pertai.png: marca longa
   - logo-pertai-curta.png: marca curta e favicon */
.public-header-inner{min-height:104px}
.public-brand-picture{display:block;line-height:0}
.public-brand-logo{display:block;width:262px;max-width:32vw;height:auto;max-height:84px;object-fit:contain}
.public-footer .footer-brand{display:inline-flex;padding:10px 14px;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.public-footer .public-brand-logo{width:238px;max-width:56vw;max-height:none}
.auth-card{width:min(560px,100%)}
.auth-brand{display:flex;justify-content:center;width:100%;margin:0 0 12px}
.auth-brand-logo{display:block;width:340px;max-width:82vw;height:auto}
@media(max-width:1120px){.public-brand-logo{width:220px;max-width:27vw}.public-nav a{padding:8px 9px;font-size:12px}}
@media(max-width:920px){.public-header-inner{min-height:88px}.public-brand-logo{width:190px;max-width:25vw}.public-nav a{padding:8px 7px}}
@media(max-width:760px){.public-header-inner{min-height:76px}.public-brand-logo{width:58px;max-width:none;max-height:58px}.public-footer .public-brand-logo{width:210px;max-width:72vw}.auth-brand-logo{width:300px;max-width:84vw}}
