:root{--bg:#f4f6fa;--surface:#fff;--surface-2:#edf1f7;--text:#182238;--muted:#5c6678;--line:#dce2eb;--primary:#bd3b1d;--primary-dark:#9f2f17;--accent:#235ee7;--success:#168664;--danger:#c53d52;--warning:#b36a08;--sidebar:#101a2d;--sidebar-text:#cbd5e6;--shadow:0 18px 55px rgba(24,40,72,.11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#07101d;--surface:#101c2e;--surface-2:#14243a;--text:#edf3fd;--muted:#a2b0c5;--line:#263950;--primary:#ff7654;--primary-dark:#ff967d;--accent:#7297ff;--success:#39cea4;--danger:#ff8194;--warning:#ffc56d;--sidebar:#050b14;--sidebar-text:#c7d5e8;--shadow:0 18px 55px rgba(0,0,0,.35);color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}button,input,select,textarea{font:inherit}a{color:var(--accent)}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:var(--text);color:var(--bg);padding:.7rem 1rem;border-radius:9px}.skip-link:focus{top:1rem}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;padding:.75rem 1.05rem;background:var(--primary);color:#fff;text-decoration:none;font-weight:750;cursor:pointer;transition:.2s;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 22%,transparent)}.button:hover{background:var(--primary-dark);transform:translateY(-1px)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:3px}.button-ghost{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}.button-danger{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));box-shadow:none}.button-large{padding:.95rem 1.3rem}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--sidebar);color:var(--sidebar-text);padding:1.2rem;z-index:40;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-size:1.08rem;margin:.2rem .4rem 1.5rem}.sidebar-brand img{width:42px}.sidebar-brand strong{color:#ff7959}.sidebar nav{display:grid;gap:.2rem;overflow:auto}.sidebar nav a{display:flex;align-items:center;gap:.8rem;color:var(--sidebar-text);text-decoration:none;padding:.68rem .8rem;border-radius:10px;font-size:.93rem;font-weight:620}.sidebar nav a:hover{background:#ffffff0e;color:#fff}.sidebar nav a span{font-size:1.2rem;color:#ff8b70;width:22px;text-align:center}.sidebar form{margin-top:auto}.logout-button{width:100%;padding:.7rem;border:1px solid #ffffff20;background:transparent;color:var(--sidebar-text);border-radius:10px;cursor:pointer}.page-shell{margin-left:260px;min-height:100vh}.app-top{height:68px;display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:0 2rem;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.app-top>div{display:grid;text-align:right}.app-top small{color:var(--muted)}.tenant-name{font-weight:800}.theme-button,.menu-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.menu-button{display:none}.content{padding:2rem;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin:0 0 1.8rem}.page-heading h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.045em;margin:.3rem 0}.page-heading p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:850;color:var(--primary)}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1rem}.metric-grid.two{grid-template-columns:repeat(2,1fr)}.metric-grid article,.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.3rem;box-shadow:0 5px 18px color-mix(in srgb,var(--shadow) 35%,transparent)}.metric-grid article span{display:block;color:var(--muted);font-size:.82rem}.metric-grid article strong{font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.04em}.metric-grid article.attention{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.metric-grid article.attention strong{color:var(--danger)}.panel{margin-top:1rem}.panel-heading{display:flex;justify-content:space-between;align-items:center}.filter-bar{display:flex;gap:.7rem;margin-bottom:1rem;background:var(--surface);border:1px solid var(--line);padding:.8rem;border-radius:14px}.filter-bar input{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1050px}.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin-bottom:1rem}.form-title,.full{grid-column:1/-1}.form-grid label,.login-card label{display:grid;gap:.35rem;font-size:.88rem;font-weight:720}.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select,.login-card input,.page-heading select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);padding:.65rem .75rem}.form-grid textarea{min-height:100px;resize:vertical}.form-grid small{color:var(--muted);font-weight:400}.checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.checkbox input{width:18px!important;min-height:auto!important}.alert,.trial-banner{padding:.85rem 1rem;border-radius:11px;margin-bottom:1rem}.alert-success{background:color-mix(in srgb,var(--success) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 30%,var(--line));color:var(--success)}.alert-error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));color:var(--danger)}.alert-secret{background:color-mix(in srgb,var(--warning) 14%,var(--surface));border:2px solid var(--warning);color:var(--text);font-size:1.05rem;font-weight:800}.trial-banner{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));color:var(--accent)}.table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:15px}.table-wrap table{width:100%;border-collapse:collapse;font-size:.9rem}.table-wrap th,.table-wrap td{text-align:left;padding:.78rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2)}.table-wrap tr:last-child td{border-bottom:0}.empty-state{text-align:center;padding:4rem 1rem;color:var(--muted)}.empty-state h1,.empty-state h2{color:var(--text)}.sale-items{display:grid;gap:.7rem}.sale-item{display:grid;grid-template-columns:2fr repeat(3,1fr) 1.5fr auto;gap:.6rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);align-items:end}.bars{height:260px;display:flex;align-items:end;gap:1rem;padding:2rem 1rem 1rem;overflow:auto}.bars>div{height:100%;min-width:52px;display:flex;flex-direction:column;justify-content:end;text-align:center}.bars i{height:var(--h);min-height:4px;background:linear-gradient(var(--primary),var(--accent));border-radius:7px 7px 2px 2px}.bars span{font-size:.68rem;white-space:nowrap}.bars small{color:var(--muted);font-size:.68rem}.public-page{background:radial-gradient(circle at 20% 0,color-mix(in srgb,var(--primary) 12%,transparent),transparent 38%),var(--bg)}.public-page .page-shell{margin:0}.public-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,6vw,6rem);border-bottom:1px solid var(--line)}.public-header>div{display:flex;gap:.7rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text);font-weight:850}.brand img{width:40px}.brand strong{color:var(--primary)}.auth-layout{display:grid;grid-template-columns:1fr minmax(400px,620px);gap:5vw;align-items:start;max-width:1350px;margin:auto;padding:4rem clamp(1rem,5vw,5rem)}.auth-intro{position:sticky;top:120px}.auth-intro h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1;letter-spacing:-.055em}.auth-intro p,.auth-intro li{color:var(--muted);font-size:1.05rem}.auth-intro ul{padding-left:1.2rem}.login-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:2rem}.login-card{width:min(100%,440px);display:grid;gap:1rem;padding:2rem}.login-card h1{font-size:2.3rem;margin:.2rem 0}.login-card hr{width:100%;border:0;border-top:1px solid var(--line)}.muted{color:var(--muted)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.sale-item{grid-template-columns:repeat(3,1fr)}.sale-item label:first-child{grid-column:1/-1}.form-grid.compact{grid-template-columns:repeat(2,1fr)}.auth-layout{grid-template-columns:1fr}.auth-intro{position:static}.auth-intro h1{font-size:3.4rem}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;box-shadow:var(--shadow)}.page-shell{margin-left:0}.menu-button{display:block;margin-right:auto}.app-top{padding:0 1rem}.content{padding:1rem}.metric-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:start}.table-wrap{border:0;background:transparent;overflow:visible}.table-wrap thead{display:none}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block}.table-wrap tr{margin-bottom:.8rem;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:.55rem}.table-wrap td{display:grid;grid-template-columns:42% 58%;white-space:normal;border-bottom:1px solid var(--line);padding:.55rem}.table-wrap td:before{content:attr(data-label);font-size:.73rem;text-transform:uppercase;color:var(--muted);font-weight:800}.table-wrap td:last-child{border:0}.form-grid,.form-grid.compact{grid-template-columns:1fr}.sale-item{grid-template-columns:1fr 1fr}.sale-item label:first-child{grid-column:1/-1}.auth-layout{padding:2rem 1rem}.auth-intro h1{font-size:2.6rem}}
@media(max-width:480px){.metric-grid,.metric-grid.two{grid-template-columns:1fr}.page-heading{display:block}.page-heading>.button{margin-top:1rem}.filter-bar{display:grid}.sale-item{grid-template-columns:1fr}.public-header{padding:0 1rem}.public-header .brand span{display:none}.login-card{padding:1.3rem}.auth-layout{padding:1.5rem .8rem}.card{padding:1rem}}
.sidebar nav{flex:1;min-height:0}.filter-bar input{flex:1 1 320px;min-width:180px}.filter-bar select{flex:0 1 280px}@media(max-width:480px){.filter-bar input{min-width:0}}
.consent-field{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;font-size:.9rem;font-weight:650}.consent-field input{width:18px!important;height:18px;min-height:auto!important;margin:.15rem 0 0}.consent-field label{display:block!important}.consent-field a{font-weight:800;text-underline-offset:3px}.public-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem clamp(1rem,6vw,6rem);border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.public-footer nav{display:flex;flex-wrap:wrap;gap:1rem}.legal-document{width:min(100%,900px);margin:0 auto;padding:3rem 1rem 5rem}.legal-hero{padding-bottom:2rem;border-bottom:1px solid var(--line)}.legal-hero h1{font-size:clamp(2.6rem,7vw,4.8rem);line-height:1;letter-spacing:-.055em;margin:.35rem 0 1rem}.legal-hero>p:last-of-type{font-size:1.1rem;color:var(--muted);max-width:68ch}.legal-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0}.legal-meta div{display:grid;gap:.15rem}.legal-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.legal-meta dd{margin:0;font-weight:800}.legal-document section{scroll-margin-top:2rem;margin-top:2.2rem}.legal-document section h2{font-size:1.4rem;margin:0 0 .75rem}.legal-document section p,.legal-document section li{color:var(--muted)}.legal-document section li+li{margin-top:.45rem}.legal-summary,.legal-callout{margin:2rem 0;padding:1.2rem 1.3rem;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.legal-summary p,.legal-callout p{margin:.35rem 0 0;color:var(--muted)}.legal-callout{border-left:4px solid var(--accent)}.legal-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.legal-table-wrap table{width:100%;border-collapse:collapse;min-width:600px}.legal-table-wrap th,.legal-table-wrap td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line)}.legal-table-wrap th{background:var(--surface-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.legal-table-wrap tr:last-child td{border:0}.legal-contact{padding:1.4rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}@media(max-width:480px){.public-footer{align-items:flex-start;flex-direction:column}.legal-document{padding-top:2rem}.legal-hero h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.sales-filter{display:grid;grid-template-columns:minmax(230px,2fr) repeat(4,minmax(135px,1fr)) auto;gap:.8rem;align-items:end;margin-bottom:1rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px color-mix(in srgb,var(--shadow) 25%,transparent)}.sales-filter label{display:grid;gap:.35rem;min-width:0;font-size:.78rem;font-weight:800;color:var(--muted)}.sales-filter input,.sales-filter select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);padding:.65rem .75rem}.sales-filter-actions{display:flex;gap:.55rem}.sales-table tbody tr{transition:background .18s}.sales-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.sale-number{font-weight:850;text-decoration:none}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:.2rem .55rem;border-radius:999px;background:var(--surface-2);font-size:.76rem;font-weight:800}.status-completed{color:var(--success)}.status-cancelled,.status-refunded{color:var(--danger)}.status-draft{color:var(--warning)}.infinite-pagination{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;min-height:90px;padding:1.2rem;color:var(--muted);text-align:center}.infinite-pagination p{margin:0}.infinite-pagination [data-infinite-sentinel]{position:absolute;inset:auto 0 0;height:1px}.sale-heading{align-items:center}.sale-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.sale-summary article strong{font-size:clamp(1rem,1.8vw,1.5rem);overflow-wrap:anywhere}.sale-edit-notice,.correction-notice{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:baseline}.correction-notice{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--text)}.correction-notice span,.sale-edit-notice span{color:var(--muted)}.sale-form-fields{min-width:0;margin:0;padding:0;border:0}.sale-form-fields:disabled{opacity:.72}.sale-form-fields:disabled .button{display:none}.correction-auth{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1rem;align-items:end;padding:1.1rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 6%,var(--surface-2))}.correction-auth h2,.correction-auth p{margin:0}.correction-auth p{color:var(--muted);font-size:.88rem}.danger-zone{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,2fr);gap:1.5rem;align-items:center;margin-top:1.2rem;padding:1.3rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.danger-zone h2{margin:.25rem 0}.danger-zone p{margin:0;color:var(--muted)}.danger-zone form{margin:0}.danger-zone .button-danger{min-height:44px}
@media(max-width:1200px){.sales-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-search{grid-column:span 2}.sales-filter-actions{align-self:end}.sale-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.correction-auth{grid-template-columns:1fr 1fr}.correction-auth>div{grid-column:1/-1}.danger-zone{grid-template-columns:1fr}}
@media(max-width:780px){.sales-filter{grid-template-columns:1fr 1fr}.sales-search,.sales-filter-actions{grid-column:1/-1}.sales-filter-actions .button{flex:1}.sale-summary{grid-template-columns:1fr 1fr}.correction-auth{grid-template-columns:1fr}.correction-auth>div{grid-column:auto}.danger-zone{padding:1rem}.danger-zone form{grid-template-columns:1fr}.sales-table tbody tr:hover{background:var(--surface)}}
@media(max-width:480px){.sales-filter{grid-template-columns:1fr}.sales-search,.sales-filter-actions{grid-column:auto}.sales-filter-actions{display:grid;grid-template-columns:1fr 1fr}.sale-summary{grid-template-columns:1fr}.sale-heading .button{width:100%}.danger-zone .button{width:100%}}
.sales-filter-actions .button,.danger-zone .button{white-space:nowrap}
.form-alert{display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:start;gap:.75rem;margin:0;padding:.8rem .9rem;font-size:.88rem;line-height:1.4}.form-alert-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--danger);color:#fff;font-weight:900}.form-alert strong{display:block;margin:.12rem 0 .25rem}.form-alert ul{margin:0;padding-left:1.15rem;display:grid;gap:.15rem}.form-alert li::marker{font-size:.75em}@media(max-width:480px){.form-alert{grid-template-columns:1.6rem minmax(0,1fr);padding:.75rem;gap:.6rem}.form-alert-icon{width:1.6rem;height:1.6rem}}
.password-section{display:grid;gap:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.password-rules{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem!important;color:var(--muted)!important;line-height:1.35}.password-section>.password-rules{padding-top:.65rem;border-top:1px solid var(--line)}.password-rules strong{color:var(--text);font-size:.78rem}.password-rules span{white-space:nowrap}.password-rules span::before{content:'○';margin-right:.25rem;font-weight:900}.password-rules span.is-valid{color:var(--success)}.password-rules span.is-valid::before{content:'✓'}.password-match{display:block;min-height:1.35em;color:var(--muted)!important;font-weight:550!important;font-size:.8rem}.password-match[hidden]{display:none}.password-match.is-valid{color:var(--success)!important}.password-match.is-invalid{color:var(--danger)!important}.password-match.is-valid::before{content:'✓ ';font-weight:900}.password-match.is-invalid::before{content:'! ';font-weight:900}@media(max-width:480px){.password-section{padding:.8rem}.password-fields{grid-template-columns:1fr;gap:.7rem}.password-rules{gap:.25rem .6rem!important}}

/* Public authentication layout: responsive, vertically stable and touch friendly. */
@media(max-width:780px){.table-wrap td{grid-template-columns:minmax(0,42%) minmax(0,58%)}.table-wrap td>*{min-width:0}.table-wrap td{overflow-wrap:anywhere;word-break:break-word}}
.public-page .page-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;min-height:100svh;margin:0}.public-page .content{width:100%;max-width:none;margin:0;padding:0}.public-header{min-height:72px;height:auto}.public-header>div{align-items:center}.login-wrap{min-height:0;padding:.5rem clamp(1.25rem,3vw,2.5rem)}.login-card{width:min(100%,440px);gap:.875rem;padding:clamp(1.35rem,3vw,2rem)}.login-card .eyebrow{margin:0 0 .15rem}.login-card h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.login-description{max-width:34ch;margin:0 0 .35rem}.login-card label{gap:.4rem}.login-card input{font-size:1rem}.login-card .alert{margin:0}.login-card .button-large{min-height:52px;margin-top:.15rem}.login-help{margin:.25rem 0;font-size:.88rem;line-height:1.55}.login-card hr{margin:.35rem 0 .2rem}.login-secondary{display:grid;gap:.7rem}.login-secondary>span{font-size:.9rem}
@media(min-width:700px) and (max-height:800px){.login-wrap{padding:.4rem 1rem}.login-card{width:min(100%,520px);gap:.65rem;padding:1.35rem}.login-card h1{font-size:2.2rem}.login-help{font-size:.84rem}}
@media(max-width:480px){.public-header{min-height:64px;padding:0 .85rem}.public-header .brand{gap:.5rem}.public-header .brand img{width:36px}.public-header .brand span{display:inline;font-size:.84rem}.public-header .theme-button{width:44px;height:44px}.login-wrap{place-items:start center;padding:.7rem .75rem}.login-card{gap:.62rem;padding:1rem;border-radius:14px}.login-card h1{font-size:clamp(1.85rem,8.6vw,2.16rem)}.login-card input{min-height:48px}.public-footer{padding:.45rem 1rem;gap:.25rem;font-size:.8rem;line-height:1.28}.public-footer nav{gap:.2rem .85rem}}
.sidebar nav a.is-active{background:color-mix(in srgb,var(--primary) 20%,transparent);color:#fff;font-weight:800;box-shadow:inset 3px 0 var(--primary)}.sidebar nav a.is-active span{color:#fff}.sidebar-backdrop{display:none}
@media(max-width:780px){body.menu-open{overflow:hidden}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;border:0;background:rgba(2,7,14,.62);opacity:0;cursor:pointer;transition:opacity .2s;backdrop-filter:blur(2px)}.sidebar-backdrop.is-open{opacity:1}.sidebar-backdrop[hidden]{display:none}.sidebar.open{box-shadow:18px 0 45px rgba(0,0,0,.38)}}

