:root{--bg: #fafaf8;--surface: #ffffff;--shadow-card: 0 2px 12px rgba(0, 0, 0, .06);--shadow-elevated: 0 4px 20px rgba(0, 0, 0, .08);--color-primary: #1b4d3e;--color-primary-dark: #143d31;--color-primary-light: #e8f0ed;--color-accent: #c9a84c;--color-accent-light: #f5ecd4;--color-accent-dark: #8a7340;--text-primary: #1a1a1a;--text-secondary: #6b7280;--border: #e8e4dc;--border-subtle: #f0ede6;--color-success: #2d6a4f;--color-success-light: #e8f2ec;--color-danger: #c45c5c;--color-danger-dark: #9e4545;--color-danger-light: #faf0f0;--color-danger-border: #e8c4c4;--color-warning: #8a7340;--color-warning-light: #f5ecd4;--color-info: #1b4d3e;--color-info-light: #e8f0ed;--font: system-ui, "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--focus-ring: 0 0 0 3px rgba(201, 168, 76, .45);--teal: var(--color-primary);--teal-dark: var(--color-primary-dark);--teal-light: var(--color-primary-light);--amber: var(--color-accent-dark);--amber-light: var(--color-accent-light);--green: var(--color-success);--green-light: var(--color-success-light);--coral: var(--color-danger-dark);--coral-light: var(--color-danger-light)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100vh;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.form-input,.modal-input,.pos-input,.p-input,.bw-input,.ss-field input,.ss-field textarea,.services-search,.search-input{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:14px;font-family:inherit;background:var(--bg);color:var(--text-primary);min-height:44px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-input:focus,.modal-input:focus,.pos-input:focus,.p-input:focus,.bw-input:focus,.ss-field input:focus,.ss-field textarea:focus,.services-search:focus,.search-input:focus{outline:none;border-color:var(--color-accent);background:var(--surface);box-shadow:var(--focus-ring)}.btn-primary,.modal-btn.primary,.charge-btn,.add-staff-btn,.add-service-btn,.add-shop-btn,.ss-btn.primary,.bw-btn.primary,.p-btn.primary,.staff-btn--primary,.service-btn.primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn-primary:hover:not(:disabled),.modal-btn.primary:hover:not(:disabled),.charge-btn:hover:not(:disabled),.add-staff-btn:hover,.add-service-btn:hover,.add-shop-btn:hover,.ss-btn.primary:hover:not(:disabled),.bw-btn.primary:hover:not(:disabled),.p-btn.primary:hover:not(:disabled),.staff-btn--primary:hover,.service-btn.primary:hover{background:var(--color-primary-dark)}.btn-secondary,.modal-btn.secondary,.staff-btn--secondary,.service-btn,.s-btn,.bw-btn.secondary,.p-btn.secondary,.ss-btn.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease}.btn-secondary:hover,.modal-btn.secondary:hover,.staff-btn--secondary:hover,.service-btn:hover,.s-btn:hover,.bw-btn.secondary:hover,.p-btn.secondary:hover,.ss-btn.secondary:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.btn-danger,.modal-btn.danger,.staff-btn--danger,.service-btn.danger{background:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);font-family:inherit;font-weight:500;cursor:pointer}.btn-danger:hover,.modal-btn.danger:hover,.staff-btn--danger:hover,.service-btn.danger:hover{background:#f5e0e0;border-color:var(--color-danger)}.modal-overlay,.pos-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b4d3e59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-box,.pos-modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-elevated);border:1px solid var(--border);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.modal-title{font-size:18px;font-weight:600;flex:1;color:var(--text-primary)}.modal-close{font-size:22px;color:var(--text-secondary);cursor:pointer;border:none;background:none;line-height:1}.modal-body{padding:20px;display:flex;flex-direction:column;gap:10px}.modal-footer{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--surface)}.modal-btn{flex:1;padding:12px 18px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;min-height:44px;font-family:inherit}.modal-btn.primary:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed}.modal-section{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:8px}.zen-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:16px 18px}.pos-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--color-primary);color:#fff;border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #1b4d3e33}.pos-shopname{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;color:#fff}.pos-dot{width:8px;height:8px;border-radius:50%;background:#ccc}.pos-dot.online{background:#3b6d11}.pos-topbar-right{display:flex;align-items:center;gap:10px}.pin-badge{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--amber-light);color:#633806;border:.5px solid #EF9F27}.sync-badge{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--coral-light);color:var(--coral);border:.5px solid #F5C4B3}.pos-clock{font-size:13px;color:#fffc;font-variant-numeric:tabular-nums}.pos-tabs{display:flex;gap:8px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.pos-tab{font-size:13px;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;min-height:40px;font-family:inherit;font-weight:500;transition:all .15s}.pos-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.pos-layout{display:grid;grid-template-columns:1fr 340px;gap:12px;padding:12px 16px;height:calc(100vh - 98px);overflow:hidden;background:var(--bg)}.pos-left{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.pos-right{overflow-y:auto}.pos-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:16px}.card-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.pos-input{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;font-size:13px;margin-bottom:8px;background:#faf9f5;min-height:44px}.pos-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring);background:var(--surface)}.pos-customer-hint{margin:-4px 0 10px;font-size:12px;color:var(--text-muted, #6b7280);line-height:1.4}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.services-empty{grid-column:1 / -1;padding:24px 12px;text-align:center;font-size:13px;color:#888;line-height:1.5}.svc-btn{padding:14px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;text-align:center;min-height:80px;transition:all .15s;-webkit-user-select:none;font-family:inherit}.svc-btn:active{transform:scale(.98)}.svc-btn.added{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px #1b4d3e26}.svc-name{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:3px}.svc-price{font-size:14px;font-weight:500;color:var(--teal);margin-bottom:2px}.svc-dur{font-size:10px;color:#999;display:flex;align-items:center;justify-content:center;gap:4px}.gst-free-tag{font-size:9px;background:var(--green-light);color:var(--green);padding:1px 5px;border-radius:10px}.bill-card{display:flex;flex-direction:column}.bill-items{min-height:80px;display:flex;flex-direction:column;gap:6px}.bill-empty{font-size:12px;color:#ccc;text-align:center;padding:24px 0}.bill-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#faf9f5;border-radius:var(--radius-sm);font-size:12px}.bill-item-info{flex:1}.bill-item-name{font-weight:500;color:#1a1a1a}.bill-item-sub{font-size:10px;color:#999;margin-top:1px}.bill-item-price{font-weight:500;color:#1a1a1a;white-space:nowrap}.bill-item-del{width:28px;height:28px;border-radius:50%;border:none;background:none;color:#ccc;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bill-item-del:hover{color:#e24b4a;background:#fcebeb}.totals-block{border-top:.5px solid #e0ddd5;margin-top:10px;padding-top:10px}.total-row{display:flex;justify-content:space-between;font-size:12px;color:#555;padding:3px 0}.total-row.surcharge{color:var(--coral)}.total-row.gst-free{color:var(--green)}.total-row.grand{font-size:16px;font-weight:500;color:#1a1a1a;border-top:.5px solid #e0ddd5;margin-top:6px;padding-top:8px}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pay-btn{padding:12px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;text-align:center;min-height:72px;transition:all .15s;font-family:inherit}.pay-btn:active{transform:scale(.98)}.pay-btn.selected{border:2px solid var(--color-accent);background:var(--color-accent-light);box-shadow:var(--focus-ring)}.pay-icon{font-size:20px;margin-bottom:2px}.pay-label{font-size:12px;font-weight:500;color:#1a1a1a}.pay-sub{font-size:10px;color:#999;margin-top:1px}.pay-btn.selected .pay-sub{color:#854f0b}.charge-btn{width:100%;padding:16px;margin-top:10px;border-radius:var(--radius-sm);border:none;background:var(--teal);color:#fff;font-size:16px;font-weight:500;cursor:pointer;min-height:52px;transition:background .15s}.charge-btn:hover{background:var(--teal-dark)}.charge-btn:disabled{background:#e0ddd5;color:#bbb;cursor:not-allowed}.hf-btn{width:100%;padding:10px;margin-top:6px;border-radius:var(--radius-sm);border:.5px solid var(--green);background:var(--green-light);color:var(--green);font-size:12px;cursor:pointer;min-height:44px}.void-btn{width:100%;padding:8px;margin-top:4px;border-radius:var(--radius-sm);border:.5px solid #F5C4B3;background:var(--coral-light);color:var(--coral);font-size:11px;cursor:pointer;min-height:40px}.success-screen{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 98px);padding:16px 12px 24px;gap:12px}.success-screen-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%}.success-icon{font-size:64px}.success-title{font-size:24px;font-weight:500;color:var(--teal)}.success-amount{font-size:32px;font-weight:500;color:#1a1a1a}.success-method{font-size:13px;color:#999}.success-note{font-size:13px;color:#0f6e56;margin-top:4px;text-align:center}.success-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}.google-review-section{width:100%;max-width:280px;margin-top:auto;padding-top:20px;border-top:.5px solid #e0ddd5;text-align:center}.google-review-heading{font-size:14px;font-weight:500;color:#1a1a1a;margin-bottom:12px}.google-review-qr-wrap{display:inline-flex;padding:10px;background:#fff;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;box-shadow:0 1px 3px #0000000f}.google-review-caption{font-size:12px;color:#888;margin-top:10px;line-height:1.4}.s-btn{padding:10px 20px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;background:#fff;font-size:13px;cursor:pointer;min-height:44px}.s-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.voucher-sell-btn{font-size:12px;padding:6px 12px;border-radius:20px;border:.5px solid var(--teal);background:var(--teal-light);color:var(--teal-dark);cursor:pointer;min-height:36px}.voucher-redeem-block{margin-top:10px}.voucher-redeem-btn,.voucher-apply-btn{width:100%;padding:10px;border-radius:var(--radius-sm);border:.5px solid var(--teal);background:var(--teal-light);color:var(--teal-dark);font-size:13px;cursor:pointer;min-height:44px}.voucher-apply-btn{margin-top:6px}.voucher-redeem-form{margin-top:8px}.voucher-form-error{font-size:12px;color:var(--color-danger-dark);font-weight:500;margin:4px 0}.voucher-applied{padding:10px;background:var(--teal-light);border-radius:var(--radius-sm);font-size:12px}.voucher-applied-exp{color:#666;margin:4px 0 8px}.voucher-remove-btn{font-size:11px;border:none;background:none;color:var(--coral);cursor:pointer;text-decoration:underline}.total-row.voucher-deduct{color:var(--teal)}.total-row.grand.collect{color:var(--amber)}.pos-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.pos-modal{background:#fff;border-radius:var(--radius);padding:20px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.pos-modal--success{text-align:center}.pos-modal-title{font-size:18px;font-weight:500;margin-bottom:4px}.pos-modal-sub{font-size:12px;color:#888;margin-bottom:14px}.pos-modal-actions{display:flex;gap:8px;margin-top:14px}.pos-modal-actions .s-btn{flex:1}.voucher-amount-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.voucher-amount-btn{padding:12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;background:#faf9f5;font-size:14px;font-weight:500;cursor:pointer;min-height:48px}.voucher-amount-btn.selected{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark)}.voucher-sold-icon{font-size:48px;margin-bottom:8px}.voucher-sold-code{font-family:ui-monospace,monospace;font-size:28px;font-weight:600;color:var(--teal);letter-spacing:.05em;margin:8px 0}.voucher-sold-hint{font-size:12px;color:#888;margin:12px 0 16px}.voucher-email-ok{color:#0f6e56}.voucher-email-err{color:#993c1d}.payment-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.payment-action-btns{display:flex;flex-wrap:wrap;gap:6px}.split-toggle-btn{font-size:11px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-weight:500;transition:all .12s ease}.split-toggle-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-primary);background:var(--color-accent-light)}.split-toggle-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.split-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.voucher-redeem-panel{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;margin-bottom:10px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.voucher-redeem-panel .pos-input{margin-bottom:0}.voucher-redeem-panel .voucher-form-error{grid-column:1 / -1;margin:0}.voucher-applied{margin-bottom:12px;padding:12px 14px;background:var(--color-primary-light);border:1px solid #c5ddd6;border-radius:var(--radius-sm)}.voucher-applied-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:14px}.voucher-applied-balance{font-size:13px;color:var(--color-primary);font-weight:500}.total-row.subtotal-before-voucher{color:var(--text-secondary);font-size:12px}.split-payment-block{margin-top:8px;padding:12px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.split-remaining{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;font-size:14px}.split-remaining strong{font-size:20px;color:var(--color-primary)}.split-remaining-of{font-size:12px;color:var(--text-secondary)}.split-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border-radius:var(--radius-sm);margin-bottom:6px;font-size:13px;font-weight:500}.split-row span:first-child{flex:1}.split-remove{border:none;background:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0 4px}.split-add-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:8px}.split-add-btn{padding:10px 14px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:500;cursor:pointer;font-family:inherit;min-height:44px}@media (max-width: 768px){.pos-layout{grid-template-columns:1fr;height:auto;overflow:visible}.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.admin-root{min-height:100vh;background:var(--bg)}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:100;border-bottom:2px solid var(--color-accent);box-shadow:0 2px 12px #1b4d3e33}.admin-logo{display:flex;align-items:center;gap:10px}.logo-c99{font-size:18px;font-weight:500;color:#fff}.logo-badge{font-size:11px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-primary-dark);font-weight:600}.admin-topbar-right{display:flex;align-items:center;gap:16px}.mrr-display{font-size:15px;font-weight:500;color:var(--color-accent)}.pin-display{font-size:12px;color:#666}.admin-tabs{display:flex;gap:8px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.admin-tab{font-size:13px;padding:10px 18px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);cursor:pointer;font-family:inherit;font-weight:500;transition:all .15s}.admin-tab.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.admin-tab:hover:not(.active){color:var(--color-primary);border-color:var(--color-accent);background:var(--color-accent-light)}.admin-content{padding:20px 24px;background:var(--bg)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent)}.metric-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.metric-value{font-size:24px;font-weight:500;margin-bottom:4px}.metric-sub{font-size:11px;color:#999}.section-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-card)}.section-title{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:14px}.plan-bars{display:flex;flex-direction:column;gap:12px}.plan-bar-row{display:flex;align-items:center;gap:12px}.plan-bar-label{width:130px;display:flex;justify-content:space-between;font-size:12px}.plan-bar-price{color:#999;font-size:11px}.plan-bar-track{flex:1;height:8px;background:#f0efe8;border-radius:4px;overflow:hidden}.plan-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.plan-bar-amount{width:70px;text-align:right;font-size:12px;font-weight:500}.alert-section{border-color:#f5c4b3;background:#faece7}.alert-shop-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:.5px solid #F5C4B3;font-size:13px}.alert-shop-name{color:#993c1d;font-weight:500}.alert-shop-count{font-size:11px;background:#993c1d;color:#fff;padding:2px 8px;border-radius:10px}.bar-chart{display:flex;gap:12px;align-items:flex-end;height:140px;padding-top:20px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-amount{font-size:10px;color:#999;margin-bottom:4px}.bar-track{flex:1;width:100%;background:#f0efe8;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.bar-fill{width:100%;background:#0f6e56;border-radius:4px;transition:height .5s ease}.bar-label{font-size:11px;color:#999;margin-top:6px}.shops-header{display:flex;gap:12px;margin-bottom:16px;align-items:center}.search-input{flex:1;padding:9px 12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;font-size:13px;background:#fff}.add-shop-btn{padding:9px 20px;border-radius:var(--radius-sm);border:none;background:#0f6e56;color:#fff;font-size:13px;cursor:pointer}.shops-table{background:#fff;border-radius:var(--radius);border:.5px solid #e0ddd5;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 80px 80px 80px 110px 60px 80px 120px;gap:8px;padding:10px 16px;background:#f5f4ee;font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.04em}.table-row{display:grid;grid-template-columns:2fr 80px 80px 80px 110px 60px 80px 120px;gap:8px;padding:12px 16px;border-top:.5px solid #f0efe8;align-items:center}.table-row:hover{background:#faf9f5}.shop-info .shop-name{font-size:13px;font-weight:500;color:#1a1a1a}.shop-info .shop-domain{font-size:11px;color:#999;margin-top:1px}.plan-tag{font-size:10px;padding:3px 8px;border-radius:10px;text-align:center;font-weight:500}.plan-tag.plan-starter{background:#eaf3de;color:#3b6d11}.plan-tag.plan-growth{background:#faeeda;color:#633806}.plan-tag.plan-pro{background:#e1f5ee;color:#085041}.plan-tag.plan-professional{background:#faeeda;color:#633806}.plan-tag.plan-business{background:#e1f5ee;color:#085041}.cell-mrr{font-size:13px;font-weight:500;color:#0f6e56}.cell-num{font-size:13px;color:#555;text-align:center}.cell-revenue{font-size:12px;color:#555}.cell-alerts{font-size:12px}.cell-alerts.critical{color:#993c1d;font-weight:500}.status-tag{font-size:10px;padding:3px 8px;border-radius:10px;text-align:center}.status-tag.status-active{background:#eaf3de;color:#3b6d11}.status-tag.status-suspended{background:#faece7;color:#993c1d}.cell-actions{display:flex;gap:6px}.action-btn{font-size:11px;padding:4px 10px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;background:#fff;cursor:pointer;color:#555}.action-btn.danger{border-color:#f5c4b3;color:#993c1d;background:#faece7}.action-btn.success{border-color:#c0dd97;color:#3b6d11;background:#eaf3de}.shop-info-btn{border:none;background:none;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}.shop-info-btn:hover .shop-name{color:var(--color-primary)}.table-row-clickable:hover{background:#faf9f5}.shop-detail{max-width:1200px}.shop-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:16px}.shop-detail-title h2{margin:0 0 4px;font-size:22px;font-weight:600}.shop-detail-meta{margin:0;font-size:13px;color:#666}.shop-detail-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.shop-detail-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.shop-detail-tab{font-size:13px;padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);cursor:pointer;font-family:inherit;font-weight:500;color:var(--text-secondary);transition:all .15s}.shop-detail-tab.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.shop-detail-tab:hover:not(.active){border-color:var(--color-accent);color:var(--color-primary)}.shop-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.shop-stat-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:4px}.shop-stat-value{font-size:15px;font-weight:500}.shop-stat-contact{font-size:12px;font-weight:400;line-height:1.4}@media (max-width: 900px){.shop-detail-stats{grid-template-columns:1fr 1fr}}.shop-collapse{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.shop-collapse-head{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:none;background:#f5f4ee;font-family:inherit;font-size:15px;font-weight:600;color:#1a3d2b;cursor:pointer;text-align:left}.shop-collapse-head:hover{background:#ebe9e0}.shop-collapse-chevron{font-size:12px;color:#666}.shop-collapse-body{padding:16px 18px 20px;border-top:1px solid var(--border)}.shop-detail-plan-block{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.shop-detail-staff-login{margin-top:16px;display:flex;flex-direction:column;gap:20px}.shop-custom-domain-field{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.shop-custom-domain-input{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px}.shop-custom-domain-map-hint code{font-size:12px;word-break:break-all}.staff-login-section{display:flex;flex-direction:column;gap:8px}.staff-login-hint{margin:0 0 4px}.staff-login-qr-preview{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:8px}.staff-login-qr-card{padding:12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);line-height:0}.staff-login-qr-meta{flex:1;min-width:200px}.staff-login-qr-shop{margin:0 0 8px;font-weight:600;color:#1a3d2b}.staff-login-qr-link{font-size:13px;word-break:break-all;color:#0f6e56}.staff-login-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.shop-detail-subtitle{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a3d2b}.settings-tab{display:flex;flex-direction:column;gap:16px}.settings-list{display:flex;flex-direction:column;gap:2px}.setting-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:.5px solid #f0efe8;font-size:13px}.setting-label{color:#555}.setting-value{font-weight:500;color:#1a1a1a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.modal-box{background:#fff;border-radius:var(--radius);width:560px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:.5px solid #e0ddd5;position:sticky;top:0;background:#fff}.modal-title{font-size:16px;font-weight:500;flex:1}.modal-steps{display:flex;gap:6px}.step-dot{width:8px;height:8px;border-radius:50%;background:#e0ddd5}.step-dot.done{background:#0f6e56}.modal-close{font-size:20px;color:#999;cursor:pointer;border:none;background:none}.modal-body{padding:20px;display:flex;flex-direction:column;gap:8px}.modal-section{font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-top:8px}.modal-input{padding:9px 12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;font-size:13px;background:#faf9f5;width:100%}.shop-id-preview{font-size:12px;color:#0f6e56}.shop-id-preview code{font-family:monospace;background:#e1f5ee;padding:2px 6px;border-radius:4px}.plan-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-option{padding:12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;cursor:pointer;text-align:center;background:#faf9f5}.plan-option.selected{border:2px solid #0F6E56;background:#e1f5ee}.plan-option-name{font-size:13px;font-weight:500;color:#1a1a1a}.plan-option-price{font-size:12px;color:#0f6e56;font-weight:500;margin:3px 0}.plan-option-mo{font-size:11px;color:#999}.theme-selector{display:flex;gap:8px;flex-wrap:wrap}.theme-option{padding:8px 14px;border-radius:20px;border:.5px solid #e0ddd5;font-size:12px;cursor:pointer;background:#faf9f5;color:#555}.theme-option.selected{background:#e1f5ee;border-color:#0f6e56;color:#0f6e56}.review-table{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.review-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:.5px solid #f0efe8;font-size:13px}.review-label{color:#999}.review-value{font-weight:500;color:#1a1a1a}.config-preview{margin-top:8px}.config-label{font-size:11px;color:#999;margin-bottom:6px}.config-json{font-size:11px;background:#1a1a1a;color:#9fe1cb;padding:12px;border-radius:var(--radius-sm);overflow-x:auto;font-family:monospace}.modal-footer{display:flex;gap:10px;padding:16px 20px;border-top:.5px solid #e0ddd5;position:sticky;bottom:0;background:#fff}.modal-btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;min-height:44px}.modal-btn.primary{background:#0f6e56;color:#fff;border:none}.modal-btn.primary:disabled{background:#e0ddd5;color:#bbb;cursor:not-allowed}.modal-btn.secondary{background:#fff;color:#555;border:.5px solid #e0ddd5}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px}.loading-logo{font-size:24px;font-weight:500;color:#0f6e56}.loading-text{font-size:13px;color:#999}.proposal-builder{background:#fff;border-radius:var(--radius);border:.5px solid #e0ddd5}.proposal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:.5px solid #e0ddd5}.proposal-title{font-size:16px;font-weight:500;flex:1}.proposal-tabs{display:flex;gap:6px}.p-tab{padding:6px 16px;border-radius:20px;border:.5px solid #e0ddd5;font-size:12px;cursor:pointer;background:#faf9f5;color:#555}.p-tab.active{background:#e1f5ee;border-color:#0f6e56;color:#0f6e56}.proposal-body{padding:20px;display:flex;flex-direction:column;gap:10px}.p-section{font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-top:8px}.p-input{padding:9px 12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;font-size:13px;background:#faf9f5;width:100%}.p-textarea{padding:9px 12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;font-size:13px;background:#faf9f5;width:100%;resize:vertical}.tier-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tier-opt{padding:12px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;cursor:pointer;background:#faf9f5}.tier-opt.selected{border:2px solid #0F6E56;background:#e1f5ee}.tier-opt-name{font-size:13px;font-weight:500;color:#1a1a1a}.tier-opt-setup{font-size:11px;color:#0f6e56;margin:2px 0}.tier-opt-mo{font-size:12px;font-weight:500;color:#0f6e56}.tier-opt-prop{font-size:10px;color:#999;margin-top:4px}.bundle-highlight{background:#faeeda;border:.5px solid #FAC775;border-radius:var(--radius-sm);padding:12px}.bundle-highlight-name{font-size:13px;font-weight:500;color:#633806}.bundle-highlight-items{font-size:11px;color:#854f0b;margin:3px 0}.bundle-highlight-total{font-size:15px;font-weight:500;color:#412402}.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.addon-opt{padding:8px 10px;border-radius:var(--radius-sm);border:.5px solid #e0ddd5;cursor:pointer;background:#faf9f5}.addon-opt.selected{background:#e1f5ee;border-color:#0f6e56}.addon-opt-name{font-size:11px;font-weight:500;color:#1a1a1a}.addon-opt-price{font-size:11px;color:#0f6e56;margin-top:2px}.proposal-summary{background:#faf9f5;border-radius:var(--radius-sm);padding:14px;margin-top:8px}.sum-row{display:flex;justify-content:space-between;font-size:13px;color:#555;padding:4px 0}.sum-row.addon{font-size:11px;color:#0f6e56}.sum-divider{height:.5px;background:#e0ddd5;margin:6px 0}.sum-row.total{font-size:15px;font-weight:500;color:#1a1a1a}.sum-row.year1{font-size:13px;font-weight:500;color:#0f6e56}.proposal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.p-btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;min-height:44px}.p-btn.primary{background:#0f6e56;color:#fff;border:none}.p-btn.primary:disabled{background:#e0ddd5;color:#bbb;cursor:not-allowed}.p-btn.secondary{background:#fff;color:#555;border:.5px solid #e0ddd5}.proposal-preview{padding:20px}.preview-header{text-align:center;padding:20px;background:#0f6e56;border-radius:var(--radius);margin-bottom:16px}.preview-logo{font-size:14px;color:#9fe1cb}.preview-title{font-size:22px;font-weight:500;color:#fff;margin:6px 0}.preview-sub{font-size:13px;color:#9fe1cb}.preview-date{font-size:11px;color:#5dcaa5;margin-top:4px}.preview-tier{background:#faf9f5;border-radius:var(--radius-sm);padding:16px;margin-bottom:16px;text-align:center}.preview-tier-name{font-size:16px;font-weight:500;color:#1a1a1a}.preview-tier-setup{font-size:12px;color:#999;margin:4px 0}.preview-tier-mo{font-size:24px;font-weight:500;color:#0f6e56}.preview-tier-prop{font-size:12px;color:#555;margin-top:4px}.preview-addons{margin-bottom:16px}.preview-addons-title{font-size:12px;font-weight:500;color:#999;margin-bottom:8px}.preview-addon-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:.5px solid #f0efe8}.preview-totals{background:#1a1a1a;border-radius:var(--radius-sm);padding:16px;margin-bottom:16px}.preview-total-row{display:flex;justify-content:space-between;font-size:13px;color:#aaa;padding:4px 0}.preview-total-row.year{font-size:16px;font-weight:500;padding-top:10px;border-top:.5px solid #333;margin-top:6px;color:#9fe1cb}.preview-total-val{font-weight:500;color:#fff}.preview-total-row.year .preview-total-val{color:#9fe1cb}.preview-notes{font-size:12px;color:#555;background:#faf9f5;border-radius:var(--radius-sm);padding:12px;margin-bottom:16px}.preview-roi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.roi-item{text-align:center;padding:12px;background:#faf9f5;border-radius:var(--radius-sm)}.roi-item strong{display:block;font-size:20px;color:#0f6e56;margin-bottom:4px}.roi-item span{font-size:11px;color:#999}.owner-reports{padding:4px 0 32px;max-width:1100px}.reports-dashboard{margin-bottom:28px}.rd-topbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.rd-title{font-size:22px;font-weight:600;margin:0;color:#1a3d2b}.rd-period-tabs{display:flex;flex-wrap:wrap;gap:8px}.rd-period-btn{min-height:44px;min-width:44px;padding:10px 18px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;color:var(--text-primary)}.rd-period-btn.active{background:#1a3d2b;color:#fff;border-color:#1a3d2b}.rd-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}@media (max-width: 720px){.rd-metrics{grid-template-columns:1fr}}.rd-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px;display:flex;flex-direction:column;gap:6px;border-top:3px solid #1a3d2b}.rd-metric-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.rd-metric-value{font-size:26px;font-weight:700;color:#1a3d2b;line-height:1.2}.rd-metric-value.expense{color:#c45c5c}.rd-metric-value.profit{color:#378add}.rd-metric-change{font-size:12px;font-weight:500}.rd-metric-change.up{color:#2d6a4f}.rd-metric-change.down{color:#c45c5c}.rd-metric-change.neutral{color:var(--text-secondary)}.rd-chart-section,.rd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px;margin-bottom:16px}.rd-section-title{font-size:15px;font-weight:600;color:#1a3d2b;margin:0 0 12px}.rd-legend{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:14px 20px}.rd-legend-donut{flex-direction:column;gap:10px;flex:1;min-width:0}.rd-legend li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.rd-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.rd-legend-text{line-height:1.35}.rd-chart-wrap{position:relative;width:100%}.rd-chart-wrap-bar{height:280px}.rd-chart-wrap-donut{height:200px;width:200px;flex-shrink:0}.rd-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.rd-bottom-row{grid-template-columns:1fr}}.rd-donut-layout{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.rd-commission-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.rd-commission-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.rd-commission-name{font-size:14px;font-weight:500;color:var(--text-primary)}.rd-commission-amount{font-size:14px;font-weight:600;color:#1a3d2b}.rd-commission-bar-track{height:10px;background:var(--bg);border-radius:var(--radius-pill);overflow:hidden}.rd-commission-bar-fill{height:100%;background:linear-gradient(90deg,#1a3d2b,#378add);border-radius:var(--radius-pill);min-width:4px;transition:width .35s ease}.reports-legacy{border-top:2px solid var(--border);padding-top:24px}.reports-legacy-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin:0 0 16px}.reports-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px;margin-bottom:20px;position:relative;overflow:hidden}.reports-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent)}.reports-section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.reports-section h3{font-size:16px;font-weight:600;color:var(--color-primary);margin:0}.reports-period-tabs{display:flex;gap:6px;flex-wrap:wrap}.reports-period-btn{min-height:44px;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.reports-period-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.reports-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media (max-width: 640px){.reports-summary-grid{grid-template-columns:1fr}}.reports-summary-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:4px}.reports-summary-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.reports-summary-value{font-size:22px;font-weight:600;color:var(--color-primary)}.reports-summary-sub{font-size:11px;color:var(--text-secondary)}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:13px}.reports-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:10px 8px;border-bottom:1px solid var(--border)}.reports-table td{padding:10px 8px;border-bottom:1px solid var(--border-subtle)}.reports-muted{font-size:13px;color:var(--text-secondary);margin:8px 0}.reports-error{color:var(--color-danger-dark);font-size:13px;margin-bottom:12px}.reports-export-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}.reports-export-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.reports-export-row input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.reports-export-btn{padding:10px 18px;border:none;border-radius:var(--radius-sm);background:#1a3d2b;color:#fff;font-weight:500;cursor:pointer;font-family:inherit;min-height:44px}.reports-export-btn.secondary{background:var(--surface);color:var(--color-primary);border:1px solid var(--border)}.reports-export-btn:disabled{opacity:.5;cursor:not-allowed}.reports-month-picker{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.reports-month-picker input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.app-root{min-height:100vh;background:var(--bg)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #1b4d3e40;border-bottom:2px solid var(--color-accent)}.app-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-logo{font-weight:600;font-size:17px;color:var(--color-accent);letter-spacing:.02em}.app-header-logo{height:36px;width:auto;max-width:140px;object-fit:contain;border-radius:4px;background:#fffffff2;padding:2px 6px}.app-badge,.app-plan-badge{font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);background:#c9a84c40;color:var(--color-accent-light);border:1px solid rgba(201,168,76,.5);font-weight:500}.app-plan-badge{background:#ffffff1f;color:#fffffff2;border-color:#ffffff59}.app-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-title{font-size:14px;color:#ffffffe6;font-weight:400}.logout-btn{font-size:13px;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;cursor:pointer;font-family:inherit;font-weight:500;min-height:40px;transition:background .15s ease,border-color .15s ease}.logout-btn:hover{background:#ffffff1a;border-color:var(--color-accent)}.app-tabs{display:flex;gap:8px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-padding-inline-end:12px}.app-tabs-owner{background:var(--bg);border-top:1px solid var(--border);padding-top:10px;align-items:center}.app-tabs-owner-label{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-dark);padding:0 8px 0 4px}.app-tab{flex-shrink:0;font-size:13px;font-weight:500;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);color:var(--text-secondary);cursor:pointer;font-family:inherit;min-height:40px;transition:all .15s ease}.app-tab:hover:not(.active){border-color:var(--color-accent);color:var(--color-primary);background:var(--color-accent-light)}.app-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-card)}.app-tab-locked{opacity:.85}.app-tab-lock{font-size:12px}.plan-gate-locked{padding:24px 20px;text-align:center;color:var(--text-muted)}.plan-gate-locked .upgrade-contact-btn{margin-top:12px}.plan-website-placeholder{max-width:520px;margin:0 auto}.plan-website-placeholder h2{margin:0 0 8px;color:var(--text)}.app-tab-wrap{position:relative;flex-shrink:0}.app-tab-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;pointer-events:none;box-shadow:0 1px 3px #0003}.app-content{padding:16px;max-width:1200px;margin:0 auto}.pin-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:linear-gradient(165deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,#0a2e24 100%);color:#fff}.pin-logo{font-size:28px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;color:var(--color-accent)}.pin-title{font-size:16px;opacity:.9;margin-bottom:24px;color:#ffffffd9}.pin-dots{display:flex;gap:12px;margin-bottom:16px}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:transparent}.pin-dot.filled{background:var(--color-accent);border-color:var(--color-accent)}.pin-error{color:#f5c4c4;font-size:14px;margin-bottom:12px}.numpad{display:grid;grid-template-columns:repeat(3,72px);gap:10px;margin-bottom:20px}.numpad-btn{width:72px;height:72px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;font-size:24px;cursor:pointer;font-family:inherit;transition:background .12s ease}.numpad-btn.invisible{visibility:hidden}.numpad-btn:active:not(:disabled){background:#c9a84c59;border-color:var(--color-accent)}.pin-hint{font-size:11px;opacity:.65;text-align:center;color:#ffffffb3}.super-admin-lock{position:fixed;top:12px;right:16px;font-size:12px;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-family:inherit;z-index:300;box-shadow:var(--shadow-card)}.queue-board{padding:4px 0 24px}.queue-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.queue-title{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.queue-date{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:14px;font-family:inherit;color:var(--text-primary);min-height:40px}.queue-date:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.queue-stats{display:flex;flex-wrap:wrap;gap:8px}.queue-stats .stat{font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);box-shadow:var(--shadow-card)}.queue-stats .stat.in-progress{background:var(--color-primary-light);color:var(--color-primary);border-color:#c5ddd6}.queue-stats .stat.done{background:var(--color-success-light);color:var(--color-success);border-color:#b8d4c4}.queue-stats .stat.revenue{background:var(--color-accent-light);color:var(--color-accent-dark);border-color:#e8d9a8}.briefing-banner{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid var(--color-accent);box-shadow:var(--shadow-card);padding:14px 16px;margin-bottom:16px}.briefing-title{font-size:13px;font-weight:600;color:var(--color-primary);margin-bottom:10px}.briefing-items{display:flex;flex-direction:column;gap:8px}.briefing-alert{font-size:13px;color:var(--text-primary);line-height:1.45;padding:8px 10px;background:var(--bg);border-radius:var(--radius-sm)}.medical-flag{color:var(--color-danger-dark);font-weight:500}.allergy-flag{color:var(--color-warning);font-weight:500}.queue-loading,.queue-empty{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:14px}.queue-empty-icon{font-size:40px;margin-bottom:12px}.queue-list{display:flex;flex-direction:column;gap:12px}.queue-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .15s ease}.queue-card:hover{box-shadow:0 4px 16px #1b4d3e1a}.queue-card-main{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:16px 18px;cursor:pointer;align-items:center}.queue-time{text-align:center;min-width:56px;padding:8px 10px;background:var(--color-primary-light);border-radius:var(--radius-sm)}.time-start{font-size:16px;font-weight:600;color:var(--color-primary);line-height:1.2}.time-end{font-size:11px;color:var(--text-secondary);margin-top:2px}.queue-info{min-width:0}.queue-client{font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.source-tag{font-size:14px}.queue-service{font-size:13px;color:var(--text-secondary);margin-top:4px}.queue-therapist{font-size:12px;color:var(--color-primary);margin-top:4px;font-weight:500}.queue-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.flag-medical,.flag-hf{font-size:16px}.status-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;border-radius:var(--radius-pill);white-space:nowrap}.status-badge--confirmed{background:#e8f0ed;color:var(--color-primary)}.status-badge--arrived{background:var(--color-accent-light);color:var(--color-accent-dark)}.status-badge--in_progress{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #c5ddd6}.status-badge--completed{background:var(--color-success-light);color:var(--color-success)}.status-badge--no_show{background:var(--color-danger-light);color:var(--color-danger-dark)}.status-badge--cancelled{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.queue-card-expanded{padding:0 18px 16px;border-top:1px solid var(--border-subtle);background:var(--bg)}.expanded-section{padding:14px 0 0}.expanded-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:8px}.pref-row{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-primary)}.medical-note{margin-top:8px;font-size:13px;color:var(--color-danger-dark);padding:8px 10px;background:var(--color-danger-light);border-radius:var(--radius-sm)}.room-selector{display:flex;flex-wrap:wrap;gap:8px}.room-btn{min-width:44px;min-height:44px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .12s ease}.room-btn.active,.room-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.action-btn{flex:1;min-width:100px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;min-height:44px;transition:all .12s ease}.action-btn.arrived{border-color:var(--color-accent);color:var(--color-accent-dark);background:var(--color-accent-light)}.action-btn.start{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.action-btn.complete{background:var(--color-success);color:#fff;border-color:var(--color-success)}.action-btn.noshow{color:var(--color-danger-dark);border-color:var(--color-danger-border);background:var(--color-danger-light)}.queue-room-badge{font-size:12px;color:var(--color-accent-dark);font-weight:500;margin-top:2px}.queue-room-select{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:12px;font-family:inherit;color:var(--text-primary);min-height:36px;max-width:130px;cursor:pointer}.queue-room-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.queue-status-error{margin:0 0 12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-danger-light);color:var(--color-danger-dark);font-size:13px}.queue-cache-hint{margin:0 0 12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-accent-light);color:var(--color-accent-dark);font-size:13px}.queue-offline-tag{margin-left:8px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:#633806;color:#fff;vertical-align:middle}.queue-readonly-note{margin:0;font-size:13px;color:var(--text-secondary);font-style:italic}@media (max-width: 640px){.queue-card-main{grid-template-columns:1fr;gap:10px}.queue-time{width:fit-content}.queue-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%}}.staff-manager{padding:8px 0 24px;max-width:900px}.staff-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.staff-title{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.add-staff-btn{padding:10px 18px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;min-height:44px;font-family:inherit;box-shadow:var(--shadow-card);transition:background .15s ease}.add-staff-btn:hover{background:var(--color-primary-dark)}.staff-banner{font-size:13px;color:var(--text-secondary);padding:12px 14px;margin-bottom:12px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card)}.staff-banner--error{background:var(--color-danger-light);color:var(--color-danger-dark);border-color:var(--color-danger-border)}.staff-list{display:flex;flex-direction:column;gap:12px}.staff-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:18px 20px;box-shadow:var(--shadow-card);transition:box-shadow .15s ease,border-color .15s ease}.staff-card:hover{border-color:#d4cfc4;box-shadow:0 4px 16px #1b4d3e14}.staff-card--suspended{opacity:.75;background:var(--bg)}.staff-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.staff-card-identity{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.staff-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,var(--color-primary-light) 0%,#d4e8e0 100%);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0;border:2px solid var(--surface);box-shadow:0 0 0 2px var(--color-accent)}.staff-head{flex:1;min-width:0}.staff-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.staff-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.25}.staff-nickname{font-size:15px;font-weight:500;color:var(--color-primary);margin:0}.staff-nickname--empty{font-weight:400;color:var(--text-secondary);font-style:italic}.staff-role-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:var(--radius-pill)}.staff-role-badge--therapist{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #c5ddd6}.staff-role-badge--cashier{background:var(--color-accent-light);color:var(--color-accent-dark);border:1px solid #e8d9a8}.staff-role-badge--manager{background:#ede8f5;color:#4a3570;border:1px solid #c4b5e0}.staff-role-badge--owner{background:var(--color-primary);color:var(--color-accent);border:1px solid var(--color-accent)}.staff-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.staff-status--active{background:var(--color-success-light);color:var(--color-success);border:1px solid #b8d4c4}.staff-status--suspended{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.staff-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.staff-stat{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.staff-stat-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px}.staff-stat-value{display:block;font-size:18px;font-weight:600;color:var(--color-primary)}.staff-alerts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.staff-alert-tag{font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm)}.staff-alert-tag--notice{background:var(--color-primary-light);color:var(--color-primary)}.staff-alert-tag--warning{background:var(--color-accent-light);color:var(--color-accent-dark)}.staff-alert-tag--critical{background:var(--color-danger-light);color:var(--color-danger-dark)}.staff-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.staff-btn{font-size:13px;font-weight:500;padding:10px 16px;border-radius:var(--radius-sm);cursor:pointer;min-height:40px;font-family:inherit;transition:all .12s ease}.staff-modal{padding:20px;display:flex;flex-direction:column;gap:8px;width:100%;max-width:560px}.staff-modal .modal-title{padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.staff-delete-modal{padding:0;max-width:400px}.staff-delete-modal .modal-title{padding:20px 20px 0}.staff-delete-msg{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0;padding:12px 20px 4px}.staff-delete-modal .modal-footer{padding:16px 20px 20px}.form-section{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:12px}.form-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.form-hint{font-size:12px;color:var(--text-secondary);margin:2px 0 10px;line-height:1.4}.form-input.invalid{border-color:var(--color-danger);background:var(--color-danger-light)}.form-field-error{font-size:12px;color:var(--color-danger-dark);margin:2px 0 8px}@media (max-width: 640px){.staff-card-top{flex-direction:column}.staff-status{align-self:flex-start}.staff-stats{grid-template-columns:1fr}.staff-card-actions .staff-btn{flex:1 1 calc(50% - 4px);min-width:0}.form-row{grid-template-columns:1fr}}.app-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;padding:14px 22px;border-radius:var(--radius);font-size:14px;font-weight:500;font-family:var(--font);box-shadow:var(--shadow-elevated);max-width:min(90vw,420px);text-align:center;animation:toast-in .25s ease}.app-toast-success{background:var(--color-primary);color:#fff;border:1px solid var(--color-accent)}.app-toast-error{background:var(--color-danger-dark);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.services-manager{padding:12px 0;max-width:900px}.services-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.services-title{font-size:20px;font-weight:600;color:var(--text-primary)}.add-service-btn{padding:10px 18px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;min-height:44px;font-family:inherit;box-shadow:var(--shadow-card)}.services-search{margin-bottom:16px}.services-error{background:var(--color-danger-light);color:var(--color-danger-dark);padding:12px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:12px;border:1px solid var(--color-danger-border)}.services-loading,.services-empty{font-size:13px;color:var(--text-secondary);padding:16px 0}.services-list{display:flex;flex-direction:column;gap:12px}.service-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-card)}.service-card.inactive{opacity:.65;background:var(--bg)}.service-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.service-name{font-size:16px;font-weight:600;color:var(--text-primary)}.service-name-th{font-size:13px;color:var(--text-secondary);margin-top:2px}.service-meta{font-size:12px;color:var(--text-secondary);margin-top:6px}.service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.service-status{font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);font-weight:600}.service-status.active{background:var(--color-success-light);color:var(--color-success)}.service-status.inactive{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.service-btn{font-size:12px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:36px;font-family:inherit;font-weight:500}.service-btn:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.services-modal{padding:20px;gap:8px}.services-modal .form-input{margin-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.form-hint{font-size:12px;color:var(--text-secondary);margin:-4px 0 12px;line-height:1.4}.form-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);margin:8px 0 12px}.services-delete-msg{font-size:13px;color:var(--text-secondary);margin:12px 0}.upgrade-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.upgrade-modal{position:relative;width:100%;max-width:520px;max-height:90vh;overflow:auto;background:var(--surface, #fff);border-radius:var(--radius, 12px);padding:24px;box-shadow:0 12px 40px #0003}.upgrade-modal-close{position:absolute;top:12px;right:12px;border:none;background:none;font-size:24px;line-height:1;cursor:pointer;color:#666}.upgrade-modal-eyebrow{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#993c1d}.upgrade-modal-title{margin:0 0 10px;font-size:20px}.upgrade-modal-lead{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--text-secondary, #555)}.upgrade-table-wrap{overflow-x:auto;margin-bottom:20px}.upgrade-table{width:100%;border-collapse:collapse;font-size:13px}.upgrade-table th,.upgrade-table td{padding:8px 10px;border-bottom:1px solid #eee;text-align:center}.upgrade-table th:first-child,.upgrade-table td:first-child{text-align:left}.upgrade-table th{background:#f5f4ee;font-weight:600}.upgrade-modal-actions{display:flex;flex-direction:column;gap:10px}.upgrade-contact-btn{display:block;text-align:center;padding:12px 16px;border-radius:var(--radius-sm, 8px);background:var(--color-primary, #0f6e56);color:#fff;font-weight:600;text-decoration:none}.upgrade-dismiss-btn{padding:10px;border:none;background:none;color:#666;cursor:pointer;font-size:13px}.alert-loading{padding:32px;text-align:center;color:var(--text-secondary);font-size:14px}.alert-dashboard{padding:4px 0 24px;max-width:900px}.alert-summary{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:18px 20px;margin-bottom:16px}.alert-summary-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.alert-counts{display:flex;flex-wrap:wrap;gap:8px}.count-badge{font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--radius-pill)}.count-badge.critical{background:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger-border)}.count-badge.warning{background:var(--color-accent-light);color:var(--color-accent-dark);border:1px solid #e8d9a8}.count-badge.notice{background:var(--color-success-light);color:var(--color-success);border:1px solid #b8d4c4}.count-badge.all-clear{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #c5ddd6}.count-badge.booking{background:#e8f4fc;color:#1a4d6e;border:1px solid #a8d4f0}.alert-section{margin-bottom:20px}.alert-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 10px;display:flex;align-items:center;gap:8px}.booking-card.is-read{opacity:.88}.booking-details{margin:8px 0 0;padding:0;display:grid;gap:6px}.booking-detail-row{display:grid;grid-template-columns:88px 1fr;gap:8px;font-size:13px;line-height:1.4}.booking-detail-row dt{margin:0;font-weight:600;opacity:.85}.booking-detail-row dd{margin:0}.alert-empty{text-align:center;padding:48px 24px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card)}.alert-empty-icon{font-size:40px;margin-bottom:12px}.alert-empty-title{font-size:18px;font-weight:600;color:var(--color-primary);margin-bottom:6px}.alert-empty-sub{font-size:14px;color:var(--text-secondary)}.alert-list{display:flex;flex-direction:column;gap:12px}.alert-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;border-radius:var(--radius);border:1px solid;box-shadow:var(--shadow-card)}.alert-card-left{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.alert-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.alert-icon{font-size:20px;flex-shrink:0}.alert-content{min-width:0}.alert-title{font-size:14px;font-weight:600;margin-bottom:4px}.alert-message{font-size:13px;line-height:1.45}.alert-staff{font-size:12px;margin-top:6px;opacity:.85}.alert-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.days-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid}.alert-actions{display:flex;gap:6px}.alert-action-btn{font-size:12px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid;background:var(--surface);cursor:pointer;font-family:inherit;font-weight:500}.alert-dismiss{font-size:18px;line-height:1;border:none;background:none;cursor:pointer;opacity:.5;padding:4px}.alert-dismiss:hover{opacity:1}.sws-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-top:16px;box-shadow:var(--shadow-card)}.sws-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.sws-intro{margin:0;flex:1}.sws-save-badge{font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);background:#f0efe8;color:#666}.sws-save-saving{background:#fff3cd;color:#664d03}.sws-save-saved{background:#eaf3de;color:#3b6d11}.sws-save-error{background:#fde8e8;color:#993c1d}.sws-muted{font-size:13px;color:var(--text-secondary, #666);margin:0 0 12px}.sws-error{color:#993c1d;font-size:13px;margin:0 0 12px}.sws-review-status{margin:0 0 12px;font-size:13px;padding:10px 12px;background:#f0f7f2;border:1px solid #c9e8d8;border-radius:var(--radius-sm);color:#1a3d2b}.sws-preview{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;background:#f8f7f2;border-radius:var(--radius-sm);font-size:13px}.sws-preview-label{font-weight:500;color:#555}.sws-preview-link{color:var(--color-primary);word-break:break-all}.sws-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e0ddd5)}.sws-block:first-of-type{margin-top:16px;padding-top:0;border-top:none}.sws-block-hint{margin:-4px 0 12px;font-size:12px}.sws-block-title{margin:0 0 14px;font-size:14px;font-weight:600;color:var(--color-primary, #0f6e56)}.sws-toggles{display:flex;flex-direction:column;gap:8px}.sws-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#faf9f5;font-size:14px;cursor:pointer}.sws-switch{width:18px;height:18px;accent-color:var(--color-primary)}.sws-field{margin-bottom:14px}.sws-field label{display:block;font-size:12px;font-weight:500;margin-bottom:6px;color:#444}.sws-field input,.sws-field textarea,.sws-field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:#fff}.sws-field textarea{resize:vertical;min-height:72px}.sws-redirect{margin-top:16px}.sws-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sws-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.sws-images-subtitle{margin:0 0 6px;font-size:13px;font-weight:600}.sws-images-hint{margin:0 0 12px}.sws-image-card{border:1px solid var(--border, #e0ddd5);border-radius:var(--radius-sm);padding:14px;background:#faf9f5}.sws-image-card-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px}.sws-image-card-body{display:flex;flex-direction:column;gap:10px}.sws-image-preview{width:100%;max-height:140px;object-fit:cover;border-radius:var(--radius-sm);background:#eee}.sws-image-preview-empty{display:flex;align-items:center;justify-content:center;min-height:100px;color:#999;font-size:13px;border:1px dashed #ccc;border-radius:var(--radius-sm)}.sws-image-card-actions{display:flex;gap:8px;flex-wrap:wrap}.sws-upload-btn{display:inline-block;padding:8px 14px;font-size:12px;font-weight:500;border-radius:var(--radius-sm);background:var(--color-primary, #0f6e56);color:#fff;cursor:pointer}.sws-upload-btn input:disabled+span,.sws-upload-btn:has(input:disabled){opacity:.6;cursor:not-allowed}.sws-remove-btn{padding:8px 14px;font-size:12px;border:1px solid #e0ddd5;border-radius:var(--radius-sm);background:#fff;cursor:pointer;color:#993c1d}.sws-service-images{display:flex;flex-direction:column;gap:10px}.sws-service-image-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--border, #e0ddd5);border-radius:var(--radius-sm);background:#fff}.sws-service-image-meta{display:flex;align-items:center;gap:8px;min-width:140px}.sws-inactive-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#f0efe8;color:#888}.sws-service-image-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sws-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#eee}.sws-thumb-empty{display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#999;border:1px dashed #ccc}@media (max-width: 900px){.sws-row-2,.sws-images-grid{grid-template-columns:1fr}.sws-service-image-row{flex-direction:column;align-items:flex-start}}.spb-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-top:16px;box-shadow:var(--shadow-card)}.spb-panel-embedded{margin-top:0;padding:16px 0 0;border:none;border-top:1px solid var(--border);border-radius:0;box-shadow:none;background:transparent}.spb-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.spb-plan-badge{font-size:12px;padding:4px 12px;border-radius:var(--radius-pill);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.spb-plan-starter{background:#eaf3de;color:#3b6d11}.spb-plan-growth{background:#faeeda;color:#633806}.spb-plan-pro{background:#e1f5ee;color:#085041}.spb-save-badge{font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);background:#f0efe8;color:#666}.spb-save-saving{background:#fff3cd;color:#664d03}.spb-save-saved{background:#eaf3de;color:#3b6d11}.spb-save-error{background:#fde8e8;color:#993c1d}.spb-muted{font-size:13px;color:var(--text-secondary, #666);margin:0 0 12px}.spb-error{color:#993c1d;font-size:13px}.spb-block{margin-top:20px}.spb-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.spb-select{width:100%;max-width:280px;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.spb-subtitle{margin:0 0 6px;font-size:14px;font-weight:600}.spb-addon-hint{margin-bottom:12px}.spb-toggles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.spb-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#faf9f5;font-size:14px;cursor:pointer}@media (max-width: 600px){.spb-toggles{grid-template-columns:1fr}}.booking-wizard{max-width:720px;margin:0 auto;padding:8px 0 24px}.bw-progress{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.bw-progress-step{flex:1;min-width:72px;text-align:center;padding:10px 6px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);opacity:.75}.bw-progress-step.active{background:var(--color-primary-light);opacity:1;border-color:var(--color-primary)}.bw-progress-step.done{opacity:1;border-color:var(--color-success)}.bw-progress-num{display:block;font-size:12px;font-weight:600;color:var(--color-primary)}.bw-progress-label{font-size:11px;color:var(--text-secondary)}.bw-error{background:var(--color-danger-light);color:var(--color-danger-dark);padding:12px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13px;border:1px solid var(--color-danger-border)}.bw-step{display:flex;flex-direction:column;gap:12px}.bw-title{font-size:20px;font-weight:600;margin:0;color:var(--text-primary)}.bw-subtitle{font-size:14px;margin:8px 0 0;color:var(--text-secondary)}.bw-empty,.bw-hint{font-size:13px;color:var(--text-secondary)}.bw-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.bw-service-card{text-align:left;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;min-height:44px;font-family:inherit;transition:all .12s ease}.bw-service-card.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:var(--focus-ring)}.bw-service-name{font-weight:600;font-size:14px;color:var(--text-primary)}.bw-service-th{font-size:12px;color:var(--text-secondary)}.bw-service-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.bw-staff-row{display:flex;flex-wrap:wrap;gap:8px}.bw-staff-chip{padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:13px;font-family:inherit;font-weight:500}.bw-staff-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.bw-label{font-size:12px;color:var(--text-secondary);font-weight:500}.bw-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.bw-slot{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:14px;min-height:44px;font-family:inherit;font-weight:500}.bw-slot.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.bw-custom-time{margin-top:16px}.bw-input.invalid{border-color:var(--color-danger)}.bw-field-error{color:var(--color-danger-dark);font-size:12px;margin:6px 0 0}.bw-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-card)}.bw-summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:14px}.bw-summary-row:last-child{border-bottom:none}.bw-nav{display:flex;gap:12px;margin-top:8px}.bw-btn{padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;min-height:44px;border:none;flex:1;font-family:inherit;font-weight:500}.bw-btn.primary{background:var(--color-primary);color:#fff}.bw-btn.primary:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed}.bw-btn.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);flex:0 1 auto}.bw-done{text-align:center;padding:32px 16px}.bw-done-icon{width:56px;height:56px;line-height:56px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);font-size:28px;margin:0 auto 16px;border:2px solid var(--color-accent)}.bw-mode-toggle{display:flex;gap:8px;margin-bottom:20px}.bw-mode-btn{flex:1;padding:12px 16px;border-radius:var(--radius-pill);border:2px solid var(--border);background:var(--surface);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text-primary)}.bw-mode-btn.active{background:#1a3d2b;border-color:#1a3d2b;color:#fff}.bw-check-row{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:14px;color:var(--text-secondary);cursor:pointer}.bw-person-block{margin-bottom:20px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.bw-person-title{margin:0 0 12px;font-size:16px;color:#1a3d2b}.bw-summary-when{margin-bottom:16px}.bw-total-hint{font-weight:600;color:#1a3d2b;text-align:right}.booking-wizard--public{padding:0}.booking-wizard--public .bw-progress-step.active{background:#c9a2271f;border-color:#c9a227}.booking-wizard--public .bw-progress-step.active .bw-progress-num{color:#1a3d2b}.booking-wizard--public .bw-progress-step.done{border-color:#1a3d2b}.booking-wizard--public .bw-title{color:#1a3d2b}.booking-wizard--public .bw-service-card.selected{border-color:#c9a227;background:#c9a22714}.booking-wizard--public .bw-slot.selected,.booking-wizard--public .bw-btn.primary{background:#1a3d2b;border-color:#c9a227;color:#fff}.booking-wizard--public .bw-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.booking-wizard--public .bw-btn.secondary{border-color:#1a3d2b;color:#1a3d2b}.booking-wizard--public .bw-done{text-align:center;padding:24px 12px}.booking-wizard--public .bw-done-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#1a3d2b;color:#c9a227;font-size:28px;line-height:56px}.booking-wizard--public .bw-booking-ref{margin:16px 0 8px;padding:12px 16px;background:#c9a2271f;border:1px solid rgba(201,162,39,.35);border-radius:var(--radius);font-size:14px;color:#1a3d2b}.booking-wizard--public .bw-booking-ref strong{color:#1a3d2b;word-break:break-all}@media (max-width: 640px){.booking-wizard--public .bw-progress-label{font-size:10px}.booking-wizard--public .bw-service-grid{grid-template-columns:1fr}}.shop-settings{max-width:720px;margin:0 auto;padding:8px 0 32px}.ss-header{margin-bottom:20px}.ss-title{font-size:22px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.ss-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.ss-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-card)}.ss-section-title{font-size:14px;font-weight:600;margin:0 0 14px;color:var(--color-primary)}.ss-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.ss-row{grid-template-columns:1fr}}.ss-field{margin-bottom:12px}.ss-field label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.ss-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ss-menu-qr-preview{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:12px}.ss-menu-qr-card{padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.ss-menu-qr-meta{flex:1;min-width:200px}.ss-menu-qr-shop{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.ss-menu-qr-link{font-size:12px;word-break:break-all;color:var(--color-primary)}.ss-logo-preview{width:80px;height:80px;border:1px dashed var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}.ss-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.ss-theme-grid{display:flex;flex-wrap:wrap;gap:10px}.ss-theme-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:2px solid transparent;border-radius:var(--radius);cursor:pointer;background:none;min-width:72px;font-family:inherit}.ss-theme-swatch.selected{border-color:var(--color-accent);background:var(--color-accent-light)}.ss-theme-dot{width:36px;height:36px;border-radius:50%}.ss-theme-label{font-size:10px;color:var(--text-secondary)}.ss-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}.ss-actions{display:flex;gap:12px;align-items:center;margin-top:8px}.ss-btn{padding:12px 24px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;min-height:44px}.ss-btn.primary{background:var(--color-primary);color:#fff}.ss-btn.primary:disabled{opacity:.5;cursor:not-allowed}.ss-btn.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.ss-error{color:var(--color-danger-dark);font-size:13px;margin-top:8px}.ss-hint{font-size:12px;color:var(--text-secondary);margin-top:4px}.ss-input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:14px;font-family:inherit;color:var(--text-primary);min-height:44px;box-sizing:border-box}.ss-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.rooms-manager{padding:12px 0;max-width:900px}.rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rooms-title{font-size:20px;font-weight:600;color:var(--text-primary)}.add-room-btn{padding:10px 18px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;min-height:44px;font-family:inherit;box-shadow:var(--shadow-card)}.rooms-hint{font-size:13px;color:var(--text-secondary);margin:0 0 16px;line-height:1.45}.rooms-error{background:var(--color-danger-light);color:var(--color-danger-dark);padding:12px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:12px;border:1px solid var(--color-danger-border)}.rooms-loading,.rooms-empty{font-size:13px;color:var(--text-secondary);padding:16px 0}.rooms-list{display:flex;flex-direction:column;gap:12px}.room-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-card)}.room-card-main{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.room-name{font-size:16px;font-weight:600;color:var(--text-primary)}.room-actions{display:flex;align-items:center;gap:8px}.room-btn{font-size:12px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:36px;font-family:inherit;font-weight:500}.room-btn.danger{background:var(--color-danger-light);color:var(--color-danger-dark);border-color:var(--color-danger-border)}.room-btn.danger:hover{background:var(--color-danger-border)}.rooms-modal{padding:20px;gap:8px}.rooms-delete-msg{font-size:13px;color:var(--text-secondary);margin:12px 0}.revenue-summary{margin-bottom:20px}.revenue-summary-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}.revenue-summary-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.revenue-summary-sub{font-size:12px;color:var(--text-secondary)}.revenue-summary-error{font-size:13px;color:var(--color-danger-dark);padding:12px 14px;background:var(--color-danger-light);border-radius:var(--radius);border:1px solid var(--color-danger-border)}.revenue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 640px){.revenue-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.revenue-grid{grid-template-columns:repeat(5,1fr)}}.revenue-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:16px;min-height:92px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;overflow:hidden}.revenue-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent) 0%,#e8d9a8 100%)}.revenue-card--breakdown{grid-column:1 / -1}@media (min-width: 900px){.revenue-card--breakdown{grid-column:span 2}}.revenue-card-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:8px;line-height:1.3;padding-top:4px}.revenue-card-value{font-size:22px;font-weight:600;color:var(--color-primary);line-height:1.2}.revenue-card-value--count{color:var(--color-accent-dark)}.revenue-breakdown-rows{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px}@media (min-width: 480px){.revenue-breakdown-rows{grid-template-columns:repeat(3,1fr);gap:12px}}.revenue-breakdown-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--color-primary-light);border-radius:var(--radius-sm);border:1px solid #d4e4de}.revenue-breakdown-method{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.revenue-breakdown-amount{font-size:18px;font-weight:600;color:var(--color-primary)}.revenue-card--skeleton .revenue-card-label,.revenue-card--skeleton .revenue-card-value,.revenue-skel-line{background:linear-gradient(90deg,var(--border) 25%,var(--bg) 50%,var(--border) 75%);background-size:200% 100%;animation:revenue-shimmer 1.2s ease-in-out infinite;border-radius:4px;color:transparent}.revenue-card--skeleton .revenue-card-label{width:70%;height:10px;margin-bottom:10px}.revenue-card--skeleton .revenue-card-value{width:55%;height:22px}.revenue-skel-line{height:36px;width:100%}@keyframes revenue-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.voucher-list{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.voucher-list:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent)}.voucher-list-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding-top:4px}.voucher-list-title{font-size:18px;font-weight:600;color:var(--text-primary)}.voucher-list-sub{font-size:12px;color:var(--text-secondary)}.voucher-list-error{color:var(--color-danger-dark);font-size:13px}.voucher-list-loading,.voucher-list-empty{font-size:13px;color:var(--text-secondary);padding:12px 0}.voucher-table-wrap{overflow-x:auto}.voucher-table{width:100%;border-collapse:collapse;font-size:13px}.voucher-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:10px;border-bottom:1px solid var(--border);font-weight:600}.voucher-table td{padding:10px;border-bottom:1px solid var(--border-subtle);vertical-align:top}.voucher-code{font-family:ui-monospace,monospace;font-weight:600;color:var(--color-primary)}.voucher-status{display:inline-block;font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);font-weight:600}.voucher-status--active{background:var(--color-success-light);color:var(--color-success)}.voucher-status--redeemed{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.voucher-status--expired{background:var(--color-danger-light);color:var(--color-danger-dark)}.public-banner-warn{padding:10px 20px;background:#fff3cd;color:#664d03;border-bottom:1px solid #ffc107;font-size:.95rem}.public-site{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.public-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#1a3d2b;color:#fff;border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:40}.public-brand{text-decoration:none;color:inherit}.public-logo{height:40px;width:auto;max-width:160px;object-fit:contain;border-radius:4px;background:#fffffff2;padding:2px 6px}.public-logo-text{font-weight:700;font-size:18px;color:var(--color-accent)}.public-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.public-nav-link{font-size:13px;font-weight:500;padding:8px 12px;border-radius:var(--radius-pill);color:#ffffffe6;text-decoration:none;border:1px solid transparent;transition:background .15s ease}.public-nav-link:hover{background:#ffffff1a}.public-nav-link.active{background:#c9a22740;border-color:#c9a22780;color:#fff}.public-nav-staff{border-color:#c9a22773;color:var(--color-accent-light)}.public-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 40px}.public-footer{padding:20px 16px;text-align:center;background:#143d31;color:#ffffffd9;font-size:13px}.public-footer p{margin:0 0 6px}.public-footer-links a{color:var(--color-accent);text-decoration:none}.public-footer-links a:hover{text-decoration:underline}.public-footer-legal{margin-top:4px}.public-footer-powered{margin-top:10px!important;font-size:12px;color:#ffffffa6}.public-footer-powered a{color:#ffffffd9;text-decoration:none}.public-footer-powered a:hover{text-decoration:underline}@media (max-width: 640px){.public-header{flex-direction:column;align-items:stretch}.public-nav{justify-content:center}}.public-page{animation:public-fade-in .25s ease}.legal-doc{max-width:720px;margin:0 auto}.legal-doc-meta{margin:0 0 24px;font-size:14px;color:var(--text-secondary)}.legal-intro{margin:0 0 20px;line-height:1.6;color:#333}.legal-doc-body{display:flex;flex-direction:column;gap:8px}.legal-section{margin:0 0 8px}.legal-section h2{margin:0 0 10px;font-size:1.15rem;color:#1a3d2b}.legal-section p,.legal-section li{margin:0 0 10px;line-height:1.6;color:#444}.legal-section ul{margin:0 0 12px 1.25rem;padding:0}.legal-back{margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}.legal-back a{color:var(--color-accent-dark);font-weight:500}.legal-agree-label{display:flex;align-items:flex-start;gap:10px;margin:16px 0 4px;padding:12px 14px;background:#f5f4ee;border:1px solid #e0ddd5;border-radius:var(--radius-sm);font-size:14px;line-height:1.5;cursor:pointer}.legal-agree-input{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:#1a3d2b}.legal-agree-label a{color:#0f6e56;font-weight:500}@keyframes public-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.public-hero{text-align:center;padding:32px 12px 40px;border-radius:var(--radius)}.public-hero--image{padding:48px 20px 56px;background-size:cover;background-position:center;color:#fff}.public-hero--image .public-eyebrow{color:#c9e8d8}.public-hero--image .public-hero-title{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.public-hero--image .public-hero-sub{color:#ffffffeb}.public-hero--image .public-btn.secondary{background:#ffffff26;color:#fff;border-color:#fff9}.public-hero--image .public-btn.primary{background:#fff;color:#1a3d2b;border-color:#fff}.public-eyebrow{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-dark)}.public-hero-title{margin:0 0 12px;font-size:clamp(2rem,6vw,2.75rem);color:#1a3d2b;letter-spacing:-.02em}.public-hero-sub{margin:0 auto 24px;max-width:520px;font-size:16px;line-height:1.5;color:var(--text-secondary)}.public-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.public-btn{display:inline-block;padding:12px 22px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:filter .15s ease,transform .15s ease}.public-btn.primary{background:#1a3d2b;color:#fff;border-color:#1a3d2b}.public-btn.secondary{background:var(--surface);color:#1a3d2b;border-color:#1a3d2b}.public-btn:hover{filter:brightness(1.05)}.public-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.public-card{display:block;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.public-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-elevated)}.public-card-icon{font-size:28px;display:block;margin-bottom:8px}.public-card h2{margin:0 0 8px;font-size:18px;color:#1a3d2b}.public-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.45}.public-page-title{margin:0 0 8px;font-size:28px;color:#1a3d2b}.public-page-lead{margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.public-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-card)}.public-info-card p{margin:0 0 10px;line-height:1.5}.public-info-card p:last-child{margin-bottom:0}.public-service-list{display:grid;gap:12px}.public-service-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.public-service-photo{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.public-service-body{flex:1;min-width:0}.public-service-item h3{margin:0 0 4px;font-size:16px;color:#1a3d2b}.public-service-item p{margin:0;font-size:13px;color:var(--text-secondary)}.public-service-price{font-weight:700;color:#1a3d2b;white-space:nowrap}.public-empty{text-align:center;padding:32px;color:var(--text-secondary)}.public-book-wrap{max-width:720px;margin:0 auto}.public-book-wrap .public-eyebrow,.public-book-wrap .public-page-title{text-align:center}.public-book-wrap .public-page-lead{text-align:center;margin-bottom:20px}.public-menu-page{max-width:640px;margin:0 auto}.public-menu-header{text-align:center;padding:8px 12px 28px;margin-bottom:8px;border-bottom:2px solid #1a3d2b}.public-menu-logo{width:88px;height:88px;object-fit:contain;border-radius:var(--radius);margin-bottom:12px}.public-menu-logo-placeholder{width:88px;height:88px;margin:0 auto 12px;border-radius:50%;background:#1a3d2b;color:#fff;font-size:36px;font-weight:700;display:flex;align-items:center;justify-content:center}.public-menu-shop-name{margin:0 0 6px;font-size:clamp(1.75rem,5vw,2.25rem);color:#1a3d2b;letter-spacing:-.02em}.public-menu-tagline{margin:0;font-size:14px;color:var(--text-secondary)}.public-menu-sections{display:flex;flex-direction:column;gap:28px}.public-menu-category-title{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1a3d2b;padding-bottom:6px;border-bottom:1px solid var(--border)}.public-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.public-menu-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.public-menu-item-photo{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.public-menu-item-photo-empty{background:linear-gradient(135deg,#eaf3de,#d4e8c8)}.public-menu-item-body{flex:1;min-width:0}.public-menu-item-name{margin:0 0 2px;font-size:16px;font-weight:600;color:#1a3d2b;line-height:1.3}.public-menu-item-name-th{margin:0 0 4px;font-size:13px;color:var(--text-secondary)}.public-menu-item-meta{margin:0;font-size:12px;color:var(--text-secondary)}.public-menu-item-price{font-size:17px;font-weight:700;color:#1a3d2b;white-space:nowrap}@media (max-width: 400px){.public-menu-item-photo,.public-menu-item-photo-empty{width:52px;height:52px}.public-menu-item-price{font-size:15px}}.voucher-public{min-height:100vh;background:linear-gradient(165deg,#143d31,#1b4d3e 40%,#0a2e24);padding:24px 16px 48px;color:#fff}.voucher-public-header{text-align:center;margin-bottom:28px}.voucher-public-logo{display:block;font-size:14px;color:#c9a84c;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.voucher-public-header h1{font-size:28px;font-weight:600;margin:0 0 6px}.voucher-public-header p{margin:0;opacity:.85;font-size:15px}.voucher-public-card{max-width:440px;margin:0 auto;background:#fff;color:var(--text-primary);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-elevated)}.voucher-public-card h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:20px 0 10px}.voucher-public-card h2:first-child{margin-top:0}.voucher-amount-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.voucher-amount-btn{padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--color-primary)}.voucher-amount-btn.selected{border-color:var(--color-accent);background:var(--color-accent-light);box-shadow:var(--focus-ring)}.voucher-public-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;margin-bottom:10px;font-family:inherit;box-sizing:border-box}.voucher-public-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.voucher-public-btn{display:block;width:100%;text-align:center;padding:14px;border-radius:var(--radius-sm);font-size:16px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:inherit;margin-top:16px}.voucher-public-btn.primary{background:var(--color-primary);color:#fff}.voucher-public-btn.primary:disabled{opacity:.6;cursor:not-allowed}.voucher-public-error{color:var(--color-danger-dark);font-size:13px;margin-top:8px}.voucher-public-note{font-size:12px;color:var(--text-secondary);text-align:center;margin-top:14px;line-height:1.45}.voucher-public-success{text-align:center}.voucher-public-code{font-family:ui-monospace,monospace;font-size:28px;font-weight:700;color:var(--color-primary);letter-spacing:.06em;margin:16px 0}.pwa-offline-banner{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#633806;color:#fff;font-size:13px;font-weight:500;text-align:center;box-shadow:0 2px 8px #00000026}.pwa-offline-icon{flex-shrink:0}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:1001;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));background:#1a3d2b;color:#f5f0e6;border-top:2px solid #c9a227;box-shadow:0 -4px 20px #0003}.pwa-install-body{flex:1;min-width:200px}.pwa-install-body strong{display:block;font-size:15px;margin-bottom:4px}.pwa-install-body p{margin:0;font-size:13px;opacity:.92;line-height:1.4}.pwa-install-kbd{font-weight:600;color:#c9a227}.pwa-install-actions{display:flex;gap:8px;flex-shrink:0}.pwa-install-btn{border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.pwa-install-btn.primary{background:#c9a227;border-color:#c9a227;color:#1a3d2b}.pwa-install-btn:hover{filter:brightness(1.05)}
