:root{--bg-window: #f3f5f9;--bg-window-grad: radial-gradient(1100px 540px at 85% -10%, #ffffff 0%, rgba(255, 255, 255, 0) 55%), radial-gradient(900px 500px at -10% 110%, #e8eef6 0%, rgba(232, 238, 246, 0) 55%), #f3f5f9;--bg-card: #ffffff;--sb-bg: linear-gradient(180deg, #131b26 0%, #0e141d 100%);--sb-border: rgba(148, 180, 216, .12);--sb-text: #d7e1ee;--sb-text-dim: #8294a8;--sb-active-bg: rgba(20, 184, 166, .16);--sb-active-text: #5eead4;--sb-hover-bg: rgba(255, 255, 255, .06);--text-primary: #16202e;--text-muted: #64748b;--text-inverted: #ffffff;--accent: #0d9488;--accent-bright: #14b8a6;--accent-soft: rgba(13, 148, 136, .12);--accent-strong: #0f766e;--blue: #0f6cbd;--blue-soft: rgba(15, 108, 189, .12);--violet: #7c3aed;--violet-soft: rgba(124, 58, 237, .1);--green: #1b873f;--green-soft: rgba(27, 135, 63, .12);--warn: #b45309;--warn-soft: rgba(255, 122, 0, .14);--danger: #d32f2f;--danger-soft: rgba(211, 47, 47, .1);--border-subtle: rgba(24, 39, 75, .1);--border-card: rgba(24, 39, 75, .12);--radius-card: 16px;--radius-button: 10px;--radius-pill: 999px;--shadow-card: 0 10px 28px rgba(16, 24, 40, .07), 0 2px 8px rgba(16, 24, 40, .04);--shadow-card-hover: 0 18px 40px rgba(15, 23, 42, .13);--ease: cubic-bezier(.16, 1, .3, 1);--dur: .18s;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text-primary);background:var(--bg-window-grad);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell--signin{width:100%;max-width:none;min-height:100vh;margin:0 auto;display:grid;grid-template-rows:auto 1fr auto;padding:0;background:radial-gradient(circle 340px at 50% 48%,rgba(23,78,166,.055),transparent 72%),#f6f8fc}.portal-landing-header{width:min(1240px,calc(100% - 64px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #dfe6ef}.portal-wordmark{display:inline-flex;align-items:center;gap:10px;color:#182230;font-size:1rem;font-weight:800;letter-spacing:-.03em;text-decoration:none}.portal-wordmark img{width:30px;height:30px;object-fit:contain}.portal-landing-nav{display:flex;align-items:center;gap:24px;color:#536274;font-size:.84rem;font-weight:650}.portal-landing-nav a,.portal-landing-nav span{color:inherit;text-decoration:none}.portal-landing-nav a{transition:color .14s ease-out}.portal-landing-nav span{color:#174ea6}.portal-menu-button{display:none}.skip-to-login{position:fixed;top:8px;left:8px;z-index:2;padding:10px 14px;border-radius:8px;background:#174ea6;color:#fff;font-size:.82rem;font-weight:700;text-decoration:none;transform:translateY(-140%)}.skip-to-login:focus{transform:translateY(0)}@media(hover:hover)and (pointer:fine){.portal-landing-nav a:hover,.portal-wordmark:hover{color:#174ea6}}.landing-stage{width:min(400px,calc(100% - 40px));min-height:0;margin:0 auto;display:grid;place-items:center;padding:40px 0}.login-shell--signin .login-card{width:100%;max-width:400px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;animation:none}.login-shell--signin .login-card-heading{gap:12px}.login-shell--signin .login-card h2{color:#111827;font-size:2rem;font-weight:650;letter-spacing:-.045em;line-height:1.15}.login-shell--signin .login-product-label{color:#174ea6;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.login-shell--signin .login-provision-hint{margin:0;color:#667085;font-size:1rem;line-height:1.55}.login-shell--signin .login-form{gap:18px;margin-top:14px}.login-shell--signin .login-field{gap:8px}.login-shell--signin .login-field label{color:#344054;font-size:.82rem;font-weight:650}.login-shell--signin .login-form input{min-height:52px;padding:13px 14px;border:1px solid #d8e0ec;border-radius:12px;background:#fff;color:#111827;box-shadow:0 1px 1px #10182805}.login-shell--signin .login-form input:hover{border-color:#b9c6d7}.login-shell--signin .login-form input:focus{border-color:#174ea6;box-shadow:0 0 0 3px #174ea61f}.login-shell--signin .login-form input[aria-invalid=true]{border-color:#c43232}.login-field-error{margin:-1px 0 0;color:#b42318;font-size:.76rem;line-height:1.4}.login-form-options{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#667085;font-size:.8rem}.login-form-options a{color:#174ea6;font-weight:700;text-decoration:none}.login-form-options a:hover{text-decoration:underline}.remember-choice{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.login-shell--signin .remember-choice input{width:16px;min-height:16px;height:16px;padding:0;margin:0;box-shadow:none;accent-color:#174ea6}.login-shell--signin .login-form button[type=submit]{min-height:52px;margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;background:#174ea6;font-size:.9rem;font-weight:750}.login-submit b{font-size:1.1rem;font-weight:500;transition:transform .14s ease-out}@media(hover:hover)and (pointer:fine){.login-shell--signin .login-submit:hover:not(:disabled){background:#123f88}.login-shell--signin .login-submit:hover:not(:disabled) b{transform:translate(3px)}}.login-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-help{margin:-2px 0 0;color:#667085;font-size:.78rem;line-height:1.5}.login-help a{color:#174ea6;font-weight:700;text-decoration:none}.login-help a:hover{text-decoration:underline}.login-loading-status{margin:-2px 0 0;color:#667085;font-size:.78rem;line-height:1.5}.login-secure{margin:4px 0 0;color:#667085;font-size:.76rem;line-height:1.45}.portal-login-footer{width:min(400px,calc(100% - 40px));margin:0 auto;padding:20px 0 28px;display:flex;justify-content:center;gap:8px;color:#98a2b3;font-size:.72rem}.portal-login-footer span:after{content:" ·"}.portal-login-footer a{color:inherit;text-decoration:none}.portal-login-footer a+a:before{content:" · "}.portal-login-footer a:hover{color:#667085}.login-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid #dbe5f1;border-radius:22px;box-shadow:0 20px 44px #1f40681f,0 2px 8px #1f40680f;padding:34px 36px 36px;display:grid;gap:20px;animation:login-card-in .22s var(--ease) both}@keyframes login-card-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card-heading{display:grid;gap:10px}.login-card h2{margin:0;font-size:1.75rem;font-weight:600;letter-spacing:-.025em;line-height:1.2}.login-product-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.login-form{display:grid;gap:16px;margin-top:2px}.login-field{display:grid;gap:6px}.login-field label,.login-field-head{font-size:.82rem;font-weight:600;color:var(--text-muted)}.login-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-field-head a{color:var(--accent-strong);font-size:.78rem;font-weight:700;text-decoration:none}.login-field-head a:hover{text-decoration:underline}.login-form input{width:100%;min-height:42px;padding:9px 11px;border-radius:4px;border:1px solid #8a8886;background:#fff;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.login-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.login-form button[type=submit]{margin-top:8px;min-height:42px;padding:10px 16px;border:none;border-radius:4px;background:var(--blue);color:var(--text-inverted);font-size:.95rem;font-weight:700;cursor:pointer;transition:background-color .16s ease-out,transform .16s ease-out}.login-form button[type=submit]:active:not(:disabled){transform:scale(.985)}.login-form button:disabled{opacity:.6;cursor:default}.login-password-field{position:relative;display:block}.login-password-field input{padding-right:60px}.password-toggle{position:absolute;top:50%;right:4px;width:44px;height:44px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.password-toggle:active{transform:translateY(-50%) scale(.97)}@media(hover:hover)and (pointer:fine){.login-form button[type=submit]:hover:not(:disabled){background:var(--accent-strong)}.password-toggle:hover{background:var(--accent-soft);color:var(--accent-strong)}}.login-provision-hint{margin:0 0 14px;font-size:.9rem;color:var(--text-muted);line-height:1.45}.oauth-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border-subtle);font-size:.85rem;color:var(--text-muted)}.ghost-button,.oauth-button{padding:11px 14px;border-radius:var(--radius-button);border:1px solid var(--border-subtle);background:#fff;color:var(--text-primary);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.ghost-button:hover{border-color:var(--accent);background:var(--accent-soft)}.auth-links{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.auth-links a{color:var(--accent);text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.success-card{background:var(--green-soft);color:var(--green);border-radius:10px;padding:10px 12px;font-size:.88rem}.portal-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.portal-shell.sidebar-collapsed{grid-template-columns:72px 1fr}.portal-main{min-width:0;display:flex;flex-direction:column}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px;padding:20px 14px;background:#0e141de6;border-right:1px solid var(--sb-border);color:var(--sb-text)}.sidebar-collapsed .sidebar{padding:16px 10px;align-items:stretch}.sidebar-collapsed .brand{justify-content:center;flex-wrap:wrap;gap:8px}.sidebar-collapsed .sidebar nav a{justify-content:center;padding:12px 8px}.sidebar-collapsed .sidebar nav a.active:before{left:-10px}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px 6px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;flex-shrink:0}.brand-mark img{display:block;width:32px;height:32px;object-fit:contain}.brand-text{display:grid;gap:1px;min-width:0}.brand-text strong{font-size:1.02rem;letter-spacing:-.01em;color:#fff}.brand-text span{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sb-text-dim)}.sidebar nav{display:grid;gap:2px}.team-permissions-row>td{padding:0;background:var(--panel-bg, #f8fafc)}.team-permissions-editor{padding:18px 20px;border-block:1px solid var(--border-subtle)}.team-permissions-heading,.team-permission-item{display:grid;grid-template-columns:minmax(180px,1fr) 64px 72px;align-items:center;gap:10px}.team-permissions-heading{margin-bottom:8px;padding:0 10px;color:var(--text-muted);font-size:.78rem;font-weight:650}.team-permissions-heading>div:first-child{display:grid;gap:3px}.team-permissions-heading>div:first-child span{font-weight:400}.team-permissions-heading>div:last-child{display:contents}.team-permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:4px 18px}.team-permission-item{min-height:40px;padding:4px 10px;border-radius:8px}.team-permission-item:hover{background:var(--surface-muted, rgba(15, 23, 42, .04))}.team-permission-item>label{display:grid;place-items:center}.team-permission-item input{width:17px;height:17px;accent-color:var(--accent, #2563eb)}.team-permissions-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:760px){.team-permissions-grid{grid-template-columns:1fr}.team-permissions-heading,.team-permission-item{grid-template-columns:minmax(150px,1fr) 52px 60px}}.portal-shell--restaurant .sidebar{background:#161d27c2;border-right-color:#ffffff24;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}.portal-shell--restaurant .portal-topbar{background:#f8fafcd1;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.restaurant-dashboard .kpi-card,.restaurant-dashboard .panel{border-radius:14px}.restaurant-dashboard__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.restaurant-dashboard__grid>.panel{min-width:0;margin:0}.restaurant-dashboard__rows{display:grid;gap:0}.restaurant-dashboard__row,.restaurant-dashboard__simple-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--border-subtle)}.restaurant-dashboard__row{display:grid;grid-template-columns:minmax(0,1fr) auto}.restaurant-dashboard__row .restaurant-dashboard__track{grid-column:1 / -1;width:100%;flex:none}.restaurant-dashboard__row:last-child,.restaurant-dashboard__simple-row:last-child{border-bottom:0}.restaurant-dashboard__row>div:first-child,.restaurant-dashboard__simple-row>span:first-child{display:grid;gap:4px;min-width:0}.restaurant-dashboard__row strong,.restaurant-dashboard__simple-row strong{font-size:.86rem}.restaurant-dashboard__row span,.restaurant-dashboard__simple-row small{color:var(--text-muted);font-size:.76rem}.restaurant-dashboard__track{flex:0 0 72px;height:5px;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.restaurant-dashboard__track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.restaurant-mix-chart{display:grid;grid-template-columns:minmax(132px,176px) minmax(0,1fr);align-items:center;gap:clamp(12px,2vw,24px);padding:20px}.restaurant-mix-chart__ring{position:relative;display:grid;width:min(100%,176px);aspect-ratio:1;place-items:center;border-radius:50%}.restaurant-mix-chart__ring:before{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:1px solid var(--border-subtle);border-radius:inherit;background:var(--surface, #fff);content:""}.restaurant-mix-chart__center{z-index:1;display:grid;max-width:74%;gap:4px;justify-items:center;text-align:center}.restaurant-mix-chart__center strong{overflow:hidden;max-width:100%;font-size:clamp(.83rem,1.5vw,1rem);text-overflow:ellipsis;white-space:nowrap}.restaurant-mix-chart__center span{color:var(--text-muted);font-size:.72rem}.restaurant-mix-chart__legend{display:grid;gap:0;min-width:0;margin:0;padding:0;list-style:none}.restaurant-mix-chart__legend li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.restaurant-mix-chart__legend li:last-child{border-bottom:0}.restaurant-mix-chart__legend-label{display:flex;align-items:center;gap:8px;min-width:0;font-size:.84rem;font-weight:700}.restaurant-mix-chart__legend-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-mix-chart__legend-label i{flex:0 0 9px;width:9px;height:9px;border-radius:3px}.restaurant-mix-chart__legend li>strong{font-size:.8rem}.restaurant-mix-chart__legend li>small{grid-column:1 / -1;padding-inline-start:17px;color:var(--text-muted);font-size:.73rem}.restaurant-dashboard .rank-list{padding:4px 0}.restaurant-dashboard .rank-list li{padding-block:12px}.restaurant-dashboard .rank-track{height:7px}.restaurant-dashboard__status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;padding:16px}.restaurant-dashboard__status-grid>div{display:grid;gap:5px;padding:12px;border-radius:10px;background:var(--accent-soft)}.restaurant-dashboard__status-grid span{color:var(--text-muted);font-size:.75rem}.restaurant-dashboard__status-grid strong{font-size:1.2rem}.restaurant-dashboard__note{margin:0 16px 16px;color:var(--text-muted);font-size:.78rem}.mobile-navigation-layer{display:none}@media(max-width:620px){.restaurant-dashboard__grid{grid-template-columns:minmax(0,1fr)}.restaurant-mix-chart{grid-template-columns:1fr;justify-items:center}.restaurant-mix-chart__ring{width:min(52vw,168px)}.restaurant-mix-chart__legend{width:100%}}@media(max-width:359px){.restaurant-dashboard .kpi-grid{grid-template-columns:minmax(0,1fr)}}.recipe-import-review{margin-block:16px}.recipe-import-review .panel-body{display:grid;gap:16px}.recipe-import-review__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.recipe-import-review__summary>div{display:grid;gap:4px;padding:12px;border-radius:10px;background:var(--bg-subtle)}.recipe-import-review__summary strong{font-size:1.15rem}.recipe-import-review__summary span,.recipe-import-review__samples small{color:var(--text-muted);font-size:.76rem;text-transform:capitalize}.recipe-import-review__samples,.recipe-import-review__warnings{display:grid;gap:8px}.recipe-import-review__samples ul,.recipe-import-review__warnings ul{display:grid;gap:6px;margin:0;padding-inline-start:20px}.recipe-import-review__samples li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border-subtle)}.recipe-import-review__samples li span{display:grid;gap:3px}.recipe-import-review__warnings{padding:12px;border-radius:10px;background:var(--warning-soft, #fff7e6)}.recipe-import-review__warnings small{color:var(--text-muted)}.recipe-import-review__actions{display:flex;justify-content:flex-end;gap:8px}.restaurant-recipes-page{display:grid;gap:16px}.restaurant-recipes-actions,.restaurant-recipes-row-actions{display:flex;align-items:center;gap:8px}.restaurant-recipes-summary{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:.82rem}.restaurant-recipes-summary span{padding:6px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-raised)}.restaurant-recipes-page .data-table td small{display:block;margin-top:3px;color:var(--text-muted)}.restaurant-recipes-page .danger-button{color:var(--danger, #b42318)}.recipe-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recipe-editor{display:flex;flex-direction:column;width:min(720px,calc(100vw - 40px));height:min(720px,88dvh);max-height:min(88dvh,720px);overflow:hidden;border:1px solid var(--border-subtle);border-radius:22px;background:var(--surface, #fff);box-shadow:0 24px 80px #0f172a3d}.recipe-editor>header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--border-subtle);background:var(--surface, #fff)}.recipe-editor>header h2,.recipe-ingredients-heading h3{margin:0}.recipe-editor>header p{margin:5px 0 0;color:var(--text-muted);font-size:.86rem}.recipe-editor form{display:grid;flex:1 1 auto;min-height:0;gap:18px;overflow-y:auto;padding:20px 24px 24px}.recipe-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-editor label{display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:.8rem;font-weight:600}.recipe-editor input,.recipe-editor select,.recipe-editor textarea{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--border-subtle);border-radius:11px;color:var(--text-primary);background:var(--surface-raised);font:inherit}.recipe-editor textarea{resize:vertical}.recipe-ingredients-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-ingredients-heading>div{display:grid;gap:4px}.recipe-ingredients-heading span,.recipe-editor-note{color:var(--text-muted);font-size:.82rem}.recipe-ingredient-rows{display:grid;gap:10px}.recipe-ingredient-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(90px,1fr)) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-subtle, var(--bg-subtle))}.recipe-ingredient-row>button{min-height:42px}.recipe-editor-notes{max-width:100%}.recipe-editor .setting-checkbox{display:flex;align-items:center;gap:9px}.recipe-editor .setting-checkbox input{width:17px;min-height:17px}.recipe-editor form>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:14px 0 0;border-top:1px solid var(--border-subtle);background:var(--surface, #fff)}.restaurant-modifiers-page{display:grid;gap:16px}.restaurant-modifier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;align-items:start}.restaurant-modifier-card{display:grid;gap:16px;padding:18px}.restaurant-modifier-card>header,.restaurant-modifier-card>header>div{display:flex;align-items:center;gap:11px}.restaurant-modifier-card>header{justify-content:space-between}.restaurant-modifier-card h2,.modifier-product-picker h3{margin:0;font-size:1rem}.restaurant-modifier-card header p{margin:3px 0 0;color:var(--text-muted);font-size:.8rem;text-transform:capitalize}.restaurant-modifier-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;color:#6d28d9;background:#f2eefe}.restaurant-modifier-options{display:grid;gap:1px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:12px;background:var(--border-subtle)}.restaurant-modifier-options>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-raised);font-size:.84rem}.restaurant-modifier-options small{display:inline-flex;margin-inline-start:7px;color:var(--text-muted);font-size:.7rem}.restaurant-modifier-products{display:grid;gap:8px}.restaurant-modifier-products>div{display:flex;flex-wrap:wrap;gap:6px}.restaurant-modifier-products>small{color:var(--text-muted)}.restaurant-modifier-card>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.modifier-editor{width:min(720px,calc(100vw - 40px))}.modifier-editor form{gap:16px}.modifier-option-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.7fr) auto auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-subtle, var(--bg-subtle))}.modifier-option-row>button{min-height:42px}.modifier-product-picker{display:grid;gap:10px}.modifier-product-picker>div:first-child{display:grid;gap:4px}.modifier-product-picker>div:first-child span,.modifier-product-picker>small{color:var(--text-muted);font-size:.82rem}.modifier-product-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:4px;max-height:210px;overflow:auto;padding:8px;border:1px solid var(--border-subtle);border-radius:12px}.modifier-product-list label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:var(--surface-raised)}.modifier-product-list input{width:16px;min-height:16px;flex:0 0 auto}.modifier-product-list small{color:var(--text-muted);font-weight:400}@media(max-width:760px){.restaurant-recipes-page>.page-header{align-items:flex-start;flex-direction:column}.restaurant-recipes-actions{width:100%}.restaurant-recipes-actions>button{flex:1;justify-content:center}.recipe-editor-backdrop{padding:8px;align-items:end}.recipe-editor{width:100%;height:94dvh;max-height:94dvh;border-radius:20px 20px 12px 12px}.recipe-editor>header,.recipe-editor form{padding-inline:16px}.recipe-editor-grid{grid-template-columns:1fr 1fr}.recipe-ingredient-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.recipe-ingredient-row label:first-child{grid-column:1 / -1}.recipe-ingredient-row>button{justify-self:end}.modifier-option-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modifier-option-row>button{justify-self:end}}@media(max-width:440px){.restaurant-recipes-actions{flex-direction:column}.restaurant-recipes-actions>button{width:100%}.recipe-editor-grid{grid-template-columns:1fr}}.restaurant-quick-menu .sheet-header{align-items:flex-start}.restaurant-quick-menu .sheet-header h2{margin:0}.restaurant-quick-menu .sheet-header p{margin:5px 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.restaurant-quick-menu__items,.restaurant-quick-menu__modifiers{min-width:0;margin:0;padding:12px;border:1px solid var(--border-subtle);border-radius:12px}.restaurant-quick-menu__items legend,.restaurant-quick-menu__modifiers legend{padding:0 6px;color:var(--text-primary);font-size:.82rem;font-weight:700}.restaurant-quick-menu__item{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;gap:10px}.restaurant-quick-menu__modifiers{display:grid;gap:8px}.restaurant-quick-menu .restaurant-quick-menu__modifiers label{display:flex;grid-template-columns:none;align-items:center;gap:10px;padding:8px;border-radius:8px;background:var(--bg-subtle)}.restaurant-quick-menu__modifiers label span{display:grid;gap:3px}.restaurant-quick-menu__modifiers small{color:var(--text-muted);font-size:.74rem}@media(max-width:560px){.restaurant-quick-menu__item{grid-template-columns:minmax(0,1fr) 94px auto;gap:6px}}@media(prefers-reduced-transparency:reduce){.portal-shell--restaurant .sidebar,.portal-shell--restaurant .portal-topbar{backdrop-filter:none;-webkit-backdrop-filter:none}}.nav-section{padding:8px 10px 4px;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sb-text-dim)}.veterinary-clinic-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px;margin:0 0 18px;padding:9px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.veterinary-clinic-nav a{display:flex;min-height:38px;align-items:center;justify-content:center;padding:7px 10px;border-radius:9px;color:var(--text-muted);font-size:12px;font-weight:600;text-align:center;text-decoration:none;white-space:nowrap}.veterinary-clinic-nav a:hover,.veterinary-clinic-nav a.is-active{background:color-mix(in srgb,var(--accent, #0e7490) 10%,transparent);color:var(--accent, #0e7490)}.veterinary-clinic-links{grid-template-columns:repeat(3,minmax(0,1fr))}.veterinary-appointment-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.veterinary-appointment-form h3{grid-column:1 / -1;margin:0;font-size:1rem}.veterinary-appointment-form label{display:grid;gap:6px;color:var(--text-muted);font-size:.82rem;font-weight:650}.veterinary-appointment-form input,.veterinary-appointment-form select{min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.veterinary-workspace-page>.panel>.veterinary-dashboard-note{margin:0 16px 16px}.veterinary-roster-assignment{align-items:end;padding:12px 16px 16px;border-bottom:1px solid var(--border-color, #e5e7eb)}.veterinary-roster-assignment>label{min-width:min(240px,100%);flex:1}.veterinary-roster-assignment .primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.veterinary-roster-branches{display:flex;flex-wrap:wrap;gap:6px}.veterinary-roster-branch{display:inline-flex;align-items:center;gap:5px;padding:3px 5px 3px 9px;border:1px solid var(--border-color, #e5e7eb);border-radius:999px;white-space:nowrap}.veterinary-roster-branch .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:3px}.veterinary-workspace-page .appointment-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}@media(max-width:760px){.veterinary-clinic-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.veterinary-clinic-links{grid-template-columns:1fr}}@media(max-width:760px){.veterinary-appointment-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.veterinary-appointment-form{grid-template-columns:1fr}}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--sb-text);text-decoration:none;font-size:.98rem;font-weight:600;opacity:.85;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease)}.sidebar nav a svg{flex-shrink:0;color:var(--nav-icon-color, var(--sb-text));opacity:1}.sidebar nav a:hover{background:var(--sb-hover-bg);opacity:1}.sidebar nav a:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.sidebar nav a.active{background:var(--sb-active-bg);color:var(--sb-active-text);opacity:1;position:relative}.sidebar nav a.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent-bright)}.business-switcher{width:100%;padding:10px 12px;border-radius:var(--radius-button);border:1px solid var(--sb-border);background:#ffffff0f;color:var(--sb-text);font-size:.88rem;font-weight:700;font-family:inherit}.business-switcher:focus{outline:none;border-color:var(--accent-bright)}.business-switcher option{color:var(--text-primary);background:#fff}.business-name{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#ffffff0d;border:1px solid var(--sb-border);font-size:.86rem;font-weight:700;color:var(--sb-text)}.business-name svg{color:var(--accent-bright);flex-shrink:0}.business-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-topbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:12px;padding:10px 20px;background:#ffffffeb;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:10px;min-width:0}.topbar-center{justify-content:center;flex-wrap:wrap}.topbar-right{justify-content:flex-end;position:relative}.topbar-shop{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:700;color:var(--text-primary)}.topbar-shop span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-shop-select{border:1px solid var(--border-subtle);border-radius:8px;padding:6px 8px;font:inherit;font-weight:700;background:#fff;max-width:220px}.topbar-sync{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700}.topbar-sync-ok{background:var(--green-soft);color:var(--green)}.topbar-sync-pending{background:var(--warn-soft);color:var(--warn)}.topbar-sync-stale{background:var(--danger-soft);color:var(--danger)}.topbar-last-sync{color:var(--text-muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.topbar-account{display:inline-flex;align-items:center;gap:8px;max-width:100%}.topbar-account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-role{text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;color:var(--text-muted)}.topbar-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;box-shadow:var(--shadow-card-hover);padding:8px;display:grid;gap:6px}.topbar-menu-meta{display:grid;gap:2px;padding:8px 10px;border-bottom:1px solid var(--border-subtle);margin-bottom:2px}.topbar-menu-meta strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis}.topbar-menu-meta span{color:var(--text-muted);font-size:.78rem}.topbar-menu button{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600;color:var(--text-primary);text-align:left}.topbar-menu button:hover{background:var(--accent-soft)}.topbar-icon-btn{padding:8px!important}.desktop-collapse-btn{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content{padding:22px 28px 48px;min-width:0}.session-chip{width:fit-content;padding:4px 9px;border-radius:var(--radius-pill);background:var(--sb-active-bg);color:var(--sb-active-text);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.page-header{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.stock-header-actions{display:inline-flex;align-items:center;gap:12px}.page-header:has(.stock-header-actions){flex-direction:column;gap:12px}.page-header:has(.stock-header-actions) .page-header-side{width:100%;min-width:0;flex-shrink:1}.page-header:has(.stock-header-actions) .stock-header-actions{display:flex;width:100%;flex-wrap:wrap;justify-content:space-between}.stock-catalog-tools{display:inline-flex;align-items:center;min-height:42px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:calc(var(--radius-button) + 2px);background:#ffffffb8;box-shadow:0 1px 2px #0f172a0a}.stock-tool-button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:0;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-size:.84rem;font-weight:650;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.stock-tool-button:last-child{border-right:0}.stock-tool-button svg{color:var(--accent-strong)}.stock-tool-button:disabled{cursor:default;opacity:.6}.stock-header-actions .primary-button{min-height:42px;padding-inline:16px;box-shadow:0 1px 2px #0d94882e}@media(hover:hover)and (pointer:fine){.stock-tool-button:hover:not(:disabled){background:var(--accent-soft);color:var(--text-primary)}}.stock-header-actions button:active{transform:scale(.98)}.page-header h1{margin:0;font-size:1.65rem;letter-spacing:-.02em}.page-header p{margin:4px 0 0;color:var(--text-muted);font-size:.92rem}.page-freshness{margin:6px 0 0!important;font-size:.78rem!important}.readonly-chip{flex-shrink:0;margin-top:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.period-caption{display:flex;align-items:center;gap:7px;margin:0 0 16px;font-size:.82rem;font-weight:600;color:var(--text-muted)}.period-caption svg{color:var(--accent)}.dashboard-page{max-width:1440px;margin:0 auto}.dashboard-page .page-header{margin-bottom:22px}.dashboard-page .page-header h1{font-size:1.85rem;letter-spacing:-.04em}.dashboard-page .page-header p{max-width:58ch;color:#6b7280}.dashboard-page .page-freshness{color:#8a94a3}.dashboard-page .period-caption{margin-bottom:14px;color:#7b8491;font-size:.78rem}.dashboard-page .kpi-grid{gap:12px;margin-bottom:14px}.dashboard-page .kpi-card,.dashboard-page .panel{border-color:#0f172a1a;border-radius:18px;box-shadow:0 1px 2px #0f172a09}.dashboard-page .kpi-card{min-height:158px;padding:18px;gap:10px}.dashboard-page .kpi-card:hover{transform:none;box-shadow:0 1px 2px #0f172a09}.dashboard-page .kpi-clickable{transition:border-color .14s ease-out,background-color .14s ease-out}.dashboard-page .kpi-clickable:hover{border-color:#0d948852;background:#fcfefd}.dashboard-page .kpi-icon{width:32px;height:32px;border-radius:10px}.dashboard-page .kpi-value{font-size:1.72rem;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.dashboard-page .kpi-sub{max-width:28ch}.dashboard-page .alert-cards{gap:10px;margin-bottom:14px}.dashboard-page .alert-card{min-height:72px;border-radius:14px;box-shadow:none}.dashboard-page .dash-split{gap:12px;margin-bottom:12px}.dashboard-page .panel-head{min-height:58px;padding:15px 18px}.dashboard-page .panel-head h2{font-size:.94rem;letter-spacing:-.015em}.dashboard-page .panel-badge{background:#0d948817}.dashboard-page .segmented{padding:2px;background:#f1f3f5}.dashboard-page .segmented button{min-height:30px;padding:5px 10px}.dashboard-page .segmented button.active{box-shadow:0 1px 2px #0f172a1a}.dashboard-page .rank-list{padding:4px 0}.dashboard-page .rank-list li,.dashboard-page .stat-row{padding:12px 18px}.dashboard-page .rank-bar{background:var(--accent);transition:none}.dashboard-page .margin-hero{padding-top:18px}.dashboard-page .margin-hero strong{font-variant-numeric:tabular-nums}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px;margin-bottom:18px}.kpi-grid-core{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px 18px 14px;display:grid;gap:8px;text-align:left;color:inherit;font:inherit;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.kpi-clickable{cursor:pointer;width:100%}.kpi-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.kpi-top{display:flex;align-items:center;gap:9px}.kpi-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.kpi-blue .kpi-icon{background:var(--blue-soft);color:var(--blue)}.kpi-green .kpi-icon{background:var(--green-soft);color:var(--green)}.kpi-violet .kpi-icon{background:var(--violet-soft);color:var(--violet)}.kpi-warn .kpi-icon{background:var(--warn-soft);color:var(--warn)}.kpi-muted .kpi-icon{background:#64748b1f;color:var(--text-muted)}.kpi-title{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.kpi-value{font-size:1.62rem;letter-spacing:-.02em;line-height:1.1}.kpi-value-small{font-size:1.05rem}.kpi-sub{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.panel{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:16px;overflow:hidden;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.panel-head h2{margin:0;font-size:1rem;letter-spacing:-.01em}.panel-head-side{display:flex;align-items:center;gap:10px}.panel-badge{font-size:.72rem;font-weight:700;color:var(--accent-strong);background:var(--accent-soft);padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.panel-body{padding:0}.panel-body>.trend-chart{display:block;padding:14px 14px 8px}.panel-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:.88rem}.dash-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-bottom:16px}.dash-split .panel{margin-bottom:0}.dash-split-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:#64748b1a}.segmented button{border:none;background:transparent;padding:5px 11px;border-radius:7px;font-size:.76rem;font-weight:700;font-family:inherit;color:var(--text-muted);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);white-space:nowrap}.segmented button:hover{color:var(--text-primary)}.segmented button.active{background:#fff;color:var(--accent-strong);box-shadow:0 1px 3px #1018281f}.trend-chart{width:100%;height:auto}.trend-grid{stroke:#18274b12;stroke-width:1}.trend-line{stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:transparent;cursor:pointer}.trend-dot:hover{fill:var(--accent);fill-opacity:.85}.trend-x-label{fill:var(--text-muted);font-size:11px;font-family:var(--font);font-weight:600}.rank-list{list-style:none;margin:0;padding:6px 0}.rank-list li{display:flex;gap:12px;align-items:flex-start;padding:11px 18px}.rank-list li+li{border-top:1px solid var(--border-subtle)}.rank-pos{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#64748b1a;color:var(--text-muted);font-size:.74rem;font-weight:800;flex-shrink:0;margin-top:2px}.rank-list li:first-child .rank-pos{background:var(--accent-soft);color:var(--accent-strong)}.rank-body{flex:1;min-width:0;display:grid;gap:4px}.rank-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.rank-name{font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{font-size:.9rem;white-space:nowrap}.rank-meta{font-size:.76rem;color:var(--text-muted)}.rank-track{height:6px;border-radius:4px;background:#64748b1f;overflow:hidden}.rank-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent-bright),var(--accent));transition:width .4s var(--ease)}.delta-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:.76rem;font-weight:800}.delta-up{background:var(--green-soft);color:var(--green)}.delta-down{background:var(--danger-soft);color:var(--danger)}.delta-flat{background:#64748b1f;color:var(--text-muted)}.stat-rows{list-style:none;margin:0;padding:4px 0}.stat-row{display:flex;align-items:center;gap:11px;padding:10px 18px}.stat-row+.stat-row{border-top:1px solid var(--border-subtle)}.stat-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#64748b1a;color:var(--text-muted);flex-shrink:0}.stat-warn .stat-icon{background:var(--warn-soft);color:var(--warn)}.stat-danger .stat-icon{background:var(--danger-soft);color:var(--danger)}.stat-strong .stat-icon{background:var(--accent-soft);color:var(--accent-strong)}.stat-text{flex:1;min-width:0;display:grid;gap:1px}.stat-label{font-size:.86rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-detail{font-size:.74rem;color:var(--text-muted)}.stat-value{font-size:.9rem;white-space:nowrap}.stat-strong .stat-value{font-size:1.02rem}.margin-hero{display:flex;align-items:center;gap:12px;padding:16px 18px 8px}.margin-hero strong{font-size:1.9rem;letter-spacing:-.02em;line-height:1}.compare-rows{display:grid;gap:12px;padding:10px 18px 16px}.compare-row{display:grid;gap:5px}.compare-head{font-size:.78rem;font-weight:700;color:var(--text-muted)}.compare-detail{font-size:.76rem;color:var(--text-muted)}.compare-muted .rank-bar{background:#64748b59}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.toolbar-stack{flex-direction:column;align-items:stretch}.toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.toolbar-btn{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;padding:8px 12px}.toolbar-meta{font-size:.84rem;font-weight:600;color:var(--text-muted)}.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.filter-select{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted);font-weight:600}.filter-select select{padding:8px 10px;border-radius:var(--radius-button);border:1px solid var(--border-subtle);background:#fff;color:var(--text-primary);font-family:inherit;font-size:.86rem}.date-range-control{display:grid;gap:10px}.date-presets{flex-wrap:wrap}.date-range-inputs{display:flex;gap:12px;flex-wrap:wrap}.date-range-inputs label{display:grid;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-muted)}.date-range-inputs input[type=date]{padding:8px 10px;border-radius:var(--radius-button);border:1px solid var(--border-subtle);background:#fff;font-family:inherit;font-size:.86rem}.sales-only-caption{color:var(--warn);font-weight:700}.row-expandable{cursor:pointer}.row-expanded{background:#0d94880f}.expand-cell{width:36px;color:var(--text-muted)}.expand-row td{padding:0;background:#f8fafc;border-bottom:1px solid var(--border-subtle)}.expand-panel{padding:12px 18px 16px}.nested-table{font-size:.84rem}.nested-table thead th{background:#eef2f7;position:static}.loading-inline,.alert-inline{padding:14px 18px;font-size:.88rem;color:var(--text-muted)}.alert-inline{color:var(--danger)}.report-picker{display:inline-flex;align-items:center;gap:10px;font-size:.84rem;color:var(--text-muted)}.report-picker select{min-width:240px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.search-box{position:relative;display:flex;align-items:center;width:min(360px,100%)}.search-box svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-box input{width:100%;padding:10px 13px 10px 38px;border-radius:var(--radius-button);border:1px solid var(--border-subtle);background:#fff;color:var(--text-primary);font-size:.92rem;font-family:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.search-box input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.89rem}thead th{position:sticky;top:0;text-align:left;padding:11px 18px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:#f7f9fc;border-bottom:1px solid var(--border-subtle);white-space:nowrap}tbody td{padding:11px 18px;border-bottom:1px solid var(--border-subtle)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover{background:#0d94880a}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-strong{font-weight:700}.cell-warn{color:var(--warn)}.cell-danger{color:var(--danger)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--border-subtle)}.status-grid div{display:grid;gap:4px;padding:14px 18px;background:var(--bg-card)}.status-grid span{font-size:.74rem;color:var(--text-muted);text-transform:capitalize}.status-grid strong{font-size:1.04rem}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:#64748b21;color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.state-card{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bg-card);border:1px dashed var(--border-card);border-radius:var(--radius-card);padding:40px 24px;text-align:center;color:var(--text-muted);font-size:.95rem}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--accent-soft);border-top-color:var(--accent);animation:portal-spin .7s linear infinite;flex-shrink:0}@keyframes portal-spin{to{transform:rotate(360deg)}}.alert{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(211,47,47,.2);border-radius:10px;padding:11px 14px;font-size:.9rem}.banner-alert{margin-bottom:18px}.primary-button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:none;border-radius:var(--radius-button);background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.primary-button:disabled{opacity:.6;cursor:default}.live-chip,.session-chip.live-chip{background:var(--accent-soft);color:var(--accent-strong);border:1px solid rgba(13,148,136,.25)}.sync-banner{border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:.9rem}.sync-banner-pending{background:var(--warn-soft);color:var(--warn)}.sync-banner-ok{background:var(--green-soft);color:var(--green)}.sync-banner-warn{background:var(--warn-soft);color:var(--warn)}.sync-banner-error{background:var(--danger-soft);color:var(--danger)}.pill.warning{background:var(--warn-soft);color:var(--warn)}.pill.muted{background:#64748b1f;color:var(--text-muted)}.mobile-tabbar{display:none}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-fade var(--dur) var(--ease)}.sheet-panel{position:relative;z-index:1;width:min(720px,calc(100vw - 48px));height:min(720px,88dvh);max-height:min(88dvh,720px);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card-hover);display:flex;flex-direction:column;overflow:hidden;animation:sheet-in var(--dur) var(--ease)}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.sheet-header h2{margin:0;font-size:1.05rem}.sheet-close{padding:8px}.sheet-body{display:grid;gap:14px;padding:18px 18px 0;overflow:auto}.sheet-body label{display:grid;gap:6px;font-size:.85rem;color:var(--text-muted)}.sheet-body input,.sheet-body textarea,.sheet-body select{width:100%;padding:11px 12px;border-radius:var(--radius-button);border:1px solid var(--border-card);background:var(--bg-card);font:inherit;font-size:.95rem;color:var(--text-primary);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.sheet-body input:focus,.sheet-body textarea:focus,.sheet-body select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sheet-body textarea{resize:vertical;min-height:56px}.sheet-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin:6px -18px 0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid var(--border-subtle)}.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:56px;height:56px;border:none;border-radius:50%;background:var(--accent);color:#fff;box-shadow:var(--shadow-card-hover);display:none;align-items:center;justify-content:center;z-index:1200;cursor:pointer}.card-list{display:grid;gap:10px;margin-bottom:16px}.entity-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);padding:14px;box-shadow:var(--shadow-card)}.entity-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.entity-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.entity-card p{margin:6px 0 0;color:var(--text-muted);font-size:.88rem}.more-links{display:grid;gap:10px}.more-link-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-card);border:1px solid var(--border-card);background:var(--bg-card);text-decoration:none;color:inherit;box-shadow:var(--shadow-card)}.more-link-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong)}.more-link-text{display:grid;gap:2px}.more-link-text span{color:var(--text-muted);font-size:.85rem}.report-mode-toggle{width:fit-content}.row-actions{width:44px;text-align:right}.team-members-table .team-manage-access-btn{width:40px;min-width:40px;height:40px;padding:0;display:inline-grid;place-items:center}.mobile-only{display:none}.desktop-only{display:inline-flex}.desktop-table-panel{display:block}.alert-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.alert-card{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px;border-radius:var(--radius-card);border:1px solid var(--border-card);background:var(--bg-card);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;font:inherit;color:inherit}.alert-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.alert-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alert-card svg{color:var(--accent-strong);flex-shrink:0;margin-top:2px}.alert-card strong{display:block;font-size:.92rem}.alert-card span{color:var(--text-muted);font-size:.82rem}.portal-route{min-width:0}.page-skeleton{display:grid;gap:16px}.page-skeleton-heading{width:min(360px,100%);padding-top:2px}.page-skeleton-heading .skeleton-line:first-child{width:42%;height:26px}.page-skeleton-heading .skeleton-line:last-child{width:78%}.skeleton-block{display:grid;gap:10px}.skeleton-line{display:block;height:12px;border-radius:8px;background:linear-gradient(90deg,#18274b0f,#18274b1f,#18274b0f);background-size:200% 100%;animation:skeleton-shine 1.2s linear infinite}.kpi-skeleton{min-height:96px}.skeleton-card{display:grid;justify-content:stretch;gap:0;padding:0;overflow:hidden;border-style:solid}.skeleton-table-head,.skeleton-table-row{display:grid;grid-template-columns:minmax(170px,2fr) minmax(100px,1fr) repeat(3,minmax(72px,.65fr));align-items:center;column-gap:20px}.skeleton-table-head{min-height:42px;padding:0 18px;background:#f8fafc;border-bottom:1px solid var(--border-subtle)}.skeleton-table-head span{height:8px;border-radius:var(--radius-pill);background:#18274b14}.skeleton-table-body{display:grid}.skeleton-table-row{min-height:56px;padding:0 18px;border-bottom:1px solid var(--border-subtle)}.skeleton-table-row:last-child{border-bottom:0}.skeleton-table-row .skeleton-line{height:10px}.skeleton-table-row .skeleton-line:nth-child(1){width:82%}.skeleton-table-row .skeleton-line:nth-child(2){width:74%}.skeleton-table-row .skeleton-line:nth-child(n+3){justify-self:end;width:64%}.inline-skeleton{min-height:24px;max-width:260px;padding-block:2px}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.access-denied{max-width:520px;margin:40px auto;padding:28px;border-radius:var(--radius-card);border:1px solid var(--border-card);background:var(--bg-card);box-shadow:var(--shadow-card);display:grid;gap:12px;justify-items:start}.access-denied-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn)}.access-denied h1{margin:0;font-size:1.35rem}.access-denied p{margin:0;color:var(--text-muted);line-height:1.5}.sync-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sync-banner p{margin:4px 0 0}.sync-banner-actions{display:flex;gap:8px;flex-shrink:0}.sync-banner-action{white-space:nowrap}.settings-section-toggle{width:100%;border:none;background:transparent;display:grid;gap:4px;text-align:left;cursor:pointer;padding:14px 16px}.settings-section-title{display:flex;align-items:center;gap:8px}.settings-section-title h2{margin:0;font-size:1rem}.settings-section-hint{color:var(--text-muted);font-size:.82rem}.setting-hint{display:block;color:var(--text-muted);font-size:.78rem;margin:2px 0 4px}.setting-readonly-tag{margin-left:8px;font-style:normal;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.settings-sync-meta{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 14px;color:var(--text-muted);font-size:.85rem}.sheet-danger-zone{border-top:1px solid var(--border-subtle);padding-top:12px}.danger-text{color:var(--danger)!important}.danger-button{border:none;border-radius:var(--radius-button);background:var(--danger);color:#fff;padding:10px 12px;font-weight:700;cursor:pointer}.confirm-row{display:grid;gap:8px;font-size:.88rem;color:var(--text-muted)}.entity-card-warn{border-color:#b4530959}.entity-card-danger{border-color:#d32f2f59}.cell-warn{color:var(--warn);font-weight:700}.pill.success{background:var(--green-soft);color:var(--green)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.empty-state{display:grid;gap:12px;justify-items:start}.stat-row-btn{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.stat-clickable:hover{background:var(--accent-soft);border-radius:10px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1024px){.kpi-grid-core,.alert-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-topbar{grid-template-columns:1fr auto;grid-template-areas:"left right" "center center"}.topbar-left{grid-area:left}.topbar-center{grid-area:center;justify-content:flex-start}.topbar-right{grid-area:right}}@media(max-width:980px){.dash-split,.dash-split-3{grid-template-columns:1fr}}@media(max-width:820px){.page-header:has(.stock-header-actions){align-items:stretch;flex-direction:column}.stock-header-actions{justify-content:space-between}.stock-catalog-tools{flex:1}.stock-tool-button{flex:1;justify-content:center}.login-shell--signin{display:grid;padding:0}.portal-landing-header{width:min(100% - 32px,560px)}.portal-landing-header{min-height:68px}.portal-menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#174ea6;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.portal-landing-nav{display:none;width:100%;padding:4px 0 16px;border-top:1px solid #e4e9f1;gap:0}.portal-landing-nav--open{display:grid;grid-template-columns:repeat(2,1fr)}.portal-landing-nav a,.portal-landing-nav span{display:flex;align-items:center;min-height:44px;padding:0;font-size:.78rem}.remember-choice{min-height:44px}.landing-stage{width:min(100% - 40px,400px);padding:32px 0}.login-shell--signin .login-card h2{font-size:1.8rem}.portal-shell,.portal-shell.sidebar-collapsed{grid-template-columns:1fr;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.sidebar{display:none}.portal-topbar{padding:10px 14px;grid-template-columns:1fr auto}.topbar-last-sync{display:none}.topbar-account-name{max-width:110px}.content{padding:16px 14px 24px;overflow-x:hidden}.page-header h1{font-size:1.35rem}.kpi-grid,.kpi-grid-core,.alert-cards{grid-template-columns:1fr 1fr;gap:10px}.kpi-value{font-size:1.35rem}.date-presets,.toolbar-row{flex-wrap:wrap}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000}.mobile-tabbar__item{display:grid;justify-items:center;gap:4px;padding:6px 4px;border-radius:10px;text-decoration:none;color:var(--text-muted);font-size:.68rem;font-weight:600}.mobile-tabbar__item.active{color:var(--accent-strong);background:var(--accent-soft)}.mobile-only{display:grid}.desktop-only,.desktop-table-panel{display:none!important}.fab{display:inline-flex;bottom:calc(78px + env(safe-area-inset-bottom))}.sheet-wrap{align-items:end;padding:0}.sheet-panel{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;border-bottom:none}}@media(prefers-reduced-motion:reduce){.login-card,.login-form input,.login-form button,.password-toggle,.kpi-card,.rank-bar,tbody tr,.sidebar nav a,.alert-card{transition:none;animation:none}.spinner,.skeleton-line,.login-spinner{animation:none}}@media(max-width:820px){.skeleton-table-head,.skeleton-table-row{grid-template-columns:minmax(120px,2fr) minmax(80px,1fr) repeat(2,minmax(56px,.65fr))}.skeleton-table-head span:nth-child(4),.skeleton-table-head span:nth-child(5),.skeleton-table-row .skeleton-line:nth-child(4),.skeleton-table-row .skeleton-line:nth-child(5){display:none}}@media print{body{background:#fff;color:#000}.sidebar,.portal-topbar,.mobile-tabbar,.toolbar,.toolbar-actions,.toolbar-btn,.toolbar-stack,.filter-bar,.date-range-control,.search-box,.report-picker,.session-box,.banner-alert,.live-chip,.readonly-chip,.page-header-side .toolbar-btn,.segmented,.expand-cell{display:none!important}.portal-shell{display:block;min-height:auto}.content{padding:0}.panel,.kpi-card{box-shadow:none;break-inside:avoid;page-break-inside:avoid}.panel-head-side .segmented{display:none!important}.expand-row{display:table-row!important}.row-expandable,.row-expanded{cursor:default}tbody tr:hover{background:transparent}.page-header{margin-bottom:12px}.page-header p{color:#444}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 4px 2px}.pagination-info{color:var(--text-muted);font-size:13px}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination-page{font-size:13px;color:var(--text-primary);min-width:56px;text-align:center}.pagination-btn{padding:6px 8px}.pagination-size{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.pagination-size select{border:1px solid var(--border-card);border-radius:var(--radius-button);padding:4px 6px;background:var(--bg-card);color:var(--text-primary)}.sales-calendar{border-radius:18px;box-shadow:0 1px 2px #0f172a0a}.sales-calendar .panel-head{min-height:62px;justify-content:space-between;align-items:center;padding:14px 18px}.sales-calendar .panel-head h2{font-size:1.02rem;letter-spacing:-.02em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:12px;background:#fafbfd}.calendar-weekday{text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:2px 0 6px}.calendar-cell{min-height:78px;border-radius:12px;border:1px solid rgba(24,39,75,.09)}.calendar-pad{border:none;background:transparent}.calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px;padding:9px 10px;background:var(--bg-card);cursor:pointer;text-align:left;transition:border-color .14s ease-out,background-color .14s ease-out}.calendar-day:hover{border-color:#0d94888c}.calendar-day-title{display:grid;gap:3px;min-width:0}.calendar-date{font-size:.78rem;font-weight:750;color:var(--text-primary);font-variant-numeric:tabular-nums}.calendar-holiday-label{overflow:hidden;color:#9a6700;font-size:.62rem;font-weight:800;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.calendar-total{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;color:var(--accent-strong);font-variant-numeric:tabular-nums}.calendar-holiday-public{border-color:#b4530980}.calendar-holiday-national{border-color:#2563eb66}.calendar-today{box-shadow:inset 0 0 0 2px var(--blue)}.calendar-selected{border-color:var(--accent-strong);box-shadow:inset 0 0 0 2px var(--accent-strong)}@media(max-width:820px){.calendar-grid{gap:5px;padding:8px}.calendar-cell{min-height:66px;border-radius:10px}.calendar-day{padding:7px}.calendar-holiday-label{font-size:.56rem}.calendar-total{font-size:.66rem}}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 18px}.setting-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.setting-field input,.setting-field select{border:1px solid var(--border-card);border-radius:var(--radius-button);padding:8px 10px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.setting-field input:disabled{background:var(--accent-soft);color:var(--text-muted)}.setting-field-toggle{flex-direction:row;align-items:center;justify-content:space-between;font-size:14px;color:var(--text-primary)}.setting-field-toggle input{width:18px;height:18px;accent-color:var(--accent)}.settings-save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:12px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.settings-dirty{color:var(--text-muted);font-size:13px}.invoice-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}.invoice-dialog{position:relative;z-index:1;width:min(780px,100%);background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card-hover)}.invoice-toolbar{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.invoice-sheet{padding:28px 32px;color:#16202e}.invoice-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid var(--border-card);padding-bottom:16px}.invoice-head h1{font-size:20px;margin:0 0 4px}.invoice-head p{margin:2px 0;font-size:12px;color:var(--text-muted)}.invoice-meta{text-align:right}.invoice-meta h2{margin:0;letter-spacing:2px;color:var(--accent-strong)}.invoice-billto{display:flex;flex-direction:column;gap:2px;margin:16px 0;font-size:13px}.invoice-billto span:first-child{color:var(--text-muted);font-size:11px;text-transform:uppercase}.invoice-tags{color:var(--text-muted);font-size:12px}.invoice-table{width:100%;border-collapse:collapse;margin-top:8px}.invoice-table th,.invoice-table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);font-size:13px;text-align:left}.invoice-table th.num,.invoice-table td.num{text-align:right}.invoice-table tfoot td{border-top:2px solid var(--border-card);border-bottom:none}.invoice-foot{margin-top:20px;font-size:12px;color:var(--text-muted)}.invoice-note{font-size:11px}.platform-admin-page{max-width:1480px;margin:0 auto}.platform-admin-header{align-items:flex-end;margin-bottom:22px}.platform-admin-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--accent-strong);font-size:.68rem;font-weight:800;letter-spacing:.1em}.platform-admin-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.platform-admin-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px}.platform-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.platform-admin-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:11px;row-gap:4px;min-width:0;padding:16px}.platform-admin-stat-icon{grid-row:1 / 3;display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:var(--accent-strong);background:var(--accent-soft)}.platform-admin-stat>span:nth-child(2){color:var(--text-muted);font-size:.78rem}.platform-admin-stat strong{color:var(--text-primary);font-size:1.35rem;font-variant-numeric:tabular-nums}.platform-admin-directory{overflow:hidden}.platform-admin-directory-head{align-items:center}.platform-admin-directory-head h2{margin:0;font-size:1rem}.platform-admin-directory-head p{margin:4px 0 0;color:var(--text-muted);font-size:.78rem}.platform-admin-filters{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.platform-admin-search{display:flex;align-items:center;gap:9px;min-width:0;flex:1;height:42px;padding:0 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-button);background:var(--bg-card);color:var(--text-muted)}.platform-admin-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.platform-admin-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-size:.84rem}.platform-admin-search input::placeholder{color:var(--text-muted)}.platform-admin-workspace-filter select{width:min(280px,32vw);height:42px;padding:0 34px 0 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-button);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.84rem}.platform-admin-directory-body{padding:0}.platform-admin-table{width:100%;min-width:760px;border-collapse:collapse}.platform-admin-table th{padding:10px 15px;border-bottom:1px solid var(--border-subtle);background:var(--bg-window);color:var(--text-muted);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-align:left;text-transform:uppercase}.platform-admin-table td{padding:13px 15px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:.84rem;vertical-align:middle}.platform-admin-table tr:last-child td{border-bottom:0}.platform-admin-table td:first-child{min-width:210px}.platform-admin-table td:first-child strong,.platform-admin-table td:first-child span{display:block}.platform-admin-table td:first-child span{margin-top:3px;color:var(--text-muted);font-size:.76rem}.platform-admin-workspace-list{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}.platform-admin-workspace-list button{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:30px;padding:4px 8px 4px 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.platform-admin-workspace-list button:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle));background:var(--accent-soft)}.platform-admin-workspace-list button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:650}.platform-admin-workspace-list button small{flex:0 0 auto;color:var(--text-muted);font-size:.66rem}.platform-admin-unassigned{color:var(--text-muted);font-size:.78rem}.platform-admin-account-kind{display:inline-flex;padding:4px 8px;border-radius:var(--radius-pill);background:var(--bg-window);color:var(--text-muted);font-size:.68rem;font-weight:700;white-space:nowrap}.platform-admin-account-kind.is-admin{background:var(--accent-soft);color:var(--accent-strong)}.platform-admin-confirmation{display:block;margin-top:5px;color:var(--warn);font-size:.68rem}.platform-admin-row-action{width:52px;text-align:right}.platform-admin-full-row{grid-column:1 / -1}@media(max-width:900px){.platform-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-admin-header{align-items:flex-start;flex-direction:column}.platform-admin-actions{width:100%;justify-content:flex-end}}@media(max-width:560px){.platform-admin-stats{gap:8px}.platform-admin-stat{padding:12px;column-gap:8px}.platform-admin-stat-icon{width:32px;height:32px}.platform-admin-stat strong{font-size:1.1rem}.platform-admin-filters{flex-direction:column}.platform-admin-workspace-filter select{width:100%}.platform-admin-actions{justify-content:stretch}.platform-admin-actions button{flex:1}}.team-provider-note .panel-body{padding:18px 20px}.team-provider-note strong{color:var(--text-primary)}.team-provider-note p{margin:5px 0 0;color:var(--text-muted)}.team-member-username{display:block;margin-top:2px;color:var(--text-muted);font-size:.76rem;font-weight:450}.team-account-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.team-account-dialog{width:min(100%,540px);max-height:min(760px,calc(100dvh - 40px));overflow:auto;border:1px solid var(--border-card);border-radius:18px;background:var(--bg-card);box-shadow:0 24px 80px #0f172a38}.team-account-dialog-header{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border-subtle)}.team-account-dialog-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-soft)}.team-account-dialog-header h2{margin:0;font-size:1.05rem}.team-account-dialog-header p{margin:4px 0 0;color:var(--text-muted);font-size:.82rem}.team-account-close{margin-left:auto}.team-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 22px 22px}.team-account-form .setting-field{min-width:0}.team-account-first-login{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.team-account-form .alert{grid-column:1 / -1;margin:0}.team-account-dialog-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;padding-top:8px;border-top:1px solid var(--border-subtle)}@media(max-width:560px){.team-account-modal-backdrop{align-items:end;padding:0}.team-account-dialog{width:100%;max-height:92dvh;border-radius:18px 18px 0 0}.team-account-form{grid-template-columns:1fr}.team-account-first-login,.team-account-form .alert,.team-account-dialog-footer{grid-column:1}}.form-intro{font-size:13px;color:var(--text-muted);margin:0 0 4px}.settings-fieldset{border:none;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:16px}.settings-fieldset:disabled{opacity:.7}.invite-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 16px;align-items:end}.invite-submit{height:40px;white-space:nowrap}.invite-link-box{margin-top:16px;padding:14px;border:1px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.invite-link-box p{margin:0 0 8px;font-size:13px;color:var(--text-primary)}.copy-field{display:flex;gap:8px}.copy-field input{flex:1;min-width:0;border:1px solid var(--border-card);border-radius:var(--radius-button);padding:9px 11px;background:var(--bg-card);color:var(--text-primary);font-size:13px}@media print{body:has(.invoice-modal)>*{visibility:hidden}.invoice-modal,.invoice-modal *{visibility:visible}.invoice-modal{position:absolute;top:0;right:0;bottom:0;left:0;padding:0}.invoice-dialog{box-shadow:none;width:100%}.no-print{display:none!important}}:root{--bg-window: #f5f6f8;--bg-window-grad: #f5f6f8;--bg-card: #fff;--text-primary: #202833;--text-muted: #66717f;--border-subtle: #e6e9ee;--border-card: #e1e5eb;--radius-card: 14px;--radius-button: 10px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .035), 0 4px 14px rgba(16, 24, 40, .025);--shadow-card-hover: 0 8px 22px rgba(16, 24, 40, .08);--ease: cubic-bezier(.23, 1, .32, 1);--dur: .18s}body{background:var(--bg-window)}.portal-shell{grid-template-columns:248px minmax(0,1fr)}.portal-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{z-index:41;background:#f9fafcf0;border-right-color:#e5e8ed;color:#344050;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.brand-text strong{color:#202833}.brand-text span,.nav-section{color:#7c8795}.business-name,.business-switcher{background:#ffffffc7;border-color:#e2e6eb;color:#344050}.sidebar nav a{min-height:42px;color:#4a5563;font-size:.9rem;font-weight:560;opacity:1;transition:background-color .16s ease,color .16s ease}.sidebar nav a:hover{background:#edf0f4}.sidebar nav a.active{background:#e2f3f0;color:#096c63;font-weight:650}.sidebar nav a.active:before{display:none}.portal-shell--restaurant .sidebar{background:#161d27e6;border-right-color:#ffffff29;color:#f3f6fb}.portal-shell--restaurant .brand-text strong{color:#f3f6fb}.portal-shell--restaurant .brand-text span,.portal-shell--restaurant .nav-section{color:#c1cad6}.portal-shell--restaurant .sidebar nav a{color:#f3f6fb;opacity:1}.portal-shell--restaurant .sidebar nav a svg{filter:brightness(1.35) saturate(1.15)}.portal-shell--restaurant .sidebar nav a:hover:not(.active){background:#ffffff1f;color:#fff}.portal-shell--restaurant .sidebar nav a.active{color:#096c63}.portal-shell--restaurant .sidebar nav a.active svg{filter:none}.portal-topbar{min-height:60px;padding:8px 24px;background:#ffffffe0;border-bottom-color:#1c273617;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}.topbar-shop{font-size:.9rem}.topbar-account>button{min-height:40px;border-radius:10px}.topbar-menu{border-color:var(--border-card);box-shadow:0 12px 32px #10182821}.content{flex:1;padding:28px clamp(22px,3vw,48px) 52px}.portal-route{width:min(100%,1480px);margin-inline:auto}.page-header{gap:24px;margin-bottom:24px}.page-header h1{font-size:1.72rem;font-weight:650;letter-spacing:-.035em;line-height:1.18}.page-header p{max-width:62ch;margin-top:7px;color:#687382;font-size:.9rem;line-height:1.5}.dashboard-page .page-header{margin-bottom:26px}.dashboard-page .page-header h1{font-size:1.9rem}.primary-button,.ghost-button{min-height:40px;padding:9px 14px;border-radius:10px;font:inherit;font-size:.86rem;font-weight:620;transition:transform .14s ease-out,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.primary-button{background:#0f887d;box-shadow:0 1px 2px #0f887d26}.primary-button:hover:not(:disabled){background:#0a746b;box-shadow:0 2px 5px #0f766e2e}.ghost-button{border-color:#dfe4ea;background:#fff}.ghost-button:hover:not(:disabled){border-color:#cbd3dc;background:#f8fafb}button:active:not(:disabled),.primary-button:active:not(:disabled),.ghost-button:active:not(:disabled){transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(15,136,125,.34);outline-offset:2px}.panel,.dashboard-page .panel,.dashboard-page .kpi-card{border-color:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.panel-head{min-height:58px;padding:14px 18px}.panel-head h2{font-size:.94rem;font-weight:640;letter-spacing:-.015em}.panel-body{min-width:0}.filter-bar{padding:12px 16px;gap:10px}.filter-bar input:not([type=checkbox]):not([type=radio]),.filter-bar select{min-height:42px;border:1px solid #dfe4ea;border-radius:10px;background:#fff;color:var(--text-primary);font:inherit;font-size:.88rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.filter-bar input:not([type=checkbox]):not([type=radio]){width:min(100%,460px);padding:9px 12px}.filter-bar select{padding:8px 34px 8px 12px}.filter-bar input::placeholder{color:#929ba7}.filter-bar input:focus,.filter-bar select:focus,.setting-field input:focus,.setting-field select:focus{outline:none;border-color:#67aaa3;box-shadow:0 0 0 3px #0f887d1c}.setting-field{gap:6px;color:#536070;font-size:.78rem;font-weight:570}.setting-field input,.setting-field select{min-height:42px;padding:9px 11px;border-color:#dfe4ea;border-radius:10px;font:inherit;font-size:.9rem}.invite-form{gap:14px 16px}.invite-submit{min-height:42px}thead th{padding:12px 18px;background:#f8f9fb;font-size:.69rem;letter-spacing:.055em}tbody td{padding:13px 18px;color:#3e4855;font-size:.88rem}tbody tr:hover{background:#f8fbfa}.cell-strong{color:#202833;font-weight:630}.state-card{min-height:124px;padding:28px 20px;border-color:#e2e6ec;background:#fbfcfd;color:#707b89;font-size:.88rem}.panel .state-card{margin:0 16px 16px;border-radius:12px}.serviceflow-dashboard .page-header p{color:#657180}.serviceflow-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.serviceflow-metric-card{position:relative;min-height:148px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-content:space-between;align-items:start;gap:16px 12px;padding:18px;border:1px solid #e1e5eb;border-radius:15px;background:#fff;box-shadow:var(--shadow-card);color:inherit;text-decoration:none;transition:transform .16s ease-out,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.serviceflow-metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e8f5f2;color:#147a70}.serviceflow-metric-copy{grid-column:1 / 3;display:grid;gap:9px;align-self:end}.serviceflow-metric-copy>span{color:#66717f;font-size:.82rem;font-weight:570}.serviceflow-metric-copy strong{color:#202833;font-size:1.8rem;font-weight:650;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.serviceflow-metric-arrow{grid-column:3;grid-row:1;align-self:center;color:#9aa3ad;transition:color .16s ease,transform .16s ease}.serviceflow-metric-card:focus-visible{outline-color:#0f887d73}@media(hover:hover)and (pointer:fine){.serviceflow-metric-card:hover{transform:translateY(-2px);border-color:#c5ded9;background:#feffff;box-shadow:0 8px 20px #173e3914}.serviceflow-metric-card:hover .serviceflow-metric-arrow{color:#147a70;transform:translate(2px,-2px)}.more-link-card:hover{border-color:#d2dedc;background:#fcfefd;box-shadow:var(--shadow-card-hover)}}.serviceflow-workspace-page .page-header{margin-bottom:24px}.serviceflow-workspace-page .panel{overflow:hidden}.serviceflow-workspace-page .panel-head{background:#fff}.serviceflow-search{position:relative;display:flex;align-items:center;width:min(100%,440px)}.serviceflow-search svg{position:absolute;left:13px;color:#8994a1;pointer-events:none}.serviceflow-search input{width:100%!important;min-height:42px;padding:9px 12px 9px 40px!important;border:1px solid #dfe4ea;border-radius:10px;background:#fff;color:var(--text-primary);font:inherit;font-size:.88rem;transition:border-color .15s ease,box-shadow .15s ease}.serviceflow-search input:focus{outline:none;border-color:#67aaa3;box-shadow:0 0 0 3px #0f887d1c}.serviceflow-workspace-page tbody td small{display:block;margin-top:4px;color:#808b98;font-size:.78rem;font-weight:450}.serviceflow-workspace-page .table-wrap{border-top:1px solid #edf0f3}.serviceflow-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;margin:0 16px 16px;padding:28px 20px;border:1px dashed #dfe5e9;border-radius:13px;background:linear-gradient(145deg,#fbfdfd,#f8fafb);color:#6f7b88;text-align:center}.serviceflow-empty-state>strong{color:#25313e;font-size:.97rem;font-weight:640}.serviceflow-empty-state>span:not(.serviceflow-empty-icon){max-width:38ch;font-size:.85rem;line-height:1.5}.serviceflow-empty-state .primary-button,.serviceflow-empty-state .ghost-button{margin-top:7px}.serviceflow-empty-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:4px;border-radius:14px;background:#e7f4f1;color:#147a70}.serviceflow-empty-icon--error{background:#fff1ee;color:#bd4f3d}.more-links{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.more-link-card{min-height:76px;padding:16px;box-shadow:var(--shadow-card);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}@media(max-width:1200px){.serviceflow-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.portal-shell,.portal-shell.sidebar-collapsed{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.portal-topbar{min-height:56px;padding:7px 14px}.content{padding:22px 16px 30px}.page-header{align-items:center;gap:14px;margin-bottom:20px}.page-header h1{font-size:1.48rem}.page-header p{font-size:.86rem}.page-header .header-actions{flex-shrink:0}.serviceflow-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.serviceflow-metric-card{min-height:132px;padding:15px}.serviceflow-empty-state{min-height:190px;margin-inline:12px;padding:24px 16px}.filter-bar{padding:10px 12px}.filter-bar input:not([type=checkbox]):not([type=radio]),.serviceflow-search{width:100%;max-width:none}.mobile-tabbar{padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:#fafbfded;border-top-color:#212b361a;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.mobile-tabbar__item{min-height:48px;gap:3px;border-radius:11px;font-size:.68rem}}@media(max-width:520px){.content{padding-inline:12px}.page-header{align-items:flex-start}.page-header:has(.header-actions){flex-direction:column;align-items:stretch}.page-header .header-actions{display:flex;justify-content:flex-end}.serviceflow-metrics{gap:9px}.serviceflow-metric-card{min-height:126px;gap:12px 8px;padding:13px}.serviceflow-metric-copy strong{font-size:1.62rem}.serviceflow-metric-copy>span{font-size:.76rem}.serviceflow-metric-icon{width:34px;height:34px}.panel-head{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.serviceflow-metric-card,.serviceflow-metric-arrow,.more-link-card,.primary-button,.ghost-button,.filter-bar input,.filter-bar select{transition:none}.serviceflow-metric-card:hover{transform:none}}.restaurant-preview-ribbon{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:8px 12px;border:1px solid rgba(13,148,136,.2);border-radius:12px;background:#0d948812;color:#315d59;font-size:.78rem}.restaurant-preview-ribbon strong{margin-inline-end:8px;color:#0f766e;font-size:.68rem;letter-spacing:.07em}.restaurant-preview-ribbon button{border:0;background:transparent;color:#0f766e;font:inherit;font-weight:650;cursor:pointer}.restaurant-preview-as{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.restaurant-preview-as select{min-height:30px;padding:4px 28px 4px 9px;border:1px solid rgba(13,148,136,.24);border-radius:8px;background:#ffffffb3;color:inherit;font:inherit}@media(max-width:520px){.restaurant-preview-ribbon{align-items:flex-start;flex-wrap:wrap}}@property --portal-search-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.portal-topbar{grid-template-columns:minmax(0,1fr) minmax(220px,.9fr) auto}.topbar-center{justify-content:center}.topbar-right{gap:9px}.portal-search-launcher{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;width:min(100%,440px);min-height:40px;padding:0 11px;border:1px solid rgba(26,42,59,.12);border-radius:12px;background:#ffffffd1;color:#667382;text-align:left;font:inherit;font-size:.82rem;cursor:pointer;box-shadow:0 4px 12px #0f172a0f}.portal-search-launcher:before{content:"";position:absolute;z-index:-1;top:-2px;right:-2px;bottom:-2px;left:-2px;padding:2px;border-radius:inherit;background:conic-gradient(from var(--portal-search-angle),#ff3b30,#ff9500,#ffcc00,#34c759,#00c7be,#0a84ff,#5856d6,#af52de,#ff2d55,#ff3b30);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:portal-search-glow-spin 7s linear infinite}@keyframes portal-search-glow-spin{to{--portal-search-angle: 360deg}}.portal-search-launcher>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-search-launcher kbd,.portal-search-input-wrap kbd,.portal-search-dialog footer kbd{padding:2px 5px;border:1px solid rgba(61,75,91,.15);border-radius:5px;background:#f4f7f9e6;color:#778391;font:600 .66rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.portal-notification-button{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:1px solid transparent;border-radius:11px;background:transparent;color:#485565;cursor:pointer}.portal-notification-button:hover,.portal-notification-button[aria-expanded=true]{border-color:#2d3d4e1a;background:#2d3d4e0f}.portal-notification-count{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#d24747;color:#fff;font-size:.6rem;font-weight:750;line-height:13px;text-align:center}.topbar-account{min-height:40px;border-radius:11px}.topbar-account-name{max-width:185px;font-size:.8rem;font-weight:620}.topbar-account-name-mobile{display:none}.topbar-menu-meta{display:grid;gap:4px;padding:9px 10px}.topbar-menu-meta strong{color:#293746;font-size:.84rem}.topbar-menu-meta span{color:#738091;font-size:.72rem}.portal-notifications-menu{z-index:45;min-width:250px;padding:14px}.portal-notifications-menu>strong{color:#293746;font-size:.86rem}.portal-notifications-menu p{margin:3px 0 0;color:#738091;font-size:.78rem;line-height:1.45}.portal-search-backdrop{position:fixed;z-index:3000;top:0;right:0;bottom:0;left:0;display:grid;align-items:start;justify-items:center;padding:min(16vh,124px) 20px 24px;background:#121b2647;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.portal-search-dialog{width:min(600px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.76);border-radius:16px;background:#fafcfdf7;box-shadow:0 24px 70px #0f172a38}.portal-search-input-wrap{display:flex;align-items:center;gap:11px;min-height:58px;padding:0 17px;border-bottom:1px solid #e8edf1;color:#6e7b89}.portal-search-input-wrap input{width:100%;min-width:0;min-height:54px;border:0;outline:0;background:transparent;color:#273645;font:inherit;font-size:.96rem}.portal-search-results{display:grid;max-height:min(54vh,440px);overflow:auto;padding:8px}.portal-search-results button{display:flex;align-items:center;gap:11px;min-height:43px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:#3f4d5b;text-align:left;font:inherit;font-size:.84rem;cursor:pointer}.portal-search-results button.is-active,.portal-search-results button:hover{background:#eaf4f3;color:#096c63}.portal-search-results button span{flex:1}.portal-search-results button small{color:#86919c;font-size:.7rem}.portal-search-empty{margin:0;padding:26px 14px;color:#778391;text-align:center;font-size:.84rem}.portal-search-dialog footer{display:flex;justify-content:space-between;padding:10px 15px;border-top:1px solid #e8edf1;color:#87929e;font-size:.68rem}@media(max-width:820px){.portal-shell,.portal-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.portal-main{min-width:0}.sidebar{display:none}.mobile-navigation-layer{position:fixed;z-index:2100;top:0;right:0;bottom:0;left:0;display:block;background:#0d141d5c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-navigation-drawer{position:absolute;z-index:1;inset:0 auto 0 0;display:flex;width:min(300px,86vw);height:100dvh;overflow:auto;padding:18px 14px calc(18px + env(safe-area-inset-bottom));background:#161d27f5;box-shadow:18px 0 48px #0c141e3d;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}.mobile-navigation-drawer nav{overflow:visible}.portal-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";row-gap:10px}.topbar-left{grid-area:left}.topbar-center{grid-area:center;justify-content:stretch}.topbar-right{grid-area:right}.portal-search-launcher{width:100%;max-width:none}}@media(max-width:460px){.portal-topbar{padding-inline:10px}.topbar-shop{max-width:155px;font-size:.8rem}.topbar-shop span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-account{gap:6px;padding-inline:8px}.topbar-account-name{display:none}.topbar-account-name-mobile{display:inline;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:620}.portal-search-backdrop{padding:9vh 10px 12px}}@media(prefers-reduced-motion:reduce){.portal-search-launcher:before{animation:none}}.finance-cloud-page{display:grid;align-content:start;gap:16px}.finance-cloud-tabs{display:flex;gap:5px;overflow-x:auto;padding:5px;border:1px solid rgba(49,65,82,.1);border-radius:14px;background:#ffffffa3;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.finance-cloud-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;flex:0 0 auto;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#667382;font:inherit;font-size:.84rem;font-weight:580;cursor:pointer}.finance-cloud-tabs button.is-active{background:#fff;color:#126f68;box-shadow:0 1px 3px #1323301f}.finance-cloud-page .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.finance-cloud-page .panel-head-actions{display:flex;align-items:center;gap:10px}.finance-cloud-page .panel-badge{color:#718091;font-size:.78rem}.finance-cloud-page .panel-body{display:grid;gap:16px;padding:16px}.finance-cloud-grid-wrap{overflow-x:auto;border:1px solid #e8edf0;border-radius:11px}.finance-cloud-grid{width:100%;border-collapse:collapse;min-width:620px;font-size:.84rem}.finance-cloud-grid th{padding:11px 13px;background:#f7f9fa;color:#6b7786;font-size:.72rem;font-weight:650;text-align:left;white-space:nowrap}.finance-cloud-grid td{padding:11px 13px;border-top:1px solid #edf0f2;color:#293745}.finance-cloud-empty{padding:28px!important;color:#7a8794!important;text-align:center}.finance-cloud-form-panel{display:grid;gap:12px;padding-top:16px;border-top:1px solid #e9edf0}.finance-cloud-form-panel h3{margin:0;color:#344150;font-size:.94rem}.finance-cloud-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px}.finance-cloud-form label,.finance-cloud-filter label{display:grid;gap:6px;color:#536171;font-size:.76rem;font-weight:600}.finance-cloud-form input,.finance-cloud-form select,.finance-cloud-filter select,.finance-cloud-csv{width:100%;min-height:39px;padding:8px 10px;border:1px solid #dbe2e7;border-radius:9px;background:#fff;color:#263441;font:inherit;font-size:.84rem}.finance-cloud-form>button{justify-self:start}.finance-cloud-line{display:grid;grid-column:1/-1;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(100px,1fr));gap:8px}.finance-cloud-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.finance-cloud-check input{width:auto;min-height:0}.finance-cloud-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;gap:22px}.finance-cloud-aside{display:grid;gap:10px;padding:16px;border-radius:12px;background:#f6f8f9;color:#697786;font-size:.84rem}.finance-cloud-aside strong{color:#334252}.finance-cloud-aside p,.finance-cloud-help{margin:0;line-height:1.5}.finance-cloud-vouchers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.finance-cloud-voucher{display:grid;gap:9px;min-height:140px;padding:17px;border:1px solid #e3e9ec;border-radius:14px;background:#ffffffd1;color:#657382;text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease}.finance-cloud-voucher:hover{border-color:#0f887d6b;transform:translateY(-1px)}.finance-cloud-voucher strong{color:#263746;font-size:.96rem}.finance-cloud-voucher span{line-height:1.45;font-size:.81rem}.finance-cloud-voucher b{align-self:end;color:#0f887d;font-size:.78rem}.finance-cloud-filter{display:flex;align-items:end;justify-content:space-between;gap:12px}.finance-cloud-filter label{min-width:min(100%,320px)}.finance-cloud-csv{min-height:120px;resize:vertical;font-family:ui-monospace,monospace}.finance-cloud-recon-note,.finance-cloud-footnote{color:#788593;font-size:.78rem}.finance-cloud-actions{display:flex;gap:6px}.finance-cloud-actions button{border:0;background:transparent;color:#0f766e;font:inherit;font-weight:620;cursor:pointer}.veterinary-dashboard .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.veterinary-hr-dashboard .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.veterinary-dashboard a.kpi-card{text-decoration:none}.veterinary-dashboard .data-table td small,.veterinary-workspace-page .data-table td small{display:block;margin-top:3px;color:var(--text-muted)}.veterinary-catalog-tabs{display:inline-flex;gap:4px}.veterinary-catalog-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid var(--border-color, #e5e7eb);border-radius:9px;background:var(--surface, #fff);color:var(--text-muted);font:inherit;font-size:.84rem;cursor:pointer}.veterinary-catalog-tabs button.active{border-color:#0f887d59;background:#0f887d14;color:#0f766e;font-weight:650}@media(max-width:1100px){.veterinary-dashboard .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.veterinary-hr-dashboard .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.veterinary-dashboard .kpi-grid{grid-template-columns:1fr}}@media(max-width:720px){.finance-cloud-columns{grid-template-columns:1fr}.finance-cloud-tabs button{padding-inline:10px}}@media(prefers-reduced-motion:reduce){.finance-cloud-voucher{transition:none}}.portal-shell--restaurant .primary-button,.portal-shell--restaurant .ghost-button,.portal-shell--restaurant .toolbar-btn,.portal-shell--restaurant .stock-tool-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.portal-shell--restaurant .ghost-button.danger-button{border-color:var(--danger, #b42318);color:#fff;background:var(--danger, #b42318)}.portal-shell--restaurant .ghost-button.danger-button:hover:not(:disabled){border-color:#b42318;background:#b42318}.portal-shell--restaurant button svg{display:block;flex:0 0 auto}.portal-shell--restaurant .panel-head{gap:12px}.portal-shell--restaurant .table-wrap{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c5cdd5 transparent}.portal-shell--restaurant table{font-variant-numeric:tabular-nums}.portal-shell--restaurant thead th,.portal-shell--restaurant tbody td{padding:10px 14px;vertical-align:middle}.portal-shell--restaurant .team-members-table .row-actions{width:auto;min-width:100px;white-space:nowrap}.portal-shell--restaurant .team-members-table .row-actions>button{min-height:40px}.portal-shell--restaurant .team-members-table-wrap{contain:inline-size}.portal-shell--restaurant .team-members-table{width:100%;min-width:640px;table-layout:fixed}.portal-shell--restaurant .team-member-identity{min-width:0}.portal-shell--restaurant .team-member-identity strong,.portal-shell--restaurant .team-member-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-shell--restaurant .team-member-identity span{margin-top:3px;color:var(--text-muted);font-size:.76rem}.portal-shell--restaurant .team-permissions-row>td,.portal-shell--restaurant .team-permissions-editor,.portal-shell--restaurant .team-permissions-grid{min-width:0;box-sizing:border-box}.portal-shell--restaurant .team-permissions-editor{width:100%}.portal-shell--restaurant .sheet-body label.setting-checkbox{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--text-primary);font-size:.9rem}.portal-shell--restaurant .sheet-body label.setting-checkbox input[type=checkbox]{flex:0 0 18px;width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--accent)}.portal-shell--restaurant .restaurant-quick-menu__modifiers label{display:flex;align-items:center;width:100%;min-height:44px}.portal-shell--restaurant .restaurant-quick-menu__modifiers label input[type=checkbox]{flex:0 0 18px;width:18px;min-height:18px;margin:0;padding:0}.portal-shell--restaurant .restaurant-quick-menu__modifiers label>span{min-width:0;flex:1}.portal-shell--restaurant .team-permissions-editor{padding:16px}.portal-shell--restaurant .team-permissions-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:10px;padding:0 10px;color:var(--text-muted);font-size:.78rem}.portal-shell--restaurant .team-permissions-heading strong{color:var(--text-primary);font-size:.84rem}.portal-shell--restaurant .team-permissions-grid{gap:3px 14px}.portal-shell--restaurant .team-permission-column{min-width:0}.portal-shell--restaurant .team-permission-column-heading{display:grid;grid-template-columns:minmax(0,1fr) 64px 72px;align-items:center;gap:10px;padding:0 10px 5px;color:var(--text-muted);font-size:.72rem;font-weight:650;text-align:center}.portal-shell--restaurant .team-permission-column-heading span:first-child{text-align:left}.portal-shell--restaurant .team-permission-item{min-height:42px}.portal-shell--restaurant .team-permission-item input{width:18px;height:18px}.portal-shell--restaurant .page-header:has(.stock-header-actions) .stock-header-actions{justify-content:flex-start;gap:10px}.portal-shell--restaurant .stock-catalog-tools{flex:0 1 auto}.portal-shell--restaurant .toolbar-row:has(.filter-bar){align-items:center;gap:10px}.portal-shell--restaurant .filter-bar{gap:8px}.portal-shell--restaurant .filter-bar .search-box{width:clamp(220px,25vw,320px);flex:1 1 220px}.portal-shell--restaurant .filter-bar .search-box input{padding-left:38px}.portal-shell--restaurant .filter-select{gap:6px;white-space:nowrap}.portal-shell--restaurant .filter-select select{min-height:40px;max-width:190px}.portal-shell--restaurant .toolbar-actions{flex:0 0 auto;gap:8px}@media(min-width:821px){.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select)>.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) max-content max-content max-content;gap:8px}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select) .search-box{width:auto;min-width:0}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select) .search-box input{width:100%;min-width:0}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select) .filter-select{gap:5px}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select) .filter-select select{width:100px;max-width:100px;min-width:0}.portal-shell--restaurant .toolbar-row:has(>.filter-bar .filter-select) .filter-select:last-child select{width:170px;max-width:170px}}.portal-shell--restaurant .toolbar:has(.report-picker){display:grid;grid-template-columns:minmax(240px,.85fr) minmax(360px,1.4fr) auto;align-items:end;justify-content:start;gap:14px}.portal-shell--restaurant .report-picker{min-width:0;display:grid;gap:6px;font-size:.76rem;font-weight:650}.portal-shell--restaurant .report-picker select{width:100%;min-width:0;min-height:42px;border-color:#dfe4ea;background:#fff;color:var(--text-primary);font:inherit;font-size:.86rem}.portal-shell--restaurant .toolbar:has(.report-picker)>.date-range-control{min-width:0}.portal-shell--restaurant .toolbar:has(.report-picker)>.primary-button{min-width:146px;justify-self:end}.portal-shell--restaurant .date-presets{gap:3px;padding:4px;border-radius:11px;background:#e9edf1}.portal-shell--restaurant .date-presets button{min-height:34px;padding-inline:11px;border-radius:8px;white-space:nowrap}.portal-shell--restaurant .finance-cloud-tabs{scrollbar-width:thin;scrollbar-color:#c5cdd5 transparent}.portal-shell--restaurant .finance-cloud-tabs button{min-height:42px;white-space:nowrap}.portal-shell--restaurant :is(.data-table,.finance-cloud-grid) td,.portal-shell--restaurant :is(.data-table,.finance-cloud-grid) th{vertical-align:middle}@media(max-width:1180px){.portal-shell--restaurant .toolbar:has(.report-picker){grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.portal-shell--restaurant .toolbar:has(.report-picker)>.primary-button{grid-column:2;justify-self:start}}@media(max-width:820px){.portal-shell--restaurant :is(.primary-button,.ghost-button,.toolbar-btn,.portal-notification-button,.topbar-account,.portal-search-launcher,.stock-tool-button,.finance-cloud-tabs button,.mobile-tabbar__item){min-height:44px}.portal-shell--restaurant .team-permission-item>label{min-width:44px;min-height:44px}.portal-shell--restaurant .date-presets button{min-height:40px}.portal-shell--restaurant .team-permission-column-heading,.portal-shell--restaurant .team-permission-item{grid-template-columns:minmax(0,1fr) 48px 58px}.portal-shell--restaurant .team-permissions-grid{grid-template-columns:minmax(0,1fr)}.portal-shell--restaurant .page-header:has(.stock-header-actions) .stock-header-actions{align-items:stretch}.portal-shell--restaurant .stock-catalog-tools{max-width:100%;overflow-x:auto}.portal-shell--restaurant .toolbar-row:has(.filter-bar){align-items:stretch}.portal-shell--restaurant .filter-bar{flex:1 1 100%}.portal-shell--restaurant .toolbar-actions{margin-left:auto}.portal-shell--restaurant .toolbar:has(.report-picker){grid-template-columns:minmax(0,1fr);align-items:stretch}.portal-shell--restaurant .toolbar:has(.report-picker)>.primary-button{grid-column:auto;justify-self:stretch}.portal-shell--restaurant .date-presets{overflow-x:auto;flex-wrap:nowrap}}@media(max-width:560px){.portal-shell--restaurant .team-members-table{min-width:0}.portal-shell--restaurant .team-members-table th:nth-child(3),.portal-shell--restaurant .team-members-table td:nth-child(3){display:none}.portal-shell--restaurant .team-members-table th:nth-child(1),.portal-shell--restaurant .team-members-table td:nth-child(1){width:113px}.portal-shell--restaurant .team-members-table th:nth-child(2),.portal-shell--restaurant .team-members-table td:nth-child(2){width:96px}.portal-shell--restaurant .team-members-table th:nth-child(4),.portal-shell--restaurant .team-members-table td:nth-child(4){width:140px}.portal-shell--restaurant .team-members-table .row-actions{width:96px;min-width:0;gap:4px}.portal-shell--restaurant .team-permissions-heading>span{display:block;overflow-wrap:anywhere}.portal-shell--restaurant .team-permissions-heading,.portal-shell--restaurant .team-permission-item{grid-template-columns:minmax(0,1fr) 48px 58px}.portal-shell--restaurant .team-permissions-heading{grid-template-columns:minmax(0,1fr)}.portal-shell--restaurant .team-permissions-editor{padding:12px 10px}}