/* Sidebar icons: SVGs keep module navigation consistent across devices. */
.sidebar nav a .nav-icon{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;color:#ff8b70;font-size:0;line-height:1;text-align:center}
.sidebar nav a .nav-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav a .nav-label{min-width:0;width:auto;color:inherit;font-size:inherit;text-align:left}
.sidebar nav a.is-active .nav-icon{color:#fff}
.sidebar nav{padding-bottom:.75rem}
.sidebar form{flex:0 0 auto;padding-top:.75rem;border-top:1px solid #ffffff18}

/* Searchable entity selectors. Native selects remain in the DOM as the submitted value. */
.combobox-native{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.file-native{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.file-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;width:100%;min-height:48px;padding:.35rem;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.file-button{min-height:40px;padding:.55rem .85rem;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);font-weight:800;cursor:pointer}
.file-button:hover{background:color-mix(in srgb,var(--primary) 18%,var(--surface))}
.file-name{min-width:0;color:var(--muted);font-size:.88rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:480px){.file-control{grid-template-columns:1fr}.file-name{white-space:normal}}
.combobox-shell{position:relative;min-width:0;font-weight:400}.combobox-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}.combobox-control{position:relative;min-width:0}.form-grid .combobox-input,.combobox-input{width:100%;min-height:44px;padding:.65rem 3rem .65rem .75rem;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);cursor:text}.combobox-input::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}
.combobox-toggle{position:absolute;inset:0 0 0 auto;width:44px;min-height:44px;border:0;border-radius:0 9px 9px 0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.combobox-toggle:hover{background:var(--surface-2);color:var(--text)}.combobox-create{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:44px;min-height:44px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);font-size:1.35rem;font-weight:850;text-decoration:none;transition:.18s}.combobox-create:hover{background:color-mix(in srgb,var(--primary) 18%,var(--surface));transform:translateY(-1px)}.combobox-create-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.combobox-shell.is-open{z-index:70}.combobox-shell.is-open .combobox-control{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);border-radius:10px}.combobox-panel{position:absolute;z-index:80;top:calc(100% + .45rem);left:0;width:min(100%,620px);min-width:min(100%,360px);max-height:min(420px,60vh);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:13px;background:var(--surface);box-shadow:0 20px 55px color-mix(in srgb,var(--shadow) 75%,transparent)}.combobox-panel[hidden]{display:none}
.combobox-filters{display:flex;gap:.4rem;padding:.65rem .7rem;border-bottom:1px solid var(--line);overflow-x:auto}.combobox-filters button{flex:0 0 auto;min-height:34px;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:780;cursor:pointer}.combobox-filters button:hover,.combobox-filters button.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent)}
.combobox-count{padding:.5rem .75rem .25rem;color:var(--muted);font-size:.74rem;font-weight:780;text-transform:uppercase;letter-spacing:.06em}.combobox-options{min-height:0;overflow-y:auto;padding:.4rem}.combobox-option{display:grid;width:100%;gap:.1rem;padding:.65rem .75rem;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.combobox-option strong{font-size:.88rem}.combobox-option small{color:var(--muted);font-size:.75rem;font-weight:500;overflow-wrap:anywhere}.combobox-option:hover,.combobox-option.is-active{background:color-mix(in srgb,var(--accent) 11%,var(--surface))}.combobox-option[aria-selected=true]{box-shadow:inset 3px 0 var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.combobox-empty{padding:1.25rem .8rem;color:var(--muted);font-size:.85rem;text-align:center}.combobox-clear{min-height:40px;border:0;border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:750;cursor:pointer}.combobox-clear:hover{color:var(--text)}
@media(max-width:780px){.combobox-panel{position:fixed;inset:auto .75rem max(.75rem,env(safe-area-inset-bottom));width:auto;min-width:0;max-height:min(62vh,520px);border-radius:16px}.combobox-shell.is-open:before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(2,7,14,.48);backdrop-filter:blur(1px)}.combobox-count{padding:.55rem .85rem .2rem}.combobox-options{padding:.5rem}.combobox-option{min-height:52px;padding:.72rem}.combobox-filters{padding:.75rem}.combobox-filters button{min-height:44px}}
.combobox-filters{flex-wrap:wrap;overflow-x:visible}

/* Current legal documents: clear separation between version and action. */
.legal-current-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.legal-current-card{display:grid;gap:1rem;min-width:0;padding:1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px color-mix(in srgb,var(--shadow) 35%,transparent)}.legal-current-card>span{color:var(--muted);font-size:.82rem}.legal-current-content{display:flex;align-items:end;justify-content:space-between;gap:1rem;min-width:0}.legal-current-content strong{display:grid;gap:.1rem;min-width:0;font-size:clamp(1.2rem,2.2vw,1.75rem);line-height:1.1;letter-spacing:-.025em;overflow-wrap:anywhere}.legal-current-content strong small{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.legal-document-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.6rem .8rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-size:.82rem;font-weight:780;line-height:1.25;text-decoration:none}.legal-document-link:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:var(--accent)}.legal-document-link span{font-size:1rem}.legal-update-card{margin-top:1rem}.legal-update-card .form-title h2{margin-bottom:.35rem}.legal-update-card .form-title p{margin:0;color:var(--muted)}.consent-version{white-space:normal;color:var(--muted);font-weight:650}
@media(max-width:900px){.legal-current-content{align-items:stretch;flex-direction:column}.legal-document-link{align-self:stretch}}
@media(max-width:620px){.legal-current-grid{grid-template-columns:1fr}.legal-current-card{gap:.8rem;padding:1.1rem}.legal-current-content{gap:.8rem}.legal-current-content strong{font-size:1.35rem}.legal-document-link{justify-content:flex-start;padding:.7rem .8rem}.legal-update-card{padding:1.1rem}.legal-update-card .form-title h2{font-size:1.55rem}}
.filter-bar{flex-wrap:wrap;align-items:end}.filter-bar label{display:grid;gap:.35rem;flex:1 1 150px;min-width:0;font-size:.78rem;font-weight:800;color:var(--muted)}.filter-bar .button{flex:0 0 auto;min-height:44px;white-space:nowrap}.auxiliary-tabs{flex-wrap:wrap}.auxiliary-tabs .button{flex:1 1 180px;min-height:44px;box-shadow:none}.sale-edit-notice a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-weight:800;line-height:1.2;text-decoration:none}.sale-edit-notice a:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:var(--accent)}.sale-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.2rem 0 .35rem}.sale-live-summary article{padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.sale-live-summary span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sale-live-summary strong{font-size:1.15rem;letter-spacing:-.02em}.sale-live-summary article:last-child{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}@media(max-width:1500px){.sales-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-search{grid-column:span 2}.sales-filter-actions{align-self:end}.sales-filter-actions .button{flex:1}}@media(max-width:780px){input,select,textarea,.combobox-input{font-size:16px}.theme-button,.menu-button{width:44px;height:44px}.combobox-input{min-height:48px}.combobox-toggle{width:44px}.combobox-row{grid-template-columns:minmax(0,1fr)}.combobox-create{width:100%;min-height:48px;font-size:.92rem;line-height:1.2}.combobox-create>span:first-child{font-size:1.18rem}.combobox-create-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.auxiliary-tabs{display:grid;grid-template-columns:1fr 1fr}.auxiliary-tabs .button{flex:auto}.sale-live-summary{grid-template-columns:1fr}.sale-live-summary article{padding:.8rem}.sales-filter .button,.filter-bar .button{min-height:48px}}@media(max-width:480px){.sales-filter{grid-template-columns:1fr}.sales-search,.sales-filter-actions{grid-column:auto}.sales-filter-actions{display:grid;grid-template-columns:1fr 1fr}.auxiliary-tabs{grid-template-columns:1fr}.filter-bar .button{width:100%}.sale-edit-notice a{width:100%}}
.theme-button,.menu-button{min-width:44px;flex:0 0 44px}
.sale-form-fields:disabled .combobox-create{display:none}
.app-identity{display:grid;min-width:0;max-width:min(54vw,520px);line-height:1.18;text-align:right}.app-identity .tenant-name,.app-identity small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-identity .tenant-name{font-weight:800}.app-identity small{color:var(--muted)}@media(max-width:780px){.app-top{gap:.75rem}.app-identity{max-width:calc(100vw - 140px);text-align:center}.app-identity .tenant-name{font-size:.95rem}.app-identity small{font-size:.8rem}}@media(max-width:360px){.app-identity{max-width:calc(100vw - 132px)}}

/* Empty states: guide the next action instead of leaving generic blank areas. */
.empty-state{display:grid;place-items:center;gap:.75rem;min-height:220px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 72%,transparent)}
.empty-state h1,.empty-state h2,.empty-state p{max-width:34rem;margin:0;text-align:center}
.empty-state p{color:var(--muted)}
.empty-state .button{margin-top:.25rem;min-height:46px}
.empty-state-compact{min-height:112px;padding:1.25rem}
.empty-state-compact h2{font-size:1.15rem;line-height:1.2}
.empty-state-compact p{font-size:.92rem;max-width:26rem}
@media(max-width:480px){.empty-state{min-height:260px;padding:2rem 1rem}.empty-state h2{font-size:clamp(1.5rem,8vw,1.8rem);line-height:1.2}.empty-state .button{width:100%}}
@media(max-width:480px){.empty-state-compact{min-height:126px;padding:1.25rem}.empty-state-compact h2{font-size:1.2rem}.empty-state-compact .button{width:auto}}
.auxiliary-list-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.auxiliary-list-heading h2{margin-bottom:.25rem}
.auxiliary-search{display:grid;gap:.35rem;min-width:min(100%,320px);font-size:.78rem;font-weight:800;color:var(--muted)}
.auxiliary-search input{min-height:44px}
.auxiliary-search input[type="search"]{
  width:100%;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--bg);
  color:var(--text);
  line-height:1.25;
  padding:.72rem 1rem;
  appearance:none;
  -webkit-appearance:none;
  background-clip:padding-box;
}
.auxiliary-search input[type="search"]::-webkit-search-decoration,
.auxiliary-search input[type="search"]::-webkit-search-cancel-button,
.auxiliary-search input[type="search"]::-webkit-search-results-button,
.auxiliary-search input[type="search"]::-webkit-search-results-decoration{display:none}
.auxiliary-search input[type="search"]::placeholder{
  color:color-mix(in srgb,var(--muted) 82%,transparent);
}
.auxiliary-search input[type="search"]:focus{
  outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);
  outline-offset:2px;
}
.table-wrap tr[hidden],[data-auxiliary-empty][hidden],[data-auxiliary-list] .table-wrap[hidden]{display:none!important}
@media(max-width:780px){.auxiliary-list-heading{display:grid;align-items:start}.auxiliary-search{min-width:0;width:100%}}
.audit-filter{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(145px,1fr)) auto auto;align-items:end}
.audit-filter>input,.audit-filter>select{min-width:0;width:100%}
@media(max-width:1500px){.audit-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-filter>input{grid-column:1/-1}}
@media(max-width:780px){.audit-filter{grid-template-columns:1fr 1fr}.audit-filter>input{grid-column:1/-1}.audit-filter>.button{width:100%}.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.audit-filter{grid-template-columns:1fr}.audit-filter>input{grid-column:auto}}

