.portal-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0}.portal-tile{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);text-decoration:none;min-width:0}.portal-tile strong{font-size:24px;font-weight:550;line-height:1.3}.portal-tile small{color:var(--muted)}.portal-tile:hover{border-color:var(--primary);background:var(--bg)}.portal-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.portal-convert-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px;background:var(--surface);border:1px solid var(--primary);border-left:5px solid var(--primary);border-radius:4px}.portal-convert-hero .button{font-size:20px;min-height:70px;padding:18px 28px}.portal-convert-hero h2{font-size:24px}.portal-onboarding{margin-top:20px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:4px;max-width:100%}.portal-onboarding p{max-width:80ch;margin:10px 0;line-height:1.6}.portal-top-actions{position:sticky;top:68px;z-index:24;margin-left:232px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 30px;background:var(--surface);border-bottom:1px solid var(--line)}.portal-addon{display:flex;gap:10px;align-items:center;padding:7px 14px;background:#fff1c9;color:#493609;border:1px solid #cfac50;border-radius:3px;font-size:12px}.portal-addon b{display:block;color:inherit;font-size:14px}.portal-addon .icon{width:25px;height:25px}.authenticated .side-nav a[href*="page=converter"]{background:var(--primary);color:var(--brand-ink,#fff);font-weight:600;border-left:3px solid #edc84c}.portal-table-wrap{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.portal-table :is(th,td){padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}.portal-table th{font-weight:500;color:var(--muted);white-space:nowrap}.portal-table td:first-child{white-space:nowrap}.portal-table th{position:sticky;top:0;background:var(--surface)}.portal-form{display:grid;gap:15px;max-width:760px}.portal-form label,.portal-filters label{display:grid;gap:6px;font-weight:400}.portal-form textarea{min-height:130px}.portal-form .button{justify-self:start}.portal-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.portal-filters label:first-of-type{flex:1}.portal-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.portal-inline-form label{display:flex;align-items:center;gap:8px}.portal-inline-form input[type=checkbox]{width:18px;min-height:18px}.portal-inline-form span{color:var(--muted);font-size:13px}.portal-notice{border-left:4px solid #dca623;padding:15px 20px;background:#fff5d9;color:#493609;margin-bottom:18px}.portal-notice p{margin-top:6px;color:inherit}.portal-logo-preview{max-width:240px;max-height:100px;object-fit:contain}.portal-brand-logo{max-width:130px;max-height:42px;object-fit:contain}.portal-debit{color:#b43740;font-weight:600}#portalPalette{display:flex;gap:10px}#portalPalette button{width:42px;height:42px;border:2px solid var(--line);border-radius:3px}.portal-faq details{padding:15px 0;border-bottom:1px solid var(--line)}.portal-faq summary{cursor:pointer;font-weight:500}.portal-faq p{margin:12px 0;max-width:85ch;line-height:1.7}.portal-extension-copy{max-width:850px}.portal-extension-copy li{margin:12px 0}.portal-inline-form input{font:inherit}.portal-update-feature{border:2px solid var(--primary);padding:20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.portal-small-note{font-size:12px;color:var(--muted)}.portal-targets{max-height:280px;overflow:auto;display:grid;gap:8px}.portal-targets label{display:flex;gap:9px}.portal-targets input{width:18px;min-height:18px}.portal-chart-bar{display:block;background:var(--primary);height:6px;margin-top:6px;max-width:100%}html[data-theme=dark] .portal-addon{background:#453918;color:#ffdf8b;border-color:#806b34}html[data-theme=dark] .portal-notice{background:#35311f;color:#f5e6b5}html[data-theme=dark] .portal-debit{color:#ffadb5}.authenticated .mask-stats>a{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.authenticated .mask-stats>a:hover{border-color:var(--primary)}.authenticated .mask-toggle{align-items:center}.authenticated .mask-toggle h2{margin-bottom:5px}.authenticated .mask-toggle p{margin:0}.portal-onboarding :is(h2,p){font-weight:400}.portal-table .button{white-space:nowrap}.portal-top-actions~.preview-bar{position:static}.portal-table small{display:block;color:var(--muted)}
@media(max-width:1100px){.portal-top-actions{margin-left:210px;padding-inline:22px}}@media(max-width:760px){.portal-top-actions{margin-left:0;top:62px;padding:8px 12px;gap:8px}.portal-addon{font-size:10px;padding:5px 8px}.portal-addon b{font-size:12px}.portal-top-actions>.button{font-size:12px;padding:8px;min-height:42px}.portal-convert-hero{flex-direction:column;align-items:stretch;padding:20px;gap:15px}.portal-convert-hero .button{font-size:18px;min-height:58px}.portal-tiles{grid-template-columns:1fr 1fr}.portal-tile{padding:15px}.portal-tile strong{font-size:18px}.portal-filters{align-items:stretch}.portal-update-feature{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.portal-addon,.portal-convert-hero .button{animation:none!important}}

.portal-changelog{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px}.portal-form input[type=checkbox]{width:auto;min-height:0;display:inline-block}.portal-update-feature{margin-bottom:20px}.portal-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}

/* 2.3.29: readable dark links and compact Flex preference. */
html[data-theme=dark] .portal-faq a:not(.button),html[data-theme=dark] .onboarding-card a:not(.button),html[data-theme=dark] #platformTxtHelp{color:#a8c6ff}
.portal-inline-form label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;flex-direction:row}.portal-inline-form input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0}.portal-inline-form{align-items:center}

