:root {
  --button-height: 2.75rem;
  --control-height: 2.75rem;
  --button-padding-block: .7rem;
  --button-padding-inline: 1rem;
  --button-radius: .4rem;
  --button-gap: .5rem;
  --space-shell-description: 1rem;
  --space-description-surface: 1rem;
  --space-content-action: 1rem;
  --space-table-pagination: 1rem;
  color-scheme: light;
  font-family: system-ui, sans-serif;
  color: #172033;
  background: #f4f6f8;
}
* { box-sizing: border-box; }
html, body { margin: 0; max-width: 100%; overflow-x: clip; }
.site-header { align-items: center; background: #172033; color: white; display: flex; justify-content: space-between; min-width: 0; padding: 1rem max(1rem, calc((100vw - 60rem) / 2)); }
.site-header > * { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.site-header > a { flex-grow: 0; }
.site-header > span { text-align: right; }
.site-header form { margin: 0; }
.site-header a { color: inherit; font-weight: 700; text-decoration: none; }
.site-header img { display: block; height: 2.25rem; max-width: 9rem; width: auto; }
.landing-page { background: var(--brand-background); color: var(--brand-text); }
.landing-header { align-items: center; background: #ffffff; border-bottom: 1px solid #d9dee7; display: flex; gap: 1.5rem; justify-content: space-between; padding: .85rem max(1rem, calc((100vw - 72rem) / 2)); position: sticky; top: 0; z-index: 20; }
.landing-brand { color: var(--brand-text); font-weight: 800; text-decoration: none; }
.landing-brand img { display: block; height: auto; max-height: 2.25rem; max-width: 9rem; width: auto; }
.landing-header nav { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: flex-end; }
.landing-header nav a:not(.button) { color: var(--brand-text); font-weight: 600; text-decoration: none; }
.landing-header nav .button { margin: 0; }
.landing-page main { margin: 0 auto; max-width: 72rem; padding: 0 1rem; }
.landing-hero { padding: clamp(3rem, 7vw, 5rem) clamp(0rem, 5vw, 4rem); }
.landing-hero-layout--with-visual { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.landing-hero-copy { margin: 0 auto; max-width: 58rem; text-align: center; }
.landing-hero-layout--with-visual .landing-hero-copy { margin: 0; text-align: left; }
.landing-hero-layout--with-visual .landing-hero-copy h1 { margin-left: 0; }
.landing-hero-layout--with-visual .landing-hero-copy > p:not(.landing-eyebrow) { margin-left: 0; }
.landing-hero-layout--with-visual .landing-actions { justify-content: flex-start; }
.landing-hero-visual { display: flex; justify-content: center; min-width: 0; }
.landing-hero-visual img { display: block; height: auto; max-height: min(32rem, 60vh); max-width: 100%; object-fit: contain; width: auto; }
.landing-hero h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1.05; margin: .5rem auto 1.25rem; max-width: 52rem; }
.landing-hero-copy > p:not(.landing-eyebrow) { font-size: 1.15rem; line-height: 1.6; margin: 0 auto; max-width: 42rem; }
.landing-eyebrow { color: var(--brand-primary); font-size: .8rem; font-weight: 800; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.landing-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 2rem; }
.landing-actions .button { margin-top: 0; }
.landing-section { padding: clamp(2.75rem, 6vw, 4.75rem) 0; scroll-margin-top: 5rem; }
.landing-section-heading { margin-bottom: 2rem; max-width: 42rem; }
.landing-section-heading h2 { font-size: clamp(1.7rem, 4vw, 2.7rem); line-height: 1.15; margin: .5rem 0 0; }
.landing-feature-grid, .landing-plan-grid { display: grid; gap: 1rem; }
.landing-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-feature-grid article, .landing-plan-card { background: #ffffff; border: 1px solid #d9dee7; border-radius: .75rem; padding: 1.5rem; }
.landing-feature-grid article { box-shadow: 0 8px 24px #1720330d; }
.landing-feature-grid h3, .landing-plan-card h3 { margin-top: 0; }
.landing-feature-grid p, .landing-plan-card p { line-height: 1.55; }
.landing-feature-icon { align-items: center; background: #eaf0ff; border-radius: .65rem; color: var(--brand-primary); display: inline-flex; height: 2.75rem; justify-content: center; margin-bottom: 1rem; width: 2.75rem; }
.landing-feature-icon svg { height: 1.5rem; width: 1.5rem; }
.landing-steps ol { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.landing-steps li { align-items: flex-start; background: #ffffff; border: 1px solid #d9dee7; border-radius: .75rem; display: flex; gap: .75rem; padding: 1.25rem; }
.landing-steps li strong { align-items: center; background: var(--brand-primary); border-radius: 50%; color: #ffffff; display: inline-flex; flex: 0 0 2rem; height: 2rem; justify-content: center; }
.landing-plan-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 22rem)); justify-content: center; }
.landing-plan-card { display: flex; flex-direction: column; }
.landing-plan-card .landing-plan-price { color: var(--brand-primary); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; margin: .75rem 0; }
.landing-plan-card ul { line-height: 1.8; min-height: 10rem; padding-left: 1.25rem; }
.landing-plan-card .button { margin-top: auto; }
.landing-empty { background: #ffffff; border: 1px solid #d9dee7; border-radius: .75rem; padding: 1.5rem; }
.landing-contact { align-items: start; display: grid; gap: clamp(1.5rem, 5vw, 3rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.landing-contact-copy { min-height: 100%; }
.landing-contact-form { background: #ffffff; border: 1px solid #d9dee7; border-radius: .75rem; padding: clamp(1rem, 3vw, 2rem); }
.landing-contact-form .button { margin-top: .5rem; }
.landing-honeypot { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.landing-final-cta { background: var(--brand-primary); border-radius: .75rem; color: #ffffff; margin: 2rem 0 4rem; padding: clamp(2rem, 5vw, 4rem); text-align: center; }
.landing-final-cta h2 { margin-top: 0; }
.landing-final-cta .button { background: #ffffff; color: var(--brand-text); margin-top: 0; }
.landing-footer { border-top: 1px solid #d9dee7; color: #56627a; font-size: .8rem; padding: 1.5rem 1rem; }
.landing-footer-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; margin: 0 auto; max-width: 72rem; }
.landing-footer-brand { color: var(--brand-text); display: inline-flex; font-weight: 800; text-decoration: none; }
.landing-footer-brand img { display: block; height: auto; max-height: 1.75rem; max-width: 7rem; width: auto; }
.landing-footer p { margin: .4rem 0 0; }
.landing-footer nav { align-items: center; display: flex; flex-wrap: wrap; gap: .9rem; justify-content: flex-end; }
.landing-footer nav a { color: var(--brand-text); text-decoration: none; }
.landing-footer nav a:hover, .landing-footer nav a:focus-visible { text-decoration: underline; }
.tenant-asset-preview { background: #f4f6f8; border: 1px solid #d9dee7; border-radius: .5rem; display: block; height: auto; max-height: 8rem; max-width: 100%; object-fit: contain; padding: .5rem; width: auto; }
.tenant-asset-preview-slot:empty { display: none; }
.user-tabs { display: grid; gap: var(--button-gap); grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); margin: 1rem 0 1.25rem; padding-top: .5rem; }
.authenticated-shell--compact .user-tabs { margin-block: .5rem .7rem; }
.user-tab { align-items: center; background: #eef1f5; border: 1px solid #aeb7c7; border-radius: var(--button-radius); color: #172033; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; justify-content: center; line-height: 1.2; min-height: var(--button-height); padding: var(--button-padding-block) var(--button-padding-inline); text-align: center; text-decoration: none; width: 100%; }
.authenticated-shell--compact .user-tab { min-height: 2.35rem; padding-block: .45rem; }
.user-tab[aria-selected="true"] { background: #2357d8; border-color: #2357d8; color: white; box-shadow: 0 0 0 2px #8bb5ff; }
.user-tabs-divider { border-top: 1px solid #d9dee7; margin: 0 0 1.25rem; }
.authenticated-shell { margin-bottom: 1rem; }
.authenticated-shell--compact { margin-bottom: .5rem; }
.auth-session-header { align-items: center; background: #fff; border-bottom: 1px solid #d9dee7; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); margin: 0 0 0 calc((100% - 100vw) / 2); padding: calc(.85rem + env(safe-area-inset-top)) max(1rem, 3vw) .85rem; position: sticky; top: 0; width: 100vw; z-index: 20; }
.auth-session-header[data-compact="true"] { padding-block: .6rem; padding-top: calc(.6rem + env(safe-area-inset-top)); }
.authenticated-brand { align-items: center; color: #172033; display: inline-flex; flex: 0 1 auto; font-weight: 700; min-width: 0; text-decoration: none; }
.authenticated-brand img { display: block; height: auto; max-height: 2.25rem; max-width: 9rem; width: auto; }
.auth-session-header p { margin: 0; text-align: center; }
.auth-session-header p { grid-column: 2; }
.auth-session-actions { align-items: center; display: flex; gap: .75rem; grid-column: 3; justify-content: flex-end; }
.auth-session-header form { margin: 0; max-width: none; }
.auth-session-header .button { margin-top: 0; }
.auth-public-header { align-items: center; background: #fff; border-bottom: 1px solid #d9dee7; display: flex; justify-content: space-between; padding: .85rem max(1rem, calc((100vw - 72rem) / 2)); }
.auth-public-header .authenticated-brand { color: var(--brand-text, #172033); }
.auth-public-header .auth-public-landing-link { margin: 0; }
.view-description, .page-header > div > .page-meta:last-child, .user-panel-description, .organization-list-description, .platform-settings-description { border-bottom: 1px solid #d9dee7; margin: 0 0 var(--space-description-surface); padding-bottom: var(--space-description-surface); }
.inline-control { align-items: center; display: flex; gap: .6rem; max-width: 32rem; }
.inline-control input { flex: 1 1 auto; min-width: 0; }
.inline-control .button { flex: 0 0 auto; margin-top: 0; }
.user-panel[hidden] { display: none; }
.user-panel-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: var(--space-description-surface) 0; }
.user-panel-actions .button { margin-top: 0; }
.user-panel > .table-scroll { margin-top: var(--space-description-surface); }
.container { margin: 0 auto 3rem; max-width: 72rem; padding: 0 1rem; }
.authenticated-content-surface { background: white; border: 1px solid #d9dee7; border-radius: .75rem; box-shadow: 0 8px 30px #17203312; padding: clamp(1rem, 3vw, 2rem); }
.authenticated-content-surface > .panel,
.authenticated-content-surface > .card { border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
.listing-surface { background: white; border: 1px solid #d9dee7; border-radius: .75rem; box-shadow: 0 8px 30px #17203312; padding: clamp(1rem, 3vw, 2rem); }
.listing-surface > .breadcrumb { margin-bottom: 2rem; }
.listing-surface__exit { display: flex; justify-content: flex-end; margin: -2.5rem 0 .75rem; }
.listing-surface__exit form { margin: 0; max-width: none; }
.listing-surface__exit .button { margin-top: 0; }
.listing-surface > .listing-panel { border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
.listing-surface > .listing-panel + .listing-panel { border-top: 0; margin-top: 1.5rem; padding-top: 0; }
.listing-surface > .listing-panel > h2 { font-size: 1rem; margin: 0 0 1rem; }
.listing-surface .data-table caption { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(1px, 1px, 1px, 1px); }
.listing-surface .data-toolbar { border-bottom: 1px solid #d9dee7; border-top: 0; margin: var(--space-description-surface) 0 0; padding: var(--space-description-surface) 0; }
.listing-surface .page-header + .listing-panel > .data-toolbar { margin-top: 0; padding-top: 0; }
.organization-root-list .data-toolbar { border-top: 0; margin-top: var(--space-description-surface); }
.breadcrumb { margin-bottom: 1rem; }
.breadcrumb ol { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.breadcrumb li { align-items: center; color: #56627a; display: inline-flex; font-size: .9rem; gap: .45rem; }
.breadcrumb li, .breadcrumb a, .breadcrumb span { min-width: 0; overflow-wrap: anywhere; }
.breadcrumb li:not(:last-child)::after { color: #aeb7c7; content: ">"; }
.breadcrumb a { color: #2357d8; font-weight: 700; }
.card { background: white; border: 1px solid #d9dee7; border-radius: .75rem; padding: clamp(1.25rem, 4vw, 2.5rem); box-shadow: 0 8px 30px #17203312; }
.auth-card { margin: clamp(3rem, 15vh, 10rem) auto 0; max-width: 30rem; text-align: center; }
.auth-page { min-height: 100vh; }
.auth-page-main { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; padding: clamp(1.25rem, 4vw, 3rem) 1rem; }
.auth-page-main > .auth-card { margin: 0; width: min(100%, 30rem); }
.auth-page-main > .site-footer { margin-top: 1rem; width: min(100%, 30rem); }
.auth-page .auth-brand-logo { pointer-events: none; user-select: none; }
.auth-card form { margin-inline: auto; text-align: center; }
.auth-card form label { display: block; margin-inline: auto; text-align: center; }
.auth-card form input[type="email"] { margin-inline: auto; text-align: left; }
.auth-card form .button { display: block; margin-inline: auto; }
.auth-brand-logo { display: block; height: auto; margin: 0 auto 1.5rem; max-height: 4rem; max-width: min(18rem, 100%); width: auto; }
.magic-link-error { margin: 0 auto; max-width: 30rem; text-align: left; }
.magic-link-error h1 { margin-top: 0; }
.magic-link-error .action-area { justify-content: flex-start; }
.panel { background: white; border: 1px solid #d9dee7; border-radius: .75rem; padding: clamp(1rem, 3vw, 2rem); box-shadow: 0 8px 30px #17203312; margin: 1rem 0; }
.page-header { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.page-header > div:first-child { flex: 1 1 auto; min-width: 0; width: 100%; }
.page-header > div:first-child > .page-meta:last-child { display: block; width: 100%; }
.page-header > * { min-width: 0; }
.page-header > div:last-child { display: flex; flex-wrap: wrap; gap: .6rem; }
.page-header > div:last-child .button { margin-top: 0; }
.page-header h1 { margin: .2rem 0; }
.page-header h1, .page-header p { overflow-wrap: anywhere; }
.page-meta { color: #56627a; margin: .25rem 0; }
.page-meta.view-description, .page-meta.platform-settings-description { margin-bottom: var(--space-description-surface); }
.user-panel-description--stacked span { display: block; }
.feedback { margin: 1rem 0; opacity: 1; transition: opacity .18s ease, max-height .18s ease, margin .18s ease, padding-block .18s ease; }
.feedback--success { background: #dcf7e6; color: #126b35; }
.feedback[role="status"] { background: #eef4ff; color: #172033; }
.feedback--warning { background: #fff0c7; color: #795600; }
.feedback--error, .feedback[role="alert"] { background: #fff0f0; color: #8d1f1f; }
.feedback--dismissed { margin-block: 0; max-height: 0; opacity: 0; overflow: hidden; padding-block: 0; }
@media (prefers-reduced-motion: reduce) {
  .feedback { transition: none; }
}
.qr-code { margin-inline: auto; max-width: 18rem; }
.qr-countdown { color: #56627a; margin: .5rem 0 0; text-align: center; }
.data-toolbar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.data-toolbar input { max-width: 24rem; }
.listing-toolbar__controls { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.listing-toolbar__controls > .toolbar-actions,
.listing-toolbar__controls > .listing-search { align-self: center; margin: 0; }
.toolbar-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; }
.toolbar-actions .button { margin-top: 0; }
.listing-search { align-items: flex-end; display: flex; flex: 0 1 32rem; flex-wrap: nowrap; gap: .6rem; max-width: 32rem; min-width: 0; }
.listing-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.listing-search input[type="search"] { flex: 1 1 auto; min-width: 0; }
.listing-search .button { flex: 0 0 auto; margin-top: 0; }
.search-icon-button { align-items: center; display: inline-flex; justify-content: center; padding: .7rem; }
.search-icon-button svg { height: 1.25rem; width: 1.25rem; }
.listing-search .button,
.listing-action-area .button { align-self: flex-end; }
.listing-panel > .listing-search { margin-bottom: var(--space-description-surface); margin-left: auto; }
.listing-panel > .listing-toolbar__controls { margin-bottom: var(--space-description-surface); }
.listing-toolbar__controls > .listing-search { flex: 1 1 auto; justify-content: flex-end; max-width: none; width: auto; }
.listing-toolbar__controls .button,
.listing-toolbar__controls input[type="search"] { margin-block: 0; min-height: var(--control-height); }
.listing-surface .page-header { align-items: flex-start; margin-bottom: 0; }
.listing-surface .page-header > div:last-child { align-items: center; }
.sort-link { color: inherit; text-decoration: none; }
.sort-link:hover { text-decoration: underline; }
.pagination { justify-content: center; flex-wrap: nowrap; }
.pagination__links { align-items: center; display: flex; flex-wrap: nowrap; gap: .4rem; justify-content: center; }
.pagination__number[aria-current="page"] { background: #172033; }
.button.is-disabled { opacity: .5; pointer-events: none; }
.table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table { border-collapse: collapse; min-width: 44rem; width: 100%; }
.data-table th, .data-table td { border-bottom: 1px solid #d9dee7; padding: .85rem .65rem; text-align: left; vertical-align: top; }
.data-table th small { color: #56627a; display: block; font-weight: 400; margin-top: .2rem; }
.data-table form { display: grid; gap: .4rem; max-width: 32rem; }
.data-table td, .data-table th, .data-table a, .data-table button { overflow-wrap: anywhere; }
.row-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.row-actions .button { min-width: 6.5rem; }
.data-table .row-actions form { align-items: center; align-self: center; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; max-width: none; padding: 0; width: auto; }
.data-table .row-actions > .button,
.data-table .row-actions form > .button { align-self: center; margin-block: 0; min-height: var(--control-height); }
.invitation-table { table-layout: fixed; }
.invitation-table thead th:nth-child(1) { width: 22%; }
.invitation-table thead th:nth-child(2) { width: 13%; }
.invitation-table thead th:nth-child(3) { width: 12%; }
.invitation-table thead th:nth-child(4) { width: 15%; }
.invitation-table thead th:nth-child(5) { width: 16%; }
.invitation-table thead th:nth-child(6) { width: 22%; }
.invitation-table .badge { white-space: nowrap; }
.invitation-actions { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.invitation-actions details { grid-column: 1 / -1; }
.data-table .invitation-actions form { display: block; }
.invitation-actions .button { width: 100%; }
.badge { border-radius: 999px; display: inline-block; font-size: .8rem; font-weight: 700; padding: .25rem .55rem; }
.badge--success { background: #dcf7e6; color: #126b35; }
.badge--warning { background: #fff0c7; color: #795600; }
.badge--neutral { background: #eef1f5; color: #56627a; }
.button--secondary { background: #56627a; }
.site-footer { border-top: 1px solid #e2e7ef; color: #6b7890; font-size: .75rem; margin-top: 2rem; padding: 1rem 0; text-align: center; }
.scanner-panel { text-align: center; }
.scanner-panel .scanner-description { margin: 0 0 var(--space-description-surface); text-align: left; }
.scanner-controls { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin: 1.25rem auto; max-width: 32rem; }
.scanner-controls .button { flex: 1 1 9rem; min-width: 9rem; margin-top: 0; }
.scanner-panel video { display: block; margin: 1rem auto; max-width: min(100%, 32rem); border-radius: .5rem; }
.scanner-panel video[hidden] { display: none; }
.root-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.organization-detail-title { font-weight: 400; }
.organization-detail-sections { display: grid; gap: 0; }
.organization-detail-section { border-top: 1px solid #d9dee7; margin-top: var(--space-content-action); padding-top: var(--space-content-action); }
.organization-detail-section:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.organization-detail-section h2 { margin-top: 0; }
.description-list { display: grid; gap: .75rem; }
.description-list div { border-bottom: 1px solid #d9dee7; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: .5rem; }
.description-list dt { color: #56627a; font-weight: 700; }
.description-list dd { margin: 0; text-align: right; }
.user-profile-summary div { overflow-wrap: anywhere; }
.asset-upload { border-top: 1px solid #d9dee7; margin-top: 1rem; padding-top: 1rem; }
.organization-edit-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.organization-edit-block, .organization-edit-section { min-width: 0; }
.organization-edit-block { display: grid; gap: .6rem; align-content: start; }
.organization-field { display: grid; gap: .6rem; min-width: 0; }
.organization-edit-block h2, .organization-edit-section h2 { margin-top: 0; }
.organization-edit-block input, .organization-edit-block select { max-width: none; min-width: 0; width: 100%; }
.organization-address-row, .organization-plan-grid { display: grid; gap: .6rem; grid-template-columns: minmax(0, 1.7fr) minmax(7rem, .8fr); }
.organization-address-row > div, .organization-plan-grid > div { min-width: 0; }
.plan-form { display: grid; gap: 0; }
.plan-section { min-width: 0; }
.plan-section + .plan-section { border-top: 1px solid #d9dee7; margin-top: var(--space-content-action); padding-top: var(--space-content-action); }
.plan-data-grid, .plan-entitlements-grid { display: grid; gap: .6rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plan-field--full { grid-column: 1 / -1; }
.plan-section h2 { margin-top: 0; }
.organization-edit-section { border-top: 1px solid #d9dee7; margin-top: var(--space-description-surface); padding-top: var(--space-description-surface); }
.organization-color-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.organization-color-control, .organization-color-inputs { display: grid; gap: .6rem; }
.organization-color-inputs { grid-template-columns: 3rem minmax(0, 1fr); }
.organization-color-picker { block-size: var(--control-height); cursor: pointer; min-width: 0; padding: .15rem; width: 100%; }
.organization-assets-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; }
.organization-asset-control { border: 1px solid #d9dee7; border-radius: .5rem; display: flex; flex-direction: column; min-width: 0; padding: 1rem; }
.organization-asset-control h3 { margin: 0 0 .75rem; }
.asset-preview { align-items: center; background: #f4f6f8; border-radius: .4rem; display: flex; height: 9rem; justify-content: center; overflow: hidden; width: 100%; }
.asset-preview--square_logo { aspect-ratio: 1; height: auto; max-width: 9rem; }
.asset-preview--horizontal_logo, .asset-preview--hero { height: 7rem; }
.asset-preview img { display: block; height: 100%; object-fit: contain; width: 100%; }
.asset-preview span { color: #56627a; font-size: .9rem; text-align: center; }
.organization-asset-control .optional { margin: .75rem 0 0; }
.asset-file-label { margin-top: auto; }
.asset-file-input { height: 1px; margin: -1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.organization-plan-status > p { margin-top: 0; }
.asset-list { margin-top: 1.5rem; }
.optional { color: #56627a; font-size: .85rem; }
.empty-state { background: #f4f6f8; border-radius: .5rem; padding: 1rem; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }
.eyebrow { color: #56627a; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.status, .notice { background: #eef4ff; border-radius: .5rem; padding: .75rem; }
form { display: grid; gap: .6rem; max-width: 32rem; }
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select { block-size: var(--control-height); }
input { border: 1px solid #aeb7c7; border-radius: .4rem; font: inherit; min-height: var(--control-height); padding: .7rem; }
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
select { background: white; border: 1px solid #aeb7c7; border-radius: .4rem; font: inherit; min-height: var(--control-height); padding: .7rem; width: 100%; }
select:focus, input:focus, button:focus, a:focus { outline: 3px solid #8bb5ff; outline-offset: 2px; }
select:disabled { background: #eef1f5; color: #687386; cursor: not-allowed; }
fieldset.profile-location { display: grid; gap: .6rem; margin: .5rem 0; max-width: 32rem; padding: 1rem; }
fieldset.form-location { display: grid; gap: .6rem; margin: .5rem 0; max-width: 32rem; padding: 1rem; }
fieldset.form-location label { margin-top: 0; }
fieldset.profile-location--plain { border: 0; padding-inline: 0; }
fieldset.profile-location legend { font-weight: 700; padding: 0 .35rem; }
.platform-settings-form { max-width: none; }
.platform-settings-panel { max-width: none; }
.platform-settings-form { display: grid; gap: 1rem; }
.platform-settings-form fieldset { display: grid; gap: .6rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; max-width: none; padding: 1rem; }
.platform-settings-form fieldset legend, .platform-settings-form fieldset > p { grid-column: 1 / -1; }
.platform-settings-form fieldset legend { font-size: 1.05rem; font-weight: 700; padding: 0 .35rem; }
.platform-settings-form fieldset label { align-self: center; margin-top: 0; }
.platform-settings-form fieldset input, .platform-settings-form fieldset select { max-width: none; width: 100%; }
.setting-input-with-unit { align-items: center; display: flex; gap: .5rem; min-width: 0; }
.setting-input-with-unit input { flex: 0 1 10rem; min-width: 0; }
.setting-input-with-unit span, .settings-abuse-row > span { color: #56627a; white-space: nowrap; }
.settings-abuse-matrix { display: grid; gap: 0; grid-column: 1 / -1; min-width: 0; }
.settings-abuse-row { align-items: center; border-bottom: 1px solid #eef1f5; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr) minmax(6rem, 8rem) minmax(6rem, 8rem) auto; padding: .45rem 0; }
.settings-abuse-row:last-child { border-bottom: 0; }
.settings-abuse-row label { margin: 0; }
.settings-abuse-header { border-bottom: 1px solid #d9dee7; color: #56627a; font-size: .8rem; font-weight: 700; padding-top: 0; }
.settings-abuse-row input { max-width: 8rem; width: 100%; }
.settings-section--branding { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-section--branding input, .settings-section--branding select { grid-column: auto; }
.settings-section--branding label[for="default_brand_organization_id"], .settings-section--branding label[for="public_registration_organization_id"] { grid-column: 1; }
.settings-section--branding select { grid-column: 2; }
.settings-section--credential, .settings-section--operation { align-content: start; }
.platform-settings-form fieldset p { margin: 0; }
.platform-settings-form input:not([type="hidden"]) { width: 100%; }
.platform-settings-form > .action-area { justify-content: flex-end; margin-top: .25rem; }
.platform-settings-assets { border-top: 1px solid #d9dee7; display: grid; gap: .75rem; margin-top: .5rem; min-width: 0; padding-top: 1rem; width: 100%; }
.platform-settings-assets h2, .platform-settings-maintenance h2 { font-size: 1.05rem; margin: 0; }
.platform-settings-assets .asset-upload { align-items: center; background: #f8fafc; border: 1px solid #d9dee7; border-radius: .5rem; box-sizing: border-box; display: grid; gap: .75rem 1rem; grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr) auto; margin: 0; min-width: 0; padding: .75rem; width: 100%; }
.platform-settings-assets .asset-upload > label { font-weight: 700; grid-column: 1 / -1; grid-row: 1; }
.platform-settings-assets .asset-upload > .tenant-asset-preview-slot { grid-column: 1; grid-row: 2; min-width: 0; }
.platform-settings-assets .asset-upload > input[type="file"] { grid-column: 2; grid-row: 2; min-width: 0; overflow: hidden; width: 100%; }
.platform-settings-assets .asset-upload > button { grid-column: 3; grid-row: 2; white-space: nowrap; }
.platform-settings-assets .asset-upload > .page-meta { grid-column: 1 / -1; margin: 0; }
.platform-settings-maintenance { border-top: 1px solid #d9dee7; display: grid; gap: .75rem; margin-top: .5rem; padding-top: 1rem; }
.platform-settings-maintenance .asset-upload { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin: 0; }
.platform-settings-maintenance .asset-upload .page-meta { margin: 0; }
.platform-settings-actions { border-top: 1px solid #d9dee7; justify-content: flex-end; margin-top: 1rem; padding-top: 1rem; }
.profile-form { max-width: none; }
.profile-section { min-width: 0; }
.profile-section h2 { margin-top: 0; }
.profile-personal-grid, .profile-address-grid { display: grid; gap: .6rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-personal-grid > div, .profile-address-grid > div { min-width: 0; }
.profile-personal-grid input, .profile-personal-grid .inline-control, .profile-address-grid select { max-width: none; width: 100%; }
.profile-email-field { grid-column: 1 / -1; }
.profile-section--address { border-top: 1px solid #d9dee7; margin-top: var(--space-description-surface); padding-top: var(--space-description-surface); }
.profile-location { margin: 0; }
.profile-location--plain { max-width: none; }
.profile-commune-field { grid-column: 1 / -1; }
.profile-form > .action-area { width: 100%; }
.member-invitation-form { max-width: none; }
.member-invitation-form > input:not([type="hidden"]), .member-invitation-form > select { max-width: 32rem; }
.member-invitation-form > .action-area { width: 100%; }
.form-section-divider { border-top: 1px solid #d9dee7; margin-top: var(--space-description-surface); padding-top: var(--space-description-surface); }
.panel > form { max-width: none; }
.panel > form:not(.platform-settings-form):not(.profile-form) > input:not([type="hidden"]), .panel > form:not(.platform-settings-form):not(.profile-form) > select, .panel > form:not(.platform-settings-form):not(.profile-form) > textarea, .panel > form:not(.platform-settings-form):not(.profile-form) > fieldset { max-width: 32rem; }
.panel > form > .action-area { width: 100%; }
.benefit-form, .campaign-form, .channel-form { align-content: start; max-width: none !important; width: 100%; }
.benefit-form > .form-section, .campaign-form > .form-section, .channel-form > .form-location { max-width: none; width: 100%; box-sizing: border-box; }
.benefit-form > .form-section { display: grid; gap: .6rem; align-content: start; }
.benefit-form label { margin-top: 0; }
.benefit-form input:not([type="hidden"]), .benefit-form select, .benefit-form textarea { max-width: none; width: 100%; }
.benefit-form textarea { min-height: 7rem; resize: vertical; }
.benefit-validity-grid { display: grid; gap: .6rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.benefit-validity-grid > div, .benefit-usage-policy { display: grid; gap: .6rem; min-width: 0; }
.benefit-checkbox { align-items: center; display: flex; gap: .6rem; }
.benefit-checkbox input { width: auto; }
.benefit-form [data-usage-limit][hidden] { display: none; }
.button { align-items: center; background: #2357d8; border: 0; border-radius: var(--button-radius); box-sizing: border-box; color: white; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; gap: var(--button-gap); height: var(--button-height); justify-content: center; line-height: 1.2; margin-top: .75rem; min-height: var(--button-height); padding-block: 0; padding-inline: var(--button-padding-inline); text-align: center; text-decoration: none; width: fit-content; }
.action-area > .button, .action-area > button.button { block-size: var(--button-height); min-block-size: var(--button-height); }
.action-area { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; border-top: 1px solid #d9dee7; margin-top: var(--space-content-action); padding-top: var(--space-content-action); }
.pagination + .listing-action-area { border-top: 0; margin-top: .75rem; padding-top: 0; }
.territory-listing-actions { border-top: 0; margin-top: 0; padding-top: 0; }
.territory-form-section { border-top: 1px solid #d9dee7; margin-top: var(--space-content-action); padding-top: var(--space-content-action); }
.territory-form-section h2 { margin-top: 0; }
.territory-form-grid { display: grid; gap: .6rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.territory-field--full { grid-column: 1 / -1; }
.user-panel-action-area { border-top: 0; margin-top: .75rem; padding-top: 0; }
.data-table .action-area { border-top: 0; margin-top: 0; padding-top: 0; }
.action-area > .button { margin-top: 0; }
.listing-panel > .listing-action-area { border-top: 1px solid #d9dee7; margin-top: var(--space-content-action); padding-top: var(--space-content-action); width: 100%; }
.pagination { align-items: center; border-top: 0; display: flex; gap: 1rem; justify-content: center; margin-top: var(--space-table-pagination); }
.listing-panel .data-table tbody tr:last-child > * { border-bottom: 0; }
.stats { display: flex; flex-wrap: wrap; gap: 1rem; }
.stats div { background: #f4f6f8; border-radius: .5rem; min-width: 8rem; padding: .75rem; }
.stats dt { color: #56627a; font-size: .8rem; }
.stats dd { font-size: 1.5rem; font-weight: 700; margin: .25rem 0 0; }
@media (max-width: 48rem) {
  .landing-header { gap: .5rem; padding: .65rem .75rem; }
  .landing-brand { flex: 0 0 auto; max-width: 4.5rem; }
  .landing-brand img { max-width: 4.5rem; }
  .landing-header nav { flex: 1 1 auto; flex-wrap: nowrap; gap: .35rem; justify-content: flex-end; min-width: 0; white-space: nowrap; }
  .landing-header nav a:not(.button) { font-size: .75rem; }
  .landing-header nav .button { font-size: .75rem; padding-inline: .6rem; }
  .landing-feature-grid, .landing-plan-grid, .landing-steps ol, .landing-contact { grid-template-columns: 1fr; }
  .landing-section { padding-block: 3.5rem; }
  .landing-hero-layout--with-visual { grid-template-columns: 1fr; }
  .landing-hero-layout--with-visual .landing-hero-copy { text-align: center; }
  .landing-hero-layout--with-visual .landing-hero-copy h1, .landing-hero-layout--with-visual .landing-hero-copy > p:not(.landing-eyebrow) { margin-left: auto; }
  .landing-hero-layout--with-visual .landing-actions { justify-content: center; }
  .landing-hero-visual img { max-height: 18rem; }
  .landing-footer-inner { align-items: flex-start; flex-direction: column; }
  .landing-footer nav { justify-content: flex-start; }
  .benefit-validity-grid { grid-template-columns: 1fr; }
  .authenticated-shell { margin-bottom: .5rem; }
  .auth-session-header { padding-block: .6rem; padding-top: calc(.6rem + env(safe-area-inset-top)); }
  .authenticated-shell .user-tabs { margin-block: .5rem .7rem; padding-top: .5rem; }
  .authenticated-shell .user-tab { min-height: 2.35rem; padding-block: .45rem; }
  .auth-session-header { gap: .5rem; grid-template-columns: auto minmax(0, 1fr) auto; padding-inline: 1rem; }
  .authenticated-brand { max-width: 7rem; }
  .auth-session-header p { font-size: 1rem; grid-column: 2; grid-row: 1; justify-self: center; white-space: nowrap; }
  .auth-session-header .authenticated-brand { grid-column: 1; grid-row: 1; }
  .auth-session-actions { grid-column: 3; grid-row: 1; }
  .auth-session-actions .button { padding-inline: .75rem; }
  .auth-public-header { gap: .75rem; padding-block: .65rem; }
  .auth-page-main { justify-content: flex-start; min-height: auto; padding: 1rem; }
  .auth-page-main > .auth-card { margin-top: 0; }
  .auth-page-main > .site-footer { margin-top: 1rem; }
  .site-header { align-items: flex-start; flex-wrap: wrap; gap: .65rem; }
  .page-header, .data-toolbar { align-items: stretch; flex-direction: column; }
  .page-header > div:last-child { flex-direction: column; }
  .page-header > div:last-child .button { width: 100%; }
  .data-toolbar form { max-width: none; width: 100%; }
  .data-toolbar input { max-width: none; width: 100%; }
  .listing-toolbar__controls { align-items: stretch; flex-direction: column; width: 100%; }
  .listing-search { align-items: stretch; flex-direction: column; width: 100%; }
  .listing-search:has(input[type="search"]) { align-items: center; flex-direction: row; }
  .listing-panel > .listing-search { margin-left: 0; }
  .listing-toolbar__controls > .listing-search { flex: 1 1 100%; max-width: none; width: 100%; }
  .toolbar-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .toolbar-actions .button { width: 100%; }
  .listing-search input, .listing-toolbar__controls > .button { max-width: none; width: 100%; }
  .listing-search:has(input[type="search"]) input[type="search"] { flex: 1 1 auto; width: auto; }
  .listing-search .button, .listing-action-area .button { margin-inline-end: 0; width: fit-content; }
  .listing-search:has(input[type="search"]) .search-icon-button { flex: 0 0 auto; width: auto; }
  .listing-surface { padding: 1rem; }
  .listing-surface__exit { margin: -1.5rem 0 .75rem; }
  .listing-surface .page-header > div:last-child { align-items: stretch; }
  .platform-settings-form fieldset { grid-template-columns: 1fr !important; }
  .settings-section--branding label[for="default_brand_organization_id"], .settings-section--branding label[for="public_registration_organization_id"], .settings-section--branding select { grid-column: auto; }
  .settings-abuse-row { align-items: stretch; gap: .35rem; grid-template-columns: 1fr; padding: .75rem 0; }
  .settings-abuse-header { display: none; }
  .settings-abuse-row input { max-width: none; }
  .settings-abuse-row::before { color: #56627a; content: "Límite"; font-size: .75rem; font-weight: 700; }
  .settings-abuse-row input:nth-of-type(2)::before { content: "Ventana"; }
  .settings-abuse-row > span { display: none; }
  .platform-settings-assets .asset-upload { align-items: stretch; grid-template-columns: 1fr; }
  .platform-settings-assets .asset-upload > label, .platform-settings-assets .asset-upload > .tenant-asset-preview-slot, .platform-settings-assets .asset-upload > input[type="file"], .platform-settings-assets .asset-upload > button, .platform-settings-assets .asset-upload > .page-meta { grid-column: 1; grid-row: auto; }
  .platform-settings-maintenance .asset-upload { align-items: stretch; flex-direction: column; }
  .root-actions, .action-area { align-items: stretch; }
  .root-actions .button, .action-area .button { max-width: 100%; width: 100%; }
  .member-invitation-form .action-area > .button { width: 100%; }
  .action-area { display: grid; gap: .6rem; grid-template-columns: 1fr; }
  .user-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scanner-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scanner-controls .button { min-width: 0; width: 100%; }
  .table-scroll { overflow-x: visible; }
  .data-table { border-collapse: separate; border-spacing: 0; display: block; min-width: 0; width: 100%; }
  .data-table thead { height: 1px; overflow: hidden; position: absolute; width: 1px; clip: rect(1px, 1px, 1px, 1px); }
  .data-table tbody, .data-table tr { display: block; width: 100%; }
  .data-table tbody tr { background: #fff; border: 1px solid #d9dee7; border-radius: .5rem; margin-bottom: .75rem; padding: .35rem .75rem; }
  .data-table tbody th, .data-table tbody td { align-items: start; border-bottom: 1px solid #eef1f5; display: grid; gap: .75rem; grid-template-columns: minmax(6rem, 34%) minmax(0, 1fr); padding: .65rem 0; width: 100%; }
  .invitation-table tbody th, .invitation-table tbody td { width: 100%; }
  .data-table tbody tr > :last-child { border-bottom: 0; }
  .data-table tbody th::before, .data-table tbody td::before { color: #56627a; content: attr(data-label); font-size: .8rem; font-weight: 700; }
  .data-table tbody th[scope="row"] { font-size: 1rem; }
  .data-table tbody td form { max-width: none; width: 100%; }
  .data-table tbody td:last-child > .row-actions, .data-table tbody th:last-child > .row-actions { align-items: stretch; display: grid; grid-template-columns: 1fr; justify-content: stretch; width: 100%; }
  .data-table tbody td:last-child > .row-actions form, .data-table tbody th:last-child > .row-actions form { align-items: stretch; display: grid; gap: var(--button-gap); width: 100%; }
  .data-table tbody td:last-child > .row-actions .button, .data-table tbody th:last-child > .row-actions .button { max-width: 100%; width: 100%; }
  .pagination { align-items: center; flex-direction: row; }
  .pagination__links { width: auto; }
  .pagination__links .button { flex: 0 0 auto; }
  .organization-edit-grid, .organization-color-grid, .organization-assets-grid, .organization-plan-grid, .plan-data-grid, .plan-entitlements-grid, .territory-form-grid { grid-template-columns: 1fr; }
  .territory-field--full { grid-column: auto; }
  .plan-field--full { grid-column: auto; }
  .organization-address-row { grid-template-columns: 1fr; }
  .organization-asset-control { width: 100%; }
  .profile-personal-grid, .profile-address-grid { grid-template-columns: 1fr; }
  .profile-email-field, .profile-commune-field { grid-column: auto; }
  .user-profile-summary div { display: grid; gap: .75rem; grid-template-columns: minmax(6rem, 34%) minmax(0, 1fr); }
  .user-profile-summary dd { min-width: 0; text-align: left; }
}

@media (max-width: 30rem) {
  .user-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