.archive-guidance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1rem;
}
.archive-guidance-grid .card{
  display:grid;
  gap:.45rem;
  align-content:start;
  box-shadow:none;
}
.archive-guidance-grid span{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));
  color:var(--accent);
  font-weight:900;
}
.archive-guidance-grid h2{margin:.2rem 0 0;font-size:1.05rem}
.archive-guidance-grid p{margin:0;color:var(--muted);font-size:.92rem}
.archive-guidance-grid .attention{border-color:color-mix(in srgb,var(--danger) 32%,var(--line));background:color-mix(in srgb,var(--danger) 4%,var(--surface))}
.archive-form{max-width:980px}
@media(max-width:900px){.archive-guidance-grid{grid-template-columns:1fr}}

/* Sale prerequisites: avoid sending users into an impossible checkout. */
.prerequisite-card{display:grid;gap:1rem;max-width:980px;margin-bottom:1rem}
.prerequisite-card h2,.prerequisite-card p{margin:0}
.prerequisite-card>p:not(.eyebrow){color:var(--muted)}
.prerequisite-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.prerequisite-actions article{display:grid;gap:.55rem;align-content:start;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.prerequisite-actions h3{margin:0;font-size:1.05rem}

/* Permission profiles: large touch targets, no native fieldset chrome. */
.permission-fieldset{border:0;padding:0;margin:0}
.permission-fieldset legend{font-weight:850;margin-bottom:.75rem}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.permission-choice{display:flex!important;align-items:center;gap:.65rem;min-height:48px;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer;transition:.18s}
.permission-choice:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface))}
.permission-choice:has(input:checked){border-color:color-mix(in srgb,var(--primary) 58%,var(--line));background:color-mix(in srgb,var(--primary) 12%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}
.permission-choice input{width:20px!important;height:20px!important;min-height:20px!important;flex:0 0 20px;accent-color:var(--primary)}
.permission-choice span{font-weight:800;line-height:1.25}
@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.permission-grid{grid-template-columns:1fr}.permission-choice{min-height:50px}}
.prerequisite-actions p{color:var(--muted);font-size:.9rem}
.prerequisite-actions .button{width:max-content;min-height:44px}
.sale-edit-notice a{font-weight:800;text-underline-offset:3px}
.alert.sale-edit-notice{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--text)}
@media(max-width:780px){.prerequisite-actions{grid-template-columns:1fr}.prerequisite-actions .button{width:100%}}

