:root{--paper:#f7f5f0;--white:#fffefa;--ink:#30201b;--muted:#766d66;--red:#a41e2d;--red-dark:#811725;--line:#e7e1d7;--green:#30674b;--radius:16px;--font:"Be Vietnam Pro","Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cc9452;outline-offset:4px}input,select{min-height:46px;border:1px solid #cdc4b8;border-radius:8px;background:var(--white);color:var(--ink);padding:10px 12px;min-width:0}input:focus,select:focus{border-color:var(--red)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.25}h1{letter-spacing:-1.5px}h2{font-size:22px;letter-spacing:-.6px}button{border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px 20px;background:var(--ink);color:white;border-radius:8px}.skip-link:focus{top:12px}.topbar{min-height:86px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(28px,calc((100vw - 1440px)/2))}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850;letter-spacing:1.4px;font-size:19px;line-height:1.2}.brand-sub{display:block;font-size:9px;letter-spacing:1.7px;margin-top:5px;font-weight:650;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:22px}.text-link{text-decoration:none;font-size:12px;font-weight:650}.text-link span{margin-left:7px;color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:700;line-height:1.5;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--red);color:white}.button-primary:hover:not(:disabled){background:var(--red-dark)}.button-outline{background:var(--white);border:1px solid #d9d0c4;color:var(--ink)}.button-outline:hover:not(:disabled){background:#f1ece4}.button-quiet{background:transparent;color:var(--muted);border:1px solid var(--line)}.page{max-width:1496px;padding:42px 28px 0;margin:auto}.eyebrow{display:block;font-size:10px;letter-spacing:2.2px;font-weight:750;color:var(--red);margin-bottom:10px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1100px;gap:100px;align-items:center;margin:8vh auto 10vh}.login-intro h1{font-size:clamp(40px,4.7vw,66px);line-height:1.15;margin:22px 0}.login-intro>p{font-size:16px;color:var(--muted);max-width:390px;line-height:1.85}.workflow{display:flex;gap:26px;list-style:none;padding:0;margin:42px 0 0;border-top:1px solid var(--line);padding-top:22px}.workflow li{font-size:12px;font-weight:650}.workflow span{display:block;font-family:Georgia,serif;color:var(--red);font-size:25px;font-style:italic;margin-bottom:8px}.login-card{padding:38px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #30201b06}.login-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f6e9e6;color:var(--red);font-size:24px;margin-bottom:24px}.login-card h2{font-size:25px;margin-bottom:10px}.login-card>p{color:var(--muted);font-size:13px}.login-card label{display:block;font-size:12px;font-weight:700;margin:28px 0 9px}.login-card input{width:100%;min-height:50px}.login-card .field-hint{font-size:11px;line-height:1.8;margin:10px 0 25px}.login-card .button{width:100%;min-height:49px;justify-content:space-between;font-size:13px}.login-card .privacy-note{font-size:10px;text-align:center;margin:16px 0 0}.form-error{color:#8d1c21!important;background:#fff1ef;border-radius:8px;padding:10px 12px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.dashboard-heading h1{font-size:36px;margin:0 0 10px}.dashboard-heading p{color:var(--muted);margin:0;font-size:13px}.sync-group{display:flex;align-items:center;gap:16px}.sync-status{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:7px}.sync-status::before{content:"";width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.sync-status.stale::before{background:#b17722}.notice{padding:14px 18px;border:1px solid;border-radius:10px;font-size:12px;margin-bottom:22px}.notice-warning{background:#fff4df;border-color:#ead4a5;color:#7d531a}.notice-error{background:#fff0ee;border-color:#edc2bc;color:#8d1c21}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;margin-bottom:32px}.metric{background:var(--white);padding:23px 24px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:143px}.metric-label{font-size:11px;font-weight:650;color:var(--muted)}.metric strong{font-size:28px;line-height:1.25;letter-spacing:-1px;margin:12px 0 9px;overflow-wrap:anywhere}.metric-note{font-size:9px;color:var(--muted)}.metric-dark{background:var(--ink);border-color:var(--ink);color:var(--white)}.metric-dark .metric-label{color:#dbcabf}.metric-dark .metric-note{color:#d2bcae}.metric-dark strong{color:#fff7e6}.requests-section{padding:24px;background:#f0ebe1;border:1px solid #e6ddcc;border-radius:var(--radius);margin-bottom:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title{display:flex;align-items:center;gap:10px}.section-title h2{font-size:16px;margin:0;letter-spacing:-.3px}.section-symbol{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ccb895;color:#775a35;border-radius:50%;font-size:16px}.count-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;background:#ebe4da;color:var(--ink);font-size:10px;font-weight:800;border-radius:6px;vertical-align:middle}.section-title .count-badge{background:var(--ink);color:white}.section-heading>p{margin:0;font-size:10px;color:#776a58}.requests-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.request-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--white);border:1px solid #e0d5c3;border-radius:10px}.request-card h3{font-size:13px;margin:0 0 5px}.request-card p{font-size:10px;color:var(--muted);margin:0}.request-card .button{font-size:10px;padding:8px 10px;min-height:40px;flex-shrink:0}.request-type{font-weight:600;color:var(--red)}.empty-inline{font-size:12px;color:#736550;margin:0;grid-column:1/-1}.orders-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px}.orders-toolbar h2{margin:0;font-size:26px}.orders-toolbar .count-badge{margin-left:6px;transform:translateY(-3px)}.filters{display:flex;align-items:end;gap:12px}.filter-field{display:grid;gap:6px}.filter-field label{font-size:10px;font-weight:700;color:var(--muted)}.filter-field select{min-width:170px;font-size:11px}.table-filter{width:135px}.filter-field input{font-size:11px;width:100%}.board-hint{font-size:10px;color:var(--muted);margin:18px 0 22px}.orders-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.board-column{min-width:0;background:#eeeae3;border-radius:12px;padding:12px}.column-heading{display:flex;align-items:center;gap:8px;padding:3px 3px 14px}.column-dot{width:7px;height:7px;background:#b69a76;border-radius:50%}.column-heading h3{margin:0;font-size:12px;font-weight:700}.column-heading .count-badge{margin-left:auto;background:var(--white)}.column-preparing .column-dot{background:var(--red)}.column-ready .column-dot{background:var(--green)}.order-list{display:grid;gap:12px}.order-card{background:var(--white);border:1px solid #e3dcd1;border-radius:11px;padding:19px;min-width:0}.order-top{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:16px}.order-table{font-size:22px;margin:0 0 4px;font-weight:800;letter-spacing:-.8px}.order-id{font-size:9px;color:var(--muted);overflow-wrap:anywhere;margin:0}.order-age{text-align:right;font-size:10px;color:var(--muted);white-space:nowrap}.order-age time{display:block;font-weight:650;color:var(--ink);margin-bottom:4px}.order-age .waiting{display:block;color:#9b5d20;font-weight:700}.order-items{list-style:none;margin:0;padding:0;display:grid;gap:12px}.order-item{display:grid;grid-template-columns:23px minmax(0,1fr);gap:9px}.item-quantity{display:grid;place-items:center;align-self:start;width:23px;height:25px;border-radius:5px;background:#f1ece4;font-size:11px;font-weight:750}.item-name{font-size:12px;font-weight:700;margin:1px 0 3px;overflow-wrap:anywhere}.item-options{font-size:9px;color:var(--muted);line-height:1.65;margin:0}.item-note{font-size:10px;color:#805926;margin:5px 0 0;overflow-wrap:anywhere}.order-customer{font-size:10px;color:var(--muted);margin:14px 0 0;overflow-wrap:anywhere}.order-note{font-size:10px;background:#faf1df;border-radius:6px;color:#785324;padding:9px 11px;margin:13px 0 0;overflow-wrap:anywhere}.order-total{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px dashed #ded5c9;margin-top:17px;padding-top:12px;font-size:11px}.order-total strong{font-size:16px;letter-spacing:-.4px}.order-discount{font-size:9px;color:var(--green);margin:4px 0 0}.order-payment{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.payment-tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;color:#8d602a;font-weight:650}.payment-tag::before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.payment-tag.paid{color:var(--green)}.payment-button{min-height:38px;background:transparent;padding:8px 0;color:var(--red);font-weight:750;font-size:10px;text-decoration:underline;text-underline-offset:3px}.order-actions{display:flex;gap:9px;margin-top:12px}.order-actions .button{flex:1;min-height:42px;font-size:11px;padding:10px}.order-actions .cancel-button{flex:0;padding:10px 12px;color:var(--muted);background:#f2eee8}.order-status{display:inline-flex;font-size:9px;padding:4px 8px;background:#f0eae0;border-radius:5px;font-weight:650;margin-top:12px}.order-status.status-served{color:var(--green);background:#eaf1e9}.order-status.status-cancelled{color:#875752;background:#f4e9e6}.column-empty{font-size:11px;color:var(--muted);text-align:center;padding:32px 12px;margin:0;border:1px dashed #d8cec0;border-radius:9px}.empty-state{grid-column:1/-1;text-align:center;color:var(--muted);padding:54px 24px;border:1px dashed #d5cbbe;border-radius:12px;background:#f3efe8}.empty-state strong{display:block;color:var(--ink);font-size:17px;margin-bottom:8px}.empty-state p{font-size:12px;margin:0}.orders-board.filtered-board{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-footer{display:flex;justify-content:space-between;gap:20px;margin:44px 0 24px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.2px;color:var(--muted)}.dashboard-footer>span:first-child{font-weight:800;letter-spacing:1.5px}.confirm-dialog{max-width:420px;width:calc(100% - 40px);border:1px solid var(--line);padding:30px;background:var(--white);color:var(--ink);border-radius:20px;box-shadow:0 30px 100px #20140f30}.confirm-dialog::backdrop{background:#23150fa6;backdrop-filter:blur(3px)}.dialog-symbol{display:grid;place-items:center;width:42px;height:42px;background:#f3e7e1;color:var(--red);font-size:21px;border-radius:50%;margin-bottom:20px}.confirm-dialog h2{font-size:23px;margin-bottom:12px}.confirm-dialog p{font-size:13px;line-height:1.9;color:var(--muted);white-space:pre-line}.dialog-actions{display:flex;gap:10px;margin-top:25px}.dialog-actions .button{flex:1}.toast{position:fixed;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--ink);color:var(--white);padding:13px 22px;border:1px solid #6e5343;border-radius:10px;font-size:12px;box-shadow:0 8px 30px #30201b22;text-align:center}
@media(min-width:1500px){.page{padding-top:48px}}@media(max-width:1100px){.requests-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:20px}.metric strong{font-size:24px}.orders-board{gap:12px}.order-card{padding:15px}.login-layout{gap:50px}.metric-note{font-size:9px}.section-heading>p{max-width:225px;text-align:right}}@media(max-width:850px){.page{padding:30px 20px 0}.topbar{padding:16px 20px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{min-height:135px}.orders-toolbar{align-items:start;flex-direction:column;gap:20px}.filters{width:100%}.filter-field{flex:1}.filter-field select{min-width:0;width:100%}.table-filter{flex:0 1 150px}.orders-board,.orders-board.filtered-board{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-board:not(.filtered-board)>.board-column:last-child{grid-column:1/-1}.column-ready .order-list{grid-template-columns:repeat(2,minmax(0,1fr))}.column-empty{grid-column:1/-1}.dashboard-heading h1{font-size:30px}.sync-group{align-items:end;flex-direction:column-reverse;gap:9px}.sync-status{font-size:9px}.login-layout{grid-template-columns:1fr;max-width:500px;margin:32px auto 60px;gap:30px}.login-intro h1{font-size:45px}.login-intro>p{font-size:14px}.workflow{display:none}.login-card{padding:30px}.section-heading{align-items:start}.section-heading>p{font-size:9px;max-width:180px}.dashboard-footer{font-size:8px}}
@media(max-width:540px){.topbar{min-height:74px;padding:14px 16px;gap:12px}.brand{font-size:15px;gap:8px;letter-spacing:.8px}.brand-sub{font-size:7px;letter-spacing:1px}.header-actions{gap:8px}.text-link{font-size:10px}.text-link span{margin-left:1px}.header-actions .button{font-size:10px;padding:8px 10px;min-height:40px}.page{padding:28px 16px 0}.dashboard-heading{align-items:start;gap:14px;margin-bottom:25px}.dashboard-heading h1{font-size:28px;letter-spacing:-1px}.dashboard-heading p{font-size:11px;max-width:190px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:9px}.sync-group .button{font-size:10px;padding:9px 12px;min-height:40px}.sync-status{font-size:8px;max-width:110px;line-height:1.5}.metrics{gap:9px;margin-bottom:24px}.metric{padding:16px 13px;min-height:131px;border-radius:12px}.metric-label{font-size:9px}.metric strong{font-size:24px;margin-top:13px}.metric-dark strong{font-size:22px}.metric-note{font-size:8px;line-height:1.7}.requests-section{padding:17px 14px;margin-bottom:28px}.section-heading{display:block;margin-bottom:14px}.section-title{gap:8px}.section-title h2{font-size:14px}.section-heading>p{font-size:9px;text-align:left;max-width:none;margin:9px 0 0}.requests-list{grid-template-columns:1fr}.request-card{padding:12px}.request-card .button{font-size:10px}.orders-toolbar h2{font-size:23px}.board-hint{font-size:9px;margin-top:15px}.orders-board,.orders-board.filtered-board{grid-template-columns:1fr;gap:17px}.orders-board:not(.filtered-board)>.board-column:last-child{grid-column:auto}.column-ready .order-list{grid-template-columns:1fr}.board-column{padding:11px}.order-card{padding:18px}.item-name{font-size:13px}.item-options{font-size:10px}.order-item{gap:10px}.order-actions .button{min-height:45px;font-size:12px}.order-payment{margin-top:10px}.payment-button{min-height:42px}.dashboard-footer{flex-direction:column;gap:8px;margin-top:32px;padding-bottom:16px}.login-layout{margin-top:18px;gap:20px}.login-intro h1{font-size:40px;margin:15px 0}.login-intro>p{font-size:13px}.login-card{padding:26px 22px;border-radius:15px}.login-card h2{font-size:23px}.login-symbol{margin-bottom:20px}.confirm-dialog{padding:26px}.confirm-dialog h2{font-size:21px}.dialog-actions .button{font-size:11px;padding:12px}.filter-field select,.filter-field input{font-size:12px}.filter-field label{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.brand-logo{width:65px;height:auto;display:block;padding:5px 7px;background:var(--red);border-radius:5px;flex-shrink:0}@media(max-width:540px){.brand-logo{width:52px}}

/* Keep experiment filters usable alongside table and status controls. */
.filters{flex-wrap:wrap}.filter-field{min-width:0}
@media(max-width:540px){.filters{gap:12px}.filter-field{flex:1 1 120px}.table-filter{flex:1 1 100%}}
