@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08ff,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap");@import url("https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap");:root{--green-50:#eef6f3;--green-100:#dceee9;--green-200:#bbddd3;--green-300:#8fc7b7;--green-400:#57a992;--green-500:#228c74;--green-600:#137260;--green-700:#0e5c4a;--green-800:#0b4439;--green-900:#082f28;--gold-50:#faf4e6;--gold-100:#f3e8cd;--gold-200:#e7d2a2;--gold-300:#d9bc7c;--gold-400:#c8a24b;--gold-500:#b0883a;--gold-600:#8e6b2c;--gold-hi:#d4a017;--navy-700:#0a2f4a;--navy-800:#08283e;--navy-900:#051c2c;--stone-0:#fff;--stone-25:#fcfbf7;--stone-50:#f6f4ee;--stone-100:#eeede6;--stone-200:#e2e0d7;--stone-300:#cbc9be;--stone-400:#a8a69a;--stone-500:#807e73;--stone-600:#5e5c52;--stone-700:#44433c;--stone-800:#2c2b26;--stone-900:#1a1a16;--success:#1f8a6b;--success-bg:#e6f3ee;--success-fg:#0c5e47;--warning:#c8902b;--warning-bg:#faf0da;--warning-fg:#835a12;--danger:#c0492f;--danger-bg:#f8e7e2;--danger-fg:#862e1b;--info:#2a7f8c;--info-bg:#e2f0f2;--info-fg:#1a535c;--blue:#1e3a5f;--blue-bg:#dbeafe;--blue-fg:#1e3a5f;--orange:#c2410c;--orange-bg:#ffedd5;--orange-fg:#9a3412;--status-confirmed:var(--info);--status-preparing:var(--warning);--status-out-for-delivery:var(--gold-500);--status-delivered:var(--success);--status-cancelled:var(--danger);--bg:var(--stone-25);--surface:var(--stone-0);--surface-sunken:var(--stone-50);--surface-hover:var(--stone-50);--border:var(--stone-200);--border-strong:var(--stone-300);--fg:var(--stone-900);--fg-secondary:var(--stone-600);--fg-muted:var(--stone-500);--fg-on-brand:#fff;--primary:var(--green-700);--primary-hover:var(--green-600);--primary-pressed:var(--green-800);--primary-soft:var(--green-50);--primary-soft-fg:var(--green-700);--accent:var(--gold-400);--accent-soft:var(--gold-50);--heading:var(--navy-900);--sidebar-bg:var(--navy-900);--sidebar-fg:hsla(0,0%,100%,.68);--sidebar-fg-strong:#fff;--sidebar-border:hsla(0,0%,100%,.08);--sidebar-hover-bg:hsla(0,0%,100%,.05);--sidebar-active-bg:rgba(184,134,11,.16);--sidebar-active-fg:#fff;--sidebar-active-rule:var(--gold-400);--ring:color-mix(in oklab,var(--green-700) 40%,transparent);--font-latin:"General Sans",ui-sans-serif,system-ui,sans-serif;--font-arabic:"IBM Plex Sans Arabic",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;--font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;--font-sans:var(--font-latin),var(--font-arabic);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:3.75rem;--text-5xl:4.5rem;--leading-tight:1.12;--leading-snug:1.3;--leading-normal:1.55;--tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-wide:0.04em;--tracking-caps:0.08em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(26,26,22,.04);--shadow-sm:0 1px 3px rgba(26,26,22,.06),0 1px 2px rgba(26,26,22,.04);--shadow-md:0 4px 12px rgba(26,26,22,.06),0 2px 4px rgba(26,26,22,.04);--shadow-lg:0 12px 32px rgba(26,26,22,.08),0 4px 8px rgba(26,26,22,.04);--shadow-xl:0 24px 60px rgba(11,68,57,.12),0 8px 16px rgba(26,26,22,.05);--ring-shadow:0 0 0 3px var(--ring);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-fast:130ms;--dur-base:200ms;--dur-slow:320ms}[data-theme=dark]{--bg:#0a1714;--surface:#0f211c;--surface-sunken:#0c1b17;--surface-hover:#143029;--border:#1e382f;--border-strong:#2a4b40;--fg:#ecf1ee;--fg-secondary:#a9b8b1;--fg-muted:#7c8e86;--fg-on-brand:#07130f;--primary:var(--green-400);--primary-hover:var(--green-300);--primary-pressed:var(--green-500);--primary-soft:#12281f;--primary-soft-fg:var(--green-300);--accent:var(--gold-300);--accent-soft:#2a2415;--heading:#eef3f0;--sidebar-bg:#06141f;--sidebar-fg:hsla(0,0%,100%,.66);--sidebar-fg-strong:#fff;--sidebar-border:hsla(0,0%,100%,.07);--sidebar-hover-bg:hsla(0,0%,100%,.05);--sidebar-active-bg:rgba(201,162,75,.18);--sidebar-active-fg:#fff;--sidebar-active-rule:var(--gold-300);--blue-bg:#12233b;--blue-fg:#9dc0ea;--orange-bg:#33200f;--orange-fg:#e9a579;--success-bg:#11362a;--success-fg:#7fcbb1;--warning-bg:#34290f;--warning-fg:#e2b768;--danger-bg:#371811;--danger-fg:#e69e8b;--info-bg:#11302f;--info-fg:#7fc2c9;--shadow-xs:0 1px 2px rgba(0,0,0,.4);--shadow-sm:0 1px 3px rgba(0,0,0,.45);--shadow-md:0 4px 12px rgba(0,0,0,.45);--shadow-lg:0 12px 32px rgba(0,0,0,.55);--shadow-xl:0 24px 60px rgba(0,0,0,.6);--ring:color-mix(in oklab,var(--green-400) 45%,transparent)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:lang(ar),[dir=rtl]{font-family:var(--font-arabic);line-height:1.7}.display{font-family:var(--font-latin);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold)}:lang(ar) .display,[dir=rtl] .display{font-family:var(--font-arabic);letter-spacing:0}.h1,h1{font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold);margin:0}.h2,h2{font-size:var(--text-xl);letter-spacing:var(--tracking-snug)}.h2,.h3,h2,h3{line-height:var(--leading-snug);font-weight:var(--weight-semibold);margin:0}.h3,h3{font-size:var(--text-lg)}.lead{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--fg-secondary)}p{margin:0}.body{font-size:var(--text-base);line-height:var(--leading-normal)}.small{font-size:var(--text-sm)}.caption,.overline{font-size:var(--text-xs);color:var(--fg-muted)}.overline{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}:lang(ar) .overline,[dir=rtl] .overline{text-transform:none;letter-spacing:0}.display,.h1,.h2,.h3,h1,h2,h3{font-family:var(--font-serif);color:var(--heading)}:lang(ar) :is(.display,h1,.h1,h2,.h2,h3,.h3),[dir=rtl] :is(.display,h1,.h1,h2,.h2,h3,.h3){font-family:var(--font-arabic)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.tnum{font-variant-numeric:tabular-nums}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}::-moz-selection{background:var(--green-100);color:var(--green-800)}::selection{background:var(--green-100);color:var(--green-800)}:root{--color-page:#f7f9f6;--color-surface:#fff;--color-surface-soft:#f1f7f3;--color-surface-warm:#fff9ed;--color-ink:#142a35;--color-ink-secondary:#2f4650;--color-muted:#75858b;--color-line:#e1e9e4;--color-primary:#2f7c63;--color-primary-hover:#4f9a7f;--color-primary-soft:#e9f5ef;--color-accent:#d99a25;--color-accent-soft:#fff3d8;--color-info:#557db6;--color-info-soft:#eaf1fb;--color-danger:#d96f59;--color-danger-soft:#fcece8;--color-navy:#0b2a3d;--font-family-ui:"IBM Plex Sans Arabic","Segoe UI","Tahoma","Arial",sans-serif;--portal-font-scale:0.975;--font-caption:calc(13px * var(--portal-font-scale));--font-control:calc(14px * var(--portal-font-scale));--font-body:calc(15px * var(--portal-font-scale));--font-lead:calc(16px * var(--portal-font-scale));--radius-control:12px;--radius-card:20px;--shadow-card:0 18px 50px rgba(25,73,57,.07);--shadow-control:0 8px 26px rgba(25,73,57,.08);--portal-caption-lh:1.55;--portal-control-lh:1.5;--portal-control-weight:600;--portal-body-lh:1.65;--portal-lead-lh:1.75;--portal-section-heading:calc(21px * var(--portal-font-scale));--portal-section-heading-lh:1.35;--portal-heading-weight:800;--portal-page-heading:calc(clamp(19px, 2.1vw, 28px) * var(--portal-font-scale));--portal-page-heading-lh:1.2;--portal-space-xs:calc(4px * var(--portal-font-scale));--portal-space-sm:calc(8px * var(--portal-font-scale));--portal-space-md:calc(12px * var(--portal-font-scale));--portal-space-lg:calc(18px * var(--portal-font-scale));--portal-space-xl:calc(24px * var(--portal-font-scale));--portal-space-2xl:calc(34px * var(--portal-font-scale));--portal-panel-pad:calc(16px * var(--portal-font-scale));--portal-radius-small:9px;--portal-radius-pill:999px;--muted-strong:#5b6a70;--portal-soon:#fc6c85;--portal-soon-ink:#b03b52;--portal-soon-bg:rgba(252,108,133,.14);--portal-sidebar-width:274px;--portal-sidebar-padding-inline:18px;--portal-sidebar-row-height:26px;--portal-sidebar-row-gap:1px;--portal-sidebar-row-radius:9px;--portal-topbar-height:52px;--portal-content-max-width:1500px;--portal-content-padding:var(--portal-space-md) var(--portal-space-lg) var(--portal-space-md);--portal-stack-gap:var(--portal-space-md);--portal-sidebar-width-compact:228px;--portal-sidebar-width-rail:88px;--portal-sidebar-width-mobile:270px;--portal-page-enter:280ms;--portal-control-transition:200ms;--portal-chart-transition:300ms;--portal-drawer-transition:250ms;--portal-nav-indicator-transition:360ms;--portal-nav-indicator-ease:cubic-bezier(0.34,1.32,0.44,1)}@media (prefers-reduced-motion:reduce){:root{--portal-page-enter:0ms;--portal-control-transition:0ms;--portal-chart-transition:0ms;--portal-drawer-transition:0ms;--portal-nav-indicator-transition:0ms}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;padding-block:.7rem;padding-inline:1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:focus-visible{outline:none;box-shadow:var(--ring-shadow)}.btn:active{transform:translateY(.5px) scale(.99)}.btn .icon{width:1.05em;height:1.05em}.btn-primary{background:var(--primary);color:var(--fg-on-brand);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-pressed)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--stone-400)}.btn-ghost{background:transparent;color:var(--fg-secondary)}.btn-ghost:hover{background:var(--surface-hover);color:var(--fg)}.btn-accent{background:var(--accent);color:#2a2008;box-shadow:var(--shadow-xs)}.btn-accent:hover{filter:brightness(.96)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn-danger-soft{background:var(--danger-bg);color:var(--danger-fg);border-color:color-mix(in oklab,var(--danger) 25%,transparent)}.btn-danger-soft:hover{background:color-mix(in oklab,var(--danger-bg) 80%,var(--danger) 12%)}.btn-lg{font-size:var(--text-base);padding-block:.95rem;padding-inline:1.5rem;border-radius:var(--radius-md)}.btn-sm{font-size:var(--text-xs);padding-block:.5rem;padding-inline:.75rem}.btn-icon{padding:.55rem;border-radius:var(--radius-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:var(--space-2)}.label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}[dir=rtl] .label{text-transform:none;letter-spacing:0;font-size:var(--text-sm)}.input,.select,.textarea{width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding-block:.65rem;padding-inline:.85rem;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--stone-400)}.input::placeholder,.textarea::placeholder{color:var(--stone-400)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.textarea{resize:vertical;min-height:5rem;line-height:var(--leading-normal)}.input-search{padding-inline-start:2.4rem}.field-hint{font-size:var(--text-xs);color:var(--fg-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-6)}.card-hover{transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.metric{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);min-width:0}.metric:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:3px;background:var(--accent-rule,var(--primary));border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg)}.metric-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-muted)}[dir=rtl] .metric-label{text-transform:none;letter-spacing:0}.metric-label{min-block-size:2.4em;line-height:1.2}.metric-value{margin-block-start:var(--space-2);font-size:clamp(1.125rem,1.5vw,1.625rem);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;overflow:visible}.metric-currency{font-size:.5em;font-weight:400;color:var(--fg-muted);margin-inline-end:.25em;letter-spacing:0;text-transform:uppercase}.metric-sub{margin-block-start:var(--space-1);font-size:var(--text-xs);color:var(--fg-muted)}.metric-delta{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--text-xs);font-weight:var(--weight-medium)}.metric-delta.up{color:var(--success)}.metric-delta.down{color:var(--danger)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4)}.metric-grid>*{min-width:0}.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-xs);font-weight:var(--weight-medium);padding-block:.25rem;padding-inline:.6rem;border-radius:var(--radius-full);line-height:1.4}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-neutral{background:var(--surface-sunken);color:var(--fg-secondary)}.badge-confirmed{background:var(--blue-bg);color:var(--blue-fg)}.badge-preparing{background:var(--warning-bg);color:var(--warning-fg)}.badge-ready{background:var(--success-bg);color:var(--success-fg)}.badge-out_for_delivery{background:var(--orange-bg);color:var(--orange-fg)}.badge-delivered{background:var(--success-bg);color:var(--success-fg)}.badge-cancelled{background:var(--danger-bg);color:var(--danger-fg)}.table-wrap{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table thead th{text-align:start;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-muted);background:var(--surface-sunken);padding-block:.85rem;padding-inline:1rem;border-block-end:1px solid var(--border)}[dir=rtl] .table thead th{text-transform:none;letter-spacing:0}.table tbody td{padding-block:.9rem;padding-inline:1rem;border-block-end:1px solid var(--border);color:var(--fg-secondary)}.table tbody tr:last-child td{border-block-end:none}.table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.table tbody tr:hover{background:var(--surface-hover)}.table .num{text-align:end;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.table .strong{color:var(--fg);font-weight:var(--weight-medium)}.switch{position:relative;inline-size:42px;block-size:24px;border-radius:var(--radius-full);background:var(--stone-300);border:none;cursor:pointer;transition:background var(--dur-base) var(--ease-out);padding:0}.switch[aria-checked=true]{background:var(--success)}.switch:after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:18px;block-size:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:inset-inline-start var(--dur-base) var(--ease-out)}.switch[aria-checked=true]:after{inset-inline-start:21px}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.segmented button{font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-secondary);background:transparent;border:none;border-radius:calc(var(--radius-md) - 4px);padding-block:.45rem;padding-inline:.85rem;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap}.segmented button:hover{color:var(--fg)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-xs)}.app-sidebar{background:var(--sidebar-bg);color:var(--sidebar-fg);--fg:var(--sidebar-fg-strong);--fg-secondary:var(--sidebar-fg);--fg-muted:var(--sidebar-fg);--border:var(--sidebar-border);--surface:var(--sidebar-bg);--surface-hover:var(--sidebar-hover-bg);--primary-soft:var(--sidebar-active-bg);--primary-soft-fg:var(--sidebar-active-fg)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding-block:.65rem;padding-inline:.85rem;border-radius:var(--radius-sm);border-inline-start:2px solid transparent;color:var(--fg-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-item:hover{background:var(--surface-hover);color:var(--fg)}.nav-item.active{background:var(--primary-soft);color:var(--primary-soft-fg);font-weight:var(--weight-semibold)}.app-sidebar .nav-item.active{border-inline-start-color:var(--sidebar-active-rule)}.nav-item .icon{width:1.25rem;height:1.25rem;flex:none}.divider{block-size:1px;background:var(--border);border:none;inline-size:100%}.icon{display:inline-block;vertical-align:middle;stroke-width:1.75}.avatar{justify-content:center;inline-size:36px;block-size:36px;background:var(--primary-soft);color:var(--primary-soft-fg);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.avatar,.pill{display:inline-flex;align-items:center;border-radius:var(--radius-full)}.pill{gap:.4rem;padding-block:.3rem;padding-inline:.7rem;background:var(--surface);border:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-secondary);white-space:nowrap}html:has(main.public-page),html:has(main.public-page) body{background:var(--color-page);color:var(--color-ink)}.public-page{--bg:var(--color-page);--surface:var(--color-surface);--surface-sunken:var(--color-surface-soft);--surface-hover:var(--color-surface-soft);--border:var(--color-line);--border-strong:var(--color-line);--fg:var(--color-ink);--fg-secondary:var(--color-ink-secondary);--fg-muted:var(--color-muted);--fg-on-brand:#fff;--primary:var(--color-primary);--primary-hover:var(--color-primary-hover);--primary-pressed:var(--color-primary);--primary-soft:var(--color-primary-soft);--primary-soft-fg:var(--color-primary);--accent:var(--color-accent);--accent-soft:var(--color-accent-soft);--success:var(--color-primary);--success-bg:var(--color-primary-soft);--success-fg:var(--color-primary);--warning:var(--color-accent);--warning-bg:var(--color-accent-soft);--warning-fg:#835a12;--info:var(--color-info);--info-bg:var(--color-info-soft);--info-fg:var(--color-info);--danger:var(--color-danger);--danger-bg:var(--color-danger-soft);--danger-fg:var(--color-danger);--heading:var(--color-ink);--ring:color-mix(in oklab,var(--color-primary) 40%,transparent);--shadow-xs:0 1px 2px rgba(20,42,53,.04);--shadow-sm:0 1px 3px rgba(20,42,53,.06),0 1px 2px rgba(20,42,53,.04);--shadow-md:0 4px 12px rgba(20,42,53,.06),0 2px 4px rgba(20,42,53,.04);--shadow-lg:0 12px 32px rgba(20,42,53,.08),0 4px 8px rgba(20,42,53,.04);--shadow-xl:0 24px 60px rgba(11,68,57,.12),0 8px 16px rgba(20,42,53,.05);--blue-bg:var(--color-info-soft);--blue-fg:var(--color-info);--orange-bg:var(--color-accent-soft);--orange-fg:#9a3412;--font-sans:var(--font-family-ui);background:var(--color-page);color:var(--color-ink);font-family:var(--font-family-ui)}.public-page section{position:relative}.public-page .landing-header{background:hsla(0,0%,100%,.86);border-block-end:1px solid var(--color-line);backdrop-filter:saturate(140%) blur(10px)}.public-page .landing-logo{display:block;height:34px;width:auto}@media (max-width:640px){.public-page .landing-logo{height:26px}}.public-page .landing-hero{background:radial-gradient(1100px 420px at 50% -120px,var(--color-surface-soft),transparent 70%)}.public-page .overline{text-decoration-line:none}.public-page .landing-eyebrow{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-weight:600;letter-spacing:.04em}.public-page .landing-hero h1 .landing-accent{color:var(--color-primary);position:relative}.public-page .card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(20,42,53,.04),0 12px 28px -20px rgba(20,42,53,.28)}.public-page .landing-preview-bar{background:var(--color-surface-soft);color:var(--color-ink-secondary);border-block-end:1px solid var(--color-line)}.public-page .table th{color:var(--color-muted);font-weight:600}.public-page .table td{color:var(--color-ink-secondary);border-block-start:1px solid var(--color-line)}.public-page .landing-band-soft{background:var(--color-surface-soft);border-block:1px solid var(--color-line)}.public-page .landing-band-warm{background:var(--color-surface-warm);border-block:1px solid var(--color-line)}.public-page .landing-cta{background:var(--color-navy);color:#fff}.public-page .landing-cta h2,.public-page .landing-cta p{color:#fff}.public-page .landing-cta .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-navy)}.public-page .landing-cta .btn-primary:hover{background:#e9ad3e;border-color:#e9ad3e}.public-page .landing-footer{background:var(--color-surface);border-block-start:1px solid var(--color-line);color:var(--color-muted)}.public-page .auth-brand-panel{background:var(--color-navy);color:#fff}.public-page .auth-brand-panel .auth-brand-lockup{opacity:.96;align-self:flex-start}.public-page .auth-logo{display:block;height:40px;width:auto}.public-page .metric:before{content:none}.public-page .metric{background:radial-gradient(58px 58px at calc(100% - 4px) -10px,var(--color-primary-soft),transparent 72%),var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(20,42,53,.04),0 10px 24px -18px rgba(20,42,53,.3);padding:14px 16px}[dir=rtl] .public-page .metric{background:radial-gradient(58px 58px at 4px -10px,var(--color-primary-soft),transparent 72%),var(--color-surface)}.public-page .metric.metric-gold{background:radial-gradient(58px 58px at calc(100% - 4px) -10px,var(--color-accent-soft),transparent 72%),var(--color-surface)}[dir=rtl] .public-page .metric.metric-gold{background:radial-gradient(58px 58px at 4px -10px,var(--color-accent-soft),transparent 72%),var(--color-surface)}.public-page .metric-label{display:flex;align-items:center;gap:8px;color:var(--color-muted)}.public-page .metric-label:before{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:5px;background:var(--color-primary);box-shadow:0 6px 13px rgba(47,124,99,.2)}.public-page .metric.metric-gold .metric-label:before{background:var(--color-accent);box-shadow:0 6px 13px rgba(217,154,37,.24)}.public-page .metric-value{color:var(--color-ink)}.public-page .stat-value{unicode-bidi:isolate}.portal{--page:var(--color-page);--surface:var(--color-surface);--surface-soft:var(--color-surface-soft);--surface-warm:var(--color-surface-warm);--ink:var(--color-ink);--ink-2:var(--color-ink-secondary);--muted:var(--color-muted);--line:var(--color-line);--green:var(--color-primary);--green-2:var(--color-primary-hover);--green-soft:var(--color-primary-soft);--gold:var(--color-accent);--gold-soft:var(--color-accent-soft);--blue:var(--color-info);--blue-soft:var(--color-info-soft);--coral:var(--color-danger);--coral-soft:var(--color-danger-soft);--navy:var(--color-navy);--shadow:var(--shadow-card);--shadow-small:var(--shadow-control);--radius:var(--radius-card);--font-ui:var(--font-family-ui);color-scheme:light;--heading:var(--color-ink);--fg:var(--color-ink);--fg-secondary:var(--color-ink-secondary);--fg-muted:var(--color-muted);--bg:var(--color-page);--surface-sunken:var(--color-surface-soft);--surface-hover:var(--color-surface-soft);--border:var(--color-line);--border-strong:var(--color-line);--primary:var(--color-primary);--primary-hover:var(--color-primary-hover);--primary-soft:var(--color-primary-soft);--accent:var(--color-accent);--success-bg:#e6f3ee;--success-fg:#0c5e47;--warning-bg:#faf0da;--warning-fg:#835a12;--danger-bg:#f8e7e2;--danger-fg:#862e1b;--info-bg:#e2f0f2;--info-fg:#1a535c;--blue-bg:#dbeafe;--blue-fg:#1e3a5f;--orange-bg:#ffedd5;--orange-fg:#9a3412;--fg-on-brand:#fff;--accent-soft:#faf4e6;--primary-soft-fg:#0e5c4a;--surface:#fff;min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-size:var(--font-body);font-weight:400;line-height:var(--portal-body-lh);background:radial-gradient(circle at 90% 4%,rgba(222,243,233,.65),transparent 24rem),var(--page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.portal *,.portal :after,.portal :before{box-sizing:border-box}.portal button,.portal input,.portal select,.portal textarea{font:inherit}.portal button{color:inherit}.portal button.btn-danger,.portal button.btn-primary{color:var(--fg-on-brand)}.portal a:focus-visible,.portal button:focus-visible,.portal input:focus-visible,.portal select:focus-visible,.portal textarea:focus-visible{outline:3px solid rgba(79,154,127,.25);outline-offset:2px}.portal .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:30;width:var(--portal-sidebar-width);padding:12px var(--portal-sidebar-padding-inline) 18px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;background:linear-gradient(180deg,#edf7f2,#f5f9f5 62%,#edf4ef);border-inline-end:1px solid rgba(47,124,99,.12)}.portal .brand-crop{flex:0 0 70px;height:70px;overflow:hidden;border-radius:16px;background:var(--surface);border:1px solid rgba(47,124,99,.1);box-shadow:0 8px 22px rgba(27,70,56,.05);display:grid;place-items:center}.portal .brand-crop img{width:100%;height:70px;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.portal .restaurant-switcher{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(47,124,99,.12);border-radius:14px;background:hsla(0,0%,100%,.7)}.portal .restaurant-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;color:var(--surface);background:linear-gradient(145deg,var(--green),#65a98d);font-weight:900}.portal .restaurant-switcher>div{min-width:0}.portal .restaurant-switcher small,.portal .restaurant-switcher strong{display:block}.portal .restaurant-switcher strong{font-size:var(--font-control)}.portal .restaurant-switcher small{color:var(--muted);font-size:11px;margin-top:3px}.portal .restaurant-switcher button{margin-inline-start:auto;border:0;background:transparent;cursor:pointer;color:var(--muted)}.portal .main-nav{display:flex;flex-direction:column;gap:var(--portal-sidebar-row-gap);flex:1;min-height:0}.portal .nav-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.portal .nav-group{display:flex;flex-direction:column;gap:var(--portal-sidebar-row-gap)}.portal .nav-group+.nav-group{margin-block-start:7px}.portal .nav-title{padding:0 12px;margin-block-end:1px;color:#8aa09a;font-size:10px;font-weight:700;letter-spacing:.05em;line-height:1.5;text-transform:uppercase}.portal .main-nav .nav-group-pinned{margin-block-start:10px;padding-block-start:10px;border-block-start:1px solid rgba(11,42,61,.08)}.portal .main-nav .nav-row-soon,.portal .main-nav a{position:relative;width:100%;min-height:var(--portal-sidebar-row-height);display:flex;align-items:center;gap:9px;border:0;border-radius:var(--portal-sidebar-row-radius);padding:0 12px;color:#587069;background:transparent;font-size:var(--font-control);font-weight:500;text-align:start;text-decoration:none;cursor:pointer;transition:var(--portal-control-transition) ease}.portal .main-nav a:hover{color:var(--green);background:hsla(0,0%,100%,.55)}.portal .main-nav a[aria-current=page]{color:var(--green);background:var(--surface);box-shadow:var(--shadow-small);font-weight:700}.portal .main-nav a[aria-current=page]:before{content:"";position:absolute;inset-block:12px;inset-inline-start:-4px;width:4px;border-radius:10px;background:var(--gold)}.portal .main-nav .nav-group-pinned,.portal .nav-scroll{position:relative}.portal .main-nav [data-slide=on] a[aria-current=page]{background:transparent;box-shadow:none}.portal .main-nav [data-slide=on] a[aria-current=page]:before{opacity:0}.portal .nav-indicator{position:absolute;inset-inline:0;top:0;border-radius:var(--portal-sidebar-row-radius);background:var(--surface);box-shadow:var(--shadow-small);z-index:0;pointer-events:none;transition:transform var(--portal-nav-indicator-transition) var(--portal-nav-indicator-ease),height var(--portal-nav-indicator-transition) var(--portal-nav-indicator-ease)}.portal .nav-indicator[data-animating=off]{transition:none}.portal .nav-indicator:before{content:"";position:absolute;inset-block:4px;inset-inline-start:-4px;width:4px;border-radius:10px;background:var(--gold)}.portal .main-nav .nav-row-soon,.portal .main-nav a{z-index:1}.portal .main-nav .nav-row-soon{color:var(--portal-soon-ink);cursor:default}.portal .main-nav .nav-row-soon .nav-icon{color:var(--portal-soon-ink);opacity:.85}.portal .nav-soon{margin-inline-start:auto;height:15px;padding:0 6px;border-radius:var(--portal-radius-pill);background:var(--portal-soon-bg);color:var(--portal-soon-ink);display:inline-flex;align-items:center;font-size:10px;font-weight:700;white-space:nowrap}.portal .nav-icon{width:17px;height:17px;flex:0 0 17px;border-radius:6px;display:grid;place-items:center;line-height:1;color:inherit;font-family:"Apple Symbols","Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",var(--font-ui);font-size:13px;font-variant-emoji:text;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal .nav-badge{margin-inline-start:auto;min-width:16px;height:16px;padding:0 5px;border-radius:var(--portal-radius-pill);background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;font-size:11px;font-style:normal}.portal .sidebar-foot{margin-top:auto;display:grid;gap:10px}.portal .health-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(47,124,99,.12);border-radius:14px;background:hsla(0,0%,100%,.7)}.portal .health-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green);font-weight:900}.portal .health-card small,.portal .health-card strong{display:block}.portal .health-card strong{font-size:12px}.portal .health-card small{color:var(--muted);font-size:10px;margin-top:3px}.portal .help-button{display:flex;gap:10px;align-items:center;border:0;background:transparent;color:var(--muted);padding:8px 12px;cursor:pointer;text-align:start;text-decoration:none}.portal .help-button span{width:25px;height:25px;flex:0 0 25px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%}.portal .app-main{min-height:100vh;margin-inline-start:var(--portal-sidebar-width)}.portal .topbar{position:sticky;top:0;z-index:20;height:var(--portal-topbar-height);justify-content:space-between;gap:12px;padding:0 34px;border-bottom:1px solid rgba(20,42,53,.07);background:rgba(247,249,246,.86);backdrop-filter:blur(18px)}.portal .language-toggle,.portal .profile-button,.portal .topbar,.portal .topbar-actions,.portal .topbar-status{display:flex;align-items:center}.portal .topbar-actions,.portal .topbar-status{gap:12px}.portal .live-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(47,124,99,.16);border-radius:var(--portal-radius-pill);color:var(--green);background:hsla(0,0%,100%,.8);font-size:12px;font-weight:800}.portal .live-chip i{width:7px;height:7px;border-radius:50%;background:#48a77f;box-shadow:0 0 0 5px rgba(72,167,127,.12)}.portal .topbar-date{color:var(--muted);font-size:12px}.portal .language-toggle{padding:3px;background:#edf2ef;border-radius:var(--radius-control)}.portal .language-toggle button{min-width:47px;border:0;background:transparent;border-radius:9px;padding:7px 10px;cursor:pointer;color:var(--muted);font-size:12px}.portal .language-toggle button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:800;box-shadow:0 3px 12px rgba(20,42,53,.06)}.portal .notification-button{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-control);cursor:pointer}.portal .notification-button i{position:absolute;top:8px;inset-inline-end:8px;width:6px;height:6px;border:2px solid var(--surface);border-radius:50%;background:var(--coral)}.portal .profile-button{gap:10px;padding:4px 6px;border:0;background:transparent;cursor:pointer;text-align:start}.portal .avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:var(--radius-control);color:var(--surface);background:linear-gradient(145deg,var(--green),#65a98d);font-weight:900}.portal .profile-button small,.portal .profile-button strong{display:block}.portal .profile-button strong{font-size:12px}.portal .profile-button small{font-size:10px;color:var(--muted);margin-top:2px}.portal .profile-button b{color:var(--muted);font-size:12px}.portal .profile-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:40;min-width:180px;padding:6px;display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-card)}.portal .profile-menu button{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:var(--font-control);font-weight:600;text-align:start;cursor:pointer}.portal .profile-menu button:hover{background:var(--green-soft);color:var(--green)}.portal .mobile-menu,.portal .mobile-overlay{display:none}.portal .page-container{width:min(var(--portal-content-max-width),100%);margin:0 auto;padding:var(--portal-content-padding)}.portal .page-stack{display:grid;gap:var(--portal-stack-gap);animation:portal-fade-in var(--portal-page-enter) ease}@keyframes portal-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:1180px){.portal .sidebar{width:var(--portal-sidebar-width-compact)}.portal .app-main{margin-inline-start:var(--portal-sidebar-width-compact)}.portal .page-container{padding-inline:24px}}@media (max-width:900px){.portal .sidebar{width:var(--portal-sidebar-width-rail);padding:9px 10px}.portal .app-main{margin-inline-start:var(--portal-sidebar-width-rail)}.portal .brand-crop{height:60px}.portal .restaurant-switcher{display:flex;justify-content:center;padding:7px}.portal .restaurant-switcher>button,.portal .restaurant-switcher>div{display:none}.portal .main-nav .nav-row-soon,.portal .main-nav a{justify-content:center;padding:0}.portal .main-nav .nav-row-soon>span:not(.nav-icon),.portal .main-nav a .nav-badge,.portal .main-nav a>span:not(.nav-icon),.portal .nav-soon,.portal .nav-title{display:none}.portal .main-nav a[aria-current=page]:before,.portal .nav-indicator:before{inset-inline-start:-2px}.portal .sidebar-foot{align-items:center}.portal .health-card{justify-content:center;padding:8px}.portal .health-card>div{display:none}.portal .help-button{justify-content:center;padding:8px}.portal .help-button>span:last-child{display:none}}@media (max-width:700px){.portal .sidebar{width:var(--portal-sidebar-width-mobile);padding:12px 10px 18px;transform:translateX(110%);transition:transform var(--portal-drawer-transition) ease;box-shadow:-20px 0 60px rgba(11,42,61,.18)}[dir=ltr] .portal .sidebar{transform:translateX(-110%)}.portal .sidebar.open{transform:none}.portal .main-nav .nav-row-soon,.portal .main-nav a{justify-content:flex-start;padding:0 14px}.portal .main-nav .nav-row-soon>span:not(.nav-icon),.portal .main-nav a .nav-badge,.portal .main-nav a>span:not(.nav-icon),.portal .nav-soon{display:inline-flex}.portal .nav-title{display:block}.portal .restaurant-switcher{justify-content:flex-start;padding:10px}.portal .health-card>div,.portal .restaurant-switcher>button,.portal .restaurant-switcher>div{display:block}.portal .help-button>span:last-child{display:inline}.portal .app-main{margin:0}.portal .topbar{height:66px;padding:0 15px}.portal .mobile-menu{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer}.portal .profile-button b,.portal .profile-button>span:not(.avatar),.portal .topbar-status .topbar-date{display:none}.portal .topbar-actions{gap:6px}.portal .notification-button{width:36px;height:36px}.portal .profile-button{padding:0}.portal .profile-button .avatar{width:36px;height:36px}.portal .language-toggle button{min-width:38px;padding:6px}.portal .page-container{padding:13px 15px 55px}.portal .page-stack{gap:9px}.portal .mobile-overlay{display:block;position:fixed;inset:0;z-index:25;border:0;background:rgba(11,42,61,.25);backdrop-filter:blur(3px)}}.portal h1,.portal h2,.portal h3,.portal h4{font-weight:var(--portal-heading-weight);color:var(--heading,var(--ink))}.portal small{font-size:max(9px,.8em)}.portal .eyebrow{display:block;color:var(--green);text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:850}[dir=rtl] .portal .eyebrow{text-transform:none;letter-spacing:0}.portal .panel{background:hsla(0,0%,100%,.9);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.portal .section-heading{display:flex;align-items:start;justify-content:space-between;gap:9px}.portal .section-heading h2{margin:0;font-size:var(--portal-section-heading);line-height:var(--portal-section-heading-lh);letter-spacing:-.025em;font-weight:var(--portal-heading-weight);color:var(--ink)}.portal .section-heading p{margin:5px 0 0;color:var(--muted);font-size:var(--font-caption);line-height:var(--portal-caption-lh)}.portal .status-pill{display:inline-flex;align-items:center;justify-content:center;width:-moz-max-content;width:max-content;min-height:26px;padding:4px 10px;border-radius:var(--portal-radius-pill);background:var(--green-soft);color:var(--green);font-size:11px;font-weight:850;white-space:nowrap}.portal .status-pill.gold{background:var(--gold-soft);color:#9c6711}.portal .status-pill.blue{background:var(--blue-soft);color:var(--blue)}.portal .status-pill.coral{background:var(--coral-soft);color:var(--coral)}.portal .status-pill.neutral{background:#f0f3f1;color:var(--muted)}.portal .danger-button,.portal .primary-button,.portal .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:var(--radius-control);padding:9px;font-weight:800;font-size:var(--font-control);cursor:pointer;transition:var(--portal-control-transition) ease}.portal .primary-button{color:#fff;border:1px solid var(--green);background:linear-gradient(135deg,var(--green),#3c8c70);box-shadow:0 10px 24px rgba(47,124,99,.18)}.portal .primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 13px 28px rgba(47,124,99,.25)}.portal .secondary-button{color:var(--ink-2);border:1px solid var(--line);background:var(--surface)}.portal .secondary-button:hover:not(:disabled){border-color:rgba(47,124,99,.4);color:var(--green)}.portal .danger-button{color:#fff;border:1px solid var(--coral);background:var(--coral)}.portal .danger-button:hover:not(:disabled){filter:brightness(.96)}.portal .text-button{border:0;background:transparent;color:var(--green);font-size:var(--font-control);font-weight:800;cursor:pointer;padding:8px;min-height:44px}.portal .danger-button:disabled,.portal .primary-button:disabled,.portal .secondary-button:disabled,.portal .text-button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}.portal .button-spinner{width:15px;height:15px;border-radius:50%;border:2px solid;border-block-start-color:transparent;animation:portal-spin .7s linear infinite}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal .trend{padding:3px 7px;border-radius:var(--portal-radius-pill);color:var(--green);background:var(--green-soft);font-size:11px;font-weight:900}.portal .trend.down{color:var(--coral);background:var(--coral-soft)}.portal .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal .kpi-card{position:relative;overflow:hidden;min-height:86px;padding:11px 13px;border:1px solid var(--line);border-radius:18px;background:hsla(0,0%,100%,.92);box-shadow:var(--shadow)}.portal .kpi-card:after{content:"";position:absolute;top:-28px;inset-inline-end:-22px;width:72px;height:72px;border-radius:50%;background:var(--green-soft);opacity:.85}.portal .kpi-card.accent-gold:after{background:var(--gold-soft)}.portal .kpi-card.accent-blue:after{background:var(--blue-soft)}.portal .kpi-card.accent-coral:after{background:var(--coral-soft)}.portal .kpi-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.portal .kpi-dot{width:19px;height:19px;flex:0 0 19px;border-radius:6px;background:var(--green);box-shadow:0 7px 15px rgba(47,124,99,.18)}.portal .kpi-card.accent-gold .kpi-dot{background:var(--gold)}.portal .kpi-card.accent-blue .kpi-dot{background:var(--blue)}.portal .kpi-card.accent-coral .kpi-dot{background:var(--coral)}.portal .kpi-card>strong{position:relative;z-index:1;display:block;margin:5px 0 3px;font-size:17px;letter-spacing:-.03em;white-space:nowrap}.portal .kpi-footer{position:relative;z-index:1;display:flex;align-items:center;gap:8px}.portal .kpi-footer small{color:var(--muted);font-size:var(--font-caption)}.portal .kpi-card.is-unavailable>strong{color:var(--muted);font-size:15px}.portal .skeleton{border-radius:8px;background:linear-gradient(90deg,#eef3f0 25%,#e3ebe7 37%,#eef3f0 63%);background-size:400% 100%;animation:portal-shimmer 1.4s ease infinite}@keyframes portal-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.portal .skeleton-line{height:12px}.portal .skeleton-value{height:26px;width:60%;margin:14px 0 11px}@media (prefers-reduced-motion:reduce){.portal .skeleton{animation:none}.portal .button-spinner{animation-duration:2s}}.portal .empty-state{display:grid;justify-items:center;gap:10px;padding:21px 12px;text-align:center}.portal .empty-state .empty-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--green-soft);color:var(--green)}.portal .empty-state strong{font-size:var(--font-lead);color:var(--ink)}.portal .empty-state p{margin:0;max-width:380px;color:var(--muted);font-size:var(--font-caption);line-height:var(--portal-caption-lh)}.portal .empty-state.is-error .empty-icon{background:var(--coral-soft);color:var(--coral)}.portal .placeholder-panel{padding:var(--portal-panel-pad)}.portal .page-note{margin:0;padding:12px 14px;border:1px dashed #ddc98f;border-radius:10px;background:#fffdf7;color:#8c6b22;font-size:var(--font-caption);line-height:var(--portal-caption-lh)}.portal .row-menu{position:relative;display:inline-flex}.portal .row-menu-trigger{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);font-size:var(--font-body);cursor:pointer;transition:var(--portal-control-transition) ease}.portal .row-menu-trigger:hover,.portal .row-menu-trigger[aria-expanded=true]{border-color:rgba(47,124,99,.4);color:var(--green)}.portal .row-menu-list{position:absolute;z-index:30;top:calc(100% + 5px);inset-inline-end:0;min-width:190px;display:grid;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-card)}.portal .row-menu-list button{border:0;border-radius:8px;padding:9px 10px;background:transparent;color:var(--ink-2);font-size:var(--font-control);font-weight:600;text-align:start;white-space:nowrap;cursor:pointer}.portal .row-menu-list button:hover{background:var(--soft);color:var(--green)}.portal .row-menu-list button.is-danger{color:var(--coral)}.portal .row-menu-list button.is-danger:hover{background:var(--coral-soft);color:var(--coral)}.fixed-light-surface{color-scheme:light;--bg:var(--stone-25);--surface:var(--stone-0);--surface-sunken:var(--stone-50);--surface-hover:var(--stone-50);--border:var(--stone-200);--border-strong:var(--stone-300);--fg:var(--stone-900);--fg-secondary:var(--stone-600);--fg-muted:var(--stone-500);--fg-on-brand:#fff;--primary:var(--green-700);--primary-hover:var(--green-600);--primary-pressed:var(--green-800);--primary-soft:var(--green-50);--primary-soft-fg:var(--green-700);--accent:var(--gold-400);--accent-soft:var(--gold-50);--heading:var(--navy-900);--sidebar-bg:var(--navy-900);--sidebar-fg:hsla(0,0%,100%,.68);--sidebar-fg-strong:#fff;--sidebar-border:hsla(0,0%,100%,.08);--sidebar-hover-bg:hsla(0,0%,100%,.05);--sidebar-active-bg:rgba(184,134,11,.16);--sidebar-active-fg:#fff;--sidebar-active-rule:var(--gold-400);--blue-bg:#dbeafe;--blue-fg:#1e3a5f;--orange-bg:#ffedd5;--orange-fg:#9a3412;--success-bg:#e6f3ee;--success-fg:#0c5e47;--warning-bg:#faf0da;--warning-fg:#835a12;--danger-bg:#f8e7e2;--danger-fg:#862e1b;--info-bg:#e2f0f2;--info-fg:#1a535c;--shadow-xs:0 1px 2px rgba(26,26,22,.04);--shadow-sm:0 1px 3px rgba(26,26,22,.06),0 1px 2px rgba(26,26,22,.04);--shadow-md:0 4px 12px rgba(26,26,22,.06),0 2px 4px rgba(26,26,22,.04);--shadow-lg:0 12px 32px rgba(26,26,22,.08),0 4px 8px rgba(26,26,22,.04);--shadow-xl:0 24px 60px rgba(11,68,57,.12),0 8px 16px rgba(26,26,22,.05);--ring:color-mix(in oklab,var(--green-700) 40%,transparent)}