/* Touch targets for public/legal links and compact action links. */
.public-header .brand{min-height:44px}
.public-footer a,.legal-contact a,.panel-heading>a,.legal-document p a,.legal-document li a,.consent-field a{display:inline-flex;align-items:center;min-height:44px}
.public-footer nav a{padding:.15rem 0}
.legal-contact a,.legal-document p a,.legal-document li a,.consent-field a{vertical-align:middle}
.panel-heading>a{padding:.3rem .1rem;font-weight:750;text-underline-offset:3px}
@media(max-width:480px){.public-footer a{min-height:44px}.panel-heading{align-items:flex-start;gap:.8rem;flex-direction:column}.panel-heading>a{min-height:44px}}
@media(min-width:700px) and (max-height:800px){.public-header{min-height:60px}.login-wrap{padding:.25rem 1rem}.login-card{gap:.58rem;padding:1.15rem}.login-card h1{font-size:2rem}.login-card .button-large{min-height:48px}.public-footer{padding:.55rem 2rem;line-height:1.25}.public-footer a{min-height:44px}}
@media(min-width:1000px) and (max-height:920px){.public-header{min-height:56px}.login-wrap{padding:.1rem 1rem}.login-card{gap:.5rem;padding:1rem}.login-card h1{font-size:1.9rem}.login-card .login-description{margin-bottom:.1rem}.login-card input{min-height:44px}.login-card .button-large{min-height:46px}.login-card hr{margin:.2rem 0 .1rem}.public-footer{padding:.3rem 2rem;line-height:1.2}.public-footer a{min-height:44px}}

