/* Vinfostock Global Design System v2 — Cobalt / Deep Purple / White / Functional Neutral
 * Authoritative visual layer for the complete application shell, shared components,
 * operational workspaces, modules, public/account screens and responsive states.
 * 60/30/10 application balance: white surfaces / functional neutrals / Cobalt actions, with Deep Purple reserved as a supporting accent.
 */
@media screen {
:root{
  color-scheme:light;
  --vin-primary:#0047AB;
  --vin-primary-hover:#003B90;
  --vin-primary-active:#002E72;
  --vin-primary-light:#E8F1FF;
  --vin-primary-soft:#F4F8FF;
  --vin-primary-border:#B8D1F4;
  --vin-accent:#FFFFFF;
  --vin-accent-contrast:#1A202C;
  --vin-secondary:#5B2C83;
  --vin-secondary-hover:#4B236D;
  --vin-secondary-active:#3B1A57;
  --vin-secondary-light:#EFE5F7;
  --vin-secondary-soft:#F7F2FB;
  --vin-secondary-border:#D8C4E8;
  --vin-canvas:#F4F6F9;
  --vin-surface:#FFFFFF;
  --vin-surface-muted:#F8FAFC;
  --vin-surface-raised:#FFFFFF;
  --vin-text:#1A202C;
  --vin-text-strong:#111827;
  --vin-text-muted:#5F6B7A;
  --vin-text-soft:#718096;
  --vin-border:#D8E0EA;
  --vin-border-strong:#BEC9D6;
  --vin-nav:#102A43;
  --vin-nav-raised:#173B63;
  --vin-nav-text:#E6EEF8;
  --vin-success:#16764A;
  --vin-success-bg:#EAF7F0;
  --vin-warning:#8A5A00;
  --vin-warning-bg:#FFF6DE;
  --vin-danger:#B42318;
  --vin-danger-bg:#FEF0EF;
  --vin-info:#075985;
  --vin-info-bg:#EAF6FC;
  --vin-focus:#276DD0;
  --vin-radius-xs:6px;
  --vin-radius-sm:8px;
  --vin-radius-md:10px;
  --vin-radius-lg:14px;
  --vin-radius-xl:18px;
  --vin-shadow-xs:0 1px 2px rgba(10,29,56,.04);
  --vin-shadow-sm:0 5px 16px rgba(10,29,56,.06);
  --vin-shadow-md:0 14px 38px rgba(10,29,56,.12);
  --vin-shadow-lg:0 22px 54px rgba(10,29,56,.16);
  --vin-space-1:4px;
  --vin-space-2:8px;
  --vin-space-3:12px;
  --vin-space-4:16px;
  --vin-space-5:20px;
  --vin-space-6:24px;
  --vin-space-7:32px;
  --vin-space-8:40px;
  --vin-control-h:38px;
  --vin-sidebar-w:230px;
  --vin-content-max:1840px;

  /* Compatibility aliases for the pre-v1 style vocabulary. */
  --blue:var(--vin-primary);
  --navy:var(--vin-nav);
  --navy-raised:var(--vin-nav-raised);
  --action:var(--vin-primary);
  --peach:var(--vin-primary-light);
  --ink:var(--vin-text);
  --muted:var(--vin-text-muted);
  --border:var(--vin-border);
  --line:var(--vin-border);
  --canvas:var(--vin-canvas);
  --surface:var(--vin-surface);
  --soft:var(--vin-surface-muted);
  --green:var(--vin-success);
  --red:var(--vin-danger);
  --success:var(--vin-success);
  --danger:var(--vin-danger);
  --warning:var(--vin-warning);
  --focus:var(--vin-focus);
  --radius:var(--vin-radius-md);
  --shadow:var(--vin-shadow-xs);
}

html{background:var(--vin-canvas);color:var(--vin-text);font-size:100%;line-height:1.45}
body{background:var(--vin-canvas);color:var(--vin-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}
a{color:var(--vin-primary)}
a:hover{color:var(--vin-primary-hover)}
::selection{background:var(--vin-primary-light);color:var(--vin-text-strong)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--vin-focus) 34%,transparent);outline-offset:2px}