.sd-referral{border-left:4px solid #537be8;display:grid;grid-template-columns:1fr 1fr;gap:24px}.sd-referral h2{font-size:21px}.sd-referral input{width:100%;box-sizing:border-box;font:inherit;padding:10px}.sd-referral .action-row{margin:12px 0}.sd-referral small{display:block}@media(max-width:760px){.sd-referral{grid-template-columns:1fr}}

/* Owner reports: one section at a time, bounded lists, server-side pagination. */
.insights-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.insights-tabs a{padding:11px 16px;border:1px solid var(--line,#dce2e8);border-radius:9px;color:var(--ink,#20242a);background:var(--surface,#fff);text-decoration:none;font-weight:650;font-size:14px}.insights-tabs a[aria-current=page]{background:#1261a0;color:#fff;border-color:#1261a0}.insights-filters{align-items:end;gap:12px;flex-wrap:wrap}.insights-filters input{min-height:42px}.insights-table-scroll{overflow:auto;max-height:560px}.insights-table-scroll th{position:sticky;top:0;background:var(--surface,#fff);z-index:1}.insights-table-scroll td{max-width:340px;overflow-wrap:anywhere}.insights-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:13px;color:var(--muted,#627083)}.insights-pagination>div{display:flex;gap:8px}.insights-note{display:block;margin-top:16px;color:var(--muted,#627083);font-size:11px}.insights-log-list{max-height:580px;overflow:auto}.insights-log{border-bottom:1px solid var(--line,#dce2e8);padding:14px 3px}.insights-log summary{display:flex;align-items:center;gap:16px;cursor:pointer;font-size:13px}.insights-log summary b{flex:1;overflow-wrap:anywhere}.insights-log summary strong{font-size:11px}.insights-log p{overflow-wrap:anywhere;font-size:13px;white-space:pre-wrap}.insights-log small{color:var(--muted,#627083)}@media(max-width:650px){.insights-log summary{flex-wrap:wrap;gap:8px}.insights-log summary b{flex-basis:100%}.insights-pagination{align-items:flex-start;flex-direction:column}.insights-tabs a{flex:1 1 40%;text-align:center}.insights-filters label{width:100%}}
.admin-table.customers .tr{grid-template-columns:minmax(170px,2fr) 1fr .9fr 1fr 112px}
.admin-table.customers .customer-row{position:relative;cursor:pointer}
.admin-table.customers .customer-open::after{content:"";position:absolute;inset:0}
.admin-table.customers .customer-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.admin-table.customers .customer-wa{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:1px solid #bfe3cc;border-radius:8px;background:#effaf3;color:#128c4a}
.admin-table.customers .customer-wa:hover{background:#dcf3e5;border-color:#128c4a}
.admin-table.customers .customer-wa svg{width:18px;height:18px}