/* Legal pages: prevent mobile horizontal overflow and keep version/action readable. */
.legal-document{max-width:900px;min-width:0;overflow-wrap:anywhere}
.legal-document section{width:100%;max-width:100%;min-width:0}
.legal-document p,.legal-document li,.legal-document dd,.legal-document td{overflow-wrap:anywhere}
.legal-table-wrap{display:block;inline-size:100%;width:100%;max-inline-size:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.legal-table-wrap table{max-width:none}
.legal-current-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.85rem 1rem}
.legal-current-version{display:grid;grid-template-columns:1fr;gap:.18rem;min-width:0}
.legal-current-version>span{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.legal-document-link{white-space:normal;text-align:left}
@media(max-width:900px){.legal-current-content{grid-template-columns:1fr;align-items:stretch}.legal-document-link{width:100%;align-self:stretch}}
@media(max-width:620px){.legal-current-card{overflow:hidden}.legal-current-content{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:.75rem}.legal-current-content strong,.legal-current-version{font-size:1.25rem}.legal-document-link{display:flex;justify-content:flex-start;width:100%;min-height:46px}.legal-update-card .consent-field{font-size:.88rem}}
@media(max-width:480px){.legal-document{width:100%;padding-right:.9rem;padding-left:.9rem}.legal-table-wrap table{min-width:0}.legal-table-wrap thead{display:none}.legal-table-wrap table,.legal-table-wrap tbody,.legal-table-wrap tr,.legal-table-wrap td{display:block;width:100%}.legal-table-wrap tr{border-bottom:1px solid var(--line)}.legal-table-wrap tr:last-child{border-bottom:0}.legal-table-wrap td{border-bottom:0;padding:.75rem}.legal-table-wrap td+td{padding-top:0;color:var(--muted)}.legal-hero h1{font-size:clamp(2.1rem,12vw,2.5rem)}}

/* Mobile table cards: action links must look and behave like touch actions. */
@media(min-width:781px){
  .sales-table table{
    min-width:1120px;
  }
  .table-wrap th:last-child,
  .table-wrap td:last-child{
    position:sticky;
    right:0;
    z-index:1;
    background:var(--surface);
    box-shadow:-10px 0 14px -14px var(--shadow);
  }
  .sales-table th:last-child,
  .sales-table td[data-label="Ação"]{
    width:132px;
    min-width:132px;
    max-width:132px;
  }
  .sales-table td[data-label="Ação"]>a:not(.button){
    width:100%;
  }
  .table-wrap th:last-child{background:var(--surface-2);z-index:2}
  .table-wrap td:last-child>a:not(.button){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:.35rem .65rem;
    border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
    border-radius:9px;
    background:color-mix(in srgb,var(--accent) 6%,var(--surface));
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
  }
}
@media(max-width:780px){
  .sale-number{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:.35rem .55rem;
    margin:-.25rem 0;
    border-radius:9px;
    font-weight:850;
  }
  .table-wrap td:last-child>a:not(.button),
  .sales-table td[data-label="Ação"]>a:not(.button),
  .table-wrap td[data-label="Ações"]>a:not(.button){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:112px;
    min-height:44px;
    padding:.55rem .85rem;
    border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
    border-radius:10px;
    background:color-mix(in srgb,var(--accent) 7%,var(--surface));
    color:var(--accent);
    font-weight:800;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
  }
  .table-wrap td:last-child>a:not(.button):hover,
  .sales-table td[data-label="Ação"]>a:not(.button):hover,
  .table-wrap td[data-label="Ações"]>a:not(.button):hover{
    border-color:var(--accent);
    background:color-mix(in srgb,var(--accent) 14%,var(--surface));
  }
}

/* Compact analytical screens on phones without hiding information. */
@media(max-width:480px){
  .metric-grid:not(.sale-summary){
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
  }
  .metric-grid:not(.sale-summary) article{
    min-width:0;
    padding:.9rem;
  }
  .metric-grid:not(.sale-summary) article span{
    font-size:.7rem;
    line-height:1.25;
  }
  .metric-grid:not(.sale-summary) article strong{
    display:block;
    min-width:0;
    font-size:clamp(1.05rem,5.2vw,1.35rem);
    line-height:1.15;
    overflow-wrap:anywhere;
  }
  .filter-bar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
    padding:.75rem;
  }
  .filter-bar>input,
  .filter-bar>select,
  .filter-bar>.combobox-shell,
  .filter-bar>label{
    grid-column:1/-1;
    min-width:0;
  }
  .filter-bar>.button{
    width:100%;
    min-height:46px;
    padding:.68rem .75rem;
  }
  .filter-bar:not(:has(>.button+.button))>.button{
    grid-column:1/-1;
  }
  .auxiliary-tabs .button{
    min-width:0;
    white-space:normal;
    word-break:normal;
    hyphens:auto;
    line-height:1.2;
    text-align:center;
    padding:.65rem .45rem;
    font-size:.92rem;
    overflow-wrap:normal;
  }
}

