:root{--ridge-background: #F4F5F3;--ridge-surface: #FFFFFF;--ridge-surface-raised: #FAFAF8;--ridge-surface-muted: #EFF1ED;--ridge-border: #E3E6E0;--ridge-border-strong: #CDD2C8;--ridge-text-primary: #14201A;--ridge-text-secondary: #5A6660;--ridge-text-muted: #8A938D;--ridge-text-on-brand: #FFFFFF;--ridge-brand: #1E3A2B;--ridge-brand-hover: #274936;--ridge-brand-pressed: #162A1F;--ridge-brand-subtle: #DCEBE0;--ridge-brand-subtle-text: #1E3A2B;--ridge-success: #1F7A4D;--ridge-success-subtle: #DFF3E7;--ridge-warning: #8F5C00;--ridge-warning-subtle: #FBEFD4;--ridge-danger: #B3261E;--ridge-danger-subtle: #FBE3E1;--ridge-info: #1B5E9C;--ridge-info-subtle: #DEEAF7;--ridge-action-refund: #E8502E;--ridge-action-tab: #E88A2E;--ridge-action-print: #5A6660;--ridge-action-drawer: #6B5BD2;--ridge-action-gift-card: #1F7A4D;--ridge-badge-best-seller: #1E3A2B;--ridge-badge-best-seller-text: #FFFFFF;--ridge-badge-low-stock: #FBE3E1;--ridge-badge-low-stock-text: #B3261E;--ridge-badge-new: #DCEBE0;--ridge-badge-new-text: #1E3A2B;--ridge-trend-up: #1F7A4D;--ridge-trend-down: #B3261E;--ridge-payment-surface: #101A14;--ridge-payment-text: #FFFFFF;--ridge-scrim: rgba(14, 22, 18, .45);--ridge-space-xs: 4px;--ridge-space-sm: 8px;--ridge-space-md: 12px;--ridge-space-lg: 16px;--ridge-space-xl: 24px;--ridge-space-xxl: 32px;--ridge-space-xxxl: 48px;--ridge-space-tap: 44px;--ridge-space-tile-large: 112px;--ridge-radius-sm: 8px;--ridge-radius-md: 12px;--ridge-radius-lg: 16px;--ridge-radius-xl: 20px;--ridge-radius-card: 16px;--ridge-radius-pill: 999px;--ridge-elevation-card: 0 1px 2px rgba(20, 32, 26, .06), 0 1px 3px rgba(20, 32, 26, .04);--ridge-elevation-sheet: 0 -2px 16px rgba(20, 32, 26, .1);--ridge-elevation-modal: 0 12px 32px rgba(20, 32, 26, .18);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ridge-background: #0E1512;--ridge-surface: #17201B;--ridge-surface-raised: #1E2823;--ridge-surface-muted: #232E28;--ridge-border: #2C3832;--ridge-border-strong: #3C4A42;--ridge-text-primary: #F1F4F0;--ridge-text-secondary: #A8B3AC;--ridge-text-muted: #78847D;--ridge-text-on-brand: #0E1512;--ridge-brand: #7FBF95;--ridge-brand-hover: #93CCA6;--ridge-brand-pressed: #6BAC81;--ridge-brand-subtle: #1F3328;--ridge-brand-subtle-text: #9FD4B1;--ridge-success: #5FC98D;--ridge-success-subtle: #15301F;--ridge-warning: #E0A944;--ridge-warning-subtle: #322611;--ridge-danger: #F08279;--ridge-danger-subtle: #38191A;--ridge-info: #79B0E8;--ridge-info-subtle: #15242F;--ridge-action-refund: #F06B4B;--ridge-action-tab: #F0A153;--ridge-action-print: #8A938D;--ridge-action-drawer: #8B7DE0;--ridge-action-gift-card: #5FC98D;--ridge-badge-best-seller: #7FBF95;--ridge-badge-best-seller-text: #0E1512;--ridge-badge-low-stock: #38191A;--ridge-badge-low-stock-text: #F08279;--ridge-badge-new: #1F3328;--ridge-badge-new-text: #9FD4B1;--ridge-trend-up: #5FC98D;--ridge-trend-down: #F08279;--ridge-payment-surface: #0A120D;--ridge-payment-text: #FFFFFF;--ridge-scrim: rgba(0, 0, 0, .65);--ridge-space-xs: 4px;--ridge-space-sm: 8px;--ridge-space-md: 12px;--ridge-space-lg: 16px;--ridge-space-xl: 24px;--ridge-space-xxl: 32px;--ridge-space-xxxl: 48px;--ridge-space-tap: 44px;--ridge-space-tile-large: 112px;--ridge-radius-sm: 8px;--ridge-radius-md: 12px;--ridge-radius-lg: 16px;--ridge-radius-xl: 20px;--ridge-radius-card: 16px;--ridge-radius-pill: 999px;--ridge-elevation-card: 0 1px 2px rgba(0, 0, 0, .4);--ridge-elevation-sheet: 0 -2px 16px rgba(0, 0, 0, .5);--ridge-elevation-modal: 0 12px 32px rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--ridge-background: #0E1512;--ridge-surface: #17201B;--ridge-surface-raised: #1E2823;--ridge-surface-muted: #232E28;--ridge-border: #2C3832;--ridge-border-strong: #3C4A42;--ridge-text-primary: #F1F4F0;--ridge-text-secondary: #A8B3AC;--ridge-text-muted: #78847D;--ridge-text-on-brand: #0E1512;--ridge-brand: #7FBF95;--ridge-brand-hover: #93CCA6;--ridge-brand-pressed: #6BAC81;--ridge-brand-subtle: #1F3328;--ridge-brand-subtle-text: #9FD4B1;--ridge-success: #5FC98D;--ridge-success-subtle: #15301F;--ridge-warning: #E0A944;--ridge-warning-subtle: #322611;--ridge-danger: #F08279;--ridge-danger-subtle: #38191A;--ridge-info: #79B0E8;--ridge-info-subtle: #15242F;--ridge-action-refund: #F06B4B;--ridge-action-tab: #F0A153;--ridge-action-print: #8A938D;--ridge-action-drawer: #8B7DE0;--ridge-action-gift-card: #5FC98D;--ridge-badge-best-seller: #7FBF95;--ridge-badge-best-seller-text: #0E1512;--ridge-badge-low-stock: #38191A;--ridge-badge-low-stock-text: #F08279;--ridge-badge-new: #1F3328;--ridge-badge-new-text: #9FD4B1;--ridge-trend-up: #5FC98D;--ridge-trend-down: #F08279;--ridge-payment-surface: #0A120D;--ridge-payment-text: #FFFFFF;--ridge-scrim: rgba(0, 0, 0, .65);--ridge-space-xs: 4px;--ridge-space-sm: 8px;--ridge-space-md: 12px;--ridge-space-lg: 16px;--ridge-space-xl: 24px;--ridge-space-xxl: 32px;--ridge-space-xxxl: 48px;--ridge-space-tap: 44px;--ridge-space-tile-large: 112px;--ridge-radius-sm: 8px;--ridge-radius-md: 12px;--ridge-radius-lg: 16px;--ridge-radius-xl: 20px;--ridge-radius-card: 16px;--ridge-radius-pill: 999px;--ridge-elevation-card: 0 1px 2px rgba(0, 0, 0, .4);--ridge-elevation-sheet: 0 -2px 16px rgba(0, 0, 0, .5);--ridge-elevation-modal: 0 12px 32px rgba(0, 0, 0, .6);color-scheme:dark}body{background:var(--ridge-background);color:var(--ridge-text-primary);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}.muted{color:var(--ridge-text-secondary)}.small{font-size:13px}.center{text-align:center}.right{text-align:right}.mono{font-variant-numeric:tabular-nums}.error{color:var(--ridge-danger);background:var(--ridge-danger-subtle);padding:10px 12px;border-radius:var(--ridge-radius-md);font-size:14px;margin:8px 0}.btn{border:1px solid var(--ridge-border-strong);background:var(--ridge-surface);border-radius:var(--ridge-radius-md);padding:10px 16px;min-height:44px;font-weight:600;cursor:pointer;transition:transform .12s ease,background .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--ridge-brand);color:var(--ridge-text-on-brand);border-color:var(--ridge-brand)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:var(--ridge-surface-muted)}.btn.large{min-height:52px;font-size:16px}.btn.block{width:100%}.btn.icon{min-width:44px;padding:10px}.badge{font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 8px;border-radius:var(--ridge-radius-pill)}.badge.test{background:var(--ridge-warning-subtle);color:var(--ridge-warning)}.pill{font-size:11px;margin-left:8px;padding:2px 8px;border-radius:var(--ridge-radius-pill);background:var(--ridge-surface-muted);color:var(--ridge-text-secondary)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--ridge-surface);border-bottom:1px solid var(--ridge-border);flex-wrap:wrap}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.business{display:flex;flex-direction:column;line-height:1.25}.content{flex:1;overflow:auto;padding:20px 16px 24px}.tabbar{display:flex;border-top:1px solid var(--ridge-border);background:var(--ridge-surface);padding:6px;gap:4px;overflow-x:auto}.tab{flex:1;min-width:76px;min-height:44px;border:none;background:transparent;border-radius:var(--ridge-radius-md);font-weight:600;font-size:14px;cursor:pointer;color:var(--ridge-text-secondary)}.tab.active{background:var(--ridge-brand);color:var(--ridge-text-on-brand)}.centered{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.signin{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.signin-card{width:min(400px,100%);background:var(--ridge-surface);border:1px solid var(--ridge-border);border-radius:var(--ridge-radius-card);box-shadow:var(--ridge-elevation-card);padding:28px;display:flex;flex-direction:column;gap:16px}.signin-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:4px}.signin-brand h1{margin:0;font-size:26px;letter-spacing:-.02em}.signin-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.signin-card input{border:1px solid var(--ridge-border-strong);background:var(--ridge-background);border-radius:var(--ridge-radius-md);padding:12px;min-height:46px}.signin-card input:focus{outline:2px solid var(--ridge-brand);outline-offset:1px}.home{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.greeting h1{margin:2px 0 4px;font-size:30px;letter-spacing:-.02em}.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.action-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:18px;min-height:88px;border:1px solid var(--ridge-border);background:var(--ridge-surface);border-radius:var(--ridge-radius-card);cursor:pointer}.action-card.primary{background:var(--ridge-brand);color:var(--ridge-text-on-brand);border-color:var(--ridge-brand)}.action-card.primary .muted{color:var(--ridge-text-on-brand);opacity:.8}.action-card:disabled{opacity:.55;cursor:default}.panel{background:var(--ridge-surface);border:1px solid var(--ridge-border);border-radius:var(--ridge-radius-card);padding:18px}.panel h2{margin:0 0 4px;font-size:17px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:14px}.summary-cell{display:flex;flex-direction:column;gap:2px;padding:12px;background:var(--ridge-surface-muted);border-radius:var(--ridge-radius-md)}.flow{margin:14px 0 0;padding-left:20px;line-height:2}.notes ul{margin:10px 0 0;padding-left:18px}.register{display:grid;grid-template-columns:180px 1fr 340px;gap:16px;height:100%;align-items:start}.rail{display:flex;flex-direction:column;gap:4px}.rail-item{text-align:left;border:none;background:transparent;padding:12px 14px;min-height:44px;border-radius:var(--ridge-radius-md);font-weight:600;cursor:pointer;color:var(--ridge-text-secondary)}.rail-item.active{background:var(--ridge-brand);color:var(--ridge-text-on-brand)}.catalog{display:flex;flex-direction:column;gap:14px;min-width:0}.search{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--ridge-border);background:var(--ridge-surface);border-radius:var(--ridge-radius-md)}.search:focus{outline:2px solid var(--ridge-brand);outline-offset:1px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid.tiles-large{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid.tiles-xlarge{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tile{position:relative;display:flex;flex-direction:column;gap:8px;padding:0 0 12px;border:1px solid var(--ridge-border);background:var(--ridge-surface);border-radius:var(--ridge-radius-card);overflow:hidden;cursor:pointer;text-align:left;min-height:150px}.tile:hover:not(:disabled){border-color:var(--ridge-brand)}.tile-art{height:92px;display:grid;place-items:center;background:var(--ridge-surface-muted);font-size:30px;font-weight:700;color:var(--ridge-text-muted)}.tile-name{padding:0 12px;font-weight:600;font-size:14px}.tile-badge{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--ridge-radius-pill);background:var(--ridge-badge-best-seller);color:var(--ridge-badge-best-seller-text)}.cart{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;background:var(--ridge-surface);border:1px solid var(--ridge-border);border-radius:var(--ridge-radius-card);padding:16px}.cart-head{display:flex;align-items:baseline;justify-content:space-between}.cart-lines{display:flex;flex-direction:column;gap:10px;max-height:38vh;overflow:auto}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:var(--ridge-surface-raised);border-radius:var(--ridge-radius-md)}.cart-line-main{display:flex;flex-direction:column;min-width:0}.qty{display:flex;align-items:center;gap:6px}.qty button{width:32px;height:32px;border-radius:var(--ridge-radius-sm);border:1px solid var(--ridge-border-strong);background:var(--ridge-surface);cursor:pointer}.tips{display:flex;flex-direction:column;gap:6px}.tip-row{display:flex;gap:6px;flex-wrap:wrap}.tip-row button{flex:1;min-width:60px;min-height:40px;border:1px solid var(--ridge-border-strong);background:var(--ridge-surface);border-radius:var(--ridge-radius-md);cursor:pointer;font-weight:600}.totals{margin:0;display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--ridge-border)}.totals>div{display:flex;justify-content:space-between}.totals dt,.totals dd{margin:0}.totals dd{font-variant-numeric:tabular-nums}.totals .grand{font-size:19px;font-weight:700;padding-top:6px}.done{display:flex;flex-direction:column;padding:12px;background:var(--ridge-success-subtle);color:var(--ridge-success);border-radius:var(--ridge-radius-md)}.empty{padding:36px;text-align:center;border:1px dashed var(--ridge-border-strong);border-radius:var(--ridge-radius-card);display:flex;flex-direction:column;gap:10px;align-items:center}.placeholder{max-width:560px;margin:40px auto;text-align:center}.orders{max-width:860px;margin:0 auto}.table{width:100%;border-collapse:collapse;background:var(--ridge-surface);border:1px solid var(--ridge-border);border-radius:var(--ridge-radius-card);overflow:hidden}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--ridge-border)}.table th{font-size:13px;color:var(--ridge-text-secondary)}.table tr:last-child td{border-bottom:none}.status{font-size:12px;font-weight:700;padding:3px 9px;border-radius:var(--ridge-radius-pill);background:var(--ridge-surface-muted)}.status.completed{background:var(--ridge-success-subtle);color:var(--ridge-success)}@media (max-width: 1023px){.register{grid-template-columns:1fr}.rail{flex-direction:row;overflow-x:auto;padding-bottom:4px}.rail-item{white-space:nowrap}.cart{position:static}}@media (max-width: 520px){.content{padding:16px}.greeting h1{font-size:25px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}.btn:hover:not(:disabled){transform:none}}
