:root{--yellow:#f5d447;--yellow-hover:#ebc92c;--ink:#1d2825;--muted:#77817b;--line:#e2e6df;--green:#287a55;--bg:#f5f6f2;--red:#b64436;--radius:14px;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1.1px;line-height:1.2;font-weight:650}h2{font-size:23px;letter-spacing:-.6px;line-height:1.3}h3{font-size:18px;letter-spacing:-.3px}small{font-size:13px}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a88b18;outline-offset:3px}input,select,textarea{border:1px solid #d8ded5;border-radius:9px;background:#fff;padding:12px 13px;min-height:46px;width:100%;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#9b851a;box-shadow:0 0 0 3px #f5d44733}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;height:18px;accent-color:#394d40;flex-shrink:0}textarea{resize:vertical;min-height:90px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}form{display:flex;flex-direction:column;gap:18px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.muted{color:var(--muted)}.fine{font-size:13px;color:var(--muted);line-height:1.65}.eyebrow,.small-label{font-size:11px;font-weight:750;letter-spacing:1.6px}.eyebrow{color:#758070}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:11px 17px;font-weight:650;font-size:14px;min-height:44px;background:white;color:var(--ink);white-space:nowrap;transition:background .15s,transform .15s}.button:hover{background:#f0f2ed}.button.primary{background:var(--yellow);border-color:var(--yellow)}.button.primary:hover{background:var(--yellow-hover)}.button.dark{background:var(--ink);color:white;border-color:var(--ink)}.button.green{background:var(--green);color:#fff;border-color:var(--green)}.button.danger{color:var(--red);border-color:#e8c7c1;background:#fff7f5}.button.ghost{background:transparent;border-color:transparent}.button.small{padding:7px 11px;min-height:36px;font-size:13px}.wide{width:100%;justify-content:space-between}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;width:36px;height:36px;border-radius:8px;padding:0;color:var(--muted)}.icon-button:hover{color:var(--ink);background:#f2f4ee}.icon-button.light{border:0;background:transparent;color:#bdc4bc}.icon-button svg{width:17px;height:17px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:25px;font-weight:720;letter-spacing:-1px}.brand.dark{color:var(--ink)}.brand-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--yellow);color:var(--ink);font-size:30px;font-weight:800;line-height:1;padding-bottom:5px;letter-spacing:-3px;padding-right:3px}.brand-dot{color:var(--yellow)}.pill{border:1px solid var(--line);display:inline-flex;padding:5px 10px;font-size:12px;font-weight:600;border-radius:6px;background:#fff;white-space:nowrap}.pill.green{background:#edf6ef;border-color:#d9eade;color:#367452}.pill.yellow{background:#fff5c9;border-color:#f7e8a1;color:#8b731b}.pill.red{background:#fceeea;color:#a44c3d;border-color:#f0d8d0}.pill.gray{background:#eff1ed;color:#758070}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#74a986;flex-shrink:0}.avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#33433a;color:#c8d4c8;border-radius:10px;font-size:14px;font-weight:700}.avatar.yellow{background:#eee7ba;color:#746626}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.alert{border:1px solid #ead49a;padding:13px 15px;font-size:14px;border-radius:8px;background:#fffae8;line-height:1.6}.alert.error{border-color:#efc6bf;background:#fff3f0;color:#a3382c}.alert.success{border-color:#cde6d4;background:#eef9f0;color:#33724a}.alert:empty{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.align-end{display:flex;align-items:flex-end}.header-right{display:flex;align-items:center;gap:20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading h1{margin:5px 0 7px}.page-heading p{color:var(--muted);font-size:14px}.actions{display:flex;align-items:center;gap:10px}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.empty h2,.empty h3{color:var(--ink);margin:15px 0 8px}.empty p{max-width:360px;margin:0 auto 22px;font-size:14px}.empty-symbol{display:inline-flex;border:1px solid var(--line);width:64px;height:64px;align-items:center;justify-content:center;border-radius:18px;background:#f4f5ee;color:#a3ae99}.empty-symbol svg{width:28px;height:28px}.loading{height:55vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #dfe4d9;border-top-color:#776826;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:46% 54%}.auth-story{background:#21342c;color:#fff;padding:48px 58px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:450px;height:450px;border:1px solid #49644c;border-radius:100%;right:-200px;bottom:-270px;box-shadow:0 0 0 45px #263c2f,0 0 0 46px #425a45,0 0 0 100px #26392f,0 0 0 101px #425a45;pointer-events:none}.auth-message{flex:1;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:70px 0}.auth-message .eyebrow{color:#aabd9b}.auth-message h1{font-size:clamp(45px,5.4vw,78px);font-weight:550;letter-spacing:-3.5px}.auth-message em{font-style:normal;color:var(--yellow)}.auth-message p{font-size:18px;color:#b7c4b6;line-height:1.8}.auth-footer{display:flex;gap:30px;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:#9aac9d;z-index:1}.auth-main{display:flex;align-items:center;justify-content:center;background:#fafbf7;padding:45px}.auth-card{width:380px;max-width:100%}.auth-card h2{font-size:32px;letter-spacing:-1.1px;margin:12px 0}.auth-card>p{font-size:15px;margin-bottom:30px}.auth-card form{margin:24px 0}.auth-card .button{margin-top:6px;min-height:48px}.auth-card .fine{font-size:13px;margin:0}.demo-note{display:flex;align-items:center;gap:8px;margin-top:35px;font-size:12px;color:var(--muted)}.picker-header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.picker-main{max-width:1160px;margin:auto;padding:50px 28px}.picker-main>.alert{margin-bottom:20px}.business-group{margin:35px 0 45px}.business-group h2{font-size:19px;margin-bottom:16px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.location-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px;position:relative;transition:.2s}.location-card:hover{border-color:#b7c4a8;transform:translateY(-3px);box-shadow:0 6px 16px #27332409}.location-card h3{font-size:23px;margin:18px 0 7px}.location-card p{font-size:13px;color:var(--muted)}.location-card .small-label{font-size:10px;color:#85917f}.location-symbol{position:absolute;right:22px;top:17px;font-size:25px;color:#91a182}.card-action{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:26px;font-size:13px;font-weight:650}.admin-details{margin:20px 0;padding:0}.admin-details summary{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;font-weight:600}.admin-details form{padding:0 24px 24px}.picker-footer{text-align:center;padding:30px;font-size:12px;color:var(--muted)}.standalone{max-width:660px;padding:50px 22px;margin:auto}.invite-card{margin-top:35px}.invite-card h1{font-size:28px;margin:10px 0}.invite-card form{margin-top:25px}.app-shell{display:flex;min-height:100vh}.sidebar{width:218px;flex:0 0 218px;background:#1e2a25;color:#b4c0b4;position:fixed;inset:0 auto 0 0;padding:29px 16px 18px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding-left:8px;font-size:24px}.sidebar-caption{font-size:9px;letter-spacing:1.4px;color:#6f8577;margin:41px 0 17px 13px;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:8px;font-size:14px;font-weight:550}.nav-item:hover{background:#2e3c33;color:#fff}.nav-item.active{background:var(--yellow);color:#2b3426}.nav-item svg{width:18px;height:18px}.nav-dot{margin-left:auto;background:#3a412b;width:5px;height:5px;border-radius:50%}.sidebar-bottom{margin-top:auto;padding-top:30px}.development{font-size:11px;border:1px solid #354439;border-radius:7px;display:flex;align-items:center;gap:7px;padding:8px 12px;margin-bottom:20px;color:#99af9b}.user-block{display:flex;align-items:center;gap:9px;padding:18px 0 5px;border-top:1px solid #354139}.user-block strong{font-size:12px;color:#e0e8dd;display:block;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-block small{font-size:10px;color:#8ca090;display:block;text-transform:capitalize}.user-block form{margin-left:auto}.five-yellows{display:block;font-size:8px;letter-spacing:1.5px;color:#68816f;margin:22px 0 0 5px}.main-shell{margin-left:218px;flex:1;min-width:0}.topbar{height:80px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:16px}.location-switch{display:flex;align-items:center;gap:12px}.location-icon{background:#f1f3eb;border:1px solid #e4e8db;border-radius:10px;display:flex;align-items:center;justify-content:center;width:39px;height:39px;color:#839472}.location-switch small{display:block;color:var(--muted);font-size:11px;margin-bottom:1px}.location-switch strong{font-size:14px;font-weight:600}.location-switch>span:last-child{color:#98a291;margin-left:10px}.location-switch>span:last-child svg{width:14px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:#668064}.connection.offline{color:var(--red)}.connection.offline .status-dot{background:var(--red)}.topbar-divider{height:25px;width:1px;background:var(--line)}#clock{font-size:12px;color:var(--muted);white-space:nowrap}#app-main{padding:27px 28px 30px}.pos-heading{margin-bottom:20px}.pos-heading h1{font-size:27px}.service-date{font-size:12px;color:var(--muted)}.stats-inline{display:flex;gap:18px;align-items:center}.stats-inline span{font-size:13px;color:var(--muted)}.stats-inline b{color:var(--ink);font-size:18px;margin-right:5px}.accounts-bar{display:flex;gap:10px;overflow:auto;padding:2px 0 18px;margin-bottom:5px;min-height:88px}.account-chip{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 16px;text-align:left;min-width:145px}.account-chip.selected{border-color:#536b47;background:#f0f4e7;box-shadow:inset 0 0 0 1px #536b47}.account-chip strong{font-size:14px;display:block}.account-chip small{display:flex;gap:16px;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:5px}.account-chip.add-account{min-width:70px;border-style:dashed;background:transparent;display:flex;align-items:center;justify-content:center;color:#748069}.pos-grid{display:grid;grid-template-columns:minmax(320px,1fr) 365px;gap:22px;align-items:start}.catalog{min-width:0}.catalog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.catalog-top h2{font-size:18px}.search{position:relative;max-width:320px;flex:1}.search svg{position:absolute;left:13px;top:13px;width:17px;height:17px;color:#8d9887}.search input{padding-left:39px;font-size:13px;min-height:43px}.categories{display:flex;gap:8px;overflow:auto;margin-bottom:18px;padding-bottom:3px}.category{padding:8px 15px;border:1px solid var(--line);background:white;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap}.category.selected{background:#2d3c30;color:white;border-color:#2d3c30}.category small{margin-left:7px;opacity:.55}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-card{border:1px solid var(--line);border-radius:12px;background:white;padding:16px;text-align:left;display:flex;flex-direction:column;min-height:174px;position:relative;transition:box-shadow .15s,border .15s;overflow:hidden}.product-card:hover{border-color:#bac9a5;box-shadow:0 4px 12px #4c61200a}.product-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.product-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#eef2e6;color:#819167;border-radius:9px;font-size:11px;font-weight:700;letter-spacing:.4px}.product-symbol.c1{background:#f7eddf;color:#b79670}.product-symbol.c2{background:#ecf0f5;color:#8299ae}.product-symbol.c3{background:#f4e9e3;color:#b58f7e}.product-card img{width:46px;height:38px;border-radius:7px;object-fit:cover}.product-card .small-label{font-size:8px;color:#9ba390;letter-spacing:.8px}.product-card h3{font-size:14px;font-weight:650;line-height:1.4;margin-bottom:4px;letter-spacing:-.1px}.product-card p{color:#969e91;font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:5px}.product-bottom strong{font-size:15px;font-weight:650}.product-plus{width:25px;height:25px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;font-size:20px;font-weight:400}.product-card.sold-out{opacity:.55;background:#f2f3ee}.catalog-foot{font-size:11px;color:#929b8b;margin-top:20px;display:flex;align-items:center;gap:7px}.order-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;position:sticky;top:18px;box-shadow:0 3px 6px #25312102}.order-top{padding:20px;border-bottom:1px solid var(--line)}.order-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.order-title h2{font-size:18px}.order-meta{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center}.guest-tabs{display:flex;gap:6px;overflow:auto;padding:13px 16px;border-bottom:1px solid var(--line)}.guest-tab{border:1px solid var(--line);padding:7px 11px;border-radius:6px;background:#fff;font-size:11px;white-space:nowrap;color:var(--muted)}.guest-tab.selected{background:#f7f1d6;border-color:#eddfa0;color:#80702f;font-weight:600}.guest-tab.add{background:#f3f5ef;padding:6px 10px}.order-items{min-height:160px;max-height:355px;overflow:auto;padding:2px 18px}.order-item{padding:17px 0;border-bottom:1px dashed var(--line)}.order-item:last-child{border-bottom:0}.item-main{display:flex;align-items:flex-start;gap:11px}.quantity-box{background:#f3f5ef;border:1px solid var(--line);border-radius:6px;font-size:12px;min-width:26px;height:27px;display:flex;align-items:center;justify-content:center}.item-copy{flex:1;min-width:0}.item-copy h3{font-size:13px;line-height:1.5;font-weight:600}.item-price{font-size:13px;font-weight:650}.modifier{display:block;font-size:11px;color:#8b9583;margin-top:2px}.modifier.removed{color:#b45b42}.item-note{font-size:11px;color:#8d7532;background:#fff8de;padding:4px 6px;border-radius:4px;margin-top:5px}.item-bottom{margin-left:37px;margin-top:7px;display:flex;gap:6px;align-items:center;justify-content:space-between}.item-state{font-size:9px;color:#9f8637}.item-state.sent{color:#7c9d7e}.item-actions{display:flex;gap:8px}.text-button{border:0;background:transparent;padding:2px;color:#8d9786;font-size:10px}.text-button:hover{color:var(--ink)}.order-summary{padding:17px 20px;background:#fcfcf9;border-top:1px solid var(--line)}.summary-row{display:flex;justify-content:space-between;font-size:12px;color:#8b9584;margin-bottom:6px}.summary-row.total{margin:12px 0 17px;font-size:19px;color:var(--ink);font-weight:650;letter-spacing:-.5px}.order-summary .button{font-size:12px;min-height:43px}.order-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.order-footer{text-align:center;font-size:10px;color:#969e8d;margin:12px 0 0}.guest-summary{display:flex;justify-content:space-between;padding:0 3px 8px;font-size:10px;color:var(--muted)}.table-panel{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.table-toolbar{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.table-toolbar h2{font-size:16px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}th{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8d9984;text-align:left;font-weight:650;background:#fcfcf9}th,td{padding:16px 21px;border-bottom:1px solid #eef0e9}tr:last-child td{border-bottom:0}td strong{font-size:14px;font-weight:600}td small{display:block;color:#9aa18e;font-size:11px;margin-top:3px}td .pill{font-size:10px}td input[type=checkbox]{display:block}th:first-child:has(input),td:first-child:has(input){width:25px;padding-right:0}td.numeric,th.numeric{text-align:right}.menu-foot{font-size:12px;color:var(--muted);padding:18px 22px;border-top:1px solid var(--line);background:#fafbf6}.info-strip{display:flex;gap:10px;align-items:flex-start;padding:16px 18px;border:1px solid #dfe5d2;background:#eff4e8;border-radius:10px;font-size:12px;color:#718063;margin-bottom:21px}.info-strip svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.tabs{display:flex;gap:4px;background:#e9ede2;padding:4px;border-radius:8px}.tabs button{border:0;border-radius:5px;background:transparent;color:#929e88;padding:8px 14px;font-size:12px;font-weight:600}.tabs button.active{background:#fff;color:#344830;box-shadow:0 1px 3px #334a190a}.kitchen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:19px}.kitchen-card{border:1px solid var(--line);border-top:4px solid #d8b44d;border-radius:12px;overflow:hidden;background:#fff}.kitchen-card.preparing{border-top-color:#829aba}.kitchen-card.ready{border-top-color:#7fa581}.kitchen-top{padding:19px 19px 15px;border-bottom:1px solid var(--line)}.kitchen-title{display:flex;align-items:center;justify-content:space-between}.kitchen-title h2{font-size:19px}.elapsed{font-size:13px;background:#fff4cc;color:#9c7a23;border-radius:5px;padding:3px 7px;font-variant-numeric:tabular-nums}.elapsed.late{background:#fcebe3;color:#b35b39}.kitchen-meta{font-size:11px;color:#8f9b85;display:flex;justify-content:space-between;margin-top:8px}.kitchen-items{padding:5px 19px}.kitchen-item{padding:16px 0;border-bottom:1px dashed var(--line)}.kitchen-item:last-child{border-bottom:0}.kitchen-item h3{font-size:15px;font-weight:650}.kitchen-guest{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#839277;margin-bottom:5px}.kitchen-item .modifier{font-size:13px}.kitchen-item .item-note{font-size:13px;margin-top:8px;padding:7px 10px}.voided{text-decoration:line-through;opacity:.6}.void-reason{color:var(--red);font-size:12px;font-weight:650;margin-top:7px}.kitchen-bottom{padding:14px 19px;background:#fbfcf7;border-top:1px solid var(--line);display:flex;gap:8px}.kitchen-bottom .button{flex:1;font-size:12px}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:12px}.filter-bar p{font-size:12px;color:var(--muted)}dialog{border:1px solid #dde2d7;border-radius:18px;width:530px;max-width:calc(100vw - 28px);padding:27px;background:#fff;color:var(--ink);max-height:90vh;box-shadow:0 24px 80px #10241725}dialog::backdrop{background:#18251e78;backdrop-filter:blur(3px)}dialog.wide-dialog{width:780px}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.dialog-top h2{margin-top:6px;font-size:25px}.dialog-top .eyebrow{font-size:9px}.dialog-top .icon-button{border:0;background:#f4f5f0;flex-shrink:0}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.dialog-actions .price-preview{margin-right:auto;font-size:23px;font-weight:650;letter-spacing:-.7px}.form-error{display:none}.form-error.visible{display:block}.option-group{border:1px solid var(--line);border-radius:10px;padding:16px}.option-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;font-size:14px;font-weight:650}.option-heading small{font-size:10px;color:var(--muted);font-weight:400}.option-row{display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 0;font-weight:450;font-size:14px}.option-row span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}.check-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.upload-zone{padding:24px;border:1px dashed #b8c8a6;border-radius:12px;background:#f9fbf4;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.upload-zone input{border:0;font-size:12px;background:transparent;max-width:100%}.preview-list{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:9px}.preview-list table{font-size:12px}.preview-list th,.preview-list td{padding:12px}.preview-list .pill{font-size:10px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#273b2d;color:#fff;border:1px solid #647c5f;border-radius:10px;padding:13px 21px;box-shadow:0 4px 20px #15241122;z-index:100;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#753d2e;border-color:#9a6250}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.settings-grid .panel h2{font-size:19px;margin-bottom:8px}.settings-grid .panel>p{font-size:13px;color:var(--muted);margin-bottom:25px}.integration-row{padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.integration-row:last-child{border:0}.integration-row strong{font-size:14px;display:block}.integration-row p{font-size:12px;color:var(--muted);margin-top:4px}.receipt-page{padding:35px 15px;max-width:500px;margin:auto}.print-controls{text-align:center;margin-bottom:25px}.print-controls p{font-size:12px;color:var(--muted);margin-top:8px}.receipt{padding:30px;background:#fff;border:1px solid var(--line);font-family:"Courier New",monospace;font-size:13px}.receipt header{text-align:center;padding-bottom:20px}.receipt header>b{font-size:23px}.receipt header h2{font:inherit;font-size:16px;margin:6px 0}.receipt-kind{text-align:center;font-weight:bold;border-top:1px dashed #444;border-bottom:1px dashed #444;padding:12px 0;margin-bottom:16px}.receipt p{margin:14px 0}.receipt-line{display:flex;gap:16px;justify-content:space-between;margin:7px 0}.receipt-line strong{white-space:nowrap}.receipt small{display:block;font-size:11px}.receipt-guest{display:block;margin:20px 0 7px}.receipt-totals{border-top:1px dashed #444;margin-top:20px;padding-top:15px}.receipt-totals>div{display:flex;justify-content:space-between;margin:7px 0}.receipt-total{font-size:17px;font-weight:bold}.receipt-warning{text-align:center;font-weight:bold}.receipt footer{border-top:1px dashed #444;margin-top:25px;padding-top:20px;text-align:center}.receipt footer small{margin-top:15px;overflow-wrap:anywhere}
@media(min-width:1600px){.pos-grid{grid-template-columns:minmax(500px,1fr) 420px}.product-card{min-height:194px}.product-card h3{font-size:16px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.order-items{max-height:460px}.order-panel .button{font-size:14px}.kitchen-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.sidebar{width:185px;flex-basis:185px;padding:28px 12px 18px}.sidebar .brand{font-size:20px;padding-left:3px;gap:7px}.main-shell{margin-left:185px}.nav-item{font-size:12px;padding:13px 11px;gap:10px}#app-main{padding:23px 20px}.topbar{padding:0 21px}.pos-grid{grid-template-columns:minmax(290px,1fr) 330px;gap:16px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right{gap:13px}.connection{font-size:10px}.kitchen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-block strong{max-width:82px}.auth-story{padding:40px}.stats-inline{display:none}}
@media(max-width:920px){.sidebar{width:72px;flex-basis:72px;padding:25px 10px}.sidebar .brand>span,.sidebar-caption,.sidebar-bottom,.nav-item .nav-dot{display:none}.sidebar .brand{padding:0;justify-content:center}.sidebar nav{margin-top:40px}.nav-item{font-size:0;gap:0;justify-content:center;padding:15px 5px}.nav-item svg{width:21px;height:21px}.main-shell{margin-left:72px}.location-grid{grid-template-columns:repeat(2,1fr)}.topbar .connection{display:none}.settings-grid{grid-template-columns:1fr}.auth-page{grid-template-columns:40% 60%}.auth-message h1{font-size:48px;letter-spacing:-2px}.auth-story{padding:30px}.auth-footer{display:none}}
@media(max-width:700px){.auth-page{display:block}.auth-story{min-height:200px;padding:24px}.auth-message{padding:35px 0 0;gap:10px}.auth-message h1{font-size:34px;letter-spacing:-1px}.auth-message h1 br{display:none}.auth-message .eyebrow,.auth-message p{display:none}.auth-main{padding:35px 24px}.auth-card h2{font-size:27px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:65px;flex-direction:row;padding:5px;z-index:25;justify-content:center}.sidebar .brand{display:none}.sidebar nav{margin:0;flex-direction:row;justify-content:space-around;width:100%}.nav-item{width:50px;height:49px}.main-shell{margin:0 0 65px}.topbar{height:69px;padding:0 16px}.topbar .header-right{gap:10px}.topbar-divider{display:none}#clock{font-size:10px}#app-main{padding:22px 15px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.page-heading .actions .button{font-size:11px;padding:9px 10px}.page-heading p{font-size:12px}.pos-grid{display:flex;flex-direction:column}.catalog,.order-panel{width:100%}.order-panel{position:static}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{min-height:160px}.catalog-top{margin-bottom:13px}.order-items{max-height:none}.kitchen-grid{grid-template-columns:1fr}.filter-bar{align-items:flex-start;flex-direction:column}.location-grid{grid-template-columns:1fr}.picker-header{padding:0 20px}.picker-header .brand{font-size:22px}.picker-header .header-right>span{display:none}.picker-main{padding:28px 18px}.picker-main .page-heading{display:block}.picker-main .pill{margin-top:18px}.form-grid{grid-template-columns:1fr}.form-grid>div:empty{display:none}.table-toolbar{padding:15px;flex-wrap:wrap}.table-toolbar .search{max-width:100%;min-width:180px}.table-toolbar h2{font-size:14px}th,td{padding:14px}.tabs button{padding:8px 11px}.settings-grid .panel{padding:20px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{font-size:12px}dialog{padding:22px}.check-fields{grid-template-columns:1fr}.receipt-page{padding:20px 10px}.receipt{padding:20px}}
@media print{body{background:#fff}.print-controls{display:none}.receipt-page{padding:0;margin:0;max-width:80mm}.receipt{border:0;padding:3mm;width:76mm;font-size:11px}.receipt header>b{font-size:19px}.receipt-kind{font-size:12px}.receipt-line,.receipt-totals>div{break-inside:avoid}.receipt footer{font-size:11px}@page{size:80mm auto;margin:0}}

/* Merchant portal */
[hidden]{display:none!important}
.merchant-shell{background:#f7f8fa}
.merchant-shell .sidebar{width:236px;flex-basis:236px;background:#fff;border-right:1px solid #e6e9e6;color:#26352e;padding:26px 16px 18px}
.merchant-shell .sidebar .brand{color:#1e3028;font-size:24px}
.merchant-shell .main-shell{margin-left:236px}
.sidebar-workspace{display:block;margin:28px 2px 0;padding:15px 12px;border:1px solid #e7eae6;border-radius:10px;color:inherit}
.sidebar-workspace .small-label{display:block;font-size:10px;letter-spacing:.45px;color:#7a837d;overflow-wrap:anywhere}
.sidebar-workspace strong{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;margin-top:7px;line-height:1.4}
.sidebar-workspace strong>span{flex:none;display:flex}
.sidebar-workspace svg{width:16px;height:16px}
.merchant-shell .sidebar-caption{margin:25px 12px 12px;color:#89918c;letter-spacing:1.2px}
.merchant-shell .sidebar nav{gap:5px}
.merchant-shell .nav-item{color:#65716a;border-radius:8px;min-height:42px;font-size:13px;font-weight:550;padding:11px 13px;gap:12px}
.merchant-shell .nav-item:hover{background:#f5f6f3;color:#1e3028}
.merchant-shell .nav-item.active{background:#fff6c4;color:#253329;font-weight:700}
.merchant-shell .nav-item svg{width:20px;height:20px;stroke-width:1.7}
.merchant-shell .nav-dot{background:#9b801d}
.merchant-shell .sidebar-bottom{padding-top:24px}
.merchant-shell .user-block{border-top:1px solid #e7eae6;padding-top:18px;color:#2a382f;gap:9px}
.merchant-shell .user-block>div{min-width:0;flex:1}
.merchant-shell .user-block strong{color:#2a382f;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.merchant-shell .user-block small{color:#7a837d;font-size:10px;line-height:1.5}
.merchant-shell .user-block .avatar{width:31px;height:31px;flex:none;background:#f1f3ec;color:#3c5a45;font-size:12px}
.merchant-shell .five-yellows{color:#929a94;font-size:8px;letter-spacing:1.2px;margin-left:3px}
.merchant-shell .topbar{height:76px;border-color:#e6e9e6;padding:0 32px}
.merchant-shell .location-icon{background:#f4f6ef;color:#62755b}
.merchant-shell #app-main{padding:30px 32px 40px;max-width:1820px;margin:0 auto}
.portal-breadcrumb{font-size:13px;color:#6b756e}
.compact-signout{display:none}
.merchant-shell .picker-main{max-width:1250px;padding:39px 34px;margin:auto}
.merchant-shell .picker-main .page-heading{margin-bottom:30px}
.locations-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;background:white;border:1px solid #e1e6e0;border-radius:12px;margin-bottom:30px}
.locations-toolbar .search{max-width:370px;width:100%}
.business-filter{display:flex;align-items:center;gap:12px;margin:0;white-space:nowrap;color:#68766c;font-size:12px}
.business-filter select{margin:0;min-width:210px}
.location-empty{background:#fff;border:1px solid #e1e6e0;border-radius:14px;padding:60px 25px;margin:15px 0 26px}
.location-empty .button{margin-top:20px}
.merchant-shell .location-card{box-shadow:none;border-radius:12px}
.merchant-shell .location-card:hover{border-color:#b0bba6;box-shadow:0 4px 18px #1c33290b}
.merchant-shell .business-group>h2{font-size:18px;margin:0 0 16px}
.merchant-shell .admin-details{margin-top:18px;border-radius:12px;scroll-margin-top:20px}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:2px 0 29px}
.dashboard-heading h1{font-size:28px;letter-spacing:-.9px;margin:9px 0 6px;line-height:1.3}
.dashboard-heading p{color:#7c867e;font-size:13px}
.dashboard-heading .eyebrow{font-size:9px;letter-spacing:1.35px;color:#788775}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}
.metric-card{background:#fff;border:1px solid #e1e6e0;border-radius:12px;padding:21px 21px 20px}
.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#727e75}
.metric-label>span{display:flex;color:#91a08e}
.metric-label svg{width:18px;height:18px}
.metric-card>strong{display:block;font-size:28px;line-height:1.2;letter-spacing:-1px;margin:15px 0 10px;font-weight:700}
.metric-card>small{display:block;color:#899187;font-size:10px;line-height:1.5}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.dashboard-primary,.dashboard-secondary{display:flex;flex-direction:column;gap:24px;min-width:0}
.dashboard-grid .panel{padding:24px;border-radius:12px;border-color:#e1e6e0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.section-heading h2,.quick-actions h2{font-size:16px;letter-spacing:-.3px;margin:0;line-height:1.5}
.section-heading p{color:#859083;font-size:11px;margin-top:4px;line-height:1.5}
.week-total{display:block;font-size:32px;font-weight:700;letter-spacing:-1.2px;line-height:1.25;margin-top:23px}
.trend-chart{display:flex;gap:20px;padding:22px 4px 0;margin-top:18px;border-bottom:0;min-width:0}
.trend-column{flex:1;min-width:0;text-align:center}
.trend-bar-track{height:142px;position:relative;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #e3e8de;background:repeating-linear-gradient(to top,transparent,transparent 46px,#f0f3eb 47px,#f0f3eb 48px)}
.trend-bar{width:55%;max-width:45px;background:#c8d6bd;border-radius:5px 5px 0 0;min-height:0}
.trend-bar.today{background:#f3d342}
.trend-amount{position:absolute;top:-19px;font-size:10px;color:#84907f;white-space:nowrap}
.trend-day{display:block;margin:12px 0 1px;font-size:11px;color:#899282}
.dashboard-footnote{font-size:10px;color:#91988b;line-height:1.7;margin-top:23px}
.chart-empty{font-size:12px;color:#818b78;margin-top:18px}
.recent-panel .section-heading{margin-bottom:17px}
.recent-panel table th{padding:12px 10px;background:#fafbf8;font-size:10px}
.recent-panel table td{padding:14px 10px;font-size:12px}
.recent-panel table td:last-child,.recent-panel table th:last-child{text-align:right}
.text-link{display:flex;align-items:center;gap:7px;font-size:11px;color:#536346;white-space:nowrap;font-weight:650}
.text-link svg{width:14px;height:14px}
.compact-empty{padding:30px 10px 22px}
.compact-empty h3{font-size:15px}
.compact-empty p{font-size:12px}
.dashboard-symbol{display:flex;width:31px;height:31px;background:#f5f7ef;align-items:center;justify-content:center;border-radius:8px;color:#768366}
.dashboard-symbol svg{width:18px;height:18px}
.kitchen-stat{display:flex;align-items:center;justify-content:space-between;margin-top:23px;font-size:12px;color:#76806f}
.kitchen-stat>span{display:flex;align-items:center;gap:8px}
.kitchen-stat strong{font-size:22px;letter-spacing:-.6px;color:#2b3828}
.queue-dot{display:inline-block;width:7px;height:7px;border-radius:50%}
.queue-dot.new{background:#edc741}.queue-dot.preparing{background:#93b398}
.kitchen-summary .muted{font-size:11px;line-height:1.6;margin:21px 0 18px}
.kitchen-summary .button{font-size:12px;min-height:38px}
.quick-actions h2{margin-bottom:13px}
.quick-action{display:flex;align-items:center;gap:11px;padding:18px 0;color:#273b2a;border-bottom:1px solid #ecf0e7}
.quick-action:last-child{border:0;padding-bottom:0}
.quick-action>span:nth-child(2){flex:1;min-width:0}
.quick-action strong{display:block;font-size:12px;font-weight:650;line-height:1.4}
.quick-action small{display:block;font-size:10px;line-height:1.6;color:#89927f;margin-top:4px}
.quick-action-icon{display:flex;color:#879573}
.quick-action-icon svg{width:18px;height:18px}
.quick-action>svg{width:14px;height:14px;flex:none;color:#b0b7a6}
.dashboard-location-note{display:flex;gap:12px;padding:0 9px;color:#849079}
.dashboard-location-note>svg{width:19px;height:19px;flex:none;margin-top:1px}
.dashboard-location-note strong{display:block;font-size:12px;color:#63705a}
.dashboard-location-note span{display:block;font-size:10px;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}
.dashboard-location-note a{display:inline-block;font-size:11px;color:#617852;text-decoration:underline;margin-top:8px}
@media(max-width:1280px){
.merchant-shell .sidebar{width:205px;flex-basis:205px;padding:26px 12px 18px}
.merchant-shell .main-shell{margin-left:205px}
.merchant-shell #app-main{padding:25px 24px 35px}
.dashboard-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}
.metric-grid{gap:12px}.metric-card{padding:18px 15px}.metric-card>strong{font-size:25px}
.dashboard-grid .panel{padding:20px}.trend-chart{gap:12px}.dashboard-heading h1{font-size:25px}
}
@media(max-width:1050px){
.dashboard-grid{grid-template-columns:1fr}
.dashboard-secondary{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-location-note{grid-column:1/-1}
}
@media(max-width:920px){
.merchant-shell .sidebar{width:72px;flex-basis:72px;padding:24px 9px}
.merchant-shell .main-shell{margin-left:72px}
.merchant-shell .sidebar-workspace,.merchant-shell .sidebar .nav-label{display:none}
.merchant-shell .sidebar nav{margin-top:35px}
.merchant-shell .nav-item{padding:12px;justify-content:center}
.merchant-shell .sidebar .brand{padding:0}
.compact-signout{display:block}
.locations-toolbar{flex-wrap:wrap}.locations-toolbar .search{max-width:none}.business-filter{width:100%}.business-filter select{flex:1;min-width:0}
}
@media(max-width:700px){
.merchant-shell .sidebar{inset:auto 0 0;width:100%;height:72px;display:flex;flex-direction:row;padding:4px 5px;background:#fff;border-top:1px solid #e1e6e0;border-right:0}
.merchant-shell .main-shell{margin:0 0 72px}
.merchant-shell .sidebar nav{margin:0;flex-direction:row;overflow-x:auto;justify-content:flex-start;gap:3px;scrollbar-width:none}
.merchant-shell .sidebar .nav-label{display:block;font-size:10px;line-height:1.3}
.merchant-shell .nav-item{display:flex;flex-direction:column;min-width:60px;flex:1;gap:5px;padding:9px 7px 7px;font-size:10px;min-height:56px;border-radius:7px}
.merchant-shell .nav-item svg{width:19px;height:19px}
.merchant-shell .topbar{height:67px;padding:0 17px}
.merchant-shell #app-main,.merchant-shell .picker-main{padding:25px 17px 30px}
.merchant-shell .topbar .header-right>span,.merchant-shell .topbar #clock{display:none}
.portal-breadcrumb{font-size:11px}
.dashboard-heading{display:block;margin-bottom:22px}.dashboard-heading h1{font-size:25px}.dashboard-heading .actions{margin-top:18px}
.metric-grid{gap:10px;margin-bottom:18px}.metric-card{padding:17px 13px}.metric-card>strong{font-size:25px}.metric-label{font-size:11px}.metric-label svg{width:15px;height:15px}.metric-card>small{font-size:9px}
.dashboard-secondary{grid-template-columns:1fr}.dashboard-grid,.dashboard-primary,.dashboard-secondary{gap:18px}.dashboard-grid .panel{padding:20px 16px}
.trend-chart{gap:8px;padding-top:22px}.trend-amount{font-size:8px}.trend-day{font-size:9px}.trend-bar-track{height:123px}.week-total{font-size:29px}
.section-heading{gap:7px}.section-heading h2{font-size:15px}.text-link{font-size:10px}.section-heading .pill{font-size:10px}
.recent-panel table{min-width:370px}.location-empty{padding:38px 17px}.locations-toolbar{padding:13px}.business-filter{display:block}.business-filter select{width:100%;margin-top:6px}
}

/* Menu editing and compact POS cards. */
.product-card.compact-product{min-height:108px;padding:15px;gap:18px;border-radius:10px}.compact-product h3{font-size:15px;line-height:1.35;margin:0;overflow-wrap:anywhere}.compact-product .product-bottom{margin-top:auto;padding:0}.compact-product .product-bottom strong{font-size:15px}.compact-product .product-plus{min-width:26px;width:auto;padding:0 5px}.menu-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.menu-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0}.menu-view-tabs{display:flex;gap:22px;align-self:stretch;align-items:center}.menu-view-tabs button{border:0;border-bottom:3px solid transparent;padding:14px 2px;background:transparent;font-size:14px;color:#6a746b;cursor:pointer}.menu-view-tabs button.active{border-bottom-color:#26392d;color:#26392d;font-weight:700}.menu-filters{display:flex;gap:10px;align-items:center;flex:1;justify-content:flex-end}.menu-filters .search{max-width:340px}.menu-filters>select{width:135px;font-size:13px;min-height:43px}.menu-category{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:18px;overflow:hidden}.menu-category>summary{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}.menu-category>summary::-webkit-details-marker{display:none}.menu-category>summary strong{display:block;font-size:16px}.menu-category>summary small{display:block;font-size:11px;color:#71816c;margin-top:4px}.menu-category>summary>svg{width:18px;height:18px;transition:transform .15s}.menu-category[open]>summary>svg{transform:rotate(180deg)}.menu-category:not([open])>summary{border-bottom:0}.menu-items-table th:first-child{width:55%}.menu-items-table th:last-child{width:60px}.menu-items-table td{padding:14px 22px}.menu-items-table td:first-child{white-space:normal;min-width:220px}.menu-items-table td small{line-height:1.5;color:#717c6a}.menu-price{font-variant-numeric:tabular-nums}.stock-select{width:128px;min-height:38px;font-size:12px;border-radius:22px;padding:8px 12px}.menu-caption{font-size:12px;line-height:1.6;color:#727e6d;margin:18px 0}.modifier-overview .modifier-options-copy{white-space:normal;min-width:220px;max-width:380px;font-size:12px;line-height:1.7;color:#62715f}dialog.menu-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:680px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);border-radius:0;padding:26px 30px;overscroll-behavior:contain}.menu-drawer .dialog-top{position:sticky;top:-26px;z-index:2;background:#fff;padding:20px 0 18px;margin-top:-12px;margin-bottom:8px;border-bottom:1px solid var(--line)}.menu-drawer .dialog-top h2{font-size:25px;overflow-wrap:anywhere}.menu-drawer .dialog-actions{position:sticky;bottom:-26px;z-index:2;background:white;padding:18px 0;margin:0;border-top:1px solid var(--line)}.menu-drawer form{gap:0}.editor-notice{background:#f3f6ee;border:1px solid #e1e7d8;border-radius:9px;padding:14px 16px;margin:12px 0 18px;font-size:12px}.editor-notice strong{display:block;color:#334730}.editor-notice p{line-height:1.6;margin:6px 0 0;color:#60715a}.editor-section{padding:22px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.editor-section:last-of-type{border-bottom:0}.editor-section h3{font-size:17px;margin:0;color:#23372b}.editor-section label{font-size:12px;line-height:1.5}.editor-section .fine{line-height:1.65;color:#6b7964;margin:0}.editor-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.editor-section-heading .button{font-size:12px;min-height:36px}.editor-option{display:grid;grid-template-columns:minmax(0,1fr) 135px 34px;gap:10px;align-items:end}.editor-option>.icon-button{margin-bottom:6px;width:32px;height:32px;flex-shrink:0}.modifier-editor{border:1px solid #dfe5d8;border-radius:10px;padding:16px;background:#fbfcf9;display:flex;flex-direction:column;gap:13px}.modifier-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.modifier-editor-heading .text-button{font-size:11px;color:#8b5644}.editor-section input[readonly]{background:#f0f2ed;color:#687162}.menu-drawer .form-error.visible{position:relative;margin:14px 0 0}.editor-section details>summary{cursor:pointer;font-size:12px;color:#62765b}.editor-section details[open]>label{margin-top:12px}#back-to-editor{margin-top:18px;text-align:left}
@media(min-width:1600px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-card.compact-product{min-height:110px}}
@media(max-width:900px){.menu-browser-bar{align-items:stretch;flex-direction:column;gap:12px}.menu-filters{justify-content:flex-start}.menu-filters .search{max-width:none}.menu-view-tabs{align-self:flex-start}}
@media(max-width:600px){dialog.menu-drawer{padding:20px}.menu-drawer .dialog-top{top:-20px}.menu-drawer .dialog-actions{bottom:-20px;padding:14px 0}.editor-option{grid-template-columns:minmax(0,1fr) 105px 30px;gap:7px}.modifier-editor{padding:12px}.menu-controls{align-items:flex-start}.menu-controls .tabs button{font-size:11px;padding:8px}.menu-category>summary{padding:16px}.menu-items-table td{padding:12px 15px}.product-card.compact-product{min-height:102px;padding:12px;gap:15px}.compact-product h3{font-size:14px}.menu-caption{font-size:11px}.menu-filters>select{width:110px}.editor-section-heading{flex-wrap:wrap}}

/* Location service menus and weekly hours. */
.service-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 20px}.service-heading h2{margin:0 0 7px;font-size:20px}.service-heading p{margin:0;font-size:12px;color:#64715f}.service-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-menu-card{margin:0}.service-menu-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.service-menu-card h3{font-size:21px;margin:0 0 10px}.service-hours-copy{display:flex;align-items:flex-start;gap:10px;margin:20px 0 14px}.service-hours-copy svg{width:18px;height:18px;flex:none;margin-top:2px}.service-hours-copy p{margin:0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.service-item-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.service-item-tags span{background:#f2f5ec;border-radius:5px;font-size:11px;padding:6px 8px}.service-period{border:1px solid var(--line);border-radius:10px;background:#fbfcf9;padding:16px;margin:0 0 16px;display:flex;flex-direction:column;gap:14px}.service-period h3{font-size:14px}.service-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.service-days label{position:relative;cursor:pointer}.service-days input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.service-days span{display:block;text-align:center;padding:10px 2px;border:1px solid #d9dfd2;border-radius:7px;background:#fff;font-size:12px}.service-days input:checked+span{background:#f8dc49;border-color:#c4a71d;color:#253629;font-weight:700}.service-days input:focus-visible+span{outline:2px solid #465d31;outline-offset:2px}#service-periods>.fine{margin-top:12px}.service-product-picker{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px}.service-picker-category{border-bottom:1px solid var(--line)}.service-picker-category:last-child{border:0}.service-picker-category>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f7f0;padding:13px 12px;cursor:pointer}.service-picker-category>summary label{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;cursor:pointer}.service-picker-category>summary>span{font-size:11px;color:#67745e}.service-product-choice{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px!important;border-top:1px solid #edf0e8;margin:0!important;cursor:pointer}.service-product-choice input,.service-picker-category input{width:17px;height:17px;min-height:17px;flex:none;accent-color:#546443;margin:0}.service-product-choice>span:first-of-type{flex:1;min-width:0}.service-product-choice strong,.service-product-choice small{display:block;overflow-wrap:anywhere}.service-product-choice strong{font-size:12px;font-weight:500}.service-product-choice small{font-size:10px;color:#748068;margin-top:3px}.service-product-choice>span:last-child{font-size:12px;white-space:nowrap}.pos-service-menus{display:flex;gap:8px;overflow-x:auto;padding:0 22px 5px}.service-chip{display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:center;background:#fff;border:1px solid #dfe5d8;border-radius:9px;min-height:48px;padding:9px 13px;font-size:12px;white-space:nowrap;cursor:pointer}.service-chip.selected{background:#fff6c2;border-color:#e4c438}.service-chip small{font-size:10px;color:#64745a}.pos-hours-note{padding:0 22px;margin:6px 0 15px;font-size:11px;color:#6a775f;line-height:1.6}.compact-product:disabled .product-plus{font-size:10px;background:transparent;max-width:84px;text-align:right}.service-product-choice[hidden],#service-periods[hidden],.menu-filters[hidden]{display:none!important}
@media(max-width:1000px){.service-menu-grid{grid-template-columns:1fr}.menu-workspace > .page-heading{align-items:flex-start;flex-direction:column}.menu-view-tabs{gap:17px}.menu-view-tabs button{white-space:nowrap}}
@media(max-width:600px){.service-heading{align-items:flex-start}.service-heading h2{font-size:18px}.service-heading .button{font-size:12px}.service-period{padding:12px}.service-days{gap:4px}.service-days span{font-size:11px;padding:10px 1px}.service-product-picker{max-height:300px}.menu-view-tabs{gap:14px}.menu-view-tabs button{font-size:12px}.service-menu-card h3{font-size:19px}.pos-service-menus{padding:0 15px 5px}.pos-hours-note{padding:0 15px}}

/* Uploaded dish photos and explicit service-hour scope. */
.service-scope-note{margin-top:20px;padding:28px;max-width:780px}
.service-scope-note h2{margin:16px 0 10px}
.service-scope-note p{color:var(--muted);line-height:1.6;margin:0 0 16px}
.service-scope-note .button{white-space:normal;text-align:left}
.photo-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:14px}
.photo-preview{aspect-ratio:1;background:#f6f6f2;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid;place-items:center}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-preview span{display:grid;justify-items:center;gap:8px;color:var(--muted);text-align:center;padding:12px}
.photo-preview small{font-size:11px}
.photo-controls{min-width:0}
.photo-controls>strong{display:block;margin:0 0 12px;font-size:14px}
.photo-upload-label{font-size:12px!important;margin:0!important}
.photo-upload-label input{font-size:11px;padding:7px;max-width:100%;margin-top:6px}
.photo-upload-label input::file-selector-button{border:0;border-radius:5px;background:#f5dc51;padding:7px 9px;margin-right:8px;color:#20231f;font-weight:650;cursor:pointer}
.photo-status:empty{display:none}
.photo-status{overflow-wrap:anywhere}
@media(max-width:520px){.photo-card{grid-template-columns:1fr;gap:14px}.photo-preview{aspect-ratio:16/10}.service-scope-note{padding:20px}}

.menu-selection-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0 8px}
.menu-selection-bar>label{width:min(440px,100%);margin:0;font-size:12px}
.menu-selection-bar select{margin-top:6px;font-weight:650;background:#fff}
.menu-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pos-hours-toggle{margin:18px 0!important;padding:14px;border:1px solid var(--line);border-radius:10px;align-items:flex-start!important}
.pos-hours-toggle small,.publish-locations small{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.publish-locations,.publish-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.publish-locations .check-option{border:1px solid var(--line);border-radius:10px;padding:13px;margin:0}
.publication-location{padding:18px;margin:14px 0}
.publication-location summary{cursor:pointer;font-size:13px;font-weight:650;padding:14px 0}
.publication-location .alert{margin-top:12px}
.publication-location .editor-section-heading{flex-wrap:wrap;gap:8px}
@media(max-width:520px){.publish-locations,.publish-fields{grid-template-columns:1fr}.menu-selection-bar>label{width:100%}.menu-card-actions .button{flex:1}}

.publish-fields .check-option,.publish-locations .check-option,.pos-hours-toggle{flex-direction:row;align-items:flex-start;gap:10px}
.publish-fields .check-option{margin:0;padding:8px 0;font-size:13px}
/* Staff access and authorized stations */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.station-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:28px 20px;background:radial-gradient(ellipse at top,#fffbeb 0,transparent 60%),var(--bg)}
.station-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.station-brand>strong{font-size:27px;letter-spacing:-1px}.station-brand>span{font-size:10px;letter-spacing:1.5px;color:var(--muted);border-left:1px solid var(--line);padding-left:15px;margin-left:7px}
.station-access-card{width:420px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 34px;box-shadow:0 12px 42px #1d282508;text-align:center}.station-location{margin-bottom:24px}.station-location h1{font-size:28px;margin:7px 0 12px}.station-location p{font-size:14px;margin-top:12px}.station-access-card h2{font-size:23px}.station-access-card>p.muted{font-size:14px;margin-top:8px}.station-access-card form{margin:20px 0}.station-access-card .form-error{text-align:left}.station-access-card .button.wide{justify-content:center;min-height:50px}.pin-label input{font-size:26px;letter-spacing:12px;text-align:center;background:#f8f9f5;min-height:56px;padding-left:25px}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-key{border:1px solid var(--line);border-radius:11px;min-height:60px;background:#fff;font-size:25px;font-weight:600;color:var(--ink)}.pin-key:hover,.pin-key:active{background:#fff8da;border-color:#e5cc6d}.pin-key-text{font-size:13px;color:var(--muted)}.station-access-footer{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:22px;font-size:12px;color:var(--muted)}.station-access-footer>span{letter-spacing:1.3px;font-size:10px}.station-access-footer a:hover{text-decoration:underline}.station-success{background:#eff8f0;border-color:#d3e8d8;color:#286e4d;margin-bottom:20px}.pairing-code-input{font:600 21px ui-monospace,monospace;letter-spacing:1px;text-align:center;text-transform:uppercase}.station-url{overflow-wrap:anywhere;font-weight:600;margin:12px 0 22px}.station-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.station-card{display:flex;flex-direction:column}.station-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.station-symbol{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:12px;background:#fff8d5;color:#655717}.station-card h2{margin-bottom:9px}.station-card>p{font-size:14px;color:var(--muted);line-height:1.7;margin:16px 0 22px;flex:1}.station-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.server-assignment{padding:12px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:12px}.server-assignment strong{color:var(--ink)}
@media(max-width:1100px){.station-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right:has([data-station-lock]){gap:10px}.header-right:has([data-station-lock]) #clock,.header-right:has([data-station-lock]) .topbar-divider{display:none}}
@media(max-width:620px){.station-grid{grid-template-columns:minmax(0,1fr)}.station-screen{padding:20px 14px}.station-access-card{padding:24px}.station-brand>span{display:none}.header-right:has([data-station-lock]) .connection{display:none}.header-right [data-station-lock]{font-size:12px;white-space:normal;padding:8px}.server-assignment{padding:10px 16px}}
@media(max-height:790px) and (min-width:621px){.station-screen{padding:16px}.station-brand{margin-bottom:14px}.station-access-card{padding:20px 30px}.station-location{margin-bottom:16px}.station-access-card form{gap:12px;margin:14px 0}.pin-key{min-height:50px}.station-access-footer{margin-top:14px}}

.printing-panel{margin-top:24px}.printing-panel form{max-width:600px;margin-bottom:28px}.printing-panel td small{display:block;max-width:340px;overflow-wrap:anywhere}.printing-panel td{vertical-align:top}

/* POS input stays visible above its own touch keyboard. */
.item-note{white-space:pre-wrap;overflow-wrap:anywhere}
.pos-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:stretch}
.pos-stepper input{text-align:center;font-size:21px;font-weight:650;min-width:0;appearance:textfield;-moz-appearance:textfield}
.pos-stepper input::-webkit-inner-spin-button,.pos-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pos-stepper button{border:1px solid var(--line);border-radius:9px;background:#f5f7ef;color:var(--ink);font-size:25px;min-height:48px}
.pos-stepper button:active{background:#fff1aa;border-color:#c7ac39}
#pos-keyboard{width:440px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;margin:auto;overflow:hidden;border-radius:16px;box-shadow:0 18px 80px #15211733;color:var(--ink)}
#pos-keyboard[open]{display:flex;flex-direction:column;gap:12px}
#pos-keyboard.pos-keyboard-letters{width:800px}
#pos-keyboard::backdrop{background:#18221cc7}
#pos-keyboard [hidden]{display:none!important}
.pos-keyboard-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.pos-keyboard-header h2{font-size:23px;margin-top:3px}
.pos-keyboard-header .eyebrow{font-size:9px}
.pos-keyboard-header .icon-button{width:44px;height:44px;font-size:25px;flex:none}
.pos-keyboard-editor{flex:none;min-width:0}
#pos-keyboard .pos-keyboard-value{font-size:28px;font-weight:550;line-height:1.3;padding:12px 14px;min-height:56px;background:#fffcf0;caret-color:#526839}
#pos-keyboard textarea.pos-keyboard-value{font-size:21px;height:90px;min-height:60px;resize:none;white-space:pre-wrap}
.pos-keyboard-tools{display:flex;gap:12px;align-items:center;margin-top:4px;min-height:32px}
.pos-keyboard-hint{font-size:11px;line-height:1.4;color:var(--muted);flex:1}
.pos-keyboard-tools .text-button{font-size:12px;color:#455a3d;min-height:32px;white-space:nowrap}
.pos-keyboard-error{font-size:13px;color:var(--red);line-height:1.4;margin-top:5px}
.pos-keyboard-error:empty{display:none}
.pos-keyboard-layouts{display:flex;gap:6px;flex:none}
.pos-keyboard-layouts button{min-height:40px;min-width:76px;border:1px solid var(--line);border-radius:8px;background:#f6f7f1;color:#65715b;font-size:14px;font-weight:650}
.pos-keyboard-layouts button.selected{background:#253c2d;color:#fff;border-color:#253c2d}
.pos-keyboard-keys{display:flex;flex-direction:column;gap:7px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px}
.pos-key-row{display:flex;gap:7px;flex:none}
.pos-key,.pos-key-spacer{flex:1;min-width:0}
.pos-key{border:1px solid #d5ddcd;border-radius:9px;min-height:54px;padding:4px;background:#f7f9f2;color:#26392c;font-size:24px;font-weight:550;user-select:none;box-shadow:0 2px 0 #e1e7d8}
.pos-key:hover{background:#edf2e5}.pos-key:active{background:#ffe994;border-color:#beaa4c;box-shadow:none}
.pos-key-action{font-size:14px;background:#e9eee1}
.pos-keyboard-letters .pos-key{min-height:48px;font-size:22px}
.pos-keyboard-letters .pos-key-action{font-size:13px;flex:1.5}
.pos-key-symbols .pos-key{min-height:38px;font-size:18px}
.pos-keyboard-letters .pos-key-space{flex:7;font-size:14px}
.pos-key[aria-pressed=true]{background:#fff0ac;border-color:#c8b348}
.pos-keyboard-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid var(--line);flex:none}
.pos-keyboard-footer .fine{font-size:11px;flex:1}
.pos-keyboard-footer .button{min-height:48px;min-width:94px;font-size:15px}
@media(max-height:680px){
 #pos-keyboard{padding:12px}#pos-keyboard[open]{gap:6px}
 .pos-keyboard-header h2{font-size:20px}.pos-keyboard-header .eyebrow{display:none}
 .pos-keyboard-header .icon-button{width:36px;height:36px}
 #pos-keyboard .pos-keyboard-value{min-height:44px;font-size:25px;padding:8px 12px}
 #pos-keyboard textarea.pos-keyboard-value{height:56px;min-height:56px;font-size:19px;padding:4px 10px}
 .pos-keyboard-tools,.pos-keyboard-tools .text-button{min-height:28px}
 .pos-keyboard-layouts button{min-height:32px}.pos-keyboard-keys,.pos-key-row{gap:5px}
 .pos-key,.pos-keyboard-letters .pos-key{min-height:40px}.pos-key-symbols .pos-key{min-height:30px}
 .pos-keyboard-footer{padding-top:6px}.pos-keyboard-footer .button{min-height:44px}
}
@media(max-width:600px){
 #pos-keyboard{padding:12px;max-width:calc(100vw - 16px)}#pos-keyboard[open]{gap:10px}
 .pos-keyboard-header h2{font-size:21px}.pos-keyboard-tools{gap:9px}
 .pos-keyboard-letters .pos-key-row{gap:4px}.pos-keyboard-letters .pos-key{font-size:18px;border-radius:6px;padding:2px}
 .pos-keyboard-letters .pos-key-action{font-size:10px}.pos-keyboard-letters .pos-key-space{font-size:13px}
 .pos-keyboard-footer .fine{display:none}.pos-keyboard-footer .button{flex:1}
}

/* Bulk menu and order management */
.bulk-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 18px;margin:0 0 18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.bulk-toolbar>.actions{margin-left:auto}.bulk-toolbar #bulk-count{font-size:13px;color:var(--muted)}
.bulk-check{display:inline-flex;align-items:center;gap:10px;flex-direction:row;font-size:13px;cursor:pointer;margin:0}
.bulk-item{display:flex;align-items:center;gap:14px}.bulk-item>div{min-width:0}.bulk-item strong{white-space:normal}
.bulk-check input,.bulk-item>input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:#374b2d;cursor:pointer}
.button.danger{background:#a72c27;border-color:#a72c27;color:white}.button.danger:hover{background:#8b201c}.button:disabled{opacity:.45;cursor:not-allowed}
.bulk-preview{margin:8px 0;padding:14px 14px 14px 32px;border:1px solid var(--line);border-radius:8px;max-height:230px;overflow:auto;font-size:13px;line-height:1.8}
.history-list-label{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:13px}.history-list-label select{min-width:170px}
.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0;font-size:13px;color:var(--muted)}
.menu-filters{flex-wrap:wrap}.menu-filters #menu-deletion-status{width:150px}
@media(max-width:700px){.bulk-toolbar{gap:12px;padding:12px}.bulk-toolbar>.actions{width:100%;margin-left:0;justify-content:flex-end}.history-pagination{flex-wrap:wrap}.bulk-item{gap:10px}}

@media(max-width:700px){.menu-filters .search{flex:1 0 100%;max-width:none}.menu-filters>select{flex:1}.menu-filters #menu-deletion-status{width:auto}}

/* Location receipt preferences */
.receipt-footer-settings{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.receipt-footer-settings h3{font-size:16px;margin-bottom:16px}.receipt-footer-settings label{margin-bottom:8px}.receipt-footer-settings textarea{min-height:106px;resize:vertical}.footer-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 20px}.receipt-footer-preview{white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;background:#fff;border:1px dashed #b9bdc1;padding:18px;margin:8px 0;font:14px/1.55 "Courier New",monospace}.receipt-footer-preview.empty-footer{color:var(--muted);font-family:inherit;font-style:italic}.receipt .receipt-custom-footer{white-space:pre-wrap;overflow-wrap:anywhere}

/* Split checks and recorded guest payments */
.guest-tab small{display:block;font-size:10px;color:var(--green);margin-top:3px}.paid-summary{color:var(--green)}.split-check-actions{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:12px}.split-guests{max-height:300px;overflow-y:auto;margin:20px 0;border:1px solid var(--line);border-radius:12px}.split-guests .split-guest{display:flex;flex-direction:row;text-align:left;align-items:center;gap:12px;margin:0;padding:15px;border-bottom:1px solid var(--line);cursor:pointer;min-height:68px}.split-guest:last-child{border-bottom:0}.split-guest input{width:22px;height:22px;flex:0 0 22px;accent-color:#ac8b00}.split-guest span{flex:1;min-width:0}.split-guest small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:4px}.split-guest b{white-space:nowrap}.split-guest.settled{opacity:.6;cursor:default}.split-totals{border-top:1px solid var(--line);padding-top:14px}.payment-items{max-height:190px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;margin:15px 0;padding:0 12px}.payment-items>div,.payment-history>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.payment-items>div:last-child,.payment-history>div:last-child{border-bottom:0}.payment-items strong{white-space:nowrap}.payment-items small,.payment-history small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.payment-history{max-height:400px;overflow-y:auto;margin:16px 0}.payment-history button{flex-shrink:0}.receipt-selection{overflow-wrap:anywhere}

.split-dialog .dialog-top{margin-bottom:14px}.split-dialog form{gap:10px}.split-dialog .split-guests{margin:0;max-height:min(300px,28vh)}.split-dialog #split-pending:empty{display:none}.split-dialog .dialog-actions{margin:0;padding-top:12px}
@media(max-height:700px){.split-dialog{padding:18px}.split-dialog .dialog-top{margin-bottom:10px}.split-dialog .split-guests{max-height:25vh}}

.menu-drawer [name="prep_destination"]{scroll-margin-block:110px}