/* Legal documents must remain readable before consent: version and action never touch on narrow screens. */
.legal-current-card .legal-current-content{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:1rem!important;
  min-width:0;
}
.legal-current-card .legal-current-version{
  max-width:100%;
}
.legal-current-card .legal-document-link{
  box-sizing:border-box;
  display:flex!important;
  width:auto;
  align-self:end;
  justify-content:flex-start;
  text-decoration:none;
}
@media(max-width:900px){
  .legal-current-card .legal-current-content{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .legal-current-card .legal-document-link{
    width:100%;
    align-self:stretch;
  }
}
@media(max-width:760px){
  .legal-current-grid{
    grid-template-columns:1fr;
  }
  .legal-current-card .legal-current-content{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:1rem!important;
  }
  .legal-current-card .legal-document-link{
    width:100%;
    align-self:stretch;
    min-height:48px;
    padding:.75rem .9rem;
  }
}

/* Legal consent cards: mobile-first readable hierarchy for version + document action. */
.legal-current-card{
  min-width:0;
}
.legal-current-card>span{
  display:block;
  line-height:1.35;
}
.legal-current-card .legal-current-content{
  min-width:0;
}
.legal-current-card .legal-current-version{
  min-width:0;
  line-height:1.08;
}
.legal-current-card .legal-current-version small{
  margin-bottom:.1rem;
}
.legal-current-card .legal-current-version>span{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.legal-current-card .legal-document-link{
  gap:.45rem;
  min-width:0;
  line-height:1.25;
}
.legal-current-card .legal-document-link span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:780px){
  .legal-current-grid{
    grid-template-columns:1fr!important;
    gap:.9rem;
  }
  .legal-current-card{
    gap:.85rem;
    padding:1.05rem;
  }
  .legal-current-card .legal-current-content{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:.8rem!important;
  }
  .legal-current-card .legal-current-version{
    font-size:clamp(1.2rem,7vw,1.45rem)!important;
  }
  .legal-current-card .legal-document-link{
    width:100%!important;
    min-height:48px;
    justify-content:flex-start;
    align-self:stretch;
    padding:.72rem .85rem;
  }
}
@media(min-width:781px){
  .legal-current-card .legal-current-content{
    grid-template-columns:minmax(0,1fr) minmax(190px,auto)!important;
  }
}

/* Sales filters: keep search immediate on mobile and fold secondary filters. */
.sales-filter{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.sales-search,
.sales-advanced-filters{
  grid-column:1/-1;
}
.sales-advanced-filters{
  display:block;
  min-width:0;
}
.sales-advanced-filter-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:.8rem;
  align-items:end;
}
.sales-advanced-filters>summary{
  display:none;
}
@media(max-width:1200px){
  .sales-filter{
    grid-template-columns:1fr;
  }
  .sales-advanced-filter-fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sales-advanced-filter-fields .sales-filter-actions{
    grid-column:1/-1;
  }
}
@media(max-width:780px){
  .sales-advanced-filters{
    grid-column:1/-1;
  }
  .sales-advanced-filters>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:.72rem .85rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--text);
    font-size:.88rem;
    font-weight:850;
    cursor:pointer;
    list-style:none;
  }
  .sales-advanced-filters>summary::-webkit-details-marker{
    display:none;
  }
  .sales-advanced-filters>summary:after{
    content:"▾";
    color:var(--muted);
    font-size:1.05rem;
    line-height:1;
    transition:transform .18s ease;
  }
  .sales-advanced-filters[open]>summary:after{
    transform:rotate(180deg);
  }
  .sales-advanced-filter-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.65rem;
    padding-top:.65rem;
  }
  .sales-advanced-filter-fields label,
  .sales-advanced-filter-fields .sales-filter-actions{
    min-width:0;
  }
  .sales-advanced-filter-fields .sales-filter-actions{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  .sales-advanced-filter-fields{
    grid-template-columns:1fr;
  }
}

/* Legal documents page: version and action are separate controls, especially on mobile. */
.legal-current-card .legal-current-content{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:end!important;
  column-gap:1rem!important;
  row-gap:.75rem!important;
}
.legal-current-card .legal-current-version{
  display:grid!important;
  min-width:0!important;
  max-width:100%!important;
}
.legal-current-card .legal-document-link{
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:820px){
  .legal-current-card .legal-current-content{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .legal-current-card .legal-document-link{
    width:100%!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:420px){
  .legal-current-card{
    padding:1rem!important;
  }
  .legal-current-card .legal-current-version{
    font-size:1.2rem!important;
  }
  .legal-current-card .legal-document-link{
    padding:.72rem .8rem!important;
  }
}

/* Combobox auxiliary creation actions: visible, but not visually competing with primary submit buttons. */
.combobox-create{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface))!important;
  color:var(--accent)!important;
  box-shadow:none!important;
  font-size:.88rem!important;
  font-weight:820!important;
}
.combobox-create:hover{
  background:color-mix(in srgb,var(--accent) 13%,var(--surface))!important;
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;
}
@media(max-width:780px){
  .combobox-create{
    min-height:44px!important;
    padding:.46rem .65rem!important;
    justify-content:flex-start!important;
  }
}
.is-submitting{
  position:relative;
}
.is-submitting button[disabled],
.is-submitting input[type="submit"][disabled]{
  cursor:progress;
  opacity:.78;
  transform:none!important;
}
.form-submit-status{
  grid-column:1/-1;
  margin:.25rem 0 0;
  padding:.7rem .85rem;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:10px;
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  color:var(--accent);
  font-size:.86rem;
  font-weight:780;
}
.form-submit-status:focus{
  outline:3px solid color-mix(in srgb,var(--accent) 36%,transparent);
  outline-offset:2px;
}

