:root{--bg:#f6f5f2;--paper:#fff;--ink:#292b2c;--muted:#8a8d91;--line:#ececea;--accent:#e95b24;--accent-dark:#d34915;--soft:#fff0e8;--green:#3e9b67;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #ed956f;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #f5b294;outline-offset:1px}button{touch-action:manipulation}[hidden]{display:none!important}.muted{color:var(--muted)}h1,h2,p{margin:0}h1{font-size:32px;letter-spacing:-1px}h2{font-size:19px;letter-spacing:-.5px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:2px;color:var(--accent);margin-bottom:9px}.button{border:1px solid transparent;border-radius:10px;padding:12px 18px;font-weight:650;font-size:14px;line-height:20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .18s,transform .18s}.button:active:not(:disabled){transform:translateY(1px)}.primary{color:#fff;background:var(--accent)}.primary:hover:not(:disabled){background:var(--accent-dark)}.secondary{background:#fff;border-color:#e3e4e3;color:#56595d}.secondary:hover:not(:disabled){background:#faf9f7}.text-button{border:0;background:transparent;padding:8px 0;color:#717579;font-size:13px;line-height:20px}.text-button:hover{color:var(--accent)}.icon-button{border:0;background:#f6f6f4;border-radius:50%;width:36px;height:36px;font-size:25px;color:#85878a}.topbar{height:78px;background:#fff;border-bottom:1px solid #e9e9e6}.topbar-inner{max-width:1480px;margin:auto;padding:0 40px;height:100%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand img{width:40px;height:40px}.brand strong{font-size:23px;letter-spacing:-1px}.brand>span{font-size:12px;color:#989b9e;border-left:1px solid #e7e7e5;padding-left:16px;margin-left:4px}.top-actions{display:flex;align-items:center;gap:25px}.top-actions>.text-button{font-size:13px}.top-actions>.text-button>span:first-child{font-size:21px;vertical-align:-1px;margin-right:3px}.user-button{border:0;border-left:1px solid #ececea;display:flex;gap:9px;align-items:center;background:none;padding:0 0 0 25px;font-size:13px}.avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#ffe8d8;color:#9c562f;font-size:14px;font-weight:650}.avatar.small{width:31px;height:31px;font-size:12px}.workspace{max-width:1480px;padding:32px 40px 20px;margin:auto}.day-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.day-title{display:flex;align-items:baseline;gap:18px}.day-title .muted{font-size:13px}.status-area{display:flex;gap:12px;align-items:center;font-size:12px}.status-pill{color:var(--green);background:#eaf5ed;border-radius:30px;padding:7px 12px;font-weight:600}.status-pill.closed{color:#8b7861;background:#ede7de}.status-pill::before{content:"";display:inline-block;background:currentColor;width:6px;height:6px;border-radius:50%;vertical-align:2px;margin-right:6px}.sync-status{font-size:11px;color:#90969c}.sync-status.offline{color:#c47137}.panel{background:#fff;border:1px solid #ececea;border-radius:var(--radius);box-shadow:0 2px 10px #292b2c03}.attendance{padding:24px 26px;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.title-line{display:flex;align-items:center;gap:10px}.count-pill{background:var(--soft);color:var(--accent);font-size:11px;font-weight:650;border-radius:20px;white-space:nowrap;padding:4px 9px}.hint{font-size:12px;line-height:20px;margin-top:6px}.people-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.person{background:#fbfbfa;border:1px solid #eeefed;border-radius:12px;padding:11px 15px;min-width:116px;display:flex;align-items:center;gap:10px}.person.self{background:#fff9f5;border-color:#f5d8c7}.person-name{font-size:13px;font-weight:600}.person-note{font-size:10px;color:#9a9c9f;margin-top:3px}.people-empty{display:flex;align-items:center;gap:12px;background:#fafaf8;border-radius:12px;padding:16px 20px;width:100%;font-size:13px;color:#9a9d9f}.people-empty .empty-icon{font-size:26px;color:#c4b6a7}.ordering-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.menu-panel{padding:24px 25px}.menu-subtitle{font-size:11px}.search{display:flex;align-items:center;border:1px solid #e8e9e6;background:#f9f9f7;border-radius:9px;height:38px;max-width:230px;width:43%;padding:0 11px;gap:8px;color:#93999e}.search>span{font-size:25px;line-height:1}.search input{border:0;background:none;outline:0;width:100%;font-size:12px;min-width:0}.categories{display:flex;gap:6px;overflow:auto;margin-top:23px;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#e8e6e1 transparent}.category{white-space:nowrap;border:0;border-radius:8px;background:#f4f4f1;color:#73777b;padding:9px 13px;font-size:12px;flex-shrink:0}.category.active{background:var(--accent);color:#fff}.menu-result{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:11px 0 13px;min-height:18px}.menu-result .text-button{padding:0;font-size:10px}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dish-card{border:1px solid #eceeea;border-radius:12px;padding:16px 14px 14px;min-height:125px;display:flex;flex-direction:column;transition:border-color .16s,box-shadow .16s}.dish-card:hover{border-color:#e7c5b1;box-shadow:0 3px 12px #dc77320a}.dish-card.selected{background:#f8fcf8;border-color:#c6dfca}.dish-card-heading{display:flex;gap:6px;justify-content:space-between;align-items:start}.dish-name{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.selected-dot{width:6px;height:6px;background:#5aab6b;flex:none;border-radius:50%;margin-top:7px}.dish-unit{font-size:10px;color:#9a9d9f;margin-top:5px;min-height:14px}.dish-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;gap:6px}.price{color:var(--accent);font-size:20px;font-weight:700;white-space:nowrap;letter-spacing:-.6px}.price small{font-size:10px;font-weight:400;margin-left:2px;letter-spacing:0}.add-button{border:1px solid #efbda6;color:var(--accent);background:#fff;border-radius:50%;width:34px;height:34px;font-size:23px;line-height:1;display:grid;place-items:center;flex:none}.add-button:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.variant-button{border:1px solid #efbda6;color:var(--accent);background:#fff;border-radius:8px;font-size:10px;min-height:34px;padding:5px 7px;white-space:nowrap}.selected-text{color:#5a9e69;font-size:10px}.menu-foot{margin-top:25px;font-size:11px;color:#a0a3a5;padding-top:17px;border-top:1px solid #f0f0ed;line-height:20px;display:flex;gap:7px}.order-panel{padding:24px 22px;position:sticky;top:20px}.order-panel h2{font-size:18px}.live-label{display:flex;align-items:center;gap:5px;font-size:10px;color:#969b99;white-space:nowrap}.live-label i{width:5px;height:5px;border-radius:50%;background:#5fab76}.order-list{margin-top:20px;max-height:440px;overflow:auto;scrollbar-width:thin}.order-item{padding:13px 0;border-bottom:1px solid #f0f0ee}.order-item:first-child{padding-top:0}.order-item-line{display:flex;justify-content:space-between;gap:10px}.order-item-title{font-size:13px;font-weight:600;line-height:20px;overflow-wrap:anywhere}.variant-label{color:#92969a;font-size:10px;white-space:nowrap;font-weight:400;margin-left:4px}.order-item-price{font-size:14px;color:var(--accent);font-weight:650;white-space:nowrap}.order-item-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.item-attribution{font-size:10px;color:#9b9da1}.item-note{font-size:11px;color:#8c8075;line-height:18px;margin-top:7px;overflow-wrap:anywhere}.note-button{border:0;background:none;padding:3px 0;color:#969c9d;font-size:10px;margin-left:9px;text-decoration:underline;text-underline-offset:3px}.stepper{display:flex;align-items:center;gap:3px;background:#f8f8f6;border:1px solid #ebede9;border-radius:6px;flex:none}.stepper button{border:0;background:transparent;color:#777d81;width:28px;height:28px;font-size:18px;display:grid;place-items:center}.stepper span{width:22px;text-align:center;font-size:12px}.order-empty{text-align:center;padding:29px 15px 32px;border:1px dashed #eae7e2;border-radius:12px;background:#fcfcfa}.order-empty img{width:48px;height:48px;opacity:.3;margin-bottom:11px}.order-empty strong{font-size:13px;display:block;font-weight:500;color:#797d80}.order-empty p{font-size:11px;color:#a1a4a5;margin-top:7px;line-height:19px}.extras-summary{padding:17px 0 14px;font-size:12px;border-bottom:1px solid #eee}.extras-summary>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.extras-summary>div:last-of-type{margin-bottom:0}.extras-summary small{font-size:10px;color:#aaa;margin-left:5px}.extras-summary .text-button{font-size:10px;padding:9px 0 0}.total-block{background:#faf8f4;border-radius:10px;padding:15px;margin-top:16px}.total-block>div{display:flex;justify-content:space-between;align-items:center}.total-block>div>strong:first-child{font-size:14px}.total-price{font-size:29px;letter-spacing:-1px;color:var(--accent)}.total-block>p{font-size:10px;margin-top:6px}.order-actions{display:flex;gap:8px;margin-top:16px}.order-actions .button{flex:1;font-size:12px;padding:10px}.admin-link{border:0;background:none;color:#a0a2a3;font-size:10px;width:100%;padding:15px 0 4px}.admin-link:hover{color:var(--accent)}.order-foot{font-size:10px;color:#a2a7a8;text-align:center;margin-top:16px}.page-footer{display:flex;justify-content:space-between;padding:25px 1px 0;color:#acadaa;font-size:10px}.mobile-switch,.mobile-bottom{display:none}.history-notice{border:1px solid #edddbd;background:#fff9e9;border-radius:10px;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:20px;color:#a28858}dialog{border:0;border-radius:20px;box-shadow:0 24px 100px #0002;max-width:440px;width:calc(100% - 32px);padding:26px;color:var(--ink)}dialog::backdrop{background:#232a2f55;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.modal-heading h2{font-size:20px}#modalContent{font-size:13px;line-height:1.8;color:#777d81}#modalContent label{display:block;color:#5e6267;font-size:12px;margin:13px 0 6px}#modalContent input:not([type=radio]),#modalContent select,#modalContent textarea{width:100%;border:1px solid #e0e2dd;border-radius:9px;padding:11px 12px;background:#fbfbf9;color:var(--ink);font-size:16px}#modalContent textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-actions .button{min-width:88px}.form-error{font-size:12px;color:#c95235;min-height:18px;margin-top:10px;line-height:1.6}.variant-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.variant-option{display:flex!important;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e7e8e4;border-radius:10px;padding:12px 10px!important;margin:0!important;background:#fbfbf9}.variant-option:has(input:checked){border-color:#e99d7a;background:#fff6f0}.variant-option input{accent-color:var(--accent)}.variant-option strong{color:var(--accent)}.modal-info{padding:12px 14px;background:#faf8f3;border-radius:10px;font-size:12px;line-height:1.8}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#303731;color:#fff;padding:13px 22px;border-radius:12px;font-size:13px;box-shadow:0 6px 30px #0002;z-index:100;max-width:calc(100% - 30px);text-align:center}.boot{position:fixed;inset:0;display:grid;align-content:center;justify-items:center;background:var(--bg);gap:17px;z-index:200;color:#9a9e9a;font-size:13px}.boot img{width:50px;height:50px}.login-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-decoration{background:#f1e7d8;padding:90px 12%;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-decoration>span{font-size:13px;letter-spacing:4px;color:#b1855f;margin-bottom:30px}.login-decoration>strong{font-size:48px;font-weight:650;line-height:1.45;letter-spacing:-2px;color:#685342;z-index:1}.login-decoration>p{font-size:14px;color:#a18771;margin-top:25px;z-index:1}.plate{position:absolute;right:-120px;bottom:-120px;border-radius:50%;width:430px;height:430px;border:2px solid #e8dbc9;box-shadow:0 0 0 34px #ede1d0,0 0 0 36px #e9dbc6;display:grid;place-items:center}.plate img{width:190px;opacity:.13}.login-main{display:flex;align-items:center;justify-content:center;padding:50px 35px;background:#fff}.login-card{max-width:350px;width:100%}.brand-icon{width:50px;height:50px;margin-bottom:25px}.login-card h1{font-size:28px;letter-spacing:-1px}.login-card>.muted{font-size:12px;line-height:1.8;margin:11px 0 28px}.login-card label{display:block;font-size:12px;font-weight:600;margin:18px 0 8px;color:#646a6b}.login-card input{border:1px solid #e5e7e1;border-radius:10px;padding:14px;width:100%;background:#fafbf8;color:#323836;font-size:16px}.login-card input::placeholder{font-size:13px;color:#b0b3ad}.login-submit{width:100%;margin-top:10px;justify-content:space-between;padding:14px 17px;font-size:14px}.login-foot{text-align:center;color:#a6aaa4;font-size:11px;margin-top:26px}.text-danger{color:#b4614c}.history-select{font-size:16px}.menu-empty{grid-column:1/-1;color:#a1a4a1;text-align:center;font-size:13px;padding:55px 10px}
@media(min-width:1600px){.ordering-layout{grid-template-columns:minmax(0,1fr) 400px}.dish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.workspace{padding:25px}.topbar-inner{padding:0 25px}.ordering-layout{grid-template-columns:minmax(0,1fr) 335px;gap:18px}.menu-panel{padding:22px 18px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand>span{display:none}.order-panel{padding:22px 18px}.menu-subtitle{display:none}.person{min-width:105px}}
@media(max-width:760px){:root{--radius:15px}.topbar{height:63px}.topbar-inner{padding:0 17px}.brand{gap:8px}.brand img{width:31px;height:31px}.brand strong{font-size:19px}.top-actions{gap:14px}.top-actions>.text-button{font-size:11px}.top-actions>.text-button>span:first-child{font-size:19px}.desktop-word{display:none}.user-button{padding-left:13px;gap:6px;font-size:11px;max-width:125px}.user-button>span:nth-child(2){max-width:55px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar.small{width:26px;height:26px;font-size:10px}.workspace{padding:22px 14px 110px}.day-heading{margin-bottom:18px;align-items:flex-end}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:6px}h1{font-size:26px}.day-title{display:block}.day-title .muted{display:block;font-size:11px;margin-top:7px}.status-area{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-bottom:1px}.status-pill{font-size:10px;padding:5px 9px}.sync-status{font-size:9px}.attendance{padding:18px 16px;margin-bottom:20px}.section-heading{gap:10px}h2{font-size:16px}.title-line{gap:7px}.count-pill{font-size:10px;padding:3px 7px}.attendance .button{font-size:12px;min-height:39px;padding:8px 11px;gap:5px}.attendance .button>span{display:none}.hint{font-size:10px;line-height:17px;margin-top:6px}.people-list{margin-top:15px;gap:7px;max-height:225px;overflow:auto}.person{min-width:0;flex:0 0 calc((100% - 14px)/3);padding:10px 8px;gap:7px;border-radius:10px}.person .avatar{width:27px;height:27px;font-size:11px}.person-name{font-size:11px;max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-note{font-size:9px;margin-top:2px}.people-empty{font-size:11px;padding:13px;gap:9px}.people-empty .empty-icon{font-size:22px}.mobile-switch{display:flex;gap:8px;margin-bottom:14px;border-bottom:1px solid #e6e6e1}.mobile-switch>button{border:0;background:none;color:#999e9b;padding:0 10px 12px;font-size:14px;font-weight:600;position:relative}.mobile-switch>button:first-child{padding-left:4px}.mobile-switch>button.active{color:var(--accent)}.mobile-switch>button.active::after{content:"";height:3px;width:22px;background:var(--accent);position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);border-radius:3px}.mobile-switch span{font-size:10px;display:inline-block;background:#e9eae6;border-radius:20px;padding:1px 6px;margin-left:3px}.ordering-layout{display:block}.ordering-layout .order-panel{display:none}.ordering-layout.show-order .order-panel{display:block}.ordering-layout.show-order .menu-panel{display:none}.menu-panel{padding:18px 14px;border-radius:15px}.menu-heading h2{font-size:15px}.search{width:48%;height:35px;gap:5px;padding:0 8px}.search input{font-size:16px}.search input::placeholder{font-size:11px}.search>span{font-size:22px}.categories{margin-top:17px;gap:6px;padding-bottom:6px;scrollbar-width:none}.category{font-size:11px;padding:8px 11px}.menu-result{font-size:9px;margin:8px 0 10px}.dish-grid{gap:9px}.dish-card{min-height:120px;padding:13px 12px 12px;border-radius:10px}.dish-name{font-size:13px}.dish-unit{font-size:9px;margin-top:4px}.dish-bottom{padding-top:12px}.price{font-size:20px}.add-button{width:35px;height:35px;font-size:23px}.variant-button{height:35px;font-size:10px;padding:4px 8px}.selected-text{font-size:9px}.menu-foot{font-size:10px;margin-top:20px;padding-top:13px}.order-panel{position:static;padding:20px 17px}.order-panel h2{font-size:17px}.order-list{max-height:none;margin-top:23px}.order-item{padding:16px 0}.order-item-title{font-size:14px}.order-item-price{font-size:16px}.stepper button{width:35px;height:34px}.stepper span{font-size:13px;width:24px}.item-attribution,.note-button{font-size:11px}.order-item-bottom{margin-top:9px}.extras-summary{font-size:13px;padding-top:20px}.extras-summary small{font-size:10px}.extras-summary .text-button{font-size:11px}.total-block{padding:16px}.total-price{font-size:30px}.total-block>p{font-size:11px}.order-actions .button{font-size:13px;min-height:45px}.admin-link{font-size:11px}.order-foot{font-size:10px}.page-footer{padding-top:20px;display:block;text-align:center;line-height:20px;font-size:9px}.page-footer>span{display:block}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid #ecece6;padding:11px 20px calc(11px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;box-shadow:0 -3px 20px #323d2905;gap:15px}.mobile-bottom>div{display:flex;align-items:baseline;gap:12px}.mobile-bottom>div>span{font-size:11px;color:#90948e}.mobile-bottom strong{font-size:24px;color:var(--accent);letter-spacing:-1px}.mobile-bottom .button{min-height:41px;padding:9px 16px;font-size:12px}.history-notice{font-size:11px;padding:8px 11px;gap:8px}.history-notice .text-button{font-size:11px;white-space:nowrap}.toast{bottom:95px;font-size:12px;max-width:calc(100% - 30px);padding:12px 18px}dialog{padding:23px 20px;border-radius:18px}.modal-heading h2{font-size:19px}.modal-actions .button{flex:1}.login-page{display:block;background:#fff;min-height:100svh}.login-decoration{display:none}.login-main{min-height:100svh;padding:40px 30px}.login-card{max-width:370px}.login-card .brand-icon{width:53px;height:53px;margin-bottom:30px}.login-card h1{font-size:29px}.login-card>.muted{font-size:12px;margin-bottom:30px}.login-card label{font-size:13px}.login-card input{padding:15px}.login-foot{font-size:11px;margin-top:30px}}
@media(max-width:360px){.attendance{padding:16px 12px}.attendance h2{font-size:15px}.attendance .button{font-size:11px;padding:7px 9px}.count-pill{font-size:9px}.person{flex-basis:calc((100% - 7px)/2)}.menu-panel{padding:17px 11px}.dish-card{padding:12px 10px}.mobile-bottom{padding-left:14px;padding-right:14px}.mobile-bottom>div{gap:7px}.top-actions{gap:10px}}
.account-password{width:100%;justify-content:space-between}.account-hint{font-size:11px;line-height:1.8;color:#969c95;margin-top:12px}.arrival-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;color:#8c918c;font-size:11px}.arrival-line .text-button{font-size:10px;padding:0}.export-preview{margin-top:12px;font-size:11px;color:#90958e}.export-preview summary{cursor:pointer;padding:5px 0}.export-preview pre{font-family:inherit;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#faf9f5;border:1px solid #eeece5;border-radius:8px;padding:12px;color:#666e65}.login-card select{border:1px solid #e5e7e1;border-radius:10px;padding:14px;width:100%;background:#fafbf8;color:#323836;font-size:16px;min-height:51px}.person.joined{border-color:#d6e7d8;background:#fbfdfa}.person.joined .person-note{color:#639372}.person.not-joined .avatar{opacity:.65}.admin-badge{font-size:9px;color:#b1855f;font-weight:400}.avatar.tone-1{background:#e5eddf;color:#6b8262}.avatar.tone-2{background:#e2ebf1;color:#607e91}.avatar.tone-3{background:#eee5f0;color:#907496}.avatar.tone-4{background:#f4e8c8;color:#9f8a52}
.person>div:last-child{min-width:0;flex:1}.person-note{white-space:nowrap}
@media(max-width:760px){.person-name{max-width:none}.self-label{display:none}.admin-badge{font-size:8px}.login-card select{padding:15px}}
@media(max-width:760px){.mobile-switch{position:sticky;top:0;background:var(--bg);z-index:10;padding-top:10px}.mobile-bottom .button{white-space:nowrap}}
.history-stats{width:100%;margin-top:20px;justify-content:space-between;font-size:12px}.stats-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stats-dates input{font-size:13px!important;padding:10px 7px!important;min-width:0}.stats-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;margin-top:17px;color:#999e96}.stats-meta .text-button{font-size:11px;padding:0}.stats-table-wrap{max-height:310px;overflow:auto;margin-top:12px;border:1px solid #e8ebe3;border-radius:10px}.stats-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.stats-table th{background:#f5f6f1;font-size:10px;color:#969c91;font-weight:500;position:sticky;top:0;white-space:nowrap}.stats-table td,.stats-table th{padding:10px 9px;border-bottom:1px solid #eff0ec}.stats-table td:nth-child(n+2){white-space:nowrap;text-align:right;color:#7c8577}.stats-table th:nth-child(n+2){text-align:right}.stats-table td:first-child{overflow-wrap:anywhere;color:#5c6357}.stats-table tr:last-child td{border-bottom:0}.stats-table .stats-empty{text-align:center!important;padding:30px 10px;color:#a8aca2!important}.stats-foot{font-size:10px;color:#a3a89d;line-height:1.8;margin-top:12px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.person.joined,.person.joined.self{background:#ddf3e3;border:2px solid #238645;padding:10px 14px;box-shadow:inset 4px 0 #238645}.person.joined .person-name{color:#124d27}.person.joined .person-note{display:inline-block;border-radius:4px;background:#237d40;color:#fff;font-weight:700;padding:2px 5px;margin-top:5px;font-size:10px}.person.joined .person-note::before{content:'✓ ';font-weight:800}.person.not-joined,.person.not-joined.self{background:#f0f1f2;border:2px dashed #a6adb3;padding:10px 14px;box-shadow:none}.person.not-joined .person-name{color:#565d64}.person.not-joined .person-note{display:inline-block;background:#dde0e3;color:#555c63;border-radius:4px;padding:2px 5px;font-weight:600;font-size:10px;margin-top:5px}.person.not-joined .avatar{background:#d9dde1;color:#6b747b;opacity:1}.person.joined .avatar{background:#fff;color:#1c6b36}.menu-filter-actions{display:flex;align-items:center;gap:12px}.random-button{border:1px solid #f1c2a8;background:#fff3eb;color:#be4e1d;font-size:11px;font-weight:650;min-height:34px;border-radius:8px;padding:6px 10px;white-space:nowrap}.random-button:hover:not(:disabled){background:#ffe5d6}.random-confirm-note{background:#eef5ed;color:#597653;border-radius:8px;padding:9px 12px;font-size:12px}.taste-options{display:flex;gap:7px;flex-wrap:wrap}.taste-choice{display:block!important;margin:0!important;cursor:pointer}.taste-choice input{position:absolute;opacity:0;width:1px;height:1px}.taste-choice span{display:block;background:#f4f4ef;border:1px solid #e7e8e2;border-radius:20px;padding:6px 11px;color:#777e72;font-size:12px}.taste-choice input:checked+span{background:#fff0e4;border-color:#e8a57f;color:#bf541f}.taste-choice input:focus-visible+span{outline:2px solid #ed956f;outline-offset:2px}.random-pick{border:1px solid #ecd5bf;background:#fffbf5;padding:16px;border-radius:12px;margin-top:18px}.random-caption{display:block;color:#b49a7d;font-size:10px;margin-bottom:8px}.random-pick>strong{display:block;font-size:22px;color:#4e493f;line-height:1.5}.random-pick-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.random-pick-bottom .text-button{font-size:12px;color:#c26937}.random-explanation{font-size:10px;color:#9da395;line-height:1.8;margin-top:12px}.random-empty{padding:25px 12px;text-align:center;font-size:12px;color:#9b8a74;line-height:1.8}
@media(max-width:760px){.person.joined,.person.joined.self,.person.not-joined,.person.not-joined.self{padding:9px 7px}.person.joined{box-shadow:inset 3px 0 #238645}.person .person-note{font-size:8px!important;padding:2px 3px!important}.person .avatar{width:24px;height:24px}.menu-filter-actions{gap:9px}.random-button{font-size:10px;min-height:34px;padding:5px 8px}.random-pick>strong{font-size:21px}}
.random-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.random-settings select{width:100%;min-width:0}.random-spinning{overflow:hidden}.random-reel{height:48px;overflow:hidden;position:relative;border-radius:8px;background:#fff5e9;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}.random-track{animation:random-slide .1s linear infinite;will-change:transform}.random-reel-row{height:48px;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:750;color:#9d572d;white-space:nowrap}.random-spin-footer{display:flex;align-items:center;justify-content:space-between;color:#b58a64;font-size:11px;margin-top:14px;font-variant-numeric:tabular-nums}.random-spin-dots{letter-spacing:4px;animation:random-pulse .6s ease-in-out infinite alternate}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes random-slide{from{transform:translateY(0)}to{transform:translateY(-48px)}}@keyframes random-pulse{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.random-track,.random-spin-dots{animation:none}.random-reel{visibility:hidden}}
.ui-icon{display:block;flex:none;pointer-events:none}.dish-bottom{gap:10px}.dish-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.dish-quantity{min-width:20px;text-align:center;color:#487353;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.add-button,.subtract-button{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none;transition:background .15s,box-shadow .15s,transform .15s}.add-button{border:1px solid #ed682f;background:#ed682f;color:#fff;box-shadow:0 2px 5px #e75b211a}.add-button:hover:not(:disabled){background:#d9521b;border-color:#d9521b;transform:translateY(-1px)}.subtract-button{border:1px solid #dce3dc;background:#fff;color:#677d69}.subtract-button:hover:not(:disabled){background:#edf4ed;border-color:#a7bfa9;color:#305d39}.subtract-button:disabled{opacity:.35;cursor:not-allowed}.variant-button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.variant-button .ui-icon{width:16px;height:16px}.stepper{gap:0;border:1px solid #e4e8e1;border-radius:10px;overflow:hidden;background:#f7f9f5}.stepper button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#4d6d52;padding:0}.stepper button:hover:not(:disabled){background:#e7eee3}.stepper button .ui-icon{width:17px;height:17px}.stepper span{background:#fff;font-variant-numeric:tabular-nums}.add-button:focus-visible,.subtract-button:focus-visible,.stepper button:focus-visible{outline:2px solid #789a6c;outline-offset:3px}@media(max-width:760px){.dish-bottom{flex-wrap:wrap;gap:10px 6px}.dish-controls{gap:3px}.dish-quantity{min-width:18px;font-size:13px}.add-button,.subtract-button{width:32px;height:34px;border-radius:10px}.add-button .ui-icon,.subtract-button .ui-icon{width:18px;height:18px}.stepper button{width:34px;height:34px}.stepper span{width:25px}}
button.person{font-family:inherit;text-align:left;position:relative;transition:box-shadow .15s,filter .15s}button.person:hover{filter:brightness(.97);box-shadow:0 2px 8px #263a2820}button.person:active{transform:translateY(1px)}.person-action{position:absolute;right:3px;top:1px;color:#7b877d;font-size:10px;line-height:12px}#adminAttendanceHint{display:block;color:#74816d;margin-top:3px;font-size:11px}
.person>div{min-width:0;flex:1}
@media(max-width:760px){#adminAttendanceHint{font-size:9px}.person-action{font-size:9px;right:2px;top:1px}}
.schedule-notice{font-size:11px;color:#969c92;line-height:1.7;margin-top:10px}.auto-schedule{display:block;width:100%;text-align:center;font-size:11px;margin-top:7px;color:#b16e42}
@media(max-width:760px){.schedule-notice{font-size:9px;max-width:230px;margin-top:8px}}
.day-control{border:1px solid #edbc9e;background:#fff6ef;color:#b65428;border-radius:7px;font-size:11px;padding:6px 10px;min-height:32px;white-space:nowrap}.day-control:hover{background:#ffe9d9}
