@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url("./media/poppins-400-latin-ext-2E5DQAXQ.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url("./media/poppins-400-latin-SFWTNBQB.woff2") format("woff2");unicode-range:U+0000-00FF,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:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url("./media/poppins-500-latin-ext-5AE6DVPL.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url("./media/poppins-500-latin-O53RGPUQ.woff2") format("woff2");unicode-range:U+0000-00FF,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:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url("./media/poppins-600-latin-ext-HWA5RN4A.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url("./media/poppins-600-latin-3BUSBBSI.woff2") format("woff2");unicode-range:U+0000-00FF,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:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url("./media/roboto-latin-ext-QRJLAF7B.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url("./media/roboto-latin-3ZSHNGCF.woff2") format("woff2");unicode-range:U+0000-00FF,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}:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #212121;--color-primary: #263238;--color-primary-hover: #37474f;--color-primary-active: #1b252a;--color-accent: #536dfe;--color-accent-2: #3d5afe;--color-link: #03a9f4;--color-warn: #f44336;--color-warn-100: #ffebee;--color-warn-700: #d32f2f;--emission-stop-0: #1c7829;--emission-stop-075: #fffc00;--emission-stop-25: #c00200;--emission-stop-4: #760302;--emission-track: #f2f2f2;--emission-track-border: #b5b5b5;--color-divider: rgba(0, 0, 0, .12);--color-neutral-100: #f5f5f5;--color-neutral-200: #eeeeee;--color-neutral-300: #e0e0e0;--color-neutral-400: #bdbdbd;--color-neutral-500: #9e9e9e;--color-neutral-600: #757575;--color-neutral-700: #616161;--color-neutral-800: #424242;--color-neutral-900: #212121;--color-accent-100: #e8eaf6;--color-accent-200: #c5cae9;--color-accent-300: #9fa8da;--color-accent-400: #7986cb;--color-accent-500: #536dfe;--color-accent-600: #3d5afe;--color-accent-700: #304ffe;--color-accent-800: #283593;--color-accent-900: #1a237e;--color-accent-2-100: #e8eaf6;--color-accent-2-200: #c5cae9;--color-accent-2-300: #9fa8da;--color-accent-2-400: #7986cb;--color-accent-2-500: #536dfe;--color-accent-2-600: #3d5afe;--color-accent-2-700: #304ffe;--color-accent-2-800: #283593;--color-accent-2-900: #1a237e;--font-heading: "Poppins", system-ui, sans-serif;--font-heading-weight: 600;--font-body: "Roboto", "Helvetica Neue", system-ui, sans-serif;--space-1: 3.4px;--space-2: 6.8px;--space-3: 10.2px;--space-4: 13.6px;--space-6: 20.4px;--space-8: 27.2px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 7px;--shadow-sm: 0 2px 1px -1px rgba(0,0,0,.2), 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12);--shadow-md: 0 3px 5px -1px rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12);--shadow-lg: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}@media print{nav,aside,[role=toolbar],.toolbar,.rail,.no-print{display:none!important}main{max-width:none;width:100%;margin:0;padding:0}body{background:var(--color-surface)}}.blueprint{position:relative;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:var(--color-surface)}.blueprint.halftone,.blueprint.plate,.blueprint.duotone{overflow:visible}.blueprint>.corner{display:none;position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.blueprint>.corner:before,.blueprint>.corner:after{content:"";position:absolute;background:currentColor}.blueprint>.corner:before{left:5px;top:0;width:1px;height:100%}.blueprint>.corner:after{top:5px;left:0;width:100%;height:1px}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.duotone{position:relative;overflow:hidden}.duotone:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--color-accent);mix-blend-mode:color}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px}h6{letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-link);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:var(--color-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn{white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-primary);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-primary) 16%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked),.seg-opt[aria-pressed=true]{background:var(--color-accent);color:var(--color-bg)}button.seg-opt{border:0;background:transparent;font:inherit;color:inherit}button.seg-opt+button.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:12px}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none;background:var(--color-primary);color:#fff}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:#ffffffb8;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:#fff}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.card,.btn,.input,.seg,.dialog{border-radius:var(--radius-md)}.card,.dialog{background:var(--color-surface);border:1px solid var(--color-neutral-300)}.card,.btn-primary{box-shadow:var(--shadow-sm)}.btn-secondary{border-color:var(--color-neutral-400);background:var(--color-surface);color:var(--color-primary)}.input{background:var(--color-surface)}.tag-warn{background:var(--color-warn-100);color:var(--color-warn-700)}.tag-primary{background:var(--color-primary);color:#fff}.tag-outline-neutral{border:1px solid var(--color-neutral-500);color:var(--color-neutral-700);background:transparent}.tag-unresolved{border:1px dashed var(--color-neutral-500);color:var(--color-neutral-700);background:transparent}:root{--color-success: #4caf50;--color-success-100: #e8f5e9;--color-success-700: #388e3c}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox .box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;border:1.5px solid var(--color-divider);border-radius:var(--radius-sm)}.checkbox:hover .box{border-color:var(--color-accent)}.checkbox input:checked+.box{border-color:var(--color-accent);background:var(--color-accent)}.checkbox input:checked+.box:after{content:"";width:4px;height:8px;margin-top:-2px;border:solid var(--color-surface);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox input:focus-visible+.box{outline:2px solid var(--color-accent);outline-offset:2px}.checkbox input:disabled+.box{opacity:.45}.select{width:100%;min-height:36px;padding:6px 28px 6px 10px;font:inherit;font-size:14px;color:var(--color-text);background-color:var(--color-surface);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 13px top 50%,right 8px top 50%;background-size:5px 5px;background-repeat:no-repeat;border:1px solid var(--color-divider);border-radius:var(--radius-md);appearance:none;cursor:pointer}.select:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.select:focus-visible{border-color:var(--color-accent);outline-offset:0}.select:disabled{opacity:.45;cursor:not-allowed}.banner{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);font-size:14px;background:var(--color-surface);border:1px solid var(--color-neutral-300);border-left:3px solid var(--color-neutral-500);border-radius:var(--radius-md)}.banner-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.banner-detail{font-size:13px;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.banner-warn{background:var(--color-warn-100);border-color:var(--color-warn-100);border-left-color:var(--color-warn);color:var(--color-warn-700)}.banner-warn .banner-detail{color:color-mix(in srgb,var(--color-warn-700) 80%,transparent)}.banner-success{background:var(--color-success-100);border-color:var(--color-success-100);border-left-color:var(--color-success);color:var(--color-success-700)}.toast{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-size:14px;color:var(--color-bg);background:var(--color-neutral-900);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.toast-action{padding:0;font:inherit;color:var(--color-accent-300);background:transparent;border:0;cursor:pointer}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:color-mix(in srgb,var(--color-text) 60%,transparent);background:var(--color-surface);border:1px dashed var(--color-neutral-300);border-radius:var(--radius-md)}.empty-state-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;color:var(--color-text)}.skeleton{display:block;min-height:14px;border-radius:var(--radius-sm);background-image:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 37%,var(--color-neutral-200) 63%);background-size:400% 100%;animation:skeleton-sheen 1.4s ease-in-out infinite}@keyframes skeleton-sheen{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.pagination{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.pagination .page{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;font:inherit;font-size:13px;color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.pagination .page:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.pagination .page[aria-current=page]{color:var(--color-bg);background:var(--color-accent)}.pagination .page:disabled{opacity:.45;cursor:not-allowed}.date-window{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.date-window .day{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:6px 8px;font:inherit;font-size:13px;color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.date-window .day .weekday{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.date-window .day:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.date-window .day[aria-pressed=true]{color:var(--color-bg);background:var(--color-accent)}.date-window .day[aria-pressed=true] .weekday{color:color-mix(in srgb,var(--color-bg) 80%,transparent)}.date-window .day.today{box-shadow:inset 0 0 0 1px var(--color-primary)}.tag-success{background:var(--color-success-100);color:var(--color-success-700)}.rail{position:fixed;inset-block:0;inset-inline-start:0;z-index:50;display:flex;flex-direction:column;width:69px;overflow:hidden;background:var(--color-bg);border-inline-end:1px solid var(--color-divider);transition:width .15s ease}.rail:hover,.rail:focus-within{width:240px;box-shadow:var(--shadow-md)}.rail.rail-pinned{width:240px;box-shadow:var(--shadow-md)}.rail-beside{margin-inline-start:69px}.rail-label{display:none;white-space:nowrap}.rail:hover .rail-label,.rail:focus-within .rail-label,.rail.rail-pinned .rail-label{display:inline-flex;align-items:center;gap:var(--space-2)}.rail-home{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-3) var(--space-4) var(--space-3);color:var(--color-text);text-decoration:none}.rail-wordmark{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px;letter-spacing:.02em}.rail-wordmark-version{color:var(--color-accent)}.rail-toggle{display:none;align-items:center;padding:var(--space-2) var(--space-1);color:var(--color-text);background:transparent;border:0;font:inherit;cursor:pointer}.rail-restaurant{margin:var(--space-2) var(--space-3) var(--space-1) var(--space-3)}.rail-restaurant .rail-label{font-size:12px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.rail-restaurant-select{display:none;width:100%;min-height:36px;padding:var(--space-1) var(--space-2);font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.rail:hover .rail-restaurant-select,.rail:focus-within .rail-restaurant-select,.rail.rail-pinned .rail-restaurant-select{display:block}.rail-restaurant-select:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:0}.rail-sections{display:flex;flex:1 1 auto;flex-direction:column;padding:var(--space-1) var(--space-2)}.rail-entry{display:flex;align-items:center;margin:2px 0;padding:var(--space-2) var(--space-1);font-size:14px;font-weight:500;color:var(--color-text);text-decoration:none;border-radius:var(--radius-md);white-space:nowrap}.rail-entry:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.rail-entry-active,.rail-entry-active:hover{color:var(--color-surface);background:var(--color-primary)}.rail-entry:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.rail-icon{position:relative;display:inline-flex;flex:0 0 auto;justify-content:center;width:42px}.rail-mark{font-size:10px;font-weight:500;line-height:14px;color:var(--color-neutral-700);border:1px solid var(--color-neutral-500);border-radius:var(--radius-md);padding:0 var(--space-1)}.rail-mark-icon{position:absolute;top:-7px;inset-inline-end:1px;display:inline-flex;font-size:8px;line-height:1;padding:2px;color:var(--color-neutral-800);background:var(--color-surface)}.rail-mark-label{display:none}.rail:hover .rail-mark-label,.rail:focus-within .rail-mark-label,.rail.rail-pinned .rail-mark-label{display:inline-flex}.rail:hover .rail-mark-icon,.rail:focus-within .rail-mark-icon,.rail.rail-pinned .rail-mark-icon{display:none}.rail-entry-active .rail-mark{color:color-mix(in srgb,var(--color-surface) 85%,transparent);border-color:color-mix(in srgb,var(--color-surface) 50%,transparent)}.rail-foot{padding:var(--space-1) var(--space-2) var(--space-4) var(--space-2)}.rail-row{display:flex;align-items:center;margin:2px 0;padding:var(--space-2) var(--space-1);font-size:14px;color:var(--color-text);white-space:nowrap}.rail-person-body{flex-direction:column;align-items:flex-start;gap:0}.rail-identity{font-size:13px;opacity:.8}.rail-logout{padding:0;font:inherit;font-size:13px;color:var(--color-primary);background:transparent;border:0;cursor:pointer}.rail-logout:hover{text-decoration:underline}.rail-language-choice{overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.rail-language-option{padding:var(--space-1) var(--space-2);font:inherit;font-size:11px;text-transform:uppercase;color:var(--color-text);background:transparent;border:0;cursor:pointer}.rail-language-option+.rail-language-option{border-inline-start:1px solid var(--color-divider)}.rail-language-option[aria-pressed=true]{color:var(--color-bg);background:var(--color-accent)}@media(pointer:coarse){.rail:hover,.rail:focus-within{width:69px;box-shadow:none}.rail:hover .rail-label,.rail:hover .rail-restaurant-select,.rail:focus-within .rail-label,.rail:focus-within .rail-restaurant-select{display:none}.rail:hover .rail-mark-label,.rail:focus-within .rail-mark-label{display:none}.rail:hover .rail-mark-icon,.rail:focus-within .rail-mark-icon{display:inline-flex}.rail-toggle{display:flex}.rail.rail-pinned{width:240px}.rail.rail-pinned .rail-label,.rail.rail-pinned .rail-mark-label{display:inline-flex}.rail.rail-pinned .rail-restaurant-select{display:block}.rail.rail-pinned .rail-mark-icon{display:none}}@media print{.rail-beside{margin-inline-start:0}}.menu-week-grid{display:flex;align-items:stretch;gap:var(--space-3);margin-top:var(--space-4)}.menu-day-column{display:flex;flex:1 1 0;flex-direction:column;min-width:0;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.menu-day-header{display:flex;align-items:center;gap:var(--space-2);min-height:46px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius-md) var(--radius-md) 0 0}.menu-day-header h2{margin:0;font-size:14px;font-weight:500;overflow-wrap:normal;word-break:normal}.menu-day-title{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0}.menu-day-today{flex:none;border:1px solid color-mix(in srgb,var(--color-surface) 60%,transparent);color:var(--color-surface);font-size:10px}.menu-day-header-actions{display:flex;flex:none;align-items:center}.menu-day-button{width:28px;height:28px;color:var(--color-surface);font-size:17px}.menu-day-button:hover{background:color-mix(in srgb,var(--color-surface) 14%,transparent)}.menu-day-footprint{display:flex;align-items:center;min-height:22px;margin:0;padding:var(--space-1) var(--space-3);font-size:11px;color:var(--color-neutral-700);border-bottom:1px solid var(--color-divider)}.menu-day-nothing{margin:var(--space-3);padding:var(--space-4) var(--space-3);font-size:12.5px}.menu-day-cards{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:var(--space-3) var(--space-3) var(--space-6) var(--space-3);list-style:none}.menu-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:var(--space-2) var(--space-2) var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.menu-card:has(input[type=checkbox]:checked){background:var(--color-accent-100);border-color:var(--color-accent)}.menu-card-name{display:block;padding-right:var(--space-6);font-size:13.5px;font-weight:500;line-height:1.3;overflow-wrap:break-word}.menu-card-choice{position:absolute;left:var(--space-1);top:var(--space-2)}.menu-card-menu{position:absolute;right:var(--space-1);top:6px;width:24px;height:24px;color:var(--color-neutral-600)}.menu-card-footprint{display:flex;align-items:center;gap:var(--space-2);font-size:11px;color:var(--color-neutral-700);white-space:nowrap}.menu-card-bar{display:inline-block;flex:none;width:48px;height:9px;border:1px solid var(--emission-track-border);background:var(--emission-track)}.menu-card-bar-fill{display:block;height:100%}.menu-card-stale-line{display:flex;align-items:center;gap:5px;padding-top:5px;font-size:11px;color:var(--color-neutral-700);border-top:1px dashed var(--color-neutral-300)}.menu-card-sync{margin-left:auto;height:22px;font-size:11.5px}.menu-card-marks{display:flex;align-items:center;gap:var(--space-1);min-height:16px;padding-right:var(--space-8)}.menu-card-allergens{display:flex;align-items:center;gap:var(--space-1)}.menu-card-allergen{position:relative;display:inline-flex;align-items:center}.menu-card-allergen-icon{width:13px;height:13px;opacity:.8}.menu-card-allergen-struck .menu-card-allergen-icon{opacity:.45}.menu-card-allergen-struck:after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:1.5px;background:var(--color-warn-700);transform:rotate(-45deg)}.menu-card-type{position:absolute;right:5px;bottom:-8px;font-size:10.5px}.menu-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider)}.menu-card-actions .btn{justify-content:flex-start;font-size:12.5px;font-weight:400}.menu-card .menu-card-menu,.menu-card .menu-card-choice{opacity:0;transition:opacity .12s}.menu-card:hover .menu-card-menu,.menu-card:focus-within .menu-card-menu,.menu-card:hover .menu-card-choice,.menu-card:focus-within .menu-card-choice,.menu-card:has(input[type=checkbox]:checked) .menu-card-choice{opacity:1}@media(pointer:coarse){.menu-card .menu-card-menu,.menu-card .menu-card-choice{opacity:1}}@media(prefers-reduced-motion:reduce){.menu-card .menu-card-menu,.menu-card .menu-card-choice{transition:none}}.menu-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.menu-week-label{margin:0;white-space:nowrap}.menu-week-range{font-size:12px;color:var(--color-neutral-600)}.menu-toolbar-gap{flex:1 1 auto}.menu-week-custom .input{width:auto}.menu-news{position:relative;text-decoration:none;color:var(--color-text)}.menu-copy-bar{position:sticky;bottom:var(--space-4);z-index:40;display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.menu-copy-count{font-size:14px;font-weight:500;white-space:nowrap}.menu-typeahead{position:relative;z-index:30;margin:0 var(--space-3) var(--space-3) var(--space-3)}.menu-typeahead-input{min-height:32px;font-size:13px;border-color:var(--color-accent)}.menu-typeahead-list{position:absolute;left:0;top:calc(100% + var(--space-1));width:280px;max-width:90vw;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.menu-typeahead-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:6px var(--space-3);font:inherit;font-size:12.5px;text-align:left;color:var(--color-text);background:transparent;border:0;cursor:pointer}.menu-typeahead-option:hover{background:var(--color-neutral-100)}.menu-typeahead-highlighted{background:var(--color-accent-100)}.menu-typeahead-name b{font-weight:600;color:var(--color-accent-700)}.menu-typeahead-type{flex:none;font-size:11px;color:var(--color-neutral-600);white-space:nowrap}.menu-typeahead-library{justify-content:flex-start;font-weight:400;font-size:12.5px;border-top:1px solid var(--color-divider);border-radius:0}.menu-dish-search-body{display:flex;flex-direction:column;gap:var(--space-3)}.menu-dish-results{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.menu-dish-result{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-neutral-200)}.menu-dish-result:first-child{border-top:0}.menu-dish-name{flex:1 1 auto;font-size:13.5px}.menu-copy-dialog{width:min(660px,100%)}.menu-copy-body{display:flex;flex-direction:column;gap:var(--space-4)}.menu-copy-sources{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-neutral-700)}.menu-copy-picker{display:flex;flex-direction:column;gap:var(--space-2)}.menu-copy-week-row{display:flex;align-items:center;gap:var(--space-3)}.menu-copy-week-label{flex:none;width:76px;font-size:12px;color:var(--color-neutral-600)}.menu-copy-week-row .date-window{flex:1 1 auto}.menu-copy-week-row .day{flex:1 1 0}.menu-copy-week-row .day:disabled{opacity:.4;cursor:not-allowed}.menu-copy-other-date{display:flex;align-items:flex-end;gap:var(--space-2)}.menu-copy-date-field{flex:none}.menu-copy-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:24px;margin:0;padding:0;list-style:none}.menu-copy-chosen-tag{gap:var(--space-2);border:1px solid var(--color-accent-300)}.menu-copy-chosen-remove{padding:0;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.menu-copy-sum{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0;font-size:13px;font-weight:500}.menu-copy-rule{font-size:12px;font-weight:400;text-align:right;color:var(--color-neutral-600)}.menu-copy-reachable{margin:0;color:var(--color-neutral-600)}.menu-copy-mpus{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.menu-copy-mpu{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:13.5px;border-top:1px solid var(--color-neutral-200)}.menu-copy-mpu-here{opacity:.55}.menu-copy-mpu-name{flex:1 1 auto;overflow-wrap:anywhere}.menu-copy-mpu-note{flex:none;font-size:11.5px;color:var(--color-neutral-600)}.menu-error{flex-direction:row;align-items:flex-start;gap:var(--space-3);margin:var(--space-4) 0 0 0}.menu-error .banner-title,.menu-error .banner-detail{display:block}.menu-error-close{margin-left:auto;flex:none;color:var(--color-warn-700)}.menu-allergen-popover{position:absolute;left:calc(100% + var(--space-3));top:-6px;z-index:45;width:410px;max-width:90vw;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);text-align:left;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.menu-allergen-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.menu-allergen-title{font-size:13.5px;font-weight:500;white-space:nowrap}.menu-allergen-stale-line{display:flex;align-items:center;gap:var(--space-2);padding:5px var(--space-2);font-size:11.5px;color:var(--color-neutral-700);background:var(--color-neutral-100);border-radius:var(--radius-md)}.menu-allergen-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;border-top:1px solid var(--color-neutral-200)}.menu-allergen-icon{width:16px;height:16px;opacity:.85}.menu-allergen-words{display:flex;flex-direction:column;min-width:0}.menu-allergen-name{font-size:13px}.menu-allergen-baseline{font-size:10.5px;color:var(--color-neutral-600)}.menu-allergen-state{display:flex;align-items:center;gap:var(--space-2)}.menu-allergen-saved{font-size:10.5px;white-space:nowrap;color:var(--color-neutral-600)}.menu-allergen-row .seg-opt{padding:3px var(--space-2);font-size:11px;white-space:nowrap}.menu-allergen-row .seg-opt:disabled{cursor:not-allowed}@media print{.menu-typeahead,.dialog-backdrop,.menu-allergen-popover,.menu-card-menu,.menu-card-choice,.menu-card-actions,.menu-error{display:none!important}.menu-week-grid{width:100%;gap:var(--space-1);margin:0}.menu-day-column{box-shadow:none;border:1px solid var(--color-neutral-300);break-inside:avoid}.menu-day-header,.menu-card-type,.menu-card-bar,.menu-card-bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.library-page{max-width:900px;margin:0 auto}.library-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.library-head h1{margin:0;font-size:32px}.folder-panel{display:flex;flex-direction:column;gap:var(--space-3)}.folder-panel-controls{display:flex;align-items:center;gap:var(--space-3)}.folder-panel-gap{flex:1 1 auto}.folder-create-unavailable{margin:0;font-size:12px;color:var(--color-neutral-600)}.folder-name-button{padding-inline:0;font-weight:400;color:var(--color-link)}.folder-panel-partial{margin:0;font-size:12px;color:var(--color-neutral-600)}.folder-actions{white-space:nowrap;text-align:right}.library-selected-folder{margin:0 0 var(--space-3) 0;font-size:13px;color:var(--color-neutral-700)}.library-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.library-search{width:340px;max-width:100%}.library-skeletons{display:flex;flex-direction:column;gap:var(--space-2)}.library-skeleton{height:32px}.library-paging{justify-content:flex-end;padding:var(--space-3) var(--space-1)}.dish-folders{margin-top:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.dish-folders ul{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.dish-folders-empty{margin:0;font-size:12.5px;color:var(--color-neutral-600)}.folder-form{display:flex;flex-direction:column;gap:var(--space-3)}.field-fault{margin:0;font-size:12px;color:var(--color-warn-700)}.dish-page{max-width:1240px;margin:0 auto}.dish-page-skeletons{display:flex;flex-direction:column;gap:var(--space-2)}.dish-page-skeleton{height:34px}.dish-title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.dish-title{margin:0;font-size:24px}.dish-title-button{padding-inline:0;font:inherit;color:var(--color-text)}.dish-title-input{width:420px;max-width:100%}.dish-title-gap{flex:1 1 auto}.dish-cookbook-count,.dish-updated,.dish-readonly{font-size:12px;color:var(--color-neutral-600)}.dish-readonly{margin:0 0 var(--space-3) 0}.dish-version-chip{min-height:26px;padding:0 var(--space-2);font-size:12px}.card.dish-head{flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:var(--space-6);margin-bottom:var(--space-6)}.dish-head-type{width:200px}.dish-head-gap{flex:1 1 auto}.dish-head-row{flex:1 0 100%}.dish-head .btn{min-height:36px}.dish-head-actions{display:flex;align-items:center;gap:var(--space-3)}.dish-page .btn.dish-busy:disabled{opacity:1;cursor:progress}.card.dish-new-form{flex-direction:column;gap:var(--space-4);max-width:480px}.dish-new-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.dish-panels{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--space-6);align-items:start}.card.dish-panel{flex-direction:column;gap:var(--space-3)}.dish-panel h2{margin:0;font-size:17px}.dish-ingredient-ask{display:flex;align-items:center;gap:var(--space-2)}.dish-ingredient-ask .input{flex:1 1 auto}.dish-catalogue-tree{display:flex;flex-direction:column;gap:var(--space-2)}.dish-tree-head{display:flex;align-items:center;gap:var(--space-2)}.dish-tree-trail{flex:1 1 auto;font-size:12px;color:var(--color-neutral-600)}.dish-ingredient-list{position:relative;z-index:1;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface)}.dish-ingredient-count{display:block;padding:var(--space-2) var(--space-3);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-600)}.dish-ingredient-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font:inherit;text-align:left;background:transparent;border:0;border-top:1px solid var(--color-divider);cursor:pointer}.dish-ingredient-option:hover,.dish-ingredient-highlighted{background:var(--color-accent-100)}.dish-ingredient-option:disabled{opacity:.45;cursor:not-allowed}.dish-ingredient-option:disabled:hover{background:transparent}.dish-ingredient-row{display:flex;align-items:stretch}button.dish-ingredient-add{flex:0 0 auto;padding:var(--space-2) var(--space-3);font:inherit;color:inherit;background:transparent;border:0;border-top:1px solid var(--color-divider);cursor:pointer}button.dish-ingredient-add:hover{background:var(--color-accent-100)}button.dish-ingredient-add:disabled{opacity:.45;cursor:not-allowed}button.dish-ingredient-add:disabled:hover{background:transparent}.dish-ingredient-words{display:flex;flex-direction:column}.dish-ingredient-name{display:flex;align-items:baseline;gap:var(--space-1)}.dish-ingredient-name-en,.dish-ingredient-parent{font-size:11px;color:var(--color-neutral-600)}.dish-total{margin:0;font-size:20px}.dish-total-counts{display:flex;flex-direction:column;font-size:12px;color:var(--color-neutral-700)}.dish-measures{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.dish-portions{width:140px}.dish-weight{margin:0;font-size:14px}.dish-allergen-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.dish-allergen-chip{gap:5px;font-size:12px;cursor:pointer;border:1px solid var(--color-neutral-400);background:transparent;color:var(--color-neutral-700)}.dish-allergen-chosen{border-color:var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-800)}.dish-bar{display:inline-block;height:10px;width:55px;flex:none;border:1px solid var(--emission-track-border);background:var(--emission-track)}.dish-total-bar{display:block;height:18px;width:300px;max-width:100%;margin:var(--space-2) 0}.dish-bar-fill{display:block;height:100%}.dish-footprint{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.dish-line-display-name{width:120px}.dish-line-amount{width:64px;text-align:right}.dish-line-unit{width:84px}.dish-line-actions{text-align:right}.dish-line-remove{opacity:0;transition:opacity .12s ease-in-out}.dish-lines tbody tr:hover .dish-line-remove,.dish-lines tbody tr:focus-within .dish-line-remove,.dish-line-remove:focus-visible{opacity:1}@media(pointer:coarse){.dish-line-remove{opacity:1}}@media(prefers-reduced-motion:reduce){.dish-line-remove{transition:none}}.dish-line-source-cell{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.dish-line-source-words{display:flex;flex-direction:column;gap:3px}.dish-line-source-name{font-size:11px;color:var(--color-neutral-600);white-space:normal}.dish-line-source-fault{font-size:11px;color:var(--color-warn-700);white-space:normal}.dish-line-source-pick{opacity:0;transition:opacity .12s ease-in-out}.dish-lines tbody tr:hover .dish-line-source-pick,.dish-lines tbody tr:focus-within .dish-line-source-pick,.dish-line-source-pick:focus-visible{opacity:1}@media(pointer:coarse){.dish-line-source-pick{opacity:1}}@media(prefers-reduced-motion:reduce){.dish-line-source-pick{transition:none}}.dish-source-dialog{width:520px;max-width:100%}.dish-source-body{display:flex;flex-direction:column;gap:var(--space-3)}.dish-source-list{display:flex;flex-direction:column;gap:5px;max-height:260px;overflow-y:auto}.dish-source-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 10px;font:inherit;font-size:13px;text-align:left;background:var(--color-surface);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);cursor:pointer}.dish-source-option:hover,.dish-source-highlighted{background:var(--color-accent-100)}.dish-source-chosen{background:var(--color-accent-100);border-color:var(--color-accent)}.dish-source-origin{font-size:12px;color:var(--color-neutral-600)}.dish-source-figure{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--color-neutral-700)}.dish-source-preview{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.dish-dialog-form{display:flex;flex-direction:column;gap:var(--space-3)}.dish-toast{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:70}.dish-versions{display:flex;flex-direction:column;width:400px;max-width:100%}.dish-version-row{display:grid;grid-template-columns:32px 88px 1fr auto;column-gap:var(--space-2);align-items:baseline;padding:var(--space-2) 0;border-top:1px solid var(--color-neutral-200);font-size:12.5px;white-space:nowrap}.dish-version-note{grid-column:2 / -1;font-style:italic;color:var(--color-neutral-700);white-space:normal}.dish-versions-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.dish-versions-hint{font-size:11px;color:var(--color-neutral-600);white-space:nowrap}[hidden]{display:none!important}.planner-dialog-layer{z-index:60}main{display:block;padding:var(--space-6) var(--space-8)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
