/* Shared density for the administration panel and private customer portal. */
:is(.has-sidebar,.compact-portal){--control-height:32px;font-size:12px}
.has-sidebar .app-main{padding:16px 20px 28px;max-width:1800px}
.has-sidebar .flux-topbar{min-height:58px;padding:8px 20px}
.has-sidebar .topbar-title{font-size:18px}
:is(.app-main,.portal-shell) .page-head{margin-bottom:14px;gap:10px}
:is(.app-main,.portal-shell) .page-head h1{font-size:22px;line-height:1.2}
:is(.app-main,.portal-shell) p{font-size:12px;line-height:1.45;margin-block:6px 10px}
:is(.app-main,.portal-shell) .workspace,:is(.app-main,.portal-shell) .system-config{padding:12px 14px;margin-bottom:12px;border:1px solid var(--color-rule);border-top:3px solid var(--color-accent);border-radius:10px;box-shadow:0 3px 12px #0b1b3308;min-width:0}
:is(.app-main,.portal-shell) .workspace:nth-of-type(3n+2){border-top-color:#9856cc}
:is(.app-main,.portal-shell) .workspace:nth-of-type(3n){border-top-color:#1aab8a}
:is(.app-main,.portal-shell) h2{font-size:15px;line-height:1.3;margin-block:0 9px}
:is(.app-main,.portal-shell) h3{font-size:13px;line-height:1.3}
:is(.app-main,.portal-shell) .section-bar{margin-bottom:10px;gap:10px}
:is(.app-main,.portal-shell) .form-grid,:is(.app-main,.portal-shell) .service-form{gap:10px 12px}
:is(.app-main,.portal-shell) label{font-size:11px;gap:4px}
:is(.app-main,.portal-shell) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]){min-height:32px;padding:6px 9px;font-size:12px;border-radius:7px}
:is(.app-main,.portal-shell) textarea{min-height:64px}
:is(.app-main,.portal-shell) :is(input[type=checkbox],input[type=radio]){min-height:0;width:16px;height:16px;flex-shrink:0}
:is(.app-main,.portal-shell) .key{min-height:30px;padding:6px 10px;font-size:11px;border-radius:7px;line-height:1.3}
:is(.app-main,.portal-shell) .key:before{display:none}
:is(.app-main,.portal-shell) .form-actions{gap:8px;padding-top:4px;margin:0}
:is(.app-main,.portal-shell) .filter-row{gap:10px;margin-bottom:12px}
:is(.app-main,.portal-shell) .table-scroll{max-width:100%;border:1px solid var(--color-rule);border-radius:9px;overflow:auto}
:is(.app-main,.portal-shell) table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%;font-variant-numeric:tabular-nums}
:is(.app-main,.portal-shell) table :is(th,td){padding:7px 10px;line-height:1.3;vertical-align:middle}
:is(.app-main,.portal-shell) thead th{padding-block:9px;background:var(--color-accent-wash);font-size:10px;letter-spacing:.035em;text-transform:uppercase;color:var(--color-ink-2)}
:is(.app-main,.portal-shell) tbody th{min-width:120px;font-size:12px}
:is(.app-main,.portal-shell) tbody tr:nth-child(even)>*{background:color-mix(in srgb,var(--color-accent-wash) 30%,var(--color-paper))}
:is(.app-main,.portal-shell) tbody tr:hover>*{background:var(--color-accent-wash)}
:is(.app-main,.portal-shell) tbody :is(td,th){transition:background-color .16s ease}
:is(.app-main,.portal-shell) table a{font-weight:600;text-underline-offset:3px}
:is(.app-main,.portal-shell) table :is(input,select){max-width:260px}
:is(.app-main,.portal-shell) table small{font-size:10px;margin-top:3px}
:is(.app-main,.portal-shell) table form{margin:0}
:is(.app-main,.portal-shell) .state{padding:3px 7px;min-height:0;border-radius:999px;font-size:10px;line-height:1.3;animation:none}
.row-actions{white-space:nowrap}.row-actions a+a{margin-left:12px}
.record-table{min-width:500px;table-layout:fixed}.record-table th{width:17%;color:var(--color-muted)}.record-table td{width:33%;overflow-wrap:anywhere}
.services-table{min-width:720px}.services-table .state{margin-left:5px}
.compact-disclosure>summary{padding:8px 4px;cursor:pointer;color:var(--color-accent-deep);font-size:12px;font-weight:650;transition:color .16s,background .16s;border-radius:6px}
.compact-disclosure>summary:hover{background:var(--color-accent-wash)}
.compact-disclosure[open]>summary{margin-bottom:10px;border-bottom:1px solid var(--color-rule)}
.compact-disclosure:target{outline:2px solid var(--color-accent);outline-offset:2px;scroll-margin-top:74px}
.service-list{display:block}.service-list>.compact-disclosure{border-top:1px solid var(--color-rule);margin-top:7px;padding:3px 0}
.service-list .service-row{display:block;padding:10px 0;border:0}.service-list .service-identity{margin-bottom:10px}.service-list .service-membership{padding:10px;margin:8px 0 12px}.service-list .service-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.client-summary h2{margin-bottom:10px}.onboarding-result{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.onboarding-result h2,.onboarding-result p{margin:0}.onboarding-result .client-record-actions{margin-left:auto}.client-record-actions{gap:7px}
:is(.app-main,.portal-shell) .detail-list{margin-block:8px}.detail-list>div{padding:8px 10px;border-bottom:1px solid var(--color-rule)}
:is(.app-main,.portal-shell) .summary-stats,:is(.app-main,.portal-shell) .finance-totals{gap:0;margin:12px 0;padding:0;border:1px solid var(--color-rule);border-radius:9px;overflow:hidden;background:var(--color-paper)}
:is(.app-main,.portal-shell) :is(.summary-stats,.finance-totals)>div{padding:10px 14px;margin:0;border:0;border-left:3px solid var(--color-accent);border-radius:0;box-shadow:none;background:transparent}
:is(.app-main,.portal-shell) :is(.summary-stats,.finance-totals)>div:nth-child(2){border-left-color:#9856cc}
:is(.app-main,.portal-shell) :is(.summary-stats,.finance-totals)>div:nth-child(3){border-left-color:#1aab8a}
:is(.app-main,.portal-shell) :is(.summary-stats,.finance-totals) dt{font-size:11px}
:is(.app-main,.portal-shell) :is(.summary-stats,.finance-totals) dd{font-size:20px;margin:4px 0 0}
.ct-overview-table{min-width:950px}.ct-overview-table meter{display:block;height:6px;width:100%;max-width:130px;margin-top:4px;accent-color:var(--color-accent)}
.has-sidebar .system-configs{display:block}.compact-portal .theme-toggle{border:1px solid var(--color-rule);border-radius:7px;background:var(--color-paper);color:var(--color-ink);padding:7px 10px;cursor:pointer}
@media(max-width:600px){:is(.app-main,.portal-shell) .finance-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px}:is(.app-main,.portal-shell) .finance-totals dd{font-size:18px;margin:0}.record-table{min-width:500px}}
.registration-settings{padding:12px 0}.resource-grid{gap:12px}.resource-form{padding:12px!important;border-radius:9px}.comm-notice{padding:12px!important;margin-bottom:10px}
.compact-portal .portal-shell{max-width:1400px;padding:20px}.compact-portal .portal-shell footer{padding-top:12px}.compact-portal .workspace{clip-path:none;corner-shape:round}.compact-portal .billing-choice{padding:12px}.compact-portal .billing-choice strong{font-size:20px}
@media(min-width:1200px){#editar-cliente .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#editar-cliente .form-actions{grid-column:1/-1}}
@media(prefers-reduced-motion:no-preference){:is(.app-main,.portal-shell)>.workspace,:is(.app-main,.portal-shell)>.system-config{animation:compact-enter .22s ease-out both}.compact-disclosure[open]>:not(summary){animation:compact-enter .16s ease-out}.key{transition:background-color .16s,box-shadow .16s,transform .16s}@keyframes compact-enter{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){:is(.has-sidebar,.compact-portal) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:900px){.has-sidebar .app-bar{top:58px;height:calc(100dvh - 58px)}.nav-open .nav-backdrop{top:58px}.has-sidebar .app-main{padding:14px 12px 24px}.has-sidebar .flux-topbar{padding:8px 12px}.service-list .service-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){:is(.app-main,.portal-shell) .page-head h1{font-size:20px}:is(.app-main,.portal-shell) .workspace{padding:10px}.compact-portal .portal-shell{padding:14px 10px}:is(.app-main,.portal-shell) .key{min-height:36px}:is(.app-main,.portal-shell) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]){font-size:16px;min-height:36px}.service-list .service-form{grid-template-columns:1fr}.onboarding-result .client-record-actions{margin-left:0}.client-record-actions{width:auto}.compact-disclosure>summary{min-height:36px;padding-block:10px}.finance-totals{grid-template-columns:1fr!important}}