/* Application shell + navigation */
.app-shell{grid-template-columns:var(--vin-sidebar-w) minmax(0,1fr);background:var(--vin-canvas)}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:18px 12px 14px;gap:14px;background:var(--vin-nav);border-right:1px solid #183658;color:#fff;scrollbar-width:thin;scrollbar-color:#526986 transparent}
.sidebar-head{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:auto;padding:3px 10px 10px;color:#fff}
.brand img{width:96px;margin:0;border:0;border-radius:var(--vin-radius-sm);background:#fff}
.brand span{max-width:180px;color:#AFC0D6;font-size:.75rem;font-weight:500;letter-spacing:.055em;text-transform:uppercase}
.sidebar nav{gap:2px}
.sidebar nav>a,.sidebar .nav-group-links a{min-height:36px;padding:7px 9px;border-radius:var(--vin-radius-sm);color:var(--vin-nav-text);font-size:.76rem;font-weight:500;line-height:1.28}
.sidebar nav>a:hover,.sidebar .nav-group-links a:hover{background:var(--vin-nav-raised);color:#fff}
.sidebar nav>a[aria-current=page],.sidebar .nav-group-links a[aria-current=page]{background:var(--vin-primary-light);color:var(--vin-primary-active);box-shadow:inset 3px 0 var(--vin-primary);font-weight:700}
.nav-icon{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;color:inherit;font-size:.78rem;line-height:1}
.nav-group{margin:2px 0;border:0}
.nav-group>summary{min-height:38px;padding:9px 10px;border-radius:var(--vin-radius-sm);color:#9FB2CB;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.nav-group>summary:hover{background:var(--vin-nav-raised);color:#fff}
.nav-group[open]>summary{color:#E8EEF7}
.nav-group-links{margin:0 0 5px 8px;padding:2px 0 2px 5px;border-left:1px solid #355171;gap:1px}
.sidebar-foot{margin-top:auto;padding:12px 9px 3px;border-top:1px solid #294461}
.sidebar-foot p{margin:0 0 5px;color:#B8C7DA;font-size:.75rem;line-height:1.4}.sidebar-foot .version{color:#8298B6;font-size:.75rem}.sidebar-foot .eyebrow{display:none}

/* Header / quick actions */
.topbar{position:sticky;z-index:25;top:0;min-height:62px;padding:9px 20px;gap:9px;flex-wrap:nowrap;background:rgba(255,255,255,.965);border-bottom:1px solid var(--vin-border);box-shadow:0 1px 10px rgba(10,29,56,.045);backdrop-filter:blur(12px)}
.command-trigger{order:0;min-width:190px;min-height:36px;margin:0;padding:6px 10px;border-color:var(--vin-border-strong);border-radius:var(--vin-radius-sm);color:var(--vin-text-muted);font-size:.8125rem;background:#fff}
.command-trigger:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}
.command-trigger kbd{padding:2px 5px;border:1px solid var(--vin-border);border-radius:5px;background:var(--vin-surface-muted);color:var(--vin-text-soft);font-size:.75rem}
.topbar-shortcuts{display:flex;align-items:center;gap:5px}
.topbar-shortcuts a{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-sm);background:#fff;color:var(--vin-text);font-size:.8125rem;font-weight:500;text-decoration:none}
.topbar-shortcuts a:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}
.topbar-shortcuts a:first-child{border-color:var(--vin-primary);background:var(--vin-primary);color:#fff}.topbar-shortcuts a:first-child:hover{background:var(--vin-primary-hover);border-color:var(--vin-primary-hover)}
.business-label{order:2;margin-left:auto;margin-right:0;gap:8px;min-width:0}.business-mark{width:34px;height:34px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-sm);background:var(--vin-primary-light);color:var(--vin-primary);font-weight:700}.business-label strong{color:var(--vin-text-strong);font-size:.76rem}.business-label span:not(.business-mark){color:var(--vin-text-muted);font-size:.75rem}
.account-actions{order:3;gap:8px;padding-left:10px;border-left:1px solid var(--vin-border)}.account-actions>a{max-width:210px;color:var(--vin-text);font-size:.8125rem;text-decoration:none}.account-actions>a:hover{color:var(--vin-primary)}

/* Page hierarchy */
.main-content{width:100%;max-width:var(--vin-content-max);padding:20px 22px 28px;margin:0 auto}
.page-heading{align-items:flex-end;margin-bottom:16px;gap:16px}.page-heading>div:first-child{min-width:0}.page-heading h1{margin:2px 0 3px;color:var(--vin-text-strong);font-size:1.875rem;font-weight:700;letter-spacing:-.035em;line-height:1.25}.page-heading p{max-width:820px;margin:0;color:var(--vin-text-muted);font-size:.78rem;line-height:1.5}.eyebrow{margin-bottom:3px;color:var(--vin-primary);font-size:.75rem;font-weight:500;letter-spacing:.105em;text-transform:uppercase}.eyebrow.light{color:#CCD8E8}
h2{color:var(--vin-text-strong);font-size:1.5rem;font-weight:600;letter-spacing:-.018em;line-height:1.33}h3{color:var(--vin-text-strong);font-size:1.25rem;font-weight:600;line-height:1.4}.help{color:var(--vin-text-muted);font-size:.75rem;line-height:1.5}.muted,.optional{color:var(--vin-text-muted)}
.welcome-strip{margin-bottom:14px;padding:13px 15px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-md);background:var(--vin-primary-soft)}
.welcome-strip strong{color:var(--vin-text-strong);font-size:.92rem}.welcome-strip p,.welcome-strip .welcome-date{color:var(--vin-text-muted);font-size:.75rem}

/* Cards, panels and summary metrics */
.panel{overflow:visible;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:var(--vin-surface);box-shadow:var(--vin-shadow-xs)}
.panel-heading{min-height:52px;padding:12px 15px;border-bottom:1px solid #E8EDF3;background:#fff}.panel-heading h2{margin:0}.panel-heading p{margin:3px 0 0;color:var(--vin-text-muted);font-size:.75rem}.padded{padding:16px}.section-gap{margin-top:14px}.stack{gap:11px}.content-grid,.dashboard-grid,.form-grid{gap:13px}.content-grid{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr)}
.accent-panel{border-color:var(--vin-primary-border);border-top:3px solid var(--vin-primary);background:var(--vin-primary-soft)}.accent-panel .eyebrow{color:var(--vin-primary)}
.metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-bottom:15px}.metric{position:relative;min-height:104px;padding:14px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;box-shadow:var(--vin-shadow-xs);color:inherit;text-decoration:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.metric:first-child{border-color:var(--vin-border);background:#fff}.metric>span{color:var(--vin-text-muted);font-size:.75rem;font-weight:400}.metric>strong{display:block;margin:7px 0 3px;color:var(--vin-text-strong);font-size:clamp(1.22rem,1.8vw,1.58rem);font-weight:700;letter-spacing:-.035em}.metric small,.metric p{color:var(--vin-text-muted);font-size:.75rem}.metric[href]::after{content:'→';position:absolute;right:12px;top:10px;color:var(--vin-primary);font-size:.78rem;font-weight:700;opacity:.55}.metric[href]:hover{transform:translateY(-1px);border-color:var(--vin-primary-border);box-shadow:var(--vin-shadow-sm);color:inherit}.metric[href]:focus-visible{outline-offset:3px}
.balance-large{color:var(--vin-text-strong);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:700;letter-spacing:-.04em}

/* Controls */
button,.button{min-height:var(--vin-control-h);padding:7px 11px;border-radius:var(--vin-radius-sm);font-size:.75rem;font-weight:500;line-height:1.25;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
button:active:not(:disabled),.button:active{transform:translateY(1px)}
.primary{border-color:var(--vin-primary);background:var(--vin-primary);color:#fff;box-shadow:0 2px 5px rgba(0,71,171,.14)}.primary:hover:not(:disabled){border-color:var(--vin-primary-hover);background:var(--vin-primary-hover);color:#fff}.primary:focus-visible{outline-color:color-mix(in srgb,var(--vin-primary) 45%,transparent)}
.secondary{border-color:var(--vin-border-strong);background:#fff;color:var(--vin-primary)}.secondary:hover:not(:disabled){border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary-hover)}
.quiet{border-color:var(--vin-border-strong);background:#fff;color:#29405E}.quiet:hover:not(:disabled){border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}
.text-button,.table-link{color:var(--vin-primary)}.table-link:hover{color:var(--vin-primary-hover)}
.small{min-height:34px;padding:6px 9px;font-size:.75rem}.actions{gap:7px;align-items:center;flex-wrap:wrap}
input,select,textarea{min-height:var(--vin-control-h);padding:7px 9px;border:1px solid var(--vin-border-strong);border-radius:var(--vin-radius-sm);background:#fff;color:var(--vin-text);font-size:.79rem;box-shadow:var(--vin-shadow-xs)}
textarea{line-height:1.45}input::placeholder,textarea::placeholder{color:#8A96A7}input:hover,select:hover,textarea:hover{border-color:#9EADBE}input:focus,select:focus,textarea:focus{border-color:var(--vin-focus);outline:3px solid rgba(39,109,208,.14);outline-offset:1px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--vin-primary);box-shadow:none}label,legend{margin-bottom:4px;color:#27364A;font-size:.8125rem;font-weight:700}fieldset{padding:11px;border-color:var(--vin-border);border-radius:var(--vin-radius-md)}
.search-bar,.filter-bar{gap:9px;padding:12px 14px;border-color:var(--vin-border);background:var(--vin-surface-muted)}.filter-bar>div{min-width:155px}.filter-actions{display:flex;gap:7px;align-items:flex-end}

/* Tables */
.table-wrap{position:relative;max-width:100%;overflow:auto;background:#fff;scrollbar-color:#91A1B6 #F1F4F8}.table-wrap.is-scrollable{box-shadow:inset -12px 0 13px -15px var(--vin-nav)}.table-wrap table{font-size:.8125rem}.table-wrap thead{position:sticky;z-index:2;top:0}.table-wrap th{padding:9px 11px;border-color:#DFE6EE;background:#F3F6F9;color:#5B697D;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.table-wrap td{padding:10px 11px;border-color:#E8EDF3;color:var(--vin-text);font-size:.8125rem}.table-wrap td strong{font-size:.8125rem}.table-wrap tbody tr:nth-child(even){background:#FBFCFE}.table-wrap tbody tr:hover{background:var(--vin-primary-soft)}.cell-note{margin-top:2px;color:var(--vin-text-muted);font-size:.75rem}.table-link{min-width:34px;min-height:32px;font-size:.75rem;font-weight:500}.pagination{padding:10px 14px;border-color:var(--vin-border);font-size:.75rem}

/* Badges / notices / states */
.badge{padding:3px 7px;border-radius:999px;background:#EEF2F7;color:#40516A;font-size:.75rem;font-weight:500}.badge.green{background:var(--vin-success-bg);color:var(--vin-success)}.badge.amber{background:var(--vin-warning-bg);color:var(--vin-warning)}
.notice{margin-bottom:13px;padding:9px 12px;border-radius:var(--vin-radius-sm);font-size:.75rem;line-height:1.45}.notice.success{border-color:#BCE1CE;background:var(--vin-success-bg);color:#125F3D}.notice.warning{border-color:#EAD18C;background:var(--vin-warning-bg);color:#704700}.notice.error{border-color:#F0B9B4;background:var(--vin-danger-bg);color:#8F1D15}.notice.subtle{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:#29405E}.empty{padding:30px 18px;color:var(--vin-text-muted)}.empty-symbol{background:var(--vin-primary-light);color:var(--vin-primary)}

/* Settings / roles / administrative information architecture */
.standard-settings-grid,.admin-settings-layout{gap:16px}.standard-settings-list{display:grid}.standard-settings-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border-bottom:1px solid #E9EEF4;color:var(--vin-text);text-decoration:none}.standard-settings-list>a:last-child{border-bottom:0}.standard-settings-list>a:hover{background:var(--vin-primary-soft)}.standard-settings-list strong{display:block;color:var(--vin-text-strong);font-size:.76rem}.standard-settings-list small{display:block;margin-top:2px;color:var(--vin-text-muted);font-size:.75rem;line-height:1.4}.standard-settings-list b{color:var(--vin-primary)}
.settings-navigation{border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;box-shadow:var(--vin-shadow-xs)}.settings-navigation-head{padding:13px 14px;border-bottom:1px solid var(--vin-border)}.settings-nav-group{border-bottom:1px solid #E9EEF4}.settings-nav-group:last-child{border-bottom:0}.settings-nav-group a{color:var(--vin-text)}.settings-nav-group a:hover,.settings-nav-group a[aria-current=page]{background:var(--vin-primary-soft);color:var(--vin-primary)}
.configuration-section,.system-settings-panel,.account-settings-panel{border-color:var(--vin-border)}.configuration-section-head,.system-settings-head{padding:14px 16px;border-bottom:1px solid var(--vin-border);background:var(--vin-surface-muted)}.settings-fieldset{background:#fff}.provider-settings-card{border-color:var(--vin-border);background:var(--vin-surface-muted)}.settings-switch{border-color:var(--vin-border);border-radius:var(--vin-radius-sm)}.settings-switch:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}
.permission-groups{display:grid;gap:12px}.permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}.permission-option{border:1px solid var(--vin-border);border-radius:var(--vin-radius-sm);background:#fff}.permission-option:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}

/* Action menus: JS promotes open menus to viewport-aware fixed overlays. */
.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-popover{z-index:80;width:min(320px,calc(100vw - 24px));max-height:min(70vh,520px);overflow:auto;padding:6px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;box-shadow:var(--vin-shadow-md)}
.action-menu[data-floating="true"]>.action-menu-popover{position:fixed!important;top:var(--vin-menu-top)!important;right:auto!important;bottom:auto!important;left:var(--vin-menu-left)!important}
.action-menu-popover a{display:grid;gap:1px;padding:9px 10px;border-radius:var(--vin-radius-sm);color:var(--vin-text);text-decoration:none}.action-menu-popover a:hover,.action-menu-popover a:focus{background:var(--vin-primary-soft);color:var(--vin-primary)}.action-menu-popover strong{font-size:.875rem}.action-menu-popover span{color:var(--vin-text-muted);font-size:.75rem;line-height:1.35}
.command-dialog{border:1px solid var(--vin-border);border-radius:var(--vin-radius-lg);color:var(--vin-text);box-shadow:0 30px 100px rgba(10,29,56,.28)}.command-dialog::backdrop{background:rgba(7,22,44,.62);backdrop-filter:blur(4px)}.command-heading{padding:14px 17px}.command-heading h2{font-size:.9rem}#command-query{margin:0 17px;width:calc(100% - 34px)}.command-results{padding:8px}.command-results a{padding:9px;border-radius:var(--vin-radius-sm);font-size:.77rem}.command-results a:hover,.command-results a:focus,.command-results a[data-selected]{background:var(--vin-primary-soft);color:var(--vin-primary)}.command-results a::after{color:var(--vin-primary)}.command-foot{padding:9px 17px}

/* POS — workflow-specific layout stays intact; visual semantics become Vinfostock-native. */
.pos-header{border-color:var(--vin-border);background:#fff}.pos-icon-button,.pos-command-link{border-color:var(--vin-border);color:#29405E;background:#fff}.pos-icon-button:hover,.pos-command-link:hover{border-color:var(--vin-primary-border);color:var(--vin-primary);background:var(--vin-primary-soft)}
.pos-square-button{border-color:var(--vin-primary);background:var(--vin-primary);color:#fff}.pos-square-button:hover{border-color:var(--vin-primary-hover);background:var(--vin-primary-hover)}.pos-search-box>span{border-color:var(--vin-border-strong);background:var(--vin-primary-soft);color:var(--vin-primary)}
.pos-v3 .cart-empty::before{color:var(--vin-primary)}.pos-payment-bar{border-top-color:var(--vin-primary);box-shadow:0 -8px 24px rgba(10,29,56,.09)}.pos-action-button span{color:var(--vin-primary)}.pos-action-button:hover,.pos-action-button.is-active{background:var(--vin-primary-soft);box-shadow:inset 0 -2px var(--vin-primary)}.pos-action-button.pos-multiple{background:var(--vin-primary);color:#fff}.pos-action-button.pos-multiple span{color:#fff}.pos-action-button.pos-multiple:hover,.pos-action-button.pos-multiple.is-active{background:var(--vin-primary-hover)}.pos-payable{border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}.pos-payable small{color:var(--vin-primary)}
.pos-grid .product-card:hover:not(:disabled){border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}.pos-grid .product-letter{background:var(--vin-primary-light);color:var(--vin-primary)}.pos-grid .product-price{color:var(--vin-primary-active)}.product-variant{color:var(--vin-primary)}

/* Footer */
.workspace-footer{padding:12px 22px;border-color:var(--vin-border);color:var(--vin-text-soft);font-size:.75rem;background:#fff}

/* Responsive system: deliberate density changes rather than simple wrapping. */
@media (max-width:1180px){
  :root{--vin-sidebar-w:208px}
  .topbar{padding-inline:15px}.main-content{padding:18px}.topbar-shortcuts a{width:34px;padding:6px;font-size:0}.topbar-shortcuts a span{font-size:.84rem}.command-trigger{min-width:42px;width:42px}.command-trigger span{font-size:0}.command-trigger span::after{content:'⌕';font-size:.88rem}.command-trigger kbd{display:none}.content-grid{grid-template-columns:minmax(0,1fr) 290px}
}
@media (max-width:900px){
  .business-label span:not(.business-mark){display:none}.account-actions>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .app-shell{display:block}.sidebar{position:sticky;z-index:40;top:0;width:100%;height:auto;padding:7px 11px;box-shadow:0 2px 14px rgba(8,29,59,.18)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0;border:0}.brand{min-height:46px;padding:0}.brand img{width:66px}.brand span{display:none}.nav-ready .sidebar #primary-navigation{display:none}.nav-ready .sidebar[data-nav-open] #primary-navigation{display:flex;max-height:calc(100dvh - 62px);overflow:auto;padding:8px 0}.sidebar nav>a,.sidebar .nav-group-links a{min-height:44px;font-size:.82rem}.nav-group>summary{min-height:44px;font-size:.75rem}.sidebar-foot{display:none}.topbar{top:60px;min-height:56px;padding:8px 12px}.topbar-shortcuts{display:none}.business-label{margin-left:0}.account-actions{margin-left:auto}.main-content{padding:15px 12px 22px}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading>.actions{width:100%}.panel-heading,.padded{padding:14px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap th,.table-wrap td{white-space:nowrap}.workspace-footer{padding:11px 12px;flex-direction:column;gap:3px}.dashboard-grid>aside{grid-template-columns:1fr 1fr}.action-menu[data-floating="true"]>.action-menu-popover{right:12px!important;bottom:12px!important;left:12px!important;top:auto!important;width:auto;max-height:55dvh}
}
@media (max-width:520px){
  .topbar .business-label{display:none}.account-actions{border:0;padding:0}.account-actions .muted{display:none}.page-heading>.actions>*{flex:1 1 auto}.metrics{gap:8px}.metric{min-height:94px;padding:12px}.dashboard-grid>aside{display:flex}.form-grid{grid-template-columns:1fr}.filter-bar>div{flex-basis:100%}.filter-bar button,.filter-bar .button{flex:1}.workspace-footer span:last-child{display:none}.standard-settings-list>a{padding:12px}.permission-list{grid-template-columns:1fr}
}
}

@media print{
  .sidebar,.topbar,.workspace-footer,.command-dialog,.mobile-nav-toggle,.action-menu{display:none!important}
  .app-shell{display:block}.main-content{max-width:none;padding:0}.panel{box-shadow:none}
}

@media screen {
.permission-select-all{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0 0 9px;padding:5px 8px;border:1px solid var(--vin-primary-border);border-radius:999px;background:var(--vin-primary-soft);color:var(--vin-primary);font-size:.75rem;font-weight:700;cursor:pointer}.permission-select-all input{width:16px;height:16px;min-height:16px;margin:0}.permission-option:has(input:checked){border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}.permission-option span,.permission-option strong,.permission-option small{display:block}.permission-option small{margin-top:2px;color:var(--vin-text-muted);font-size:.75rem;line-height:1.4}
form[aria-busy="true"] button[type="submit"],form[aria-busy="true"] .primary{cursor:progress}.is-submitting button[type="submit"]{box-shadow:inset 0 0 0 999px rgba(255,255,255,.06)}
}
@media screen {
/* Authentication surfaces inherit the same product identity without changing auth workflows. */
.login-page{background:var(--vin-canvas)}.login-layout{border:1px solid var(--vin-border);border-radius:var(--vin-radius-xl);box-shadow:0 24px 80px rgba(10,29,56,.12)}.login-story{background:var(--vin-nav)}.login-story h1{color:#fff}.login-story>p{color:#C6D4E7}.login-story .eyebrow{color:#C8DBF5}.login-panel{background:#fff}.login-panel>.badge{background:var(--vin-primary-light);color:var(--vin-primary)}.story-rule{background:var(--vin-primary)}
}
@media screen and (min-width:1051px){.settings-navigation{top:78px}}


/* VINFOSTOCK 0.31 business preference hooks */
body.vf-help-minimal .help:not(.always-visible),
body.vf-help-minimal [data-context-help] { display: none !important; }

/* v0.32 contextual workspace header — one responsive shell, not page-specific clones. */
.topbar{display:flex;align-items:center;justify-content:space-between;min-width:0}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px;min-width:0}.topbar-left{flex:1 1 auto;overflow:hidden}.topbar-right{flex:0 1 auto;justify-content:flex-end}
.topbar-context{display:inline-flex;align-items:center;gap:6px;min-width:max-content;padding:5px 8px;border:1px solid var(--vin-border);border-radius:999px;background:var(--vin-surface-muted);color:var(--vin-text-soft);font-size:.75rem}.context-dot{width:7px;height:7px;border-radius:50%;background:var(--vin-primary)}
.topbar-shortcuts{min-width:0;overflow-x:auto;scrollbar-width:none}.topbar-shortcuts::-webkit-scrollbar{display:none}.topbar-shortcuts a[aria-current="page"]{border-color:var(--vin-primary);background:var(--vin-primary);color:#fff}
.topbar-icon-actions{display:flex;align-items:center;gap:4px;padding-right:8px;border-right:1px solid var(--vin-border)}.topbar-icon-actions>a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-sm);background:#fff;color:var(--vin-text);font-weight:700;text-decoration:none}.topbar-icon-actions>a:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}
.business-label{display:flex;align-items:center;text-decoration:none}.business-label>div{display:grid;min-width:0}.business-label strong,.business-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu{position:relative;flex:0 0 auto}.account-menu>summary{display:flex;align-items:center;gap:7px;min-height:36px;padding:4px 7px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-sm);background:#fff;cursor:pointer;list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--vin-primary-soft);color:var(--vin-primary);font-weight:700}.account-copy{display:grid;text-align:left}.account-copy strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vin-text-strong);font-size:.8125rem}.account-copy small{color:var(--vin-text-muted);font-size:.75rem}.account-menu-panel{position:absolute;z-index:80;top:calc(100% + 7px);right:0;display:grid;width:210px;padding:6px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;box-shadow:var(--vin-shadow-lg)}.account-menu-panel a,.account-menu-panel button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--vin-text);font:inherit;font-size:.8125rem;text-align:left;text-decoration:none;cursor:pointer}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--vin-primary-soft);color:var(--vin-primary)}
.topbar-pos{min-height:54px;padding-block:6px}.topbar-pos .command-trigger{min-height:34px}.topbar-pos .topbar-context{padding-block:4px}.topbar-pos .topbar-shortcuts a,.topbar-pos .topbar-icon-actions>a{min-height:32px;height:32px}
@media(max-width:1380px){.topbar-context{display:none}.account-copy{display:none}.business-label>div span{display:none}.topbar-right{gap:5px}}
@media(max-width:1040px){.topbar-icon-actions{display:none}.business-label>div{display:none}.topbar-right{margin-left:auto}.topbar-left{overflow:visible}.topbar-shortcuts{flex:1}.topbar-shortcuts a b{display:none}.topbar-shortcuts a{width:34px;justify-content:center}}
@media(max-width:780px){.topbar{top:60px}.topbar-left{gap:5px}.topbar-right{gap:4px}.business-label{display:none}.account-menu>summary>span:last-child{display:none}.topbar-shortcuts{display:flex}.topbar-shortcuts a{display:grid}.topbar-pos{min-height:50px}.account-menu-panel{position:fixed;top:116px;right:10px}}
@media(max-width:520px){.topbar-shortcuts a:nth-child(n+3){display:none}.command-trigger{flex:0 0 36px!important;width:36px!important}.account-avatar{width:30px;height:30px}}

.report-card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.report-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;text-decoration:none}.report-card p{margin:4px 0 0;color:var(--vin-text-muted);font-size:.8125rem;line-height:1.45}.report-card>span:last-child{color:var(--vin-primary);font-weight:700}

/* v0.33 production refinement: desktop navigation states, readable density and stable focus/contrast. */
@media screen and (min-width:781px){
  .app-shell{transition:grid-template-columns .16s ease}
  .app-shell[data-nav-mode="expanded"]{--vin-sidebar-w:232px}
  .app-shell[data-nav-mode="compact"]{--vin-sidebar-w:70px}
  .sidebar-controls{display:flex;justify-content:center;gap:6px}
  .desktop-nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;padding:5px 8px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.06);color:#d8e3f2;font-size:.75rem}
  .desktop-nav-toggle:hover,.desktop-nav-toggle:focus-visible{background:var(--vin-nav-raised);color:#fff}
  .app-shell[data-nav-mode="compact"] .sidebar{padding-inline:8px;overflow-x:hidden}
  .app-shell[data-nav-mode="compact"] .brand{padding-inline:0}
  .app-shell[data-nav-mode="compact"] .brand img{width:46px}
  .app-shell[data-nav-mode="compact"] .brand span,.app-shell[data-nav-mode="compact"] .desktop-nav-toggle-label,.app-shell[data-nav-mode="compact"] .nav-group>summary,.app-shell[data-nav-mode="compact"] .sidebar-foot{display:none}
  .app-shell[data-nav-mode="compact"] .sidebar nav>a,.app-shell[data-nav-mode="compact"] .sidebar .nav-group-links a{justify-content:center;gap:0;min-height:44px;padding:7px;font-size:0}
  .app-shell[data-nav-mode="compact"] .nav-icon{width:30px;height:30px;flex-basis:30px;font-size:1rem}
  .app-shell[data-nav-mode="compact"] .nav-group{margin:0}
  .app-shell[data-nav-mode="compact"] .nav-group-links{margin:0;padding:0;border-left:0}
  .app-shell[data-nav-mode="compact"] .nav-group:not([open])>.nav-group-links{display:none}
  .app-shell[data-nav-mode="compact"] .nav-group>summary{display:none}
}
@media screen and (max-width:780px){
  .desktop-nav-toggle{display:none}.sidebar-controls{display:none}.app-shell{display:block}.topbar{top:0!important}.main-content{padding-top:16px}
  .app-mobile-nav-toggle{display:inline-grid;place-items:center;position:fixed;z-index:70;top:8px;left:8px;width:44px;height:44px;padding:0;border:1px solid var(--vin-border);border-radius:10px;background:#fff;color:var(--vin-nav);box-shadow:var(--vin-shadow-sm)}
  .app-mobile-nav-toggle .vf-icon{width:22px;height:22px}.sidebar{position:fixed!important;z-index:65;inset:0 auto 0 0;width:min(86vw,320px)!important;height:100dvh!important;transform:translateX(-102%);transition:transform .18s ease;overflow:auto!important;box-shadow:0 18px 48px rgba(5,17,36,.28)}
  .sidebar[data-nav-open]{transform:translateX(0)}.sidebar-head{position:sticky;top:0;z-index:2;background:var(--vin-nav)}.nav-ready .sidebar #primary-navigation,.nav-ready .sidebar[data-nav-open] #primary-navigation{display:flex}
  .mobile-nav-scrim{display:none;position:fixed;z-index:60;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(5,17,36,.46)}.app-shell[data-mobile-nav-open]>.mobile-nav-scrim{display:block}
}
@media screen and (min-width:781px){.app-mobile-nav-toggle,.mobile-nav-scrim{display:none!important}}

.vf-icon{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.18em}.nav-icon .vf-icon,.topbar-icon-actions .vf-icon,.pos-icon-button .vf-icon,.pos-square-button .vf-icon{width:18px;height:18px}.desktop-nav-toggle-icon{display:grid;place-items:center}.desktop-nav-toggle-icon .vf-icon{width:17px;height:17px}.topbar-shortcuts .vf-icon{width:16px;height:16px}

/* Readable compactness: operational text does not drop into microscopic ranges. */
.sidebar nav>a,.sidebar .nav-group-links a{font-size:.875rem}.nav-group>summary{font-size:.75rem}.sidebar-foot p{font-size:.75rem}.sidebar-foot .version{font-size:.75rem}
.command-trigger,.topbar-shortcuts a,.account-menu-panel a,.account-menu-panel button{font-size:.875rem}.business-label strong{font-size:.875rem}.business-label span:not(.business-mark),.account-copy small,.topbar-context{font-size:.75rem}.account-copy strong{font-size:.8125rem}
.page-heading p,.welcome-strip p,.welcome-strip .welcome-date,.panel-heading p,.metric>span,.metric small,.metric p,.help,.pagination,.notice{font-size:.875rem}.cell-note{font-size:.75rem}.eyebrow{font-size:.75rem}.table-wrap table,.table-wrap th,.table-wrap td,.table-wrap td strong{font-size:.875rem}.badge{font-size:.75rem}.workspace-footer{font-size:.75rem}
label,legend,input,select,textarea,button,.button{font-size:.875rem}
input::placeholder,textarea::placeholder{color:#5f6f83;opacity:1}
button:disabled,.button[aria-disabled="true"]{opacity:.65}

/* Reusable accessible information and validation components. */
.info-trigger{display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;padding:0;border:1px solid var(--vin-secondary-border);border-radius:8px;background:var(--vin-secondary-soft);color:var(--vin-secondary);cursor:pointer}.info-trigger:hover,.info-trigger:focus-visible{border-color:var(--vin-secondary);background:var(--vin-secondary-light);color:var(--vin-secondary-active)}.info-trigger .vf-icon{width:18px;height:18px}
.info-dialog{width:min(92vw,480px);max-height:min(80dvh,620px);padding:0;border:1px solid var(--vin-secondary-border);border-top:3px solid var(--vin-secondary);border-radius:14px;background:#fff;color:var(--vin-text);box-shadow:var(--vin-shadow-lg)}.info-dialog::backdrop{background:rgba(5,17,36,.48)}.info-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--vin-border);background:var(--vin-surface-muted)}.info-dialog-head h2{margin:0;font-size:1rem}.info-dialog-head button{display:grid;place-items:center;min-width:36px;min-height:36px}.info-dialog-body{padding:16px;font-size:.875rem;line-height:1.55}.info-dialog-body>:first-child{margin-top:0}.info-dialog-body>:last-child{margin-bottom:0}.info-dialog-body ul{padding-left:1.25rem}
.field-error{margin:.3rem 0 0;color:#9f1f17;font-size:.8125rem;font-weight:500;line-height:1.4}[aria-invalid="true"]{border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.12)!important}
.desktop-nav-toggle-icon{transition:transform .16s ease}.desktop-nav-toggle-icon.is-reversed{transform:rotate(180deg)}body.mobile-nav-open{overflow:hidden}
@media(pointer:coarse){.info-trigger{width:44px;height:44px;min-width:44px}.sidebar nav>a,.sidebar .nav-group-links a,.topbar-icon-actions>a{min-height:44px}}
/* Forced/high contrast resilience and visible interactive states. */
@media (forced-colors:active){:focus-visible{outline:2px solid CanvasText}.sidebar nav a[aria-current="page"],.topbar-shortcuts a[aria-current="page"]{outline:2px solid CanvasText}.primary,.pos-complete{forced-color-adjust:auto}}

@media screen {
/* Global theme v2 shared component contract. Keep feature layouts distinct; keep visuals common. */
h1,strong{font-weight:700}h2,h3{font-weight:600}
label,legend{font-weight:500}
button,.button,.text-button,.table-link{font-weight:500}

/* Generic module surfaces: installed/future modules inherit the same shell without a private theme. */
.module-shell,.module-workspace{color:var(--vin-text);background:var(--vin-canvas)}
.module-toolbar,.module-filterbar{display:flex;align-items:flex-end;gap:var(--vin-space-3);flex-wrap:wrap;padding:var(--vin-space-3) var(--vin-space-4);border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:var(--vin-surface-muted)}
.module-card,.module-kpi,.state-panel{border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:var(--vin-surface);box-shadow:var(--vin-shadow-xs)}
.module-card{padding:var(--vin-space-4)}.module-card>h2,.module-card>h3{margin-top:0}
.module-kpi{padding:var(--vin-space-4)}.module-kpi strong{color:var(--vin-text-strong);font-size:1.35rem;font-weight:700}.module-kpi span{color:var(--vin-text-muted);font-size:.8125rem}

/* Dialogs, drawers and overlays share one geometry/contrast language. */
dialog{border:1px solid var(--vin-border);border-radius:var(--vin-radius-lg);background:var(--vin-surface);color:var(--vin-text);box-shadow:var(--vin-shadow-lg)}
dialog::backdrop{background:rgba(16,42,67,.48)}
.drawer,.modal-panel,[data-vin-drawer]{border:1px solid var(--vin-border);background:var(--vin-surface);color:var(--vin-text);box-shadow:var(--vin-shadow-lg)}

/* Shared system states. Semantic colours remain reserved for meaning, not decoration. */
.loading-state,.empty-state,.no-results,.permission-state,.maintenance-state{padding:var(--vin-space-6);border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:var(--vin-surface);color:var(--vin-text-muted);text-align:center}
.loading-state strong,.empty-state strong,.no-results strong,.permission-state strong,.maintenance-state strong{display:block;margin-bottom:var(--vin-space-2);color:var(--vin-text-strong);font-weight:700}
.skeleton{position:relative;overflow:hidden;border-radius:var(--vin-radius-sm);background:#E8EDF3;color:transparent;min-height:1rem}
.status-info{background:var(--vin-info-bg);color:var(--vin-info)}.status-success{background:var(--vin-success-bg);color:var(--vin-success)}.status-warning{background:var(--vin-warning-bg);color:var(--vin-warning)}.status-danger{background:var(--vin-danger-bg);color:var(--vin-danger)}

/* Public/customer surfaces use the same identity with more breathing room. */
.public-theme-page{min-height:100vh;background:var(--vin-canvas);color:var(--vin-text)}
.public-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:clamp(24px,5vw,64px) 0}
.public-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 20px;border-bottom:1px solid var(--vin-border)}
.public-brand{display:flex;align-items:center;gap:12px;color:var(--vin-text-strong);font-weight:700;text-decoration:none}.public-brand img{width:96px;height:auto;background:#fff;border-radius:var(--vin-radius-sm)}
.public-actions{display:flex;gap:8px;flex-wrap:wrap}.public-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(28px,6vw,72px);align-items:center;padding:clamp(48px,8vw,96px) 0}
.public-hero h1{max-width:760px;margin:0 0 16px;color:var(--vin-text-strong);font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em;line-height:1.02}.public-hero p{max-width:700px;color:var(--vin-text-muted);font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.65}.public-hero-card{padding:24px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-lg);background:var(--vin-primary-soft)}
.public-hero-card strong{display:block;margin-bottom:8px;color:var(--vin-primary);font-size:1.05rem}.public-footer{padding:24px 0;border-top:1px solid var(--vin-border);color:var(--vin-text-muted);font-size:.8125rem}

/* Error surfaces intentionally avoid raw exception details. */
.error-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--vin-canvas)}
.error-card{width:min(620px,100%);padding:clamp(24px,5vw,44px);border:1px solid var(--vin-border);border-radius:var(--vin-radius-lg);background:#fff;box-shadow:var(--vin-shadow-sm);text-align:center}
.error-brand{display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px}.error-brand img{width:112px;height:auto}.error-code{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--vin-primary-soft);color:var(--vin-primary);font-size:.8125rem;font-weight:500}.error-card h1{margin:16px 0 10px;color:var(--vin-text-strong);font-size:clamp(1.55rem,4vw,2.25rem)}.error-card p{margin:0 auto 22px;max-width:500px;color:var(--vin-text-muted);line-height:1.6}.error-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}

@media(max-width:700px){.public-hero{grid-template-columns:1fr}.public-nav{align-items:flex-start}.public-actions{justify-content:flex-end}.module-toolbar,.module-filterbar{align-items:stretch}.module-toolbar>*,.module-filterbar>*{flex:1 1 100%}}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* v0.33 video-guided operational refinement: denser shell, contextual guidance and stable command/search layout. */
.command-trigger{max-width:min(260px,28vw);white-space:nowrap}.command-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{min-height:56px}.topbar-pos{min-height:50px}.topbar-pos .topbar-context{display:none}.page-heading>.actions{align-items:center}.compact-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;padding:0 0 10px;margin-bottom:10px}.compact-heading h2{margin:0}.dashboard-profit-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 16px;align-items:center}.dashboard-profit-summary .panel-heading{grid-column:1/-1;padding:0 0 6px;min-height:0}.dashboard-profit-summary .balance-large{margin:0}.dashboard-profit-summary .help{margin:0}.dashboard-profit-summary>.table-link{white-space:nowrap}.empty{min-height:0}.panel>.empty,.table-wrap .empty{padding-block:22px}.info-dialog-body a{font-weight:600}
@media(max-width:900px){.dashboard-profit-summary{grid-template-columns:1fr}.dashboard-profit-summary .panel-heading{grid-column:1}.dashboard-profit-summary>.table-link{white-space:normal}}
@media(max-width:780px){.command-trigger{max-width:44px}.compact-heading{align-items:flex-start}.page-heading>.actions{align-items:center}}

/* Voice/video refinement: compact global shell, tenant identity and consistent data workspace. */
.tenant-brand{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:4px 2px;text-decoration:none;color:inherit}
.tenant-brand img,.tenant-brand-fallback{display:grid;place-items:center;width:38px;height:38px;object-fit:cover;border:1px solid var(--vin-primary-border);border-radius:10px;background:var(--vin-primary-soft);color:var(--vin-primary);font-weight:700}
.tenant-brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.8125rem;font-weight:700;line-height:1.25}
.sidebar-foot{font-size:.75rem;line-height:1.25}.sidebar-foot .product-attribution{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.82}
.desktop-nav-toggle{width:32px!important;min-width:32px!important;padding:5px!important}
.command-trigger{min-width:0!important;width:auto!important;max-width:160px!important;gap:6px!important;padding:6px 9px!important;white-space:nowrap}.command-trigger kbd{font-size:.75rem;opacity:.72}
.account-avatar img,.account-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-photo-preview{display:flex;align-items:center;gap:12px}.profile-photo-preview img,.profile-photo-fallback{display:grid;place-items:center;width:58px;height:58px;object-fit:cover;border:1px solid var(--vin-primary-border);border-radius:14px;background:var(--vin-primary-soft);color:var(--vin-primary);font-size:1.1rem;font-weight:700}
.info-trigger{border:0!important;background:transparent!important;border-radius:50%!important;color:var(--vin-primary)!important;box-shadow:none!important}.info-trigger:hover,.info-trigger:focus-visible{border:0!important;background:var(--vin-primary-soft)!important;color:var(--vin-primary-hover)!important}

.topbar-collapse{display:grid;place-items:center;width:30px;height:30px;min-width:30px;padding:0;border:0;background:transparent;color:var(--vin-text-soft);border-radius:8px}.topbar-collapse:hover,.topbar-collapse:focus-visible{background:var(--vin-primary-soft);color:var(--vin-primary)}
.workspace[data-header-mode="collapsed"] .topbar-collapse{display:none}

.workspace[data-header-mode="collapsed"] .topbar{transform:translateY(calc(-100% - 8px));opacity:0;pointer-events:none}
.topbar{transition:transform .2s ease,opacity .2s ease}.topbar-restore{position:fixed;z-index:29;top:4px;left:50%;display:grid;place-items:center;width:32px;height:25px;padding:0;transform:translate(-50%,-130%);border:1px solid var(--vin-primary-border);border-radius:0 0 10px 10px;background:#fff;color:var(--vin-primary);box-shadow:var(--vin-shadow-xs);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.workspace[data-header-mode="collapsed"] .topbar-restore{transform:translate(-50%,0);opacity:1;pointer-events:auto}.workspace[data-header-mode="collapsed"] .main-content{padding-top:12px}
.table-wrap>table>thead>tr>th{background:var(--vin-primary);color:#fff;border-color:rgba(255,255,255,.15)}.table-wrap>table>thead a,.table-wrap>table>thead button{color:inherit}.table-wrap>table>thead .muted,.table-wrap>table>thead .cell-note{color:rgba(255,255,255,.82)}
@media(max-width:780px){.tenant-brand{grid-template-columns:34px minmax(0,1fr)}.tenant-brand img,.tenant-brand-fallback{width:34px;height:34px}.tenant-brand-name{font-size:.75rem}.topbar-restore{top:60px}.workspace[data-header-mode="collapsed"] .topbar-restore{transform:translate(-50%,0)}.topbar-collapse{width:34px;height:34px;min-width:34px}}
@media print{.table-wrap>table>thead>tr>th{background:transparent!important;color:#000!important;border-color:#bbb!important}.topbar-restore{display:none!important}}
.business-logo-preview{display:flex;align-items:center;gap:10px;margin-top:8px}.business-logo-preview img{width:54px;height:54px;object-fit:contain;border:1px solid var(--vin-border);border-radius:10px;background:#fff}.business-logo-preview .check{margin:0}

/* Voice/video refinement follow-through: collapsed header must reclaim layout height, not only move visually. */
.workspace[data-header-mode="collapsed"] .topbar{
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-bottom-width:0!important;
  overflow:hidden!important;
  transform:translateY(-8px)!important;
}
/* Keep printed/customer-facing document tables visually neutral on screen; cobalt is for management data tables. */
.receipt .table-wrap>table>thead>tr>th,
.document-sheet .table-wrap>table>thead>tr>th{
  background:var(--vin-surface-muted)!important;
  color:var(--vin-text-muted)!important;
  border-color:var(--vin-border)!important;
}

/* Voice/video refinement: compact inline global search remains directly typeable. */
.command-inline-search{display:grid!important;grid-template-columns:auto minmax(64px,1fr) auto;align-items:center;gap:6px;min-width:150px!important;width:min(230px,24vw)!important;max-width:230px!important;padding:4px 7px!important;background:#fff;border:1px solid var(--vin-border-strong);border-radius:var(--vin-radius-sm)}
.command-inline-search:focus-within{border-color:var(--vin-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vin-primary) 13%,transparent)}
.command-inline-search .command-inline-icon{display:inline-flex;color:var(--vin-text-soft)}
.command-inline-search input{min-width:0;width:100%;height:26px;padding:0;border:0!important;outline:0!important;background:transparent!important;color:var(--vin-text);font:inherit;box-shadow:none!important}
.command-inline-search input::placeholder{color:var(--vin-text-soft)}
.command-inline-search kbd{white-space:nowrap}
@media(max-width:1180px){.command-inline-search{width:min(180px,22vw)!important;min-width:120px!important}.command-inline-search kbd{display:none}}
@media(max-width:780px){.command-inline-search{width:112px!important;min-width:112px!important;max-width:112px!important}.command-inline-search input{font-size:.8125rem}}
@media(max-width:520px){.command-inline-search{width:38px!important;min-width:38px!important;max-width:38px!important;grid-template-columns:1fr;padding-inline:8px!important}.command-inline-search input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.command-inline-search .command-inline-icon{justify-content:center}.command-inline-search:focus-within{width:min(180px,52vw)!important;max-width:min(180px,52vw)!important;grid-template-columns:auto minmax(64px,1fr)}.command-inline-search:focus-within input{position:static;width:100%;height:26px;opacity:1;pointer-events:auto}}

/* v0.34 continuation: compact settings, lighter navigation and communications */
@media screen {
:root{--vin-sidebar-w:218px;--vin-nav:#183B63;--vin-nav-raised:#234E78;--vin-nav-text:#EEF4FB}
.sidebar{border-right-color:#2A527A;box-shadow:inset -1px 0 rgba(255,255,255,.04)}
.sidebar nav>a,.sidebar .nav-group-links a{font-size:.75rem}.nav-group>summary{color:#C0CEE0}.sidebar-foot p{color:#D1DBE8}
.notification-menu{position:relative;margin:0}.notification-menu>summary{position:relative;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--vin-border);border-radius:var(--vin-radius-sm);background:#fff;color:var(--vin-text-muted);list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu>summary:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}.notification-badge{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--vin-danger);color:#fff;font-size:.75rem;font-weight:700}.notification-menu-panel{position:absolute;z-index:70;top:calc(100% + 7px);right:0;width:min(390px,calc(100vw - 24px));padding:9px;border:1px solid var(--vin-border);border-radius:12px;background:#fff;box-shadow:var(--vin-shadow-md)}.notification-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 7px 9px;border-bottom:1px solid var(--vin-border)}.notification-menu-head form{margin:0}.notification-menu-head button{min-height:30px;padding:3px 6px}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:start;padding:8px 6px;border-bottom:1px solid var(--vin-border)}.notification-item.is-unread{background:var(--vin-primary-soft)}.notification-item>a{display:grid;gap:2px;color:var(--vin-text);text-decoration:none}.notification-item>a:hover strong{color:var(--vin-primary)}.notification-item span{overflow:hidden;color:var(--vin-text-muted);font-size:.75rem;line-height:1.35;text-overflow:ellipsis}.notification-item form{margin:0}.notification-item form button{min-width:30px;min-height:30px;padding:2px;border:0;background:transparent;color:var(--vin-primary)}.notification-empty{padding:20px 8px;color:var(--vin-text-muted);text-align:center;font-size:.8rem}.notification-all{display:block;padding:9px 7px 4px;text-align:center;font-size:.78rem;font-weight:600;text-decoration:none}
.settings-jump{position:sticky;z-index:12;top:62px;display:flex;gap:6px;overflow:auto;margin:0 0 12px;padding:7px;border:1px solid var(--vin-border);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:var(--vin-shadow-xs)}.settings-jump a{flex:0 0 auto;padding:6px 9px;border-radius:7px;color:var(--vin-text-muted);font-size:.76rem;font-weight:600;text-decoration:none}.settings-jump a:hover,.settings-jump a:focus{background:var(--vin-primary-soft);color:var(--vin-primary)}.compact-settings-form{display:grid;gap:12px}.settings-fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--vin-border);border-radius:10px;background:#fff}.settings-fieldset legend{padding:0 7px;color:var(--vin-text-strong);font-size:.88rem;font-weight:700}.compact-settings-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 11px}.compact-settings-form .form-grid>div,.compact-settings-form .form-grid>label{min-width:0}.compact-settings-form label{font-size:.76rem}.compact-settings-form input,.compact-settings-form select{min-height:38px;padding:7px 9px;font-size:.82rem}.compact-settings-form .span-2{grid-column:span 2}.settings-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.settings-toggle-card{display:flex;align-items:center;gap:8px;min-height:42px;margin:0;padding:8px;border:1px solid var(--vin-border);border-radius:8px;background:var(--vin-surface-muted);font-size:.76rem;font-weight:600}.settings-toggle-card input{flex:0 0 auto;width:18px;height:18px;min-height:18px}.settings-invariant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.invariant-panel{padding:10px;border:1px solid var(--vin-primary-border);border-radius:8px;background:var(--vin-primary-soft)}.invariant-panel strong{display:block;font-size:.8rem}.invariant-panel p{margin:3px 0 0;color:var(--vin-text-muted);font-size:.75rem}.settings-location-card{padding:12px;border:1px solid var(--vin-border);border-radius:9px;background:#fff}.sticky-form-actions{position:sticky;z-index:10;bottom:8px;display:flex;justify-content:flex-end;gap:8px;padding:8px;border:1px solid var(--vin-border);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:var(--vin-shadow-sm)}
.chat-workspace{grid-template-columns:minmax(210px,280px) minmax(0,1fr)}.chat-user{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid transparent;border-radius:8px;color:var(--vin-text);text-decoration:none}.chat-user:hover,.chat-user.is-active{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}.chat-user small{display:block;color:var(--vin-text-muted);font-size:.75rem}.chat-thread{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;padding:4px}.chat-bubble{align-self:flex-start;max-width:min(72%,650px);padding:9px 11px;border:1px solid var(--vin-border);border-radius:10px 10px 10px 3px;background:var(--vin-surface-muted)}.chat-bubble.mine{align-self:flex-end;border-color:var(--vin-primary-border);border-radius:10px 10px 3px 10px;background:var(--vin-primary-soft)}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble small{display:block;margin-top:4px;color:var(--vin-text-muted);font-size:.75rem}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.chat-compose textarea{min-height:62px;margin:0}
@media(max-width:1100px){.compact-settings-form .form-grid,.settings-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-invariant-grid{grid-template-columns:1fr 1fr}.compact-settings-form .span-2{grid-column:span 2}}
@media(max-width:700px){:root{--vin-sidebar-w:218px}.settings-jump{top:52px}.compact-settings-form .form-grid,.settings-toggle-grid,.settings-invariant-grid,.chat-workspace{grid-template-columns:1fr}.compact-settings-form .span-2{grid-column:auto}.sticky-form-actions{bottom:4px}.chat-compose{grid-template-columns:1fr}.chat-bubble{max-width:90%}.notification-menu-panel{position:fixed;top:58px;right:10px}}
}

/* v0.34.1 dashboard/public/report-centre correction: CSP-safe structured surfaces. */
.auth-surface{min-height:100vh;background:var(--vin-canvas)}
.auth-login-layout{max-width:980px;grid-template-columns:minmax(320px,.9fr) minmax(390px,1.1fr);min-height:590px}
.auth-login-story{position:relative;isolation:isolate;justify-content:space-between;padding:44px;background-position:55% center}
.auth-login-story::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(1,27,70,.88)}
.auth-login-brand{display:inline-flex;align-items:center;width:max-content}.auth-login-brand img{width:126px;margin:0;padding:7px 9px;object-fit:contain}
.auth-story-copy{margin:auto 0}.auth-story-copy h1{max-width:430px;margin:10px 0 15px;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.045em;line-height:1.05}.auth-story-copy>p{max-width:430px;margin:0;color:#D5E1F0;line-height:1.65}
.auth-story-points{display:grid;gap:9px;margin-top:25px}.auth-story-points>span{display:grid;gap:2px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.07);backdrop-filter:blur(5px)}.auth-story-points strong{color:#fff;font-size:.82rem}.auth-story-points small{color:#D4E0EF;font-size:.75rem}
.auth-login-panel{display:flex;flex-direction:column;justify-content:center;padding:50px clamp(32px,5vw,58px)}.auth-login-heading{margin-bottom:25px}.auth-login-heading h2{margin:13px 0 6px;font-size:1.8rem}.auth-login-heading .muted{margin:0}.auth-login-form{gap:17px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row label{margin:0}.field-label-row a{font-size:.78rem}.auth-create-workspace{margin:18px 0 0;text-align:center;color:var(--vin-text-muted);font-size:.82rem}.auth-version{margin:auto 0 0;padding-top:24px;text-align:center;color:var(--vin-text-soft);font-size:.75rem}

.public-premium-shell{width:min(1180px,calc(100% - 40px));padding-top:18px}.public-premium-hero{padding:clamp(54px,8vw,92px) 0 clamp(42px,7vw,74px)}.public-hero-copy h1{max-width:790px}.public-hero-actions{margin-top:26px}.public-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.public-trust-row span{padding:6px 10px;border:1px solid var(--vin-border);border-radius:999px;background:#fff;color:var(--vin-text-muted);font-size:.75rem;font-weight:600}
.public-business-preview{position:relative;overflow:hidden;padding:20px;background:#F7FAFE;box-shadow:0 22px 60px rgba(10,42,87,.11)}.public-business-preview::after{content:"";position:absolute;width:180px;height:180px;right:-72px;bottom:-90px;border-radius:50%;background:var(--vin-primary-light);opacity:.7}.public-preview-head{position:relative;z-index:1;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--vin-border)}.public-preview-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--vin-primary);color:#fff;font-weight:700}.public-preview-head strong,.public-preview-head small{display:block}.public-preview-head small{margin-top:2px;color:var(--vin-text-muted);font-size:.75rem}.public-preview-status{padding:4px 7px;border-radius:999px;background:var(--vin-success-bg);color:var(--vin-success);font-size:.75rem;font-weight:700}.public-preview-metrics{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.public-preview-metrics>div{padding:11px;border:1px solid var(--vin-border);border-radius:9px;background:rgba(255,255,255,.9)}.public-preview-metrics small,.public-preview-metrics strong,.public-preview-metrics span{display:block}.public-preview-metrics small{color:var(--vin-text-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.public-preview-metrics strong{margin:3px 0;color:var(--vin-text-strong);font-size:.95rem}.public-preview-metrics span{color:var(--vin-text-muted);font-size:.75rem}.public-preview-flow{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:13px;padding:9px 11px;border-radius:9px;background:var(--vin-nav);color:#fff;font-size:.75rem;font-weight:600}.public-preview-flow i{font-style:normal;color:#9DBBE2}
.public-value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:clamp(56px,8vw,90px);overflow:hidden;border:1px solid var(--vin-border);border-radius:var(--vin-radius-lg);background:#fff;box-shadow:var(--vin-shadow-xs)}.public-value-strip>div{padding:18px 20px}.public-value-strip>div+div{border-left:1px solid var(--vin-border)}.public-value-strip strong,.public-value-strip span{display:block}.public-value-strip strong{margin-bottom:4px;color:var(--vin-text-strong);font-size:.9rem}.public-value-strip span{color:var(--vin-text-muted);font-size:.78rem;line-height:1.5}
.public-capability-section{padding-bottom:clamp(52px,8vw,90px)}.public-section-heading{max-width:720px;margin-bottom:25px}.public-section-heading h2{margin:5px 0 8px;font-size:clamp(1.65rem,3.2vw,2.45rem);letter-spacing:-.035em}.public-section-heading>p{color:var(--vin-text-muted)}.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-feature-grid article{position:relative;min-height:180px;padding:21px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.public-feature-grid article:hover{transform:translateY(-2px);border-color:var(--vin-primary-border);box-shadow:var(--vin-shadow-sm)}.public-feature-index{display:inline-flex;margin-bottom:18px;color:var(--vin-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em}.public-feature-grid h3{margin:0 0 8px;color:var(--vin-text-strong);font-size:1rem}.public-feature-grid p{margin:0;color:var(--vin-text-muted);font-size:.8rem;line-height:1.55}.public-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:44px;padding:25px 28px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-lg);background:var(--vin-primary-soft)}.public-cta-panel h2{max-width:720px;margin:4px 0 0;font-size:clamp(1.25rem,2.4vw,1.75rem)}.public-footer{display:flex;justify-content:space-between;gap:20px}

.report-centre-heading{margin-bottom:14px}.report-centre-heading>div:first-child{max-width:720px}.report-centre{overflow:visible}.report-centre-toolbar{display:grid;grid-template-columns:minmax(240px,520px) auto;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid var(--vin-border)}.report-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:0 10px;border:1px solid var(--vin-border-strong);border-radius:8px;background:#fff;color:var(--vin-text-soft)}.report-search:focus-within{border-color:var(--vin-primary);box-shadow:0 0 0 3px var(--vin-primary-soft)}.report-search input{height:38px;min-height:38px;padding:0;border:0;outline:0;background:transparent;box-shadow:none}.report-count{display:flex;align-items:baseline;gap:5px;color:var(--vin-text-muted);font-size:.75rem}.report-count strong{color:var(--vin-primary);font-size:1.05rem}.report-group-tabs{display:flex;gap:6px;overflow-x:auto;padding:9px 12px;border-bottom:1px solid var(--vin-border);scrollbar-width:thin}.report-filter{flex:0 0 auto;min-height:32px;padding:5px 8px;border:1px solid var(--vin-border);border-radius:7px;background:#fff;color:var(--vin-text-muted);font-size:.75rem;font-weight:600}.report-filter span{display:inline-flex;min-width:20px;justify-content:center;margin-left:3px;padding:1px 5px;border-radius:999px;background:var(--vin-surface-muted);font-size:.75rem}.report-filter:hover,.report-filter.is-active{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}.report-filter.is-active span{background:#fff;color:var(--vin-primary)}.report-groups{display:grid;gap:0}.report-group{padding:13px 14px}.report-group+.report-group{border-top:1px solid var(--vin-border)}.report-group-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.report-group-heading>div{display:flex;align-items:baseline;gap:7px}.report-group-heading h2{margin:0;font-size:.88rem}.report-group-heading span{color:var(--vin-text-soft);font-size:.75rem}.report-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.report-link{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:8px 9px;border:1px solid var(--vin-border);border-radius:8px;background:#fff;color:var(--vin-text);text-decoration:none}.report-link:hover{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);box-shadow:var(--vin-shadow-xs)}.report-link-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--vin-primary-soft);color:var(--vin-primary)}.report-link-icon svg{width:16px;height:16px}.report-link-copy{min-width:0}.report-link-copy strong{display:block;overflow:hidden;color:var(--vin-text-strong);font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.report-link-copy small{display:block;overflow:hidden;margin-top:2px;color:var(--vin-text-muted);font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.report-link-arrow{color:var(--vin-primary);font-size:.9rem}.report-no-results{display:grid;place-items:center;gap:3px;padding:38px;color:var(--vin-text-muted);text-align:center}.report-no-results strong{color:var(--vin-text-strong)}

@media(max-width:900px){.auth-login-layout{grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr)}.auth-login-story{padding:32px}.auth-story-points{display:none}.public-feature-grid,.report-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-value-strip{grid-template-columns:1fr}.public-value-strip>div+div{border-left:0;border-top:1px solid var(--vin-border)}.public-cta-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.login-page{padding:0}.auth-login-layout{display:block;min-height:100vh;border:0;border-radius:0;box-shadow:none}.auth-login-story{min-height:auto;padding:24px 22px}.auth-login-story::before{background:rgba(1,27,70,.9)}.auth-login-brand img{width:108px}.auth-story-copy{margin-top:18px}.auth-story-copy h1{font-size:1.6rem}.auth-story-copy>p{font-size:.82rem}.auth-login-story .ownership{display:none}.auth-login-panel{padding:30px 22px 34px}.auth-version{margin-top:22px}.public-premium-shell{width:min(100% - 28px,1180px)}.public-feature-grid,.report-link-grid{grid-template-columns:1fr}.public-business-preview{padding:16px}.public-cta-panel{padding:20px}.public-footer{flex-direction:column;gap:3px}.report-centre-toolbar{grid-template-columns:1fr}.report-count{display:none}.report-centre{border-radius:10px}.report-group{padding:11px}.report-link{min-height:54px}.report-link-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}


/* v0.34.1 CSP consistency follow-through. */
.uppercase-input{text-transform:uppercase}.probe-token-code{display:block;overflow-wrap:anywhere;padding:14px;background:var(--vin-surface-muted)}
@media print{@page{size:A4 portrait;margin:12mm}.transfer-document{border:0;box-shadow:none;padding:0}.transfer-document table{min-width:0;table-layout:auto;font-size:12px}.transfer-document th,.transfer-document td{padding:8px;white-space:normal;overflow-wrap:anywhere}.transfer-document .table-wrap{overflow:visible}.transfer-document tr{break-inside:avoid}}

/* v0.34.4 review consolidation — enterprise navigation, accessible density and contextual guidance. */
@media screen{
:root{
  --vin-sidebar-w:218px;
  --vin-nav:#163A5F;
  --vin-nav-raised:#214D79;
  --vin-nav-text:#F3F7FC;
}
.sidebar{position:sticky;overflow-x:hidden;padding:15px 10px 13px;border-right-color:#28547E;background:var(--vin-nav);box-shadow:inset -1px 0 rgba(255,255,255,.055)}
.sidebar-head{position:relative;padding-right:0}
.sidebar nav>a,.sidebar .nav-group-links a{min-height:38px;padding:7px 8px;color:var(--vin-nav-text);font-size:.875rem;font-weight:500;line-height:1.3}
.nav-group>summary{min-height:38px;padding:8px;color:#C9D7E7;font-size:.8125rem;font-weight:600;letter-spacing:.025em;text-transform:none}
.nav-group[open]>summary{color:#fff}
.nav-group-links{margin-left:6px;padding-left:5px;border-left-color:#3A638B}
.sidebar nav>a:hover,.sidebar .nav-group-links a:hover,.nav-group>summary:hover{background:var(--vin-nav-raised);color:#fff}
.sidebar nav>a[aria-current=page],.sidebar .nav-group-links a[aria-current=page]{background:var(--vin-primary-light,#EAF2FF);color:var(--vin-primary-active);box-shadow:inset 3px 0 var(--vin-primary)}
.sidebar-foot p,.sidebar-foot .version{font-size:.8125rem;line-height:1.45}
.sidebar-foot .product-attribution{white-space:normal}
.sidebar-controls{position:fixed;z-index:56;top:50%;left:calc(var(--vin-sidebar-w) - 15px);display:flex!important;width:30px;height:44px;margin:0!important;padding:0!important;transform:translateY(-50%);pointer-events:none}
.desktop-nav-toggle{pointer-events:auto;display:grid!important;place-items:center!important;width:30px!important;min-width:30px!important;height:44px!important;min-height:44px!important;padding:0!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:0 10px 10px 0!important;background:var(--vin-nav-raised)!important;color:#fff!important;box-shadow:4px 4px 14px rgba(7,28,51,.18)!important}
.desktop-nav-toggle:hover,.desktop-nav-toggle:focus-visible{border-color:rgba(255,255,255,.52)!important;background:color-mix(in srgb,var(--vin-primary) 48%,var(--vin-nav-raised))!important;color:#fff!important}
.desktop-nav-toggle:focus-visible{outline:3px solid rgba(128,180,255,.42)!important;outline-offset:2px}
.desktop-nav-toggle .desktop-nav-toggle-icon{display:grid;place-items:center}.desktop-nav-toggle .vf-icon{width:14px;height:14px}
.app-shell[data-nav-mode=compact] .sidebar-controls{left:calc(var(--vin-sidebar-w) - 15px)}

/* Stronger branded application header with clear, accessible controls. */
.topbar{background:var(--vin-nav);border-bottom-color:#28547B;box-shadow:0 4px 18px rgba(7,28,51,.12);backdrop-filter:none}
.topbar-context,.topbar-context strong{color:#fff}.topbar .context-dot{background:#78AFFF}
.topbar-shortcuts a{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.topbar-shortcuts a:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.15);color:#fff}.topbar-shortcuts a:first-child{border-color:var(--vin-primary);background:var(--vin-primary);color:#fff}
.topbar-icon-actions>a,.topbar .notification-menu>summary{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.topbar-icon-actions>a:hover,.topbar .notification-menu>summary:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.15);color:#fff}
.topbar .account-menu>summary{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.topbar .account-menu>summary:hover{background:rgba(255,255,255,.15)}.topbar .account-copy strong,.topbar .account-copy small{color:#fff}.topbar .account-avatar{border-color:rgba(255,255,255,.32);background:#fff;color:var(--vin-primary)}
.topbar-collapse{color:#D8E5F3}.topbar-collapse:hover,.topbar-collapse:focus-visible{background:rgba(255,255,255,.12);color:#fff}
.command-inline-search{border-color:rgba(255,255,255,.28)!important}.command-inline-search:focus-within{border-color:#8AB7F8!important;box-shadow:0 0 0 3px rgba(138,183,248,.18)}

/* Notification content must wrap naturally instead of being squeezed or ellipsized. */
.notification-menu-panel{width:min(430px,calc(100vw - 24px));max-height:min(68dvh,620px);overflow:auto;padding:10px}
.notification-menu-head{padding:7px 8px 10px}
.notification-item{gap:9px;padding:10px 8px}
.notification-item>a{gap:4px;min-width:0}
.notification-item>a strong{font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}
.notification-item span{display:block;overflow:visible;color:var(--vin-text-muted);font-size:.8125rem;line-height:1.5;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.notification-item time{display:block;color:var(--vin-text-soft);font-size:.75rem;line-height:1.35}
.notification-all,.notification-empty{font-size:.8125rem}

/* Team chat: near-real-time updates, secure attachments and compact composition. */
.chat-conversation{min-width:0}.chat-heading{align-items:center}.chat-live-status{display:inline-flex;align-items:center;gap:5px;margin-top:3px;color:var(--vin-text-muted);font-size:.8125rem}.chat-live-status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--vin-primary)}
.chat-thread{min-height:240px;scrollbar-gutter:stable}.chat-bubble{min-width:0}.chat-attachments{display:grid;gap:5px;margin-top:7px}.chat-attachment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:36px;padding:6px 8px;border:1px solid var(--vin-border);border-radius:8px;background:#fff;color:var(--vin-text);text-decoration:none}.chat-bubble.mine .chat-attachment{background:rgba(255,255,255,.78)}.chat-attachment:hover,.chat-attachment:focus-visible{border-color:var(--vin-primary-border);color:var(--vin-primary)}.chat-attachment .vf-icon,.chat-attachment-icon{width:16px;height:16px;color:var(--vin-primary)}.chat-attachment span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment small{margin:0;white-space:nowrap}.chat-compose{grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-compose-main{display:grid;gap:6px;min-width:0}.chat-compose textarea{min-height:62px;resize:vertical}.chat-compose-tools{display:flex;align-items:center;gap:8px;min-height:34px}.chat-attach-button{min-height:34px!important;padding:5px 9px!important}.chat-attachment-status,.chat-send-status{color:var(--vin-text-muted);font-size:.8125rem;line-height:1.35}.chat-send-status{grid-column:1/-1;margin:0}.chat-send-button{align-self:start;min-width:82px}

/* Settings retain compact grouping without dropping below the accessible interface scale. */
.settings-jump a{font-size:.8125rem}.settings-fieldset legend{font-size:.9375rem}.compact-settings-form label{font-size:.875rem}.compact-settings-form input,.compact-settings-form select,.compact-settings-form textarea{font-size:.875rem}.settings-toggle-card{font-size:.875rem;line-height:1.4}.invariant-panel strong{font-size:.875rem}.invariant-panel p{font-size:.8125rem}.standard-settings strong{font-size:.875rem}.standard-settings small,.standard-settings .help{font-size:.8125rem}

/* Report centre: compact structure, full-size labels, explanations disclosed through info controls. */
.heading-with-help{display:flex;align-items:center;gap:6px}.heading-with-help h1{margin-right:2px}
.report-centre-heading>div:first-child{max-width:none}
.report-count,.report-group-heading span,.report-filter,.report-filter span{font-size:.8125rem}
.report-link-grid{gap:8px}
.report-link-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:4px;min-width:0}
.report-link-item[hidden]{display:none!important}
.report-link{min-height:52px;padding:8px 9px}
.report-link-copy strong{font-size:.875rem;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip}
.report-link-item>.info-trigger{width:32px;height:32px;min-width:32px;min-height:32px}
.report-filter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 14px}
.report-filter-form .form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px;min-width:0}
.report-filter-form .form-grid.three>div{min-width:0}.report-filter-form .page-actions{align-self:end;margin:0;white-space:nowrap}
.report-filter-form label{font-size:.8125rem}.report-filter-form input,.report-filter-form select{min-height:38px;font-size:.875rem}

/* Dashboard metric labels stay concise while figures retain priority. */
.metrics .metric{min-height:88px}.metrics .metric>span{font-size:.8125rem}.metrics .metric>strong{margin-top:5px}
}

@media(min-width:781px){
  .app-shell[data-nav-mode=compact]{--vin-sidebar-w:70px}
  .app-shell[data-nav-mode=expanded]{--vin-sidebar-w:218px}
}
@media(max-width:980px){.report-filter-form{grid-template-columns:1fr}.report-filter-form .page-actions{justify-content:flex-end}}
@media(max-width:700px){.report-filter-form .form-grid.three{grid-template-columns:1fr}.report-filter-form .page-actions{justify-content:stretch}.report-filter-form .page-actions>*{flex:1}.report-link-item{grid-template-columns:minmax(0,1fr) 36px}.chat-compose{grid-template-columns:1fr}.chat-send-button{width:100%}.chat-attachment{grid-template-columns:auto minmax(0,1fr)}.chat-attachment small{grid-column:2}}
@media(max-width:780px){.sidebar-controls{display:none!important}.sidebar nav>a,.sidebar .nav-group-links a{font-size:.875rem}.nav-group>summary{font-size:.8125rem}.topbar{background:var(--vin-nav)}}

/* v0.34.6 review implementation: coherent authenticated workspace refinements. */
/* Profile images are presentation-bound: uploaded dimensions never control the surrounding layout. */
.profile-editor-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-width:0}
.profile-avatar-large{display:block;width:88px;height:88px;min-width:88px;max-width:88px;min-height:88px;max-height:88px;aspect-ratio:1/1;overflow:hidden;border:2px solid var(--vin-primary-border);border-radius:20px;background:var(--vin-primary-soft);box-shadow:var(--vin-shadow-xs);object-fit:cover;object-position:center}
.profile-avatar-fallback{display:grid;place-items:center;color:var(--vin-primary);font-size:1.65rem;font-weight:700}
.account-avatar-image{display:block;max-width:100%;max-height:100%;object-fit:cover;object-position:center}
@media(max-width:560px){.profile-editor-row{grid-template-columns:72px minmax(0,1fr);gap:10px}.profile-avatar-large{width:72px;height:72px;min-width:72px;max-width:72px;min-height:72px;max-height:72px;border-radius:16px}}

/* Authenticated links use clean SaaS interaction states instead of permanent browser underlines. */
.app-shell a:not(.vin-keep-underline),.app-shell .notification-item>a,.app-shell .notification-all{text-decoration:none!important;text-decoration-thickness:0!important}
.app-shell main :is(p,li,dd) a:not(.button):not(.table-link):not(.report-link):not(.vin-keep-underline){color:var(--vin-primary);font-weight:600}
.app-shell main :is(p,li,dd) a:not(.button):not(.table-link):not(.report-link):not(.vin-keep-underline):hover{color:var(--vin-primary-hover)}
.app-shell a:focus-visible{outline:3px solid color-mix(in srgb,var(--vin-focus,var(--vin-primary)) 30%,transparent);outline-offset:2px}

/* Help stays contextual. app.js opens these dialogs non-modally and positions them beside the trigger. */
.info-dialog[data-vin-popover]{position:fixed;z-index:180;inset:auto;margin:0;width:min(380px,calc(100vw - 24px));max-height:min(62dvh,480px);overflow:auto;border-top-width:2px;box-shadow:0 16px 42px rgba(15,35,60,.20)}
.info-dialog[data-vin-popover]::backdrop{display:none;background:transparent}
.info-dialog[data-vin-popover] .info-dialog-head{padding:10px 12px}
.info-dialog[data-vin-popover] .info-dialog-body{padding:12px 14px;font-size:.875rem;line-height:1.5}
.info-dialog[data-vin-popover] .info-dialog-head button{min-width:34px;min-height:34px}
@media(max-width:520px){.info-dialog[data-vin-popover]{width:calc(100vw - 20px);max-height:min(58dvh,430px)}}

/* Report/category headers provide obvious but restrained theme-aware section boundaries. */
.report-group-heading{padding:10px 12px;border:1px solid var(--vin-primary-border);border-left:4px solid var(--vin-primary);border-radius:9px;background:var(--vin-primary-soft);color:var(--vin-text-strong)}
.report-group-heading h2{margin:0;color:var(--vin-text-strong);font-size:1rem;font-weight:700}
.report-group-heading span{color:var(--vin-text-muted);font-size:.8125rem}
.report-filter:hover,.report-filter:focus-visible{border-color:var(--vin-primary-border);background:var(--vin-primary-soft);color:var(--vin-primary)}
.panel-heading,.configuration-section-head{background:color-mix(in srgb,var(--vin-primary-soft) 42%,#fff);border-bottom-color:var(--vin-border)}

/* Report total rows are visually authoritative without competing with the report body. */
.report-total-row th,.report-total-row td{position:sticky;bottom:0;border-top:2px solid var(--vin-primary-border);background:color-mix(in srgb,var(--vin-primary-soft) 70%,#fff);color:var(--vin-text-strong);font-weight:700}
.report-total-row th:first-child{text-transform:none;letter-spacing:0}

/* Notification panel: readable body column, action column that never squeezes message copy. */
.notification-menu-panel{width:min(460px,calc(100vw - 24px));max-width:460px;padding:10px}
.notification-item{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 8px}
.notification-item>a{min-width:0;overflow-wrap:anywhere;text-decoration:none!important}
.notification-item>a strong,.notification-item>a span,.notification-item>a time{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.notification-item>a strong{font-size:.8125rem;line-height:1.35}
.notification-item>a span{font-size:.78rem;line-height:1.45}
.notification-item>a time{color:var(--vin-text-soft);font-size:.75rem;line-height:1.3}
.notification-item form{align-self:start;flex:0 0 auto}
.notification-all{text-decoration:none!important}
@media(max-width:700px){.notification-menu-panel{left:10px;right:10px;width:auto;max-width:none}}

/* Premium Settings hub. All colour surfaces derive from the selected tenant theme. */
.settings-page{display:grid;gap:18px}
.settings-hero{background:var(--vin-nav);border-color:color-mix(in srgb,var(--vin-primary) 30%,var(--vin-nav));box-shadow:0 18px 46px color-mix(in srgb,var(--vin-nav) 20%,transparent)}
.settings-platform{background:var(--vin-nav)}
.settings-section-badge{color:var(--vin-primary);background:var(--vin-primary-soft);border-color:var(--vin-primary-border)}
.settings-card{border-color:var(--vin-border);box-shadow:var(--vin-shadow-xs)}
.settings-card:hover{border-color:var(--vin-primary-border);box-shadow:var(--vin-shadow-sm)}
.settings-icon,.settings-platform-card .settings-icon{color:var(--vin-primary);background:var(--vin-primary-soft)}
.settings-card-scope,.settings-card-action{color:var(--vin-primary)}
.settings-card h3 a{color:var(--vin-text-strong)}
.settings-section-heading{padding:10px 12px;border-left:4px solid var(--vin-primary);border-radius:9px;background:color-mix(in srgb,var(--vin-primary-soft) 55%,#fff);align-items:center}
.settings-section-heading h2{margin:0 0 3px;font-size:1.25rem}.settings-section-heading p{font-size:.875rem}

/* Settings forms: deliberate grouping, readable typography and proportionate short controls. */
.admin-settings-layout{align-items:start}
.settings-navigation{border-color:var(--vin-border);box-shadow:var(--vin-shadow-xs)}
.settings-nav-list{display:grid;gap:6px;padding:9px}
.settings-nav-list>a{display:flex;align-items:center;min-height:40px;padding:8px 10px;border:1px solid var(--vin-border);border-radius:8px;color:var(--vin-text);background:var(--vin-surface-muted);font-size:.875rem;font-weight:600;text-decoration:none!important}
.settings-nav-list>a:hover,.settings-nav-list>a:focus-visible,.settings-nav-list>a[aria-current=page]{border-color:var(--vin-primary-border);color:var(--vin-primary);background:var(--vin-primary-soft);box-shadow:inset 3px 0 var(--vin-primary)}
.configuration-section{border-color:var(--vin-border);box-shadow:var(--vin-shadow-xs)}
.configuration-section-head{padding:14px 16px;border-left:4px solid var(--vin-primary)}
.configuration-section-head h2{font-size:1.1rem}.configuration-section-head p{font-size:.875rem;line-height:1.5}
.settings-form{padding:16px}.settings-fieldset{gap:12px;padding:14px;border-color:var(--vin-border);background:#fff}.settings-fieldset legend{color:var(--vin-text-strong);font-size:.9375rem}
.settings-form label,.settings-fieldset label{font-size:.8125rem;font-weight:600}.settings-form .help,.settings-fieldset .help{font-size:.78rem;line-height:1.45}
.field-compact{max-inline-size:10rem}.field-medium{max-inline-size:18rem}
:is(.settings-form,.compact-settings-form,.settings-fieldset,.business-settings-page) :is(input[name="port"],input[name$="decimal_places"],input[name$="decimal_places_override"],input[name="currency_symbol"],select[name$="decimal_places"],select[name$="decimal_places_override"],input[name="trial_days"],input[name="billing_months"]){max-inline-size:12rem}
:is(.settings-form,.compact-settings-form,.settings-fieldset,.business-settings-page) :is(input[name$="_bps"],input[name*="percentage"],input[name*="percent"],input[name="expiry_alert_days"],input[name="stop_selling_before_expiry_days"]){max-inline-size:14rem}
@media(max-width:700px){.field-compact,.field-medium,:is(.settings-form,.compact-settings-form,.settings-fieldset,.business-settings-page) input,:is(.settings-form,.compact-settings-form,.settings-fieldset,.business-settings-page) select{max-inline-size:100%}}

/* Business/POS settings retain categories but use clearer section rhythm. */
.business-settings-page{display:grid;gap:14px}
.business-settings-page>.panel,.business-settings-page>form.panel{border-color:var(--vin-border);box-shadow:var(--vin-shadow-xs)}
.business-settings-page .panel-heading{padding:12px 14px;border-left:4px solid var(--vin-primary);border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--vin-primary-soft) 52%,#fff)}
.business-settings-page .panel-heading h2{font-size:1.05rem}.business-settings-page .panel-heading p{font-size:.8125rem;line-height:1.45}
.business-settings-page .settings-jump{border:1px solid var(--vin-border);background:#fff;box-shadow:var(--vin-shadow-xs)}
.business-settings-page .settings-jump a{border-radius:7px;text-decoration:none!important}
.business-settings-page .settings-jump a:hover{color:var(--vin-primary);background:var(--vin-primary-soft)}

/* Superadmin follows the same typography/spacing system without changing platform logic. */
body.superadmin-workspace .main-content{font-size:.875rem}
body.superadmin-workspace .page-heading h1{font-size:clamp(1.45rem,2vw,1.8rem)}
body.superadmin-workspace .page-heading p{font-size:.875rem}
body.superadmin-workspace .superadmin-sidebar .nav-group>summary{text-transform:none;letter-spacing:.015em;font-size:.78rem}
body.superadmin-workspace .superadmin-sidebar nav>a,body.superadmin-workspace .superadmin-sidebar .nav-group-links a{font-size:.78rem}
body.superadmin-workspace :is(.panel-heading,.configuration-section-head) h2{font-size:1.05rem}
body.superadmin-workspace :is(input,select,textarea,button,.button){font-size:.875rem}

/* Theme-sensitive components must follow the selected colour instead of a permanent cobalt accent. */
.sidebar{background:var(--vin-nav);border-right-color:color-mix(in srgb,var(--vin-nav-raised) 82%,#000)}
.sidebar-head{background:var(--vin-nav)}
.desktop-nav-toggle{border-color:color-mix(in srgb,var(--vin-primary) 45%,#fff);background:color-mix(in srgb,var(--vin-primary) 22%,var(--vin-nav))}
.desktop-nav-toggle:hover,.desktop-nav-toggle:focus-visible{background:var(--vin-nav-raised)}
.table-link,.text-button{color:var(--vin-primary)}

/* Keep accessible compactness: a full-width control should be a deliberate choice, not the default for short values. */
.compact-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,220px));gap:10px 14px;align-items:end}
@media(max-width:520px){.compact-field-grid{grid-template-columns:1fr}}

/* v0.34.8 mobile-first resilience: one shared contract for tenant, Superadmin, auth and public surfaces. */
@media screen and (max-width:780px){
  :root{--vin-mobile-gutter:clamp(10px,3.6vw,16px)}
  html{scroll-padding-top:68px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-width:0;overflow-x:clip;overflow-wrap:anywhere}
  .app-shell,.workspace,.main-content,.panel,.content-grid,.dashboard-grid,.form-grid,.filter-bar,.search-bar{min-width:0;max-width:100%}
  .main-content{width:100%;padding:14px var(--vin-mobile-gutter) calc(22px + env(safe-area-inset-bottom));overflow-x:clip}

  /* Safe-area aware application drawer and header. */
  .app-mobile-nav-toggle{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));width:46px;height:46px;min-width:46px;min-height:46px}
  .sidebar{width:min(88vw,21rem)!important;height:100dvh!important;max-height:100dvh!important;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-gutter:stable}
  .sidebar-head{top:calc(-1 * max(8px,env(safe-area-inset-top)));padding-top:max(8px,env(safe-area-inset-top))}
  .sidebar #primary-navigation{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
  .sidebar nav>a,.sidebar .nav-group-links a,.nav-group>summary{min-height:44px}
  .mobile-nav-scrim{height:100dvh;touch-action:none}
  body.mobile-nav-open{overscroll-behavior:none;touch-action:none}

  /* Compact mobile command header: menu never covers search/account tools. */
  .topbar{min-height:60px;padding:8px var(--vin-mobile-gutter) 8px max(64px,calc(var(--vin-mobile-gutter) + 50px));gap:6px;overflow:visible}
  .topbar-left{flex:1 1 auto;min-width:0;overflow:visible}
  .topbar-right{flex:0 0 auto;min-width:0;gap:4px}
  .topbar-shortcuts{display:none!important}
  .topbar-icon-actions{display:flex;align-items:center;gap:4px;max-width:min(46vw,220px);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .topbar-icon-actions::-webkit-scrollbar{display:none}
  .topbar-icon-actions>a,.notification-menu>summary,.account-menu>summary{min-width:44px;min-height:44px}
  .topbar-icon-actions>a{display:grid;place-items:center;padding:0}
  .notification-menu>summary{width:44px;height:44px}
  .account-menu>summary{justify-content:center;padding:5px}
  .account-avatar{width:30px;height:30px}
  .topbar-collapse{display:none!important}
  .account-menu-panel{top:max(64px,calc(54px + env(safe-area-inset-top)));right:max(10px,env(safe-area-inset-right));left:auto;width:min(250px,calc(100vw - 20px));max-height:calc(100dvh - 84px);overflow:auto}
  .notification-menu-panel{top:max(64px,calc(54px + env(safe-area-inset-top)));right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));width:auto;max-width:none;max-height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain}
  body.superadmin-workspace .topbar{padding-left:max(64px,calc(var(--vin-mobile-gutter) + 50px));flex-wrap:wrap}
  body.superadmin-workspace .topbar>.command-trigger{flex:1 1 120px}
  body.superadmin-workspace .topbar>form{margin-left:auto}

  /* iOS-safe controls and touch interaction without shrinking readable text. */
  .main-content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  .auth-surface :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:1rem;max-width:100%}
  :is(button,.button,[role="button"],summary,.pagination a,.pagination button){touch-action:manipulation}
  .main-content :is(button,.button,.text-button),.auth-surface :is(button,.button){min-height:44px}
  input[type="checkbox"],input[type="radio"]{min-width:20px;min-height:20px}

  /* Headings/actions and dense operational panels reflow rather than clip. */
  .page-heading,.panel-heading,.configuration-section-head{min-width:0;gap:10px}
  .page-heading{margin-bottom:14px}
  .page-heading h1{font-size:clamp(1.45rem,6.4vw,1.75rem);line-height:1.16;overflow-wrap:anywhere}
  .page-heading>.actions,.page-actions,.actions{max-width:100%;flex-wrap:wrap}
  .page-heading>.actions{gap:7px}
  .page-heading>.actions>*{min-width:0}
  .panel-heading,.padded,.settings-form,.settings-fieldset{padding-inline:var(--vin-mobile-gutter)}
  .settings-jump{top:0;max-width:100%;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .settings-jump a{min-height:40px;display:inline-flex;align-items:center;scroll-snap-align:start}
  .sticky-form-actions{bottom:max(4px,env(safe-area-inset-bottom));padding-bottom:max(8px,env(safe-area-inset-bottom))}

  /* Tables remain semantically tabular and locally scrollable; the page itself never becomes horizontally scrollable. */
  .table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
  .table-wrap table{max-width:none}
  .table-wrap :is(th,td){vertical-align:middle}

  /* Menus, dialogs and contextual help stay entirely inside the visual viewport. */
  dialog,.command-dialog,.info-dialog,.catalogue-product-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  dialog[open]{overscroll-behavior:contain}
  .command-dialog,.info-dialog,.catalogue-product-dialog{margin:auto}
  .action-menu[data-floating="true"]>.action-menu-popover{right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;left:max(10px,env(safe-area-inset-left))!important;max-height:min(68dvh,520px);overflow:auto;overscroll-behavior:contain}
  .info-dialog[data-vin-popover]{left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;width:auto!important;max-width:none!important;max-height:min(70dvh,520px)}

  /* Auth/public pages use the dynamic viewport and safe-area gutters. */
  .auth-surface,.login-page{min-height:100dvh}
  .auth-login-layout{min-height:100dvh}
  .auth-login-story{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right));padding-top:max(24px,env(safe-area-inset-top))}
  .auth-login-panel{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right));padding-bottom:max(34px,env(safe-area-inset-bottom))}
  .public-premium-shell{width:min(100% - 24px,1180px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .public-nav{gap:10px;flex-wrap:wrap}
  .public-actions{margin-left:auto;gap:6px;flex-wrap:wrap}
  .public-premium-hero{padding-top:clamp(38px,10vw,56px)}
  .public-hero-actions>.button,.public-cta-panel .actions>.button{min-height:44px}
}

@media screen and (max-width:520px){
  :root{--vin-mobile-gutter:12px}
  .topbar{padding-left:62px}
  .topbar-icon-actions{max-width:40vw}
  .page-heading>.actions,.page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .page-heading>.actions>*:only-child,.page-actions>*:only-child{grid-column:1/-1}
  .page-heading>.actions :is(.action-menu,details),.page-actions :is(.action-menu,details){min-width:0}
  .page-heading>.actions :is(.button,button,summary),.page-actions :is(.button,button,summary){width:100%;justify-content:center}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .metric{padding:12px 10px}
  .public-brand span{display:none}
  .public-nav{align-items:center}
  .public-actions .button{padding-inline:12px}
  .public-hero-actions,.public-cta-panel .actions{display:grid;grid-template-columns:1fr;width:100%}
  .public-hero-actions>.button,.public-cta-panel .actions>.button{width:100%}
  .auth-login-panel{padding-top:26px}
}

@media screen and (max-width:360px){
  .topbar-icon-actions{max-width:34vw}
  .page-heading>.actions,.page-actions{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
}

@media (pointer:coarse){
  .topbar-icon-actions>a,.notification-menu>summary,.account-menu>summary,.settings-jump a,.table-action-menu>summary,.action-menu>summary{min-height:44px;min-width:44px}
}

/* v0.34.9 live-stage typography contract — global including public/auth/platform surfaces. */
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-size:16px;line-height:24px;color:#1F2937}
h1,.page-heading h1{font-size:28px;line-height:36px;font-weight:700}
h2,.section-heading{font-size:22px;line-height:30px;font-weight:600}
h3,.panel>h2,.card>h2,dialog h2,.dialog-heading{font-size:20px;line-height:28px;font-weight:600}
label,legend,th{font-size:16px;line-height:24px;font-weight:600;color:#1F2937}
input,select,textarea,td,.table-data{font-size:16px;line-height:24px;font-weight:400;color:#1F2937}
button,.button,nav a,nav summary{font-size:16px;line-height:24px;font-weight:500}
.help,.muted,.cell-note,small,.supporting-text,.description{font-size:14px;line-height:20px;font-weight:400;color:#4B5563}
th,td{padding-block:12px}
@media(max-width:700px){body,input,select,textarea,button,.button,nav a,nav summary,td,th,label,legend{font-size:16px}}
@media(min-resolution:1dppx){body{font-synthesis-weight:none}}

/* v0.34.9 action-menu standard: concise, consistently left-aligned operational actions. */
.action-menu-popover :is(a,button){justify-items:start;text-align:left}
.action-menu-popover :is(a,button)>strong{display:block;text-align:left}

/* v0.34.9 public SaaS surface: compact navigation and real Superadmin-backed packages. */
.public-brand img{width:78px;max-height:48px;object-fit:contain;border-radius:0}
.public-site-links{display:flex;align-items:center;gap:18px;margin-left:auto}
.public-site-links a{color:var(--vin-text-muted);font-weight:600;text-decoration:none}
.public-site-links a:hover,.public-site-links a:focus-visible{color:var(--vin-primary)}
.public-packages{padding:clamp(48px,7vw,80px) 0}
.public-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.public-package-card{display:grid;align-content:start;gap:16px;min-width:0;padding:20px;border:1px solid var(--vin-border);border-radius:var(--vin-radius-md);background:#fff;box-shadow:var(--vin-shadow-xs)}
.public-package-card h3{margin:4px 0 0}.public-package-price{font-size:1.35rem;line-height:1.35;color:var(--vin-primary)}
.public-package-card dl{display:grid;gap:7px;margin:0}.public-package-card dl>div{display:flex;justify-content:space-between;gap:12px;padding-block:5px;border-bottom:1px solid var(--vin-border)}
.public-package-card dt{color:var(--vin-text-muted)}.public-package-card dd{margin:0;font-weight:600;text-align:right}.public-package-card .button{justify-self:start}
.public-package-note{margin-top:12px}.public-feature-grid-compact article{min-height:150px}.public-support-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 44px;padding:24px 26px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-lg);background:var(--vin-primary-soft)}
.public-support-panel h2{margin:4px 0 6px}.public-support-panel p{margin:0;color:var(--vin-text-muted)}
@media(max-width:820px){.public-site-links{order:3;width:100%;justify-content:flex-end;gap:14px}.public-support-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.public-brand img{width:70px}.public-site-links{justify-content:space-between;overflow-x:auto}.public-package-card .button{width:100%}.public-support-panel{padding:18px}.public-support-panel .actions{width:100%}.public-support-panel .button{flex:1}}

/* v0.34.9 protected confirmation surfaces: compact login-grade treatment for password/TOTP step-up. */
.security-auth-card{width:min(100%,560px);margin-inline:auto;padding:clamp(18px,3vw,28px);border-color:var(--vin-primary-border);box-shadow:var(--vin-shadow-md)}
.security-auth-card form{max-width:100%}
.security-confirmation{position:relative;max-width:760px;padding:18px;border:1px solid var(--vin-primary-border);border-radius:var(--vin-radius-md);background:var(--vin-primary-soft);box-shadow:var(--vin-shadow-xs)}
.security-confirmation legend{padding:0 8px;color:var(--vin-text-strong);font-size:16px;line-height:24px;font-weight:600}
.security-confirmation>.help{max-width:62ch;margin:0 0 12px}
.security-confirmation .form-grid{grid-template-columns:repeat(2,minmax(180px,280px));justify-content:start;gap:12px 16px}
.security-confirmation input{width:100%;min-height:44px}
@media(max-width:620px){.security-confirmation .form-grid{grid-template-columns:1fr}.security-confirmation{padding:16px}.security-auth-card{margin-inline:0}}

/* Mobile header contract: left drawer control, elastic search in the centre, workspace actions on the right. */
@media screen and (max-width:780px){
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .topbar-left{display:flex;min-width:0;width:100%}
  .topbar-context{display:none!important}
  .command-inline-search{flex:1 1 auto;min-width:0;max-width:none}
  .command-inline-search input{min-width:0;width:100%}
  .topbar-right{display:flex;justify-content:flex-end;min-width:0;margin-left:0}
}
@media screen and (max-width:520px){
  .command-inline-search kbd{display:none}
  .command-inline-search{min-height:44px}
  .account-copy{display:none!important}
}

/* Notification text owns the available width; controls never compress the message column. */
.notification-menu-panel{box-sizing:border-box}
.notification-item{min-width:0}
.notification-item>a{width:100%;max-width:100%;padding-right:2px}
.notification-item>a :is(strong,span,time){display:block;width:100%;word-break:normal;overflow-wrap:anywhere}
.notification-item .cell-note{white-space:normal}

/* RC4 interface polish: preserve the full tenant identity and keep the mobile
   command header inside the visual viewport at every supported phone width. */
@media screen and (min-width:781px){
  .tenant-brand-name{
    display:-webkit-box;
    flex:1 1 auto;
    min-width:0;
    max-width:none;
    overflow:hidden;
    text-overflow:clip;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
}

@media screen and (max-width:780px){
  .workspace,.topbar,.topbar-left,.topbar-right{max-width:100%;min-width:0}
  .command-inline-search{
    position:relative;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    overflow:hidden;
  }
  .command-inline-search input{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    height:28px!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .command-inline-search kbd{display:none!important}
}
@media(max-width:520px){.notification-menu-panel{padding:8px}.notification-item{gap:6px;padding:9px 6px}.notification-menu-head{align-items:center}}

/* Settings landing avoids oversized/decorative blocks while keeping every visible action functional. */
.settings-page{gap:14px}.settings-hero{padding:20px 22px}.settings-card-grid{align-items:stretch;gap:10px}.settings-card{min-height:0;padding:14px}.settings-card-body p{margin-top:5px}.settings-platform{padding:16px 18px}.settings-platform-grid{grid-template-columns:minmax(0,420px)}
@media(max-width:700px){.settings-hero,.settings-platform{padding:16px}.settings-platform-grid{grid-template-columns:1fr}}

/* v0.34.9 final live-stage typography/help overrides: supersede older compact Superadmin rules. */
body.superadmin-workspace .main-content{font-size:16px;line-height:24px;color:#1F2937}
body.superadmin-workspace .page-heading h1{font-size:28px;line-height:36px;font-weight:700}
body.superadmin-workspace .page-heading p{font-size:14px;line-height:20px;color:#4B5563}
body.superadmin-workspace .superadmin-sidebar .nav-group>summary,
body.superadmin-workspace .superadmin-sidebar nav>a,
body.superadmin-workspace .superadmin-sidebar .nav-group-links a{font-size:16px;line-height:24px;font-weight:500;text-transform:none}
body.superadmin-workspace :is(.panel-heading,.configuration-section-head) h2{font-size:22px;line-height:30px;font-weight:600}
body.superadmin-workspace :is(input,select,textarea,button,.button){font-size:16px;line-height:24px}

/* Help/info controls are visually minimal while retaining an invisible 44px pointer/touch target. */
.info-trigger{position:relative;display:inline-grid;place-items:center;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:var(--vin-primary)!important;vertical-align:middle}
.info-trigger::before{content:"";position:absolute;inset:-10px;border-radius:50%}
.info-trigger:hover,.info-trigger:focus-visible{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--vin-primary-hover)!important}
.info-trigger .vf-icon{width:15px!important;height:15px!important}
.report-link-item>.info-trigger{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}


/* v0.35.0 live-stage refinement: compact guidance, notifications, account identity and public/auth density. */
.info-trigger{display:inline-grid!important;place-items:center!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin-inline:4px!important;padding:0!important;border:1px solid var(--vin-border)!important;border-radius:50%!important;background:transparent!important;color:var(--vin-primary)!important;box-shadow:none!important;vertical-align:middle!important}
.info-trigger:hover,.info-trigger:focus-visible{border-color:var(--vin-primary)!important;background:var(--vin-primary-soft)!important;color:var(--vin-primary-hover)!important}.info-trigger .vf-icon{width:13px;height:13px}.info-dialog{width:min(420px,calc(100vw - 24px));border:1px solid var(--vin-border);border-radius:12px;box-shadow:var(--vin-shadow-lg)}
.notification-menu-panel{width:min(410px,calc(100vw - 24px));padding:8px;overflow:hidden}.notification-item{grid-template-columns:minmax(0,1fr) auto;min-width:0;gap:8px;padding:9px 7px}.notification-item>a{min-width:0;gap:3px;overflow-wrap:anywhere}.notification-item>a strong,.notification-item>a span,.notification-item>a time{display:block;min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}.notification-item>a span{word-break:break-word}.notification-item>a time{margin-top:2px;color:var(--vin-text-soft);font-size:.75rem;line-height:1.3}.notification-all{clear:both;margin-top:2px;border-top:1px solid var(--vin-border);padding:10px 7px 3px}.notification-menu-head{min-width:0}
.account-menu>summary{max-width:230px}.account-avatar{width:32px;height:32px;min-width:32px;overflow:hidden;border-radius:50%}.account-avatar-image{display:block;width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;object-fit:cover!important}.account-menu-panel{width:224px}.account-menu-panel a,.account-menu-panel button{min-height:40px;display:flex;align-items:center}
.security-confirmed{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--vin-success-border,#b7dfc9);border-radius:8px;background:var(--vin-success-soft,#eefaf3)}.security-confirmed>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#16794B;color:#fff;font-weight:700}.security-confirmed div{display:grid;gap:1px}.security-confirmed small{color:var(--vin-text-muted)}
.auth-compact-surface{min-height:100dvh;background:var(--vin-canvas)}.compact-login-page{display:grid;place-items:center;min-height:100dvh;padding:24px}.compact-login-card{width:min(100%,430px);padding:28px;border:1px solid var(--vin-border);border-radius:16px;background:#fff;box-shadow:0 18px 55px rgba(10,29,56,.10)}.compact-login-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.compact-login-head img{display:block;width:104px;max-height:48px;object-fit:contain}.compact-login-head h1{margin:0 0 3px;font-size:1.55rem;line-height:1.2}.compact-login-head p{margin:0;color:var(--vin-text-muted);font-size:.875rem}.compact-login-form{gap:15px}.compact-login-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--vin-border);color:var(--vin-text-muted);font-size:.78rem}
.public-brand img{width:112px!important;height:auto!important;max-height:46px!important;object-fit:contain}.public-nav{min-height:62px}.public-premium-hero{padding-block:clamp(34px,6vw,70px)}.public-section-heading p{max-width:680px}.public-package-card{box-shadow:none}
.module-entitlement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-entitlement-option{align-items:flex-start;padding:10px;border:1px solid var(--vin-border);border-radius:8px;background:var(--vin-surface)}.module-entitlement-option span{display:grid;gap:1px}.module-entitlement-option small{color:var(--vin-text-muted)}.compact-empty{padding:12px!important}
.customer-birthday-grid{grid-template-columns:minmax(100px,.45fr) minmax(180px,1fr)}.compact-disclosure>summary{cursor:pointer;font-weight:600;color:var(--vin-primary)}
@media(max-width:700px){.notification-menu-panel{top:58px;right:8px;left:8px;width:auto}.account-copy{display:none}.account-menu>summary{padding:4px}.compact-login-page{padding:14px}.compact-login-card{padding:22px 18px;border-radius:12px}.compact-login-head{align-items:flex-start}.compact-login-head img{width:92px}.compact-login-foot{flex-direction:column}.module-entitlement-grid,.customer-birthday-grid{grid-template-columns:1fr}}

/* v0.35.0 operational help placement: guidance stays beside the matter it explains. */
.heading-with-help,.field-label-with-help,.fieldset-title-with-help,.inline-help-row{display:flex;align-items:center;gap:6px;min-width:0}.fieldset-title-with-help{justify-content:flex-start}.fieldset-title-with-help legend{float:none;width:auto;margin:0}.field-label-with-help label{margin:0}.inline-help-row{margin-top:4px}

/* RC4 Superadmin polish: keep signed-in identity legible on the branded header,
   keep the desktop drawer control out of page titles, and use a real compact
   search affordance beside the mobile navigation control. */
body.superadmin-workspace .topbar .business-label strong{color:#fff}
body.superadmin-workspace .topbar .business-label span:not(.business-mark){color:#D8E5F3}
.superadmin-command-trigger .command-trigger-mobile-icon{display:none}
@media screen and (min-width:781px){
  .sidebar-controls{left:calc(var(--vin-sidebar-w) - 30px)}
  .app-shell[data-nav-mode=compact] .sidebar-controls{left:calc(var(--vin-sidebar-w) - 30px)}
}
@media screen and (max-width:780px){
  body.superadmin-workspace .topbar{grid-template-columns:minmax(0,1fr) auto;flex-wrap:nowrap}
  body.superadmin-workspace .topbar>.superadmin-command-trigger{
    display:grid;
    place-items:center;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    min-height:44px;
    padding:0!important;
    overflow:hidden;
  }
  .superadmin-command-trigger .command-trigger-label,
  .superadmin-command-trigger .command-trigger-label::after,
  .superadmin-command-trigger kbd{display:none!important}
  .superadmin-command-trigger .command-trigger-mobile-icon{display:grid;font-size:1rem}
  .superadmin-command-trigger .command-trigger-mobile-icon .vf-icon{width:18px;height:18px}
}

/* RC4 component coherence: popovers size themselves from their content instead
   of inheriting the dimensions of the top-bar icon that opened them. */
.notification-menu-panel{overflow:auto}
.notification-item{align-items:start}
.notification-item>a{display:grid!important;width:100%!important;height:auto!important;min-height:0!important;align-content:start!important;place-items:initial!important;padding-right:4px}
.notification-item>a :is(strong,span,time){height:auto!important;line-height:1.4}
.notification-all{display:block!important;width:auto!important;height:auto!important;min-height:40px!important;text-align:center}
.account-menu>summary{min-height:44px}
.account-menu-panel{padding:7px}
.account-menu-panel a,.account-menu-panel button{justify-content:flex-start!important;min-height:42px;padding:9px 11px;text-align:left}
.account-menu-panel form{margin:5px 0 0;padding-top:5px;border-top:1px solid var(--vin-border)}
.account-menu-panel form button{color:var(--vin-danger,#9f1f17)}

/* Dense table workflows expose one stable action trigger; the full controls
   open in a bounded, readable popover rather than stretching the table row. */
.table-action-menu>summary{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px 10px;border:1px solid var(--vin-border);border-radius:7px;background:#fff;color:var(--vin-primary);font-weight:600;cursor:pointer;white-space:nowrap}
.table-action-menu>summary:hover,.table-action-menu>summary:focus-visible{border-color:var(--vin-primary-border);background:var(--vin-primary-soft)}
.table-action-menu>.action-menu-popover{display:grid;gap:8px;width:min(380px,calc(100vw - 24px));padding:10px}
.table-action-menu>.action-menu-popover>form,.table-action-menu>.action-menu-popover>details{margin:0;padding:9px;border:1px solid var(--vin-border);border-radius:8px;background:var(--vin-surface-muted)}
.table-action-menu>.action-menu-popover .actions{flex-wrap:wrap}
.wide-action-menu>.action-menu-popover{width:min(540px,calc(100vw - 24px))}
@media(max-width:700px){
  .table-action-menu>.action-menu-popover,.wide-action-menu>.action-menu-popover{width:auto}
}

/* Authentication and settings fields share a predictable full-width rhythm. */
.compact-login-form>div,.security-auth-card form>div{display:grid;gap:6px}
.compact-login-form :is(input,select,textarea),.security-auth-card :is(input,select,textarea){width:100%}
.settings-fieldset>.form-grid{align-items:start}
.settings-fieldset :is(label,.help){overflow-wrap:anywhere}