/* Final guard for legal document cards: never let version and "read full document" collapse into one visual line. */
@media(max-width:820px){
  .legal-current-card .legal-current-content{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .legal-current-card .legal-current-version,
  .legal-current-card .legal-document-link{
    grid-column:1 / -1!important;
  }
  .legal-current-card .legal-document-link{
    width:100%!important;
    justify-content:flex-start!important;
    margin-top:.15rem!important;
  }
}

/* Administrative legal/privacy screens: contact links must be tappable and long requests must wrap. */
.subscription-contact p{
  margin-bottom:1rem;
}
.subscription-contact-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.subscription-contact-actions a{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:66px;
  padding:.72rem .85rem;
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
  font-weight:780;
  text-decoration:none;
  text-align:center;
}
.subscription-contact-actions a span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.subscription-contact-actions a strong{
  overflow-wrap:anywhere;
}
@media(max-width:520px){
  .subscription-contact-actions{
    grid-template-columns:1fr;
  }
}
.privacy-requests .table-wrap th,
.privacy-requests .table-wrap td{
  white-space:normal;
  vertical-align:top;
}
.privacy-requests .table-wrap table{
  table-layout:fixed;
  min-width:0;
}
.privacy-requests .table-wrap td{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.privacy-requests .table-wrap th:last-child,
.privacy-requests .table-wrap td:last-child{
  position:static;
  box-shadow:none;
}
.privacy-requests .table-wrap td[data-label="Solicitação"],
.privacy-requests .table-wrap td[data-label="Resposta"]{
  min-width:min(24rem,35vw);
}
.table-wrap td[data-label="Arquivo"]>a:not(.button){
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  min-height:44px;
  max-width:100%;
  padding:.48rem .7rem;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:9px;
  background:color-mix(in srgb,var(--accent) 6%,var(--surface));
  font-weight:800;
  line-height:1.25;
  text-decoration:none;
  overflow-wrap:anywhere;
}

/* Desktop data tables: wrap content by default; reserve sticky behavior only for real action columns. */
@media(min-width:781px){
  .table-wrap table{
    table-layout:fixed;
    min-width:0;
  }
  .table-wrap th,
  .table-wrap td{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    vertical-align:top;
  }
  .table-wrap th:last-child,
  .table-wrap td:last-child{
    position:static!important;
    right:auto!important;
    box-shadow:none!important;
  }
  .table-wrap td[data-label="Ação"],
  .table-wrap td[data-label="Ações"]{
    position:sticky!important;
    right:0!important;
    z-index:1;
    background:var(--surface);
    box-shadow:-10px 0 14px -14px var(--shadow)!important;
  }
}

/* Mobile header: show long tenant names without hard clipping. */
@media(max-width:780px){
  .app-identity .tenant-name{
    display:-webkit-box;
    overflow:hidden;
    white-space:normal;
    text-overflow:clip;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
}

/* Mobile drawer: keep the menu fully inside narrow screens. */
@media(max-width:780px){
  .sidebar{
    width:min(82vw,280px);
    max-width:calc(100vw - 28px);
    overflow-x:hidden;
  }
  .sidebar-brand,
  .sidebar nav a{
    min-width:0;
  }
  .sidebar-brand span,
  .sidebar nav a strong,
  .sidebar nav a{
    overflow-wrap:anywhere;
  }
}

/* Legal current-document cards: authoritative final layout.
   Keep version and action as separate rows on every viewport; the card grid itself
   may still use multiple columns on wider screens. */
.legal-current-card .legal-current-content{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:.85rem!important;
}
.legal-current-card .legal-current-version{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.18rem!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  line-height:1.08!important;
}
.legal-current-card .legal-current-version>span,
.legal-current-card .legal-current-version>strong{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.legal-current-card .legal-current-version>strong{
  font-size:clamp(1.25rem,4.8vw,1.75rem);
}
.legal-current-card .legal-current-action{
  margin:0!important;
  min-width:0!important;
}
.legal-current-card .legal-document-link{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.legal-current-card .legal-document-link span:last-child{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

/* Password guidance: readable chips instead of cramped inline text on mobile. */
.password-rules{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  gap:.5rem!important;
  align-items:stretch!important;
}
.password-rules strong{
  grid-column:1/-1;
  display:block;
  font-size:.78rem!important;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.password-rules span{
  display:flex!important;
  align-items:center;
  gap:.38rem;
  min-height:34px;
  padding:.42rem .58rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface-2) 74%,transparent);
  white-space:normal!important;
  line-height:1.15;
}
.password-rules span::before{
  content:'○'!important;
  flex:0 0 auto;
  margin:0!important;
}
.password-rules span.is-valid{
  border-color:color-mix(in srgb,var(--success) 42%,var(--line));
  background:color-mix(in srgb,var(--success) 10%,var(--surface-2));
}
.password-rules span.is-valid::before{
  content:'✓'!important;
}
@media(max-width:420px){
  .password-rules{
    grid-template-columns:1fr!important;
  }
}

/* Accessibility guard: primary action buttons must pass WCAG contrast in both themes. */
.button:not(.button-ghost):not(.button-danger){
  background:#c74222;
  color:#fff;
}
.button:not(.button-ghost):not(.button-danger):hover{
  background:#ad3218;
}
:root[data-theme=dark] .button:not(.button-ghost):not(.button-danger){
  background:#c74222;
  color:#fff;
}
:root[data-theme=dark] .button:not(.button-ghost):not(.button-danger):hover{
  background:#ad3218;
}

/* Tabbed operational sections, used where one page has distinct workflows. */
.tabs-card{
  display:grid;
  gap:1rem;
  min-width:0;
}
.tabs-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding:.5rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 5px 18px color-mix(in srgb,var(--shadow) 28%,transparent);
}
.tabs-nav [role="tab"]{
  flex:1 1 210px;
  min-height:46px;
  padding:.65rem .85rem;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:var(--muted);
  font-weight:840;
  cursor:pointer;
}
.tabs-nav [role="tab"]:hover{
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  color:var(--text);
}
.tabs-nav [role="tab"][aria-selected="true"]{
  border-color:color-mix(in srgb,var(--primary) 35%,var(--line));
  background:color-mix(in srgb,var(--primary) 12%,var(--surface));
  color:var(--text);
  box-shadow:inset 0 -3px var(--primary);
}
.tab-panel{
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 82%,transparent);
}
.tab-panel>.filter-bar,
.tab-panel>.metric-grid,
.tab-panel>.table-wrap,
.tab-panel>.card,
.tab-panel>.panel{
  margin-top:1rem;
}
.ajax-filter-status{
  margin:.25rem 0 0;
  color:var(--muted);
  font-size:.86rem;
}
[data-ajax-fragment]{
  transition:opacity .18s ease,filter .18s ease;
}
[data-ajax-fragment].is-loading{
  opacity:.62;
  filter:saturate(.82);
  pointer-events:none;
}
.tab-panel>.metric-grid article strong{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow-wrap:normal;
  font-size:clamp(1.2rem,1.85vw,1.7rem);
}
.tab-panel-heading{
  margin-bottom:.2rem;
}
.tab-panel-heading h2,
.tab-panel-heading p{
  margin:0;
}
@media(max-width:560px){
  .tabs-nav{
    display:grid;
    grid-template-columns:1fr;
  }
  .tabs-nav [role="tab"]{
    flex:auto;
    justify-content:flex-start;
    text-align:left;
  }
  .tab-panel{
    padding:.8rem;
    border-radius:15px;
  }
}

/* Detail pages used by customer/vehicle records. */
.action-row{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;align-items:center}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.detail-grid article{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.detail-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.detail-grid strong{display:block;min-width:0;overflow-wrap:anywhere;font-size:1.05rem}
@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row{justify-content:flex-start}}
@media(max-width:560px){.detail-grid{grid-template-columns:1fr}.action-row .button{width:100%}.vehicle-summary{grid-template-columns:1fr!important}}

/* Finance filters: keep dense desktop filters balanced instead of letting one date field
   stretch across a second row. */
@media(min-width:1180px){
  .finance-filter{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:end;
    gap:.65rem;
  }
  .finance-filter>*{
    min-width:0;
  }
  .finance-filter .button{
    width:100%;
  }
  .finance-filter .finance-filter-search,
  .finance-filter>.combobox-shell{
    grid-column:span 2;
  }
  .finance-filter>label{
    grid-column:span 2;
  }
  .finance-filter>button,
  .finance-filter>a.button{
    grid-column:span 1;
  }
}
@media(min-width:780px) and (max-width:1179px){
  .finance-filter{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:end;
  }
  .finance-filter .finance-filter-search{
    grid-column:span 2;
  }
}

/* Table links that open sale details must be easy to hit with mouse, touch, and keyboard. */
.table-wrap a.sale-number,
.sales-table a.sale-number{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  min-height:40px;
  min-width:44px;
  padding:.35rem .45rem;
  margin:-.35rem -.45rem;
  border-radius:8px;
  line-height:1.2;
}
.table-wrap a.sale-number:focus-visible,
.table-wrap a.sale-number:hover,
.sales-table a.sale-number:focus-visible,
.sales-table a.sale-number:hover{
  background:color-mix(in srgb,var(--accent) 10%,transparent);
}

/* Sidebar with restricted profiles: do not stretch a few menu items across the full height. */
.sidebar nav{
  align-content:start;
  grid-auto-rows:max-content;
}
.sidebar nav a{
  min-height:44px;
}

/* Attachments table: filenames are primary actions and need readable space. */
.table-wrap:has(td[data-label="Arquivo"]) table{
  table-layout:auto;
}
.table-wrap:has(td[data-label="Arquivo"]) th:first-child,
.table-wrap:has(td[data-label="Arquivo"]) td[data-label="Arquivo"]{
  width:clamp(16rem,32vw,26rem);
}
.table-wrap td[data-label="Arquivo"]>a:not(.button){
  width:100%;
  max-width:26rem;
  overflow-wrap:anywhere;
  word-break:normal;
}
.table-wrap:has(td[data-label="Arquivo"]) th:nth-child(4),
.table-wrap:has(td[data-label="Arquivo"]) td[data-label="Tamanho"]{
  min-width:6rem;
  white-space:nowrap;
}
.table-wrap:has(td[data-label="Arquivo"]) th:nth-child(5),
.table-wrap:has(td[data-label="Arquivo"]) td[data-label="Data"]{
  min-width:9rem;
}
@media(max-width:780px){
  .table-wrap td[data-label="Arquivo"]{
    display:grid;
    grid-template-columns:1fr;
    gap:.45rem;
  }
  .table-wrap td[data-label="Arquivo"]::before{
    display:block;
  }
  .table-wrap td[data-label="Arquivo"]>a:not(.button){
    max-width:none;
    min-height:48px;
  }
}

/* Operational registries: keep dense desktop tables readable without creating awkward word breaks. */
.table-wrap:has(td[data-label="Quilometragem"]) th:nth-child(6),
.table-wrap:has(td[data-label="Quilometragem"]) td[data-label="Quilometragem"]{
  min-width:8.5rem;
  white-space:nowrap;
}
.table-wrap:has(td[data-label="Quilometragem"]) th:nth-child(2),
.table-wrap:has(td[data-label="Quilometragem"]) td[data-label="Cliente"]{
  min-width:11rem;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.table-wrap td[data-label="E-mail"],
.table-wrap td[data-label="Email"]{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Sale item notes need to remain readable in consultation/correction without making the sale grid bulky. */
.sale-item textarea[name="service_notes[]"]{
  min-height:44px;
  max-height:8rem;
  resize:vertical;
}
.sale-form-fields:disabled .sale-item textarea[name="service_notes[]"]{
  min-height:64px;
  overflow:auto;
}

/* Administrative pages: make subscription and auxiliary registries decision-oriented. */
.subscription-heading,
.auxiliary-heading{
  align-items:center;
}
.subscription-status-card{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:1rem;
  margin-bottom:1rem;
}
.subscription-status-card span,
.auxiliary-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.subscription-status-card strong,
.auxiliary-summary-grid strong{
  display:block;
  margin:.25rem 0;
  font-size:clamp(1.4rem,2.5vw,2.2rem);
  line-height:1.08;
  overflow-wrap:anywhere;
}
.subscription-status-card p{
  margin:0;
  color:var(--muted);
}
.subscription-metrics{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.auxiliary-summary-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:1rem;
  margin:1rem 0;
}
.auxiliary-form .form-title{
  margin-bottom:.25rem;
}
.privacy-heading,
.attachments-heading{
  align-items:center;
}
.privacy-summary-grid,
.attachments-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.privacy-summary-grid span,
.attachments-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.privacy-summary-grid strong,
.attachments-summary-grid strong{
  display:block;
  margin:.25rem 0;
  font-size:clamp(1.35rem,2.4vw,2.1rem);
  line-height:1.1;
  overflow-wrap:anywhere;
}
.privacy-summary-grid small,
.attachments-summary-grid small{
  color:var(--muted);
  font-weight:700;
}
.privacy-export-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
}
.privacy-export-panel h2,
.privacy-export-panel p{
  margin-top:0;
}
.privacy-export-panel p{
  margin-bottom:0;
  color:var(--muted);
}
.attachments-form .form-title,
.privacy-request-form .form-title{
  margin-bottom:.25rem;
}
.users-heading,
.permissions-heading{
  align-items:center;
}
.users-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.users-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.users-summary-grid strong{
  display:block;
  margin:.25rem 0;
  font-size:clamp(1.45rem,2.5vw,2.2rem);
}
.users-create-form .form-title,
.users-action-form .form-title,
.permissions-form .form-title{
  margin-bottom:.25rem;
}
.permission-choice span{
  display:grid;
  gap:.15rem;
}
.permission-choice small{
  color:var(--muted);
  font-size:.78rem;
  font-weight:600;
}
.users-list-panel .table-wrap table{
  table-layout:auto;
}
.users-list-panel .table-wrap td[data-label="E-mail"]{
  min-width:15rem;
  max-width:22rem;
  overflow-wrap:anywhere;
  word-break:normal;
}
.users-list-panel .table-wrap td[data-label="Nome"]{
  min-width:12rem;
}
.users-list-panel .table-wrap th:first-child,
.users-list-panel .table-wrap td[data-label="ID"]{
  min-width:4.5rem;
  white-space:nowrap;
}
@media(max-width:780px){
  .subscription-status-card,
  .auxiliary-summary-grid,
  .privacy-summary-grid,
  .attachments-summary-grid,
  .privacy-export-panel,
  .users-summary-grid{
    grid-template-columns:1fr;
  }
  .subscription-heading .button,
  .auxiliary-heading .button,
  .privacy-heading .action-row,
  .attachments-heading .button,
  .privacy-export-panel .button,
  .users-heading .action-row,
  .permissions-heading .button{
    width:100%;
  }
}

/* Reports: executive summary first, filters compact, and dense tables remain usable on mobile. */
.report-heading{
  align-items:center;
}
.report-filter{
  grid-template-columns:repeat(2,minmax(150px,1fr)) repeat(4,auto);
  align-items:end;
}
.report-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.report-summary-card{
  display:grid;
  gap:.35rem;
}
.report-summary-card span{
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.report-summary-card strong{
  font-size:clamp(1.6rem,3vw,2.6rem);
  line-height:1.05;
  overflow-wrap:anywhere;
}
.report-summary-card small{
  color:var(--muted);
  font-weight:700;
}
.report-metrics{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.report-metrics article strong{
  font-size:clamp(1.2rem,1.8vw,1.85rem);
  line-height:1.15;
  word-break:normal;
}
.report-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:start;
}
.report-panel{
  min-width:0;
}
.report-empty{
  margin:1rem 0;
}
@media(max-width:980px){
  .report-filter{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .report-filter .button{
    width:100%;
  }
  .report-summary-grid,
  .report-section-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .report-heading .action-row{
    width:100%;
    grid-template-columns:1fr;
  }
  .report-filter{
    grid-template-columns:1fr 1fr;
  }
  .report-filter label{
    grid-column:span 1;
  }
  .report-filter .button{
    min-height:46px;
    padding-inline:.7rem;
  }
  .report-summary-card{
    padding:1rem;
  }
}
