:root{font-family:system-ui,sans-serif;color:#263530;background:#f5f5f1;font-size:16px}*{box-sizing:border-box}body{margin:0}header,nav,main{max-width:1160px;margin:auto;padding:24px}header{padding-bottom:8px}header span{font-size:.875rem;letter-spacing:.18em}h1{font-family:Georgia,serif;font-size:3.5rem;margin:10px 0}nav{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;background:#f5f5f1;z-index:1;padding-top:12px;padding-bottom:12px}button{font:inherit;cursor:pointer;border:1px solid #bac1b9;border-radius:8px;background:white;padding:10px 14px;min-height:44px;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #bc652c;outline-offset:3px}nav button[aria-pressed=true],.primary{background:#263530;color:white;border-color:#263530}button:disabled{cursor:not-allowed;opacity:.55}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:white;padding:24px;border-radius:12px;border:1px solid #dedfd8;display:flex;flex-direction:column;min-height:225px}.card h3{font-size:1.15rem;margin:0 0 12px}.card p{line-height:1.5;color:#59635e;margin:0 0 20px}.card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price{font-weight:650}h2{font-family:Georgia,serif;font-size:1.8rem;margin-top:8px}dialog{border:0;border-radius:16px;padding:24px;width:min(520px,calc(100% - 24px));max-height:90vh}dialog::backdrop{background:#14231bc0}.dialog-top{display:flex;justify-content:space-between;gap:16px}.dialog-top button{align-self:flex-start}fieldset{border:1px solid #d4d9d3;border-radius:8px;margin:16px 0;padding:14px}legend{font-weight:600}label{display:flex;gap:10px;align-items:center;padding:10px 0;cursor:pointer}input{width:20px;height:20px;accent-color:#263530}#confirm{width:100%}#error{color:#9f3025}#notice:empty{display:none}#notice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#263530;color:white;border-radius:10px;padding:16px 24px;z-index:3;max-width:calc(100% - 24px);width:max-content;box-shadow:0 8px 30px #0003}@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.grid{grid-template-columns:1fr}header,nav,main{padding-left:16px;padding-right:16px}nav{position:static}h1{font-size:2.8rem}}
:root{scroll-padding-bottom:100px}body{padding-bottom:100px}.cart-toggle{position:fixed;bottom:16px;right:max(16px,calc((100vw - 1112px)/2));z-index:2;box-shadow:0 6px 24px #0003}.table-label{font-weight:600}.storage-warning,.cart-message{line-height:1.5}.storage-warning:empty,.cart-message:empty{display:none}.cart-row{border-top:1px solid #d4d9d3;padding:16px 0}.cart-row h3{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.cart-row p{line-height:1.5}.quantity-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cart-total{font-size:1.25rem;font-weight:700}.payment-placeholder{line-height:1.5;padding:16px;background:#edf0ec;border-radius:8px}#notice{bottom:80px}dialog{overscroll-behavior:contain}@media(max-width:520px){.cart-toggle{left:16px;right:16px;width:calc(100% - 32px)}dialog{padding:20px}}
.order-receipt:empty,.order-feedback:empty,#staff-error:empty{display:none}.order-receipt{padding:16px;background:#e1ede3;border:1px solid #728578;border-radius:8px;line-height:1.5}.order-feedback,#staff-error,.connection-error{color:#9f3025;line-height:1.5}fieldset[hidden]{display:none}
.barista-page{padding-bottom:24px}
.barista-page header,.barista-page main{max-width:760px;padding:16px}
.barista-page header{padding-bottom:0}
.barista-page h1{font-size:2rem;margin:6px 0}
.barista-page header>span{font-size:.8rem}
#connection{font-size:.9rem;line-height:1.5;margin:8px 0 0}
#orders{display:flex;flex-direction:column;gap:10px}
.queue-card{background:#fff;border:1px solid #d8ddd7;border-left:4px solid #929a94;border-radius:8px;min-width:0;overflow-wrap:anywhere}
.queue-card[data-status=in_progress]{border-left-color:#c99a22}
.queue-card summary{display:block;list-style:none;cursor:pointer;padding:14px 14px 12px;min-height:100px}
.queue-card summary::-webkit-details-marker{display:none}
.queue-card summary:focus-visible{outline:3px solid #bc652c;outline-offset:2px;border-radius:6px}
.queue-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.queue-heading>strong:first-child{font-size:1.2rem}
.queue-heading time{font-size:.9rem;color:#56635a}
.queue-age{margin-left:auto;font-size:.95rem;font-weight:600}
.queue-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;margin:7px 0}
.queue-count{font-size:1.15rem;font-weight:750;color:#263530}
.queue-status{margin-left:auto;color:#59635e;font-size:.875rem}
.queue-preview{display:block;font-size:.9rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#59635e}
.immediate-badge{display:inline-block;background:#ffedc5;color:#724300;font-size:.875rem;font-weight:700;padding:3px 7px;border-radius:4px;line-height:1.4}
.immediate-badge[hidden]{display:none}
.queue-body{padding:0 14px 16px}
.queue-area{border-top:1px solid #e0e4df;padding-top:14px;margin-top:4px}
.queue-area h3{font-size:.875rem;color:#59635e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.queue-item{margin:0 0 18px;line-height:1.5}
.queue-item strong{font-size:1rem}
.queue-item p{margin:3px 0 6px;color:#59635e;line-height:1.5}
.serving-note{display:inline-block;font-size:.875rem;color:#59635e}
.queue-total{font-size:.95rem;font-weight:600}
.queue-body>button{width:100%;min-height:48px}
.queue-error:empty{display:none}
.queue-error{color:#9f3025;line-height:1.5}
.empty-orders{line-height:1.5;padding:20px 0}
@media(prefers-reduced-motion:no-preference){.queue-card{animation:queue-appear .2s ease-out}@keyframes queue-appear{from{opacity:.4}to{opacity:1}}}
.wait-notice:empty{display:none}.wait-notice{padding:14px 16px;background:#f8efd9;border:1px solid #d7c7a4;border-radius:8px;line-height:1.5;color:#544322}.card.unavailable{background:#eceee9}.unavailable>h3,.unavailable>p{color:#68716a}label.unavailable{color:#69736c}.availability-warning{color:#8a3727!important;font-size:.9rem}#cafe-controls{max-width:760px;margin:auto;padding:12px 16px 0;display:flex;flex-direction:column;gap:8px}#cafe-controls>details{border:1px solid #d8ddd7;border-radius:8px;background:#fff;padding:0 12px}#cafe-controls summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}#cafe-controls input[type=search]{width:100%;height:46px;padding:10px;border:1px solid #b8c0b9;border-radius:6px;font:inherit;accent-color:auto;margin:6px 0 12px}.wait-options{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px}.wait-options button[aria-pressed=true]{background:#263530;color:#fff}.stop-product{border-top:1px solid #e0e4df;padding:8px 0}.stop-product[hidden]{display:none}.stop-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:.9rem;line-height:1.45}.stop-row>span{min-width:0;overflow-wrap:anywhere}.stop-row button{flex:0 0 120px;font-size:.875rem;min-height:44px;padding:8px}.stop-row button[aria-checked=false]{background:#f3e5df;color:#713725}.stop-options{padding-left:10px}.stop-options summary{font-size:.875rem;color:#59635e}.stop-options .stop-row{border-top:1px solid #edf0eb}
.price-editor>label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:.9rem}.price-editor select{width:100%;min-width:0;min-height:44px;padding:8px;font:inherit;border:1px solid #bac1b9;border-radius:6px;background:#fff}.price-hint{font-size:.875rem;color:#59635e;line-height:1.5}.price-field{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:4px 12px;align-items:center;border-top:1px solid #e0e4df;padding:12px 0}.price-field small{grid-column:1;font-size:.875rem;color:#59635e}.price-field input[type=number]{grid-column:2;grid-row:1/3;width:100%;height:44px;padding:8px;border:1px solid #bac1b9;border-radius:6px;font:inherit}.price-editor form>button{width:100%;margin:8px 0 12px}.price-confirmation{background:#f8efd9;padding:12px;border-radius:8px;line-height:1.5;margin:8px 0}.price-confirmation[hidden]{display:none}.price-confirmation ul{padding-left:20px}.price-confirmation button{margin:4px 8px 4px 0}.price-feedback{line-height:1.5}.price-feedback:empty{display:none}.price-editor form[hidden]{display:none}
.menu-quantity{gap:10px;flex-wrap:nowrap}.menu-quantity button{min-width:44px}.menu-quantity strong{min-width:20px;text-align:center}.menu-configuration{border-top:1px solid #e0e4df;margin-top:16px;padding-top:12px}.menu-configuration p{margin-bottom:10px;font-size:.9rem}#confirm[hidden]{display:none}.card footer{flex-wrap:wrap}
.menu-editor form,.staff-login form{display:flex;flex-direction:column;gap:12px}.menu-editor label,.staff-login label{display:flex;flex-direction:column;align-items:stretch;gap:6px}.menu-editor input:not([type=checkbox]),.menu-editor select,.staff-login input{width:100%;min-width:0;height:46px;padding:10px;border:1px solid #bac1b9;border-radius:6px;font:inherit}.menu-editor .editor-check{flex-direction:row;align-items:center}.editor-check input{flex-shrink:0}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:12px}.menu-admin-row{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d8ddd7;padding:12px 0;align-items:center}.menu-admin-row>button:first-child{flex:1 0 100%;text-align:left;font-weight:600;overflow-wrap:anywhere}.menu-admin-row>span{width:100%;font-size:.875rem;color:#59635e}.size-edit{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:10px 0;border-top:1px solid #d8ddd7}.size-edit button{grid-column:1/-1}.field-error{color:#9f3025;font-size:.875rem}.field-error:empty{display:none}.menu-editor form{padding:16px 0;scroll-margin-top:12px}.menu-editor h2{font-size:1.4rem}.menu-editor [hidden]{display:none!important}.editor-feedback{line-height:1.5}.checkout-note{font-size:.875rem;line-height:1.5;color:#59635e}.staff-login{max-width:480px}.staff-login h1{font-size:2rem}.staff-login p{line-height:1.5;overflow-wrap:anywhere}
