
:root{--accent-ink:#fff;--portal-font:Inter,sans-serif}
body,button,input,select,textarea,h1,h2,h3,.search-intro h1{font-family:var(--portal-font)}
.button:not(.secondary):not(.outline),.live-search button,.portal-categories button.active,.dashboard-nav a.active,.brand-symbol{color:var(--accent-ink)}
.header-access-area{display:flex;align-items:center;gap:10px;flex-shrink:0}.access-button{background:#1b2437;color:#fff;border:1px solid #46516a;border-radius:9px;width:40px;height:40px;min-height:40px;display:grid;place-items:center;padding:8px}.access-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.access-button:hover{background:#2b3550}
.portal-brand{min-width:0;flex:1}.portal-brand>span:last-child{min-width:0}.portal-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
input:not([aria-invalid=true]),select:not([aria-invalid=true]),textarea:not([aria-invalid=true]){border-color:#dfe3ee;outline:none;box-shadow:none}
input:not([aria-invalid=true]):focus,select:not([aria-invalid=true]):focus,textarea:not([aria-invalid=true]):focus{border-color:#b7afd5!important;outline:2px solid #6250ec22!important;outline-offset:1px;box-shadow:none!important}
button:focus-visible,a:focus-visible{outline:2px solid #8e82d1;outline-offset:2px}.login-dialog{width:min(480px,calc(100% - 32px));padding:24px}.login-dialog .form-actions{flex-wrap:wrap}.login-dialog::backdrop{background:#10162799}.identity-preview{padding:24px;border:1px solid #dfe3ee;border-radius:10px;margin:24px 0 12px;font-size:20px;font-weight:600}.schedule-days{border:1px solid #dfe3ee;border-radius:8px;padding:16px;display:flex;flex-wrap:wrap;gap:12px}.schedule-days label{display:flex;flex-direction:row;align-items:center;gap:6px}.schedule-days input{min-height:0}.table-actions{flex-wrap:wrap}.dashboard-nav a.active{background:var(--purple)}
@media(max-width:650px){.header-access-area{gap:6px}.access-button{width:36px;height:36px;min-height:36px}.region-control{max-width:110px}.region-control select{max-width:80px!important}}
@media(max-width:400px){.header-access-area .region-control{max-width:78px;padding:6px}.header-access-area .region-control select{max-width:64px!important}.header-access-area .region-control label>span{display:none}.portal-brand strong{font-size:14px}.header-row{gap:6px}}

.region-control[hidden]{display:none!important}

/* Status financeiros: mesma semântica em todas as áreas. */
.billing-badge{display:inline-block;padding:5px 10px;border-radius:8px;font-weight:600;font-size:.85rem}
.billing-pending{background:#FFF7DC;color:#795C12}.billing-overdue{background:#FDECEC;color:#A43838}.billing-paid{background:#E9F7EE;color:#246B42}
td.due-cell{font-weight:600}.responsible-inline{margin-top:10px;font-size:.8rem;color:#626B83}.responsible-inline>strong{display:block;font-size:.72rem;font-weight:500}.responsible-person{margin-top:4px}.responsible-person span,.responsible-person small{display:block;overflow-wrap:anywhere}.responsible-person small{color:#626B83;font-weight:400}
.contact-stat{font:inherit;text-align:left;cursor:pointer;color:inherit;width:100%}.contact-stat:focus-visible{outline:2px solid #A9A0EF;outline-offset:3px}.contact-stat small{display:block;margin-top:8px;color:#6250EC}
.contact-charts-dialog{width:min(960px,calc(100vw - 32px));max-width:960px;max-height:85vh;overflow:auto;border:1px solid #DFE3EE;border-radius:16px;padding:24px;color:#20263B;background:#fff}
.contact-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}.contact-chart-company{border:1px solid #DFE3EE;border-radius:12px;padding:18px;min-width:0}.contact-chart-company h3{font-size:1rem;margin:0 0 16px;overflow-wrap:anywhere}.contact-pie{width:144px;height:144px;border-radius:50%;margin:0 auto}.contact-count{text-align:center;margin:12px 0}.contact-legend{list-style:none;padding:0;margin:0;font-size:.9rem}.contact-legend li{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-dot.whatsapp{background:#059B73}.legend-dot.instagram{background:#6250EC}
@media(max-width:420px){.contact-charts-dialog{padding:16px}.contact-charts{grid-template-columns:1fr}}

/* Controles padronizados de operação. */
.table-actions,.prd-commercial .form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.table-actions .action-button,.prd-commercial .action-button{display:inline-flex;align-items:center;justify-content:center;width:180px;flex:0 0 180px;height:48px;min-height:48px;padding:6px 12px;margin:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;border:1px solid #DFE3EE;border-radius:10px;background:#fff;color:#5140CC;text-decoration:none;box-sizing:border-box}
.table-actions .action-button:hover,.prd-commercial .action-button:hover{background:#F2EFFF;border-color:#C7BFF5}
#access-recover{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:10px;background:#F2EFFF;color:#5140CC;text-decoration:none;font-weight:600;border:1px solid #DED8FA}
#access-recover:hover{background:#E8E2FF}
#token-form,#smtp-test-form{display:grid;gap:18px}#token-form{max-width:640px;margin:0 auto}#token-form label,#smtp-test-form label,.account-form label{display:grid;gap:8px}#token-form button,#smtp-test-form button{justify-self:start;margin-top:4px}.compact-heading{padding-top:22px;padding-bottom:12px}.compact-heading .breadcrumbs{margin-bottom:0}
.finance-totals{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0;gap:16px}.finance-totals .panel{display:grid;gap:8px}.finance-totals strong{font-size:1.8rem}.finance-receivable{background:#FDEEEE!important;color:#943A3A}.finance-received{background:#EAF7EF!important;color:#246B42}
#notice h2{display:flex;align-items:center;gap:12px}#notice .notice-icon{display:inline-flex;width:34px;height:34px;flex-shrink:0}#notice .notice-icon svg{width:100%;height:100%}#notice.notice-success .notice-icon{color:#059B73}#notice.notice-warning .notice-icon{color:#9A7118}#notice.notice-danger .notice-icon{color:#B54040}#notice.notice-info .notice-icon{color:#6250EC}
@media(max-width:560px){.finance-totals{grid-template-columns:1fr}.table-actions .action-button{min-height:44px}}

.account-form{max-width:760px}

/* Vitrine e gestão: controles acessíveis e composição responsiva. */
.logged-heading .breadcrumbs{margin-bottom:10px}.user-greeting{font-size:22px;margin:0;line-height:1.4}.logged-heading{padding-bottom:16px}
.maps-address{color:inherit;text-decoration:underline;text-decoration-color:#B8B0ED;text-underline-offset:3px;overflow-wrap:anywhere}.maps-address:hover{color:#5140CC}
.verified-badge{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;background:#E8F8EE;color:#17663C;border:1px solid #A9D9BD;border-radius:9px;font-size:10px;font-weight:700;max-width:calc(100% - 24px);pointer-events:none}.is-verified .cover-tags{top:50px}.company-cover .verified-badge{right:66px;max-width:calc(100% - 88px)}
.rating-summary{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 8px;max-width:100%;min-width:0}.rating-summary>small{grid-column:1/-1;font-size:10px;line-height:1.4;color:#626B83}.rating-stars{position:relative;display:inline-block;width:max-content;font-family:Arial,sans-serif;font-size:20px;letter-spacing:1px;line-height:1.2;white-space:nowrap}.rating-stars .stars-empty{color:#DDE0E8}.rating-stars .stars-filled{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:#C78A00}.prd-reputation{gap:10px;align-items:start}.prd-reputation>button{flex-shrink:0;min-height:40px}
.quality-controls{display:grid;gap:10px;min-width:185px;max-width:240px}.quality-controls label{font-size:12px}.quality-controls small{font-size:11px;color:#626B83;line-height:1.4}.quality-controls input[type=range]{width:100%;min-height:44px;padding:0;accent-color:#6250EC}.seal-switch{display:flex!important;align-items:center;gap:8px;min-height:44px}.seal-switch input{appearance:none;width:42px!important;height:24px;min-height:24px;padding:2px!important;border-radius:20px;background:#DCE0E8;position:relative;cursor:pointer;flex-shrink:0}.seal-switch input:before{content:'';display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}.seal-switch input:checked{background:#059B73;border-color:#059B73}.seal-switch input:checked:before{transform:translateX(16px)}
.review-fields dt.review-changed,.review-fields dd.review-changed{background:#EAF8ED;border-left:3px solid #74B98C;padding:8px 10px;margin-left:0}.review-fields dt small{font-weight:400;color:#276A40}.review-fields dd{overflow-wrap:anywhere;white-space:pre-wrap}.changed-images{padding:12px;border:1px solid #B2DCBE;border-radius:10px;background:#EAF8ED}.review-columns>*{min-width:0}
.single-contact-chart{display:grid;justify-items:center;margin:20px 0}.single-contact-chart .contact-pie{width:220px;height:220px;max-width:100%}.contact-breakdown .legend-dot{display:inline-block;margin-right:8px}.contact-breakdown td:first-child{min-width:160px;overflow-wrap:anywhere}.company-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1024px){.dashboard-nav{gap:8px}.dashboard-nav a,.dashboard-nav button{min-height:44px}.review-columns{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.user-greeting{font-size:19px}.breadcrumbs{overflow-wrap:anywhere}.stats{grid-template-columns:1fr}.single-contact-chart .contact-pie{width:180px;height:180px}.company-summary{gap:12px}.company-detail{overflow-wrap:anywhere}.review-toolbar .button{width:100%}.quality-controls{min-width:170px}input,select,textarea{font-size:16px!important}.rating-stars{font-size:19px}.business-actions a,.business-actions button{min-height:44px}}

/* V5: acesso, formulários e selo do gestor. */
.access-page{max-width:640px;margin:0 auto 48px}.access-card{padding:32px;display:flex;flex-direction:column;gap:20px;box-shadow:0 10px 35px #17233b0a}.access-card h2,.access-card p{margin:0}.access-card p{line-height:1.65}.access-card .form-grid{grid-template-columns:1fr;gap:20px}.access-card label{display:flex;flex-direction:column;gap:10px}.access-card .form-actions{margin:4px 0;display:flex;gap:12px}.access-card .form-actions .button{width:100%;min-height:48px}.access-page-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#EFEDFF;color:#6250EC;font-size:32px}.access-page-icon svg{width:32px;height:32px}.access-hint{font-size:13px;color:#657086}.access-return{align-self:flex-start;text-decoration:none;min-height:44px}.access-card #rating-controls{display:flex;flex-direction:column;gap:20px}.access-card [hidden],.action-dialog [hidden]{display:none!important}
.verified-badge{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;width:92px;height:92px;display:block!important;right:8px!important;top:8px!important}.verified-badge img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px #ffffff)}.business-card.is-verified .business-category{top:108px!important}.seal-preview{width:160px;height:160px;object-fit:contain;background:#f4f6fa;border-radius:12px;margin:12px 0 24px}.seal-settings form{display:flex;flex-direction:column;gap:20px}.seal-settings .form-actions{display:flex;flex-wrap:wrap;gap:12px}.recurrence-option{display:flex!important;align-items:center;gap:10px!important}.recurrence-option input{width:20px!important;height:20px!important;min-height:20px!important}.form-message:empty{display:none}.access-card .field-error{font-size:13px}
@media(max-width:600px){.access-card{padding:24px 20px;gap:20px}.verified-badge{width:80px;height:80px}.business-card.is-verified .business-category{top:96px!important}.seal-settings .form-actions .button{width:100%}.access-page-icon{width:56px;height:56px}}

.email-action-intro{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:16px;background:#F1EFFF;border-radius:12px;color:#4938B8}.email-action-intro span{font-size:28px}.email-action-intro p{margin:0;line-height:1.6}.email-action-dialog .form-grid{gap:20px}.email-action-dialog label{gap:10px}

/* V6: vencimentos, reputação e escolha visual de estrelas. */
.billing-upcoming{background:#F2F4F8;color:#596477}.due-cell.billing-upcoming{background:transparent;color:inherit}.pending-stat{display:block;text-decoration:none;color:inherit}.pending-stat small{display:block;margin-top:8px;font-size:13px}.pending-stat.has-pending{background:#FFF7DC;border-color:#F0D784;color:#795C12}.pending-stat:hover{box-shadow:0 5px 18px #17233b14}.pending-stat:focus-visible{outline:3px solid #6250EC;outline-offset:3px}.company-reputation{padding:0 0 20px}.company-reputation .rating-summary{display:grid;grid-template-columns:auto auto;justify-content:start;gap:6px 12px}.company-reputation .rating-summary>small{font-size:13px}.company-reputation .rating-stars{font-size:24px}
.rating-choice{border:0;margin:0;padding:0;min-width:0}.rating-choice legend{font-weight:600;margin-bottom:12px}.rating-choice-stars{display:flex;gap:8px;flex-wrap:nowrap}.rating-choice-option{position:relative;display:block!important;cursor:pointer}.rating-choice-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-height:44px!important;margin:0;z-index:1;cursor:pointer}.rating-choice-option span{display:grid;place-items:center;width:48px;height:52px;font:42px/1 Arial,sans-serif;color:#C78A00;transition:color .15s,transform .15s}.rating-choice-option.is-selected span,.rating-choice-option:hover span{color:#B77900;transform:scale(1.08)}.rating-choice-option input:focus-visible+span{outline:3px solid #6250EC;outline-offset:2px;border-radius:8px}.rating-choice output{display:block;margin-top:12px;color:#626B83;font-size:14px}
@media(max-width:380px){.rating-choice-stars{gap:2px}.rating-choice-option span{width:43px;font-size:37px}}

/* V7: período financeiro comum aos painéis. */
.finance-filter{display:flex;flex-direction:column;gap:20px}.finance-filter h2{margin-bottom:8px}.finance-filter-fields{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto auto;gap:16px;align-items:end}.finance-filter-fields label{display:flex;flex-direction:column;gap:10px}.finance-filter-fields .button{min-height:48px}.rating-choice-option:not(.is-selected) span{color:#C78A00}.rating-choice-option:not(.is-selected):hover span{transform:none}
@media(max-width:850px){.finance-filter-fields{grid-template-columns:1fr 1fr}}@media(max-width:480px){.finance-filter-fields{grid-template-columns:1fr}.finance-filter-fields .button{width:100%}}

/* V8: ações uniformes e gestão em fichas no celular. */
.management-view #app .panel,.management-view #app .form-grid>*{min-width:0}.management-view #app .button{max-width:100%;white-space:normal;min-height:48px}.management-view #app .section-head{min-width:0}.management-view #app .section-head h2{min-width:0;overflow-wrap:anywhere}.management-view #app .table-actions{gap:10px;min-width:0}.management-view #app .table-actions .action-button{white-space:normal}.management-view #app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.management-view #app select,.management-view #app textarea{min-width:0;max-width:100%}.management-view #app .prd-commercial>div{min-width:0;overflow-wrap:anywhere}.management-view .icon-button{width:44px;height:44px;min-height:44px;flex:0 0 44px}.header-access-area .access-button{width:44px;height:44px;min-height:44px}.management-view #app #auto-identity-text{max-width:100%;white-space:normal}
@media(max-width:1024px){.management-view #app .dashboard-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}.management-view #app .dashboard-nav>a,.management-view #app .dashboard-nav>button{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;height:56px;min-height:56px;padding:8px;font-size:13px;line-height:1.25;white-space:normal;margin:0}}
@media(max-width:700px){
 .management-view #app .dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.management-view #app .section-head{flex-direction:column;align-items:stretch;gap:14px}.management-view #app .section-head>.button{width:100%;margin:0}.management-view #app .management-table-wrap{overflow:visible;min-width:0}.management-view #app .management-table{display:block;min-width:0;max-width:100%;width:100%;border-collapse:separate}.management-view #app .management-table>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.management-view #app .management-table>tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%}.management-view #app .management-table>tbody>tr{display:block;min-width:0;border:1px solid #DFE3EE;border-radius:12px;padding:4px 14px;background:#fff}.management-view #app .management-table>tbody>tr>td{display:block;width:100%;min-width:0;padding:12px 0;white-space:normal;overflow-wrap:anywhere}.management-view #app .management-table td[data-label]:before{content:attr(data-label);display:block;font-size:12px;font-weight:700;line-height:1.4;color:#657086;margin-bottom:8px}.management-view #app .management-table>tbody>tr>td:last-child{border-bottom:0}.management-view #app .management-table .table-actions{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;gap:10px}.management-view #app .management-table .table-actions>.action-button{width:100%;min-width:0;flex:0 0 48px;height:48px;min-height:48px;padding:6px 12px;white-space:normal}.management-view #app .management-table .quality-controls{min-width:0;width:100%}.management-view #app .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.management-view #app .form-actions>.button{width:100%;min-width:0;min-height:48px;font-size:14px;line-height:1.25;padding:10px}.management-view #app .review-toolbar{flex-direction:column;align-items:stretch;gap:12px}.management-view #app .review-toolbar .button{width:100%;margin:0}.management-view #app .form-grid{min-width:0}.management-view #app #reports-filter{display:flex;flex-wrap:wrap;gap:12px}.management-view #app #reports-filter label{min-width:0;flex:1 1 140px}.management-view #app #reports-filter input{width:100%}.management-view #app .image-preview .button{width:100%;font-size:13px;line-height:1.25;padding:6px}.management-view .action-dialog .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.management-view .action-dialog .form-actions .button{width:100%;min-height:48px;font-size:14px}.management-view #app .seal-settings .form-actions{grid-template-columns:1fr}
}

.management-view #app .panel>.button+.management-table-wrap{margin-top:16px}

/* V9: apresentação central e endereço dedicado de cada vitrine. */
.platform-hero{background:linear-gradient(115deg,#17172f,#151c30);color:white;padding:72px 0}.platform-eyebrow,.platform-section-title>small{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#BEB5FF}.platform-hero h1{max-width:950px;color:#fff;font-size:clamp(34px,5.5vw,68px);line-height:1.1;letter-spacing:-2px;margin:22px 0}.platform-hero em{color:#BEB5FF;font-style:normal}.platform-hero p{max-width:760px;color:#D1D6E6;font-size:18px;line-height:1.8}.platform-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}.platform-actions .button{min-height:50px}.platform-actions .v-icon{width:18px;height:18px}.platform-login{background:transparent;border:0;color:#D4CCFF;padding:12px;min-height:48px}.platform-section{padding-top:48px;padding-bottom:16px}.platform-section-title{max-width:850px;margin-bottom:24px}.platform-section-title>small{color:#6250EC}.platform-section-title h2{font-size:clamp(25px,3vw,36px);margin:12px 0}.platform-section-title p,.platform-features p{color:#657086;line-height:1.8}.platform-features,.platform-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.platform-feature-icon,.platform-portal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#EFEDFF;color:#6250EC;margin-bottom:18px}.platform-feature-icon .v-icon,.platform-portal-icon .v-icon{width:25px;height:25px}.platform-features h3{font-size:19px}.platform-portal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;overflow-wrap:anywhere}.platform-portal-icon{margin-bottom:4px}.platform-portal strong{font-size:19px}.platform-portal small{color:#657086}.platform-open{margin-top:16px;color:#6250EC;font-weight:700}.platform-directory-search{display:flex;flex-direction:column;gap:8px;max-width:550px;margin-bottom:24px;font-weight:600}.platform-directory-search input{width:100%;padding:12px 14px}.platform-directory [hidden]{display:none}.platform-commercial{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;margin-bottom:48px;padding:28px;background:#EFEDFF;border-radius:14px}.platform-commercial h2{font-size:27px}.platform-commercial p{margin:0;color:#657086}.platform-empty{grid-column:1/-1}.portal-address-control{display:flex;align-items:center;border:1px solid #DFE3EE;border-radius:8px;background:#F1F3F9;min-width:0;overflow:hidden}.portal-address-control>span{padding:10px;font-size:12px;overflow-wrap:anywhere;max-width:55%;color:#657086}.portal-address-control input{border:0;border-radius:0;min-width:0;flex:1;width:100%;padding:12px;font-size:16px}#portal-address-preview{font-size:12px;overflow-wrap:anywhere;color:#6250EC}.private-portal-context label{display:flex;flex-direction:column;gap:10px;max-width:520px;font-weight:600}.private-portal-context select{width:100%}.private-portal-context{margin-bottom:24px}
@media(max-width:850px){.platform-features,.platform-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-commercial{align-items:flex-start;flex-direction:column}.platform-hero{padding:48px 0}}
@media(max-width:560px){.platform-hero{padding:36px 0}.platform-hero h1{letter-spacing:-1px}.platform-hero p{font-size:16px}.platform-features,.platform-directory{grid-template-columns:1fr}.platform-actions{align-items:stretch;flex-direction:column}.platform-actions .button,.platform-commercial .button{width:100%}.platform-actions .platform-login{text-align:center}.platform-section{padding-top:32px}.platform-commercial{padding:24px;margin-bottom:32px}.portal-address-control{align-items:stretch;flex-direction:column}.portal-address-control>span{max-width:100%}.platform-section .panel{margin-bottom:0}}

.manager-portal-links{border:1px solid #DFE3EE;border-radius:10px;padding:16px}.manager-portal-links>div{display:grid;gap:12px;padding:14px 0;border-top:1px solid #DFE3EE}.manager-portal-links>div>label:first-child{display:flex;align-items:center;flex-direction:row;gap:10px}.manager-portal-links input[type=checkbox]{width:20px;min-height:20px;height:20px}.manager-portal-links legend{padding:0 8px;font-weight:600}
