:root{color:#173c2a;background:#f5f3ee;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f5f3ee}button,input{font:inherit}button{border:0;cursor:pointer}button:focus-visible{outline:3px solid #7fb591;outline-offset:2px}button:disabled{cursor:not-allowed}.guest-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:env(safe-area-inset-top) 20px calc(20px + env(safe-area-inset-bottom))}.guest-app-header{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid #d9e0d5;color:#23522f}.guest-brand{flex:none;font-size:13px;font-weight:800}.guest-page-title{min-width:0;overflow:hidden;color:#173c2a;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.end-session{min-width:44px;min-height:44px;margin-left:auto;padding:0 16px;border-radius:22px;background:#c8483d;color:#fff;font-size:14px;font-weight:800}.guest-screen{min-height:calc(100vh - 72px - env(safe-area-inset-top));padding:6px 0 16px}.guest-screen h1{margin:6px 0 8px;color:#173c2a;font-size:24px;line-height:1.25;letter-spacing:.01em}.guest-screen h2{margin:0 0 3px;color:#173c2a;font-size:15px;line-height:1.35}.eyebrow,.screen-description,small{color:#688071}.eyebrow{margin:0;font-size:11px;font-weight:700}.screen-description{margin:0 0 18px;font-size:12px;line-height:1.55}.menu-panel{position:relative}.guest-title-row{display:flex;align-items:center;min-height:24px}.history-link,.back-link{padding:7px 0;background:transparent;color:#245b36;font-size:12px;font-weight:800;white-space:nowrap}.history-link span{font-size:18px;vertical-align:-1px}.category-chips{display:flex;gap:6px;margin:14px 0 10px;overflow-x:auto;scrollbar-width:none}.category-chips button{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#fff;color:#496553;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px #d8e0d6}.category-chips button.active{background:#245b36;color:#fff;box-shadow:none}.menu-layout-switch{display:grid;grid-template-columns:1fr 1fr;margin:0 0 10px;padding:3px;border-radius:7px;background:#e8eee5}.menu-layout-switch button{padding:4px;border-radius:5px;background:transparent;color:#547160;font-size:11px;font-weight:800}.menu-layout-switch button.active{background:#fff;color:#245b36;box-shadow:0 1px 3px #1c3c2a18}.menu{display:grid;gap:8px;padding-bottom:84px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item{display:flex;align-items:center;gap:12px;min-height:70px;padding:8px;border-radius:12px;background:#fff;box-shadow:0 1px 2px #183a2410}.menu-grid .item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.menu-grid .item .image{grid-column:1 / -1;width:100%;height:88px}.menu-grid .item>div:nth-child(2){display:contents}.menu-grid .item h2{grid-column:1 / -1;width:100%;margin:0;overflow-wrap:anywhere}.menu-grid .item strong{grid-column:1;align-self:center}.menu-grid .item .actions{grid-column:2;margin-left:0}.image,.cart-item-image{display:grid;flex:0 0 54px;width:54px;height:54px;place-items:center;overflow:hidden;border-radius:8px;background:#eed270;color:#42684b;font-size:22px}.image img{width:100%;height:100%;object-fit:cover}.item strong,.cart-item-details strong{color:#356044;font-size:12px}.actions{display:flex;align-items:center;gap:8px;margin-left:auto}.actions>span:not(.sold-out-badge){min-width:1ch;color:#42684b;font-size:13px;font-weight:800;text-align:center}.actions .quantity-button{display:grid;width:28px;height:28px;place-items:center;padding:0;border-radius:50%;background:#e6f0e4;color:#245b36;font-size:18px;font-weight:700}.actions .quantity-button:disabled{background:#eef1ec;color:#a7b0a5}.item.is-sold-out .actions .quantity-button:last-child:disabled{background:#f8e8e5;color:#c76a60}.item.is-sold-out{opacity:.72}.menu-sold-out-label{margin-left:6px;color:#b84f42;font-size:11px;font-weight:800;white-space:nowrap}.sold-out-label{color:#b17a22;font-size:11px;font-weight:800}.menu-bottom-actions{position:fixed;right:max(20px,calc((100vw - 430px)/2 + 20px));bottom:calc(14px + env(safe-area-inset-bottom));left:max(20px,calc((100vw - 430px)/2 + 20px));z-index:2;display:grid;grid-template-columns:1fr;gap:8px}.menu-bottom-actions.has-history{grid-template-columns:minmax(96px,1fr) minmax(0,2fr)}.cart-button,.history-button{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 14px;border-radius:12px;font-size:12px;font-weight:800;box-shadow:0 6px 18px #183a2433}.cart-button{background:#245b36;color:#fff}.history-button{justify-content:center;border:1px solid #b9cabb;background:#fff;color:#245b36;box-shadow:0 6px 18px #183a241a}.cart-button:disabled{background:#b7c3b8;box-shadow:none}.sold-out-toast{position:absolute;z-index:4;top:92px;right:0;left:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:48px;padding:9px 11px;border:1px solid #e0b54c;border-radius:10px;background:#fff4d6;box-shadow:0 4px 12px #183a2429;color:#765c22;font-size:11px;font-weight:800;line-height:1.35}.toast-icon{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#fff0c9;font-size:13px}.sold-out-toast button{padding:0;background:transparent;color:inherit;font-size:16px}.sold-out-toast.is-success{border-color:#8fbd98;background:#e8f3e6;color:#2d693f}.sold-out-toast.is-success .toast-icon{background:#d8edd5}.guest-navigation{display:flex;align-items:center;justify-content:space-between;min-height:30px;color:#597263;font-size:12px;font-weight:800}.guest-navigation button{padding:0;background:transparent;color:#245b36;font-weight:800}.cart-screen .screen-description{margin-top:10px}.cart-warning{margin:0 0 10px;padding:10px 12px;border:1px solid #e7bd5b;border-radius:10px;background:#fff6df;color:#805f1d;font-size:11px;font-weight:800;line-height:1.5}.cart-line{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:10px;border:1px solid #e2e7df;border-radius:12px;background:#fff}.cart-line.is-sold-out{border-color:#e8bb4e;background:#fffaf0}.cart-item-details{min-width:0}.quantity{display:flex;align-items:center;gap:6px;margin-left:auto;color:#305c3e;font-size:13px;font-weight:800}.quantity button{display:grid;width:22px;height:22px;place-items:center;padding:0;border-radius:50%;background:#e8f0e5;color:#2f673f}.quantity button:disabled{background:#edf0ea;color:#a5b1a6}.remove-item{display:grid;width:30px;height:30px;place-items:center;padding:0;border-radius:8px;background:#fff0ed;color:#c05b50}.remove-item svg{width:16px;height:16px}.total{display:flex;justify-content:space-between;margin:14px 0;padding:11px 12px;border-radius:10px;background:#eaf1e6;color:#315f40;font-size:13px;font-weight:800}.total strong{color:#173c2a;font-size:15px}.submit-order,.status-screen>button:not(.back-link):not(.secondary-action),.scanner-action{width:100%;min-height:48px;border-radius:10px;background:#245b36;color:#fff;font-size:13px;font-weight:800}.submit-order:disabled{background:#bcc8bd;color:#718072}.status-screen{display:flex;flex-direction:column;text-align:center;padding-top:38px}.status-screen h1{margin-top:12px}.success{display:grid;width:44px;height:44px;place-items:center;margin:0 auto;border-radius:50%;background:#2d693f;color:#fff;font-size:27px;font-weight:800}.order-summary,.history{margin:8px 0 14px;padding:13px;border:1px solid #dce4d8;border-radius:12px;background:#fff;text-align:left}.order-summary small{display:block;margin-bottom:8px;font-size:11px;font-weight:800}.order-summary div{display:flex;justify-content:space-between;margin:7px 0;font-size:13px;font-weight:800}.secondary-action{width:100%;min-height:42px;margin:0 0 12px;border:1px solid #d8e1d5;border-radius:10px;background:#fff;color:#2d633c;font-size:12px;font-weight:800}.history-screen .back-link{display:block;text-align:left}.history{font-size:12px}.history p{margin:0 0 7px;color:#587162;font-weight:800}.history div{margin:5px 0}.history strong{display:block;text-align:right;color:#214b30}.error-screen h1{color:#7d352e}.error-screen>p{color:#68786d;font-size:12px}.unlink-screen{display:flex;flex-direction:column;min-height:calc(100vh - 72px - env(safe-area-inset-top));padding-top:18px}.unlink-top{display:grid;gap:42px}.unlink-screen .back-link{justify-self:start;padding:6px 0;background:transparent;color:#2d5e3a;font-size:14px;font-weight:700}.unlink-hero{display:grid;justify-items:center;gap:12px;text-align:center}.unlink-icon{display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:#f8e7e4;color:#a33a32;font-size:32px;font-weight:700}.unlink-hero h1{margin:0;color:#1b3a28;font-size:26px}.unlink-hero p{margin:0;color:#5e7564;font-size:14px;line-height:1.6}.unlink-details{display:grid;gap:16px;margin-top:42px}.unlink-target{display:grid;gap:8px;padding:20px;border:1px solid #d6ddd0;border-radius:16px;background:#fff}.unlink-target span{color:#5e7564;font-size:12px;font-weight:700}.unlink-target strong{color:#1b3a28;font-size:20px}.unlink-notice{display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px;border-radius:12px;background:#e9eee4;color:#5e7564;font-size:13px;line-height:1.5}.unlink-notice span{flex:0 0 auto;color:#2d5e3a}.unlink-actions{display:grid;gap:12px;margin-top:auto;padding-top:24px}.unlink-actions .secondary-action{margin:0;min-height:52px;border-color:#d6ddd0;color:#1b3a28;font-size:15px}.destructive-action{width:100%;min-height:52px;border-radius:12px;background:#a33a32;color:#fff;font-size:15px;font-weight:800}.destructive-action:disabled{background:#c6aaa6;color:#fff}.session-ended-screen{display:flex;flex-direction:column;min-height:calc(100vh - 72px - env(safe-area-inset-top));padding-top:60px}.session-ended-top{display:grid;gap:42px}.session-ended-hero{display:grid;justify-items:center;gap:12px;text-align:center}.session-ended-icon{display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:#dcead8;color:#2d5e3a;font-size:32px;font-weight:800}.session-ended-hero h1{margin:0;color:#1b3a28;font-size:26px}.session-ended-hero p{margin:0;color:#5e7564;font-size:14px;line-height:1.6}.session-ended-details{display:grid;gap:16px;margin-top:42px}.session-ended-reason{display:grid;gap:8px;padding:20px;border:1px solid #d6ddd0;border-radius:16px;background:#fff}.session-ended-reason span{color:#5e7564;font-size:12px;font-weight:700}.session-ended-reason strong{color:#1b3a28;font-size:20px}.session-ended-notice{display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px;border-radius:12px;background:#e9eee4;color:#5e7564;font-size:13px;line-height:1.5}.session-ended-notice span{flex:0 0 auto;color:#2d5e3a;font-size:20px;line-height:1}.session-ended-actions{margin-top:auto;padding-top:24px}.session-ended-actions button{width:100%;min-height:52px;border-radius:12px;background:#2d5e3a;color:#fff;font-size:15px;font-weight:800}.scanner-screen{display:flex;flex-direction:column}.scan-summary,.scan-next{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px;border-radius:12px;background:#fff}.scan-next{background:#eaf1e7}.scan-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e4f0e1;color:#31633f;font-weight:800}.scan-summary strong,.scan-next strong{display:block;margin-top:3px;font-size:13px}.scan-next p{margin:3px 0 0;color:#708071;font-size:10px}.scanner-action{margin-top:auto}.notice{padding:10px;border-radius:10px;background:#fff1ed;color:#a14537;font-size:12px}.camera{margin:14px 0;overflow:hidden;border-radius:12px;background:#172d20}.camera video{display:block;width:100%;max-height:300px;object-fit:cover}.camera .link{width:100%;padding:10px;background:transparent;color:#fff}.registration-main{width:min(100%,480px);margin:0 auto;padding:32px 20px}.registration-panel{padding:24px;border-radius:16px;background:#fff;box-shadow:0 4px 20px #263c3420}label{display:block;margin-top:18px;font-size:14px;font-weight:700}.field-hint{margin:0;color:#59706a;font-size:13px}.registration-panel input{display:block;width:100%;padding:14px;margin:8px 0 10px;border:1px solid #ccd6d1;border-radius:12px}.registration-panel button{width:100%;margin-top:24px;padding:13px;border-radius:12px;background:#245b36;color:#fff;font-weight:800}@media(min-width:431px){.guest-shell{box-shadow:0 0 0 1px #e1e5dc,0 4px 24px #183a2410}}
