:root{color:#111827;background:#f9fafb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;background:#1118276b;padding:20px}.app-confirm-dialog{display:grid;gap:16px;width:min(420px,100%);border-radius:10px;background:#fff;box-shadow:0 24px 72px #0f172a3d;padding:20px}.app-confirm-dialog h2{margin:0;color:#111827;font-size:18px;line-height:1.35}.app-confirm-dialog p{margin:0;color:#4b5563;font-size:14px;line-height:1.6}.app-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.app-confirm-actions button{min-width:88px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;padding:9px 14px;font-weight:700}.app-confirm-actions button.primary{border-color:#dc2626;background:#dc2626;color:#fff}.app-confirm-field{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:700}.app-confirm-field textarea,.app-confirm-field input{width:100%;border:1px solid #d1d5db;border-radius:8px;color:#111827;padding:10px 12px;resize:vertical}.app-confirm-error{color:#b91c1c!important;font-weight:700}.line-unbind-confirm-copy{display:grid;gap:8px}.icon-4{width:16px;height:16px}.icon-5{width:20px;height:20px}.icon-6{width:24px;height:24px}.muted-icon{color:#9ca3af}.figma-shell{min-height:100vh;background:#f9fafb}.figma-header{position:fixed;inset:0 0 auto;z-index:30;height:80px;border-bottom:1px solid #e5e7eb;background:#fff;padding:16px}.figma-header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.figma-header-left,.figma-header-actions{display:flex;align-items:center;gap:16px;min-width:0}.figma-header-left{flex:0 1 auto;min-width:0}.figma-header-actions{flex:1;justify-content:flex-end}.figma-logo{width:160px;height:auto;display:block}.mobile-menu-button,.logout-button,.back-button{border:0;background:transparent;color:#374151}.mobile-menu-button{display:none;padding:8px;border-radius:8px}.mobile-menu-button:hover,.logout-button:hover,.back-button:hover{background:#f3f4f6}.user-greeting{color:#374151}.actor-switcher{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:14px;white-space:nowrap}.actor-switcher-dropdown{position:relative}.actor-switcher-dropdown summary{display:flex;align-items:center;min-width:112px;height:36px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:0 28px 0 12px;cursor:pointer;list-style:none}.actor-switcher-dropdown summary::-webkit-details-marker{display:none}.actor-switcher-dropdown summary:after{position:absolute;right:10px;content:"▾";color:#6b7280}.actor-switcher-dropdown[open] summary:after{transform:rotate(180deg)}.actor-switcher-dropdown summary:focus{outline:2px solid #bfdbfe;border-color:#2563eb}.actor-switcher-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:max(160px,100%);max-height:200px;overflow-y:auto;border:1px solid #d1d5db;border-radius:10px;background:#fff;box-shadow:0 12px 30px #1118272e;padding:4px}.actor-switcher-menu button{display:flex;width:100%;height:40px;align-items:center;border:0;border-radius:7px;background:transparent;color:#111827;padding:0 10px;cursor:pointer;font:inherit;text-align:left;white-space:nowrap}.actor-switcher-menu button:hover,.actor-switcher-menu .actor-switcher-option-active{background:#eff6ff;color:#1d4ed8;font-weight:700}.logout-button{display:flex;align-items:center;gap:8px;border-radius:8px;padding:8px 16px}.auth-page{display:grid;min-height:100vh;place-items:center;background:#f8fafc;padding:24px}.auth-card{display:grid;width:min(400px,100%);gap:10px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 16px 40px #0f172a1f;padding:32px}.auth-logo{width:160px;margin:0 auto 8px}.auth-card h1,.auth-card p{margin:0}.auth-card p{color:#6b7280}.auth-card label{margin-top:8px;color:#374151;font-weight:700}.auth-card input{height:42px;border:1px solid #d1d5db;border-radius:8px;padding:0 12px;font:inherit}.auth-card button{margin-top:12px;min-height:42px}.auth-error{color:#b91c1c!important;font-weight:700}.figma-sidebar{position:fixed;top:80px;bottom:0;left:0;z-index:20;width:208px;border-right:1px solid #e5e7eb;background:#fff;transition:transform .18s ease}.figma-nav{display:grid;gap:6px;padding:12px}.figma-nav-item{display:flex;align-items:center;gap:12px;min-height:52px;border-radius:12px;padding:0 16px;color:#374151;text-decoration:none;font-size:15px;transition:background .16s ease,color .16s ease}.figma-nav-item:hover{background:#f9fafb}.figma-nav-active{background:#faf5ff;color:#7e22ce;font-weight:600}.figma-nav-icon{width:24px;height:24px;flex:0 0 auto}.figma-nav-disabled{color:#374151}.figma-main{padding-top:64px}.figma-main-inner{padding:16px}@media(min-width:640px){.figma-main-inner{padding:24px}}@media(min-width:1024px){.figma-main{padding-left:208px}.figma-main-inner{padding:32px}}.members-page{display:grid;gap:24px}.members-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.members-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.members-header h1,.detail-topbar h1{margin:0;color:#111827;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0}.members-header p,.detail-topbar p{margin:4px 0 0;color:#4b5563}.figma-primary-button,.figma-secondary-button{min-height:40px;border-radius:8px;padding:8px 16px;border:0;font-weight:500;transition:background .16s ease,color .16s ease,border-color .16s ease}.figma-primary-button{background:#9333ea;color:#fff}.figma-primary-button:hover{background:#7e22ce}.figma-secondary-button{border:1px solid #d1d5db;background:#fff;color:#374151}.figma-secondary-button:hover{background:#f9fafb}.icon-only-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151}.icon-only-button:hover{background:#f9fafb}.danger-button{color:#b91c1c}.danger-button:hover{border-color:#fecaca;background:#fef2f2}.danger-action-button{border-color:#fecaca;color:#b91c1c}.danger-action-button:hover{background:#fef2f2}.history-void-reason{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:700}.history-void-reason textarea{min-height:88px;resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;color:#111827;font:inherit;font-weight:500}.figma-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff}.search-card{padding:16px;display:grid;gap:12px}.figma-search-wrap{position:relative}.figma-search-wrap input{width:100%;height:50px;border:1px solid #d1d5db;border-radius:8px;padding:12px 48px;color:#111827;outline:none}.figma-search-wrap input:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea40}.search-icon,.search-loading{position:absolute;top:50%;transform:translateY(-50%);color:#9ca3af}.search-icon{left:12px;width:20px;height:20px}.search-loading{right:14px;width:20px;height:20px}.member-search-filters{display:grid;gap:10px}@media(min-width:640px){.member-search-filters{grid-template-columns:repeat(4,minmax(0,180px))}}.member-search-filters label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:600}.member-search-filters select{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:8px 10px;color:#111827;outline:none}.member-search-filters select:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea40}.member-search-filters .member-filter-toggle{align-content:start}.filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;padding:8px 10px;font-size:13px;font-weight:800}.filter-toggle.active{border-color:#0f766e;background:#ccfbf1;color:#115e59}.member-active-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:2px}.member-filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.member-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-filter-chip{display:inline-flex;align-items:center;gap:4px;min-height:28px;border:0;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}.member-filter-chip:hover{background:#e0e7ff;color:#312e81}.member-filter-chip svg{flex:0 0 auto}.compact-button{min-height:32px;padding:6px 10px;font-size:13px}.figma-alert,.figma-success{display:flex;align-items:center;gap:8px;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}.figma-alert{background:#fef2f2;color:#b91c1c}.appointment-page-alert{margin:16px 0}.appointment-page-alert button{margin-left:auto;border:1px solid currentColor;border-radius:6px;background:transparent;padding:6px 10px;color:inherit;font-weight:700}.appointment-grid-wrap{position:relative}.appointment-grid-wrap-loading{min-height:520px}.appointment-grid-loading{position:absolute;top:42px;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffb8;color:#6b7280;pointer-events:none}.figma-success{background:#f0fdf4;color:#166534}.access-denied-page{display:grid;gap:14px;max-width:720px;margin:0 auto;padding:40px 0}.access-denied-alert{align-items:flex-start}.access-denied-alert h1{margin:0;color:#991b1b;font-size:18px;line-height:1.35}.access-denied-alert p{margin:6px 0 0;color:#7f1d1d;font-weight:500;line-height:1.5}.access-denied-link{justify-self:start;text-decoration:none}.table-card{max-width:100%;min-width:0;overflow:hidden}.inventory-page{display:grid;gap:20px}.inventory-branch-select{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:14px}.inventory-branch-select select{min-width:180px;height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:0 32px 0 12px}.inventory-notice,.inventory-error{display:flex;align-items:center;gap:8px;border-radius:8px;padding:12px 14px;font-size:14px}.inventory-notice{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.inventory-error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.inventory-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-metric{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:16px}.inventory-metric-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#eef2ff;color:#4338ca;flex:0 0 auto}.inventory-metric span,.inventory-metric small{display:block;color:#6b7280;font-size:13px}.inventory-metric strong{display:block;margin-top:2px;color:#111827;font-size:24px;line-height:30px}.inventory-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inventory-attention-panel,.inventory-replenishment-panel{display:grid;gap:14px;padding:0 0 16px}.inventory-attention-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:0 18px}.inventory-replenishment-list{display:grid;gap:10px;padding:0 18px}.inventory-attention-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px;color:#111827;text-align:left}.inventory-attention-row:hover{border-color:#2563eb;background:#eff6ff}.inventory-attention-row strong,.inventory-attention-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-attention-row small{grid-column:2;color:#6b7280;font-size:12px}.inventory-attention-empty{border:1px solid #d1fae5;border-radius:8px;background:#ecfdf5;color:#047857;padding:12px;font-size:14px;font-weight:700}.inventory-replenishment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.inventory-replenishment-row strong,.inventory-replenishment-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-replenishment-row small{margin-top:4px;color:#6b7280;font-size:12px}.inventory-replenishment-row b{color:#047857;font-size:14px;white-space:nowrap}.inventory-replenishment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inventory-procurement-risk-panel{display:grid;gap:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:16px}.inventory-procurement-risk-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.inventory-procurement-risk-card{display:grid;gap:8px;min-width:0;border:1px solid #e5e7eb;border-left:4px solid #9ca3af;border-radius:8px;background:#fff;padding:12px}.inventory-procurement-risk-card.is-uncovered{border-left-color:#dc2626;background:#fef2f2}.inventory-procurement-risk-card.is-partial{border-left-color:#d97706;background:#fffbeb}.inventory-procurement-risk-card.is-covered{border-left-color:#059669;background:#ecfdf5}.inventory-procurement-risk-card strong,.inventory-procurement-risk-card small,.inventory-procurement-risk-card span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-procurement-risk-card strong{color:#111827;font-size:14px}.inventory-procurement-risk-card small{color:#6b7280;font-size:12px}.inventory-procurement-risk-card span{color:#111827;font-size:13px;font-weight:750}.inventory-purchase-panel{display:grid;gap:14px;padding:0 0 16px}.inventory-purchase-draft{display:grid;gap:12px;padding:0 18px}.inventory-supplier-master{display:grid;gap:12px;margin:0 18px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.inventory-supplier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inventory-supplier-head strong,.inventory-supplier-head small{display:block}.inventory-supplier-head small{margin-top:2px;color:#6b7280;font-size:12px}.inventory-error-text{color:#b91c1c;font-size:12px}.inventory-supplier-list{display:flex;gap:8px;flex-wrap:wrap}.inventory-supplier-chip{display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid #d1d5db;border-radius:8px;background:#fff}.inventory-supplier-chip.inactive{opacity:.66}.inventory-supplier-chip button{border:0;background:transparent;color:#111827}.inventory-supplier-chip>button:first-child{display:grid;gap:2px;min-width:196px;max-width:260px;padding:8px 10px;text-align:left}.inventory-supplier-chip span,.inventory-supplier-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-supplier-chip small{color:#6b7280;font-size:11px}.inventory-supplier-toggle{display:grid;place-items:center;width:38px;border-left:1px solid #e5e7eb!important;cursor:pointer}.inventory-supplier-history{display:grid;gap:10px;margin:0 18px;padding:12px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff}.inventory-supplier-history-head,.inventory-supplier-history-order-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-supplier-history-head strong,.inventory-supplier-history-head small,.inventory-supplier-history-order-head strong,.inventory-supplier-history-order-head small{display:block}.inventory-supplier-history-head small,.inventory-supplier-history-order-head small{margin-top:2px;color:#6b7280;font-size:12px}.inventory-supplier-history-list{display:grid;gap:8px}.inventory-supplier-history-order{display:grid;gap:8px;border:1px solid #dbeafe;border-radius:8px;background:#fff;padding:10px}.inventory-supplier-history-lines{display:grid;gap:6px;border-top:1px solid #eff6ff;padding-top:8px}.inventory-supplier-history-lines div{display:grid;gap:2px}.inventory-supplier-history-lines span,.inventory-supplier-history-lines small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-supplier-history-lines span{color:#111827;font-size:13px;font-weight:700}.inventory-supplier-history-lines small{color:#6b7280;font-size:12px}.inventory-cost-variance{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#374151;font-size:12px;font-style:normal;font-weight:650}.inventory-cost-variance span{color:#6b7280;font-weight:500}.inventory-cost-variance.is-over{color:#b91c1c}.inventory-cost-variance.is-under{color:#047857}.inventory-cost-variance.is-match{color:#2563eb}.inventory-cost-variance.is-pending,.inventory-cost-variance.is-actual-only,.inventory-cost-variance.is-none{color:#92400e}.inventory-purchase-lines,.inventory-purchase-list{display:grid;gap:10px}.inventory-purchase-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.32fr) minmax(128px,.38fr) auto;gap:10px;align-items:end;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.inventory-purchase-line strong,.inventory-purchase-line small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-purchase-line small{margin-top:4px;color:#6b7280;font-size:12px}.inventory-purchase-line label{display:grid;gap:6px;color:#374151;font-size:12px;font-weight:700}.inventory-purchase-line input{width:100%;min-height:38px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px}.inventory-purchase-line input:focus{outline:2px solid #bfdbfe;border-color:#2563eb}.inventory-purchase-list{border-top:1px solid #e5e7eb;padding:14px 18px 0}.inventory-purchase-filters{display:grid;grid-template-columns:minmax(132px,.5fr) minmax(132px,.5fr) minmax(180px,1fr) auto;gap:10px;align-items:end;border-top:1px solid #e5e7eb;padding:14px 18px 0}.inventory-purchase-filters label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:700}.inventory-purchase-filters select,.inventory-purchase-filters input{width:100%;min-height:38px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font:inherit;outline:none}.inventory-purchase-filters select:focus,.inventory-purchase-filters input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.inventory-purchase-entry{display:grid;gap:10px}.inventory-purchase-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.inventory-purchase-meta{min-width:0}.inventory-purchase-meta strong,.inventory-purchase-meta small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-purchase-meta small{margin-top:4px;color:#6b7280;font-size:12px}.inventory-purchase-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inventory-purchase-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding:0 2px}.inventory-purchase-timeline-step{display:grid;grid-template-columns:12px minmax(0,1fr);gap:8px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:9px 10px;min-width:0}.inventory-purchase-timeline-step>span{width:10px;height:10px;margin-top:3px;border-radius:999px;border:2px solid #9ca3af;background:#fff}.inventory-purchase-timeline-step.is-done>span{border-color:#16a34a;background:#16a34a}.inventory-purchase-timeline-step.is-current>span{border-color:#d97706;background:#fef3c7}.inventory-purchase-timeline-step strong,.inventory-purchase-timeline-step small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-purchase-timeline-step strong{color:#111827;font-size:12px}.inventory-purchase-timeline-step small{margin-top:2px;color:#6b7280;font-size:11px}.inventory-evidence-pack{display:grid;gap:10px;border:1px solid #e5e7eb;border-left:4px solid #9ca3af;border-radius:8px;background:#fff;padding:12px}.inventory-evidence-pack.is-ready{border-left-color:#059669;background:#f8fffb}.inventory-evidence-pack.is-pending{border-left-color:#d97706;background:#fffdf5}.inventory-evidence-pack strong,.inventory-evidence-pack small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-evidence-pack strong{color:#111827;font-size:13px}.inventory-evidence-pack small{margin-top:3px;color:#6b7280;font-size:12px}.inventory-evidence-pack-items{display:flex;gap:6px;flex-wrap:wrap}.inventory-evidence-pack-items span{max-width:100%;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;font-size:12px;font-weight:650;line-height:1.2;overflow:hidden;padding:6px 9px;text-overflow:ellipsis;white-space:nowrap}.inventory-attachment-pack{display:grid;gap:10px;border:1px solid #dbeafe;border-left:4px solid #2563eb;border-radius:8px;background:#f8fbff;padding:12px}.inventory-attachment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-attachment-head strong,.inventory-attachment-head small,.inventory-attachment-item strong,.inventory-attachment-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-attachment-head strong,.inventory-attachment-item strong{color:#111827;font-size:13px}.inventory-attachment-head small,.inventory-attachment-item small{margin-top:3px;color:#6b7280;font-size:12px}.inventory-attachment-list{display:grid;gap:8px}.inventory-attachment-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:8px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:9px}.inventory-attachment-item svg{color:#2563eb;margin-top:1px}.inventory-attachment-deleted-list{display:grid;gap:7px;border-top:1px solid #dbeafe;padding-top:10px}.inventory-attachment-deleted-list>strong{color:#374151;font-size:12px}.inventory-attachment-deleted-item{display:grid;gap:3px;min-width:0;border:1px dashed #d1d5db;border-radius:8px;background:#fff;padding:8px 10px}.inventory-attachment-deleted-item span,.inventory-attachment-deleted-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-attachment-deleted-item span{color:#374151;font-size:12px;font-weight:750}.inventory-attachment-deleted-item small{color:#6b7280;font-size:11px}.inventory-attachment-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end}.inventory-attachment-form label{display:grid;gap:5px;min-width:0}.inventory-attachment-form label span{color:#4b5563;font-size:12px;font-weight:700}.inventory-attachment-form input{width:100%;min-width:0;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font:inherit;padding:8px 10px}.inventory-attachment-form-error{grid-column:1 / -1;color:#b91c1c;font-size:12px;font-weight:700}.inventory-purchase-cost-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.inventory-cost-variance-card{display:grid;gap:4px;min-width:0;border:1px solid #e5e7eb;border-left:4px solid #9ca3af;border-radius:8px;background:#fff;padding:10px}.inventory-cost-variance-card.is-over{border-left-color:#dc2626;background:#fef2f2}.inventory-cost-variance-card.is-under{border-left-color:#059669;background:#ecfdf5}.inventory-cost-variance-card.is-match{border-left-color:#2563eb;background:#eff6ff}.inventory-cost-variance-card.is-pending,.inventory-cost-variance-card.is-actual-only,.inventory-cost-variance-card.is-none{border-left-color:#d97706;background:#fffbeb}.inventory-cost-variance-card strong,.inventory-cost-variance-card span,.inventory-cost-variance-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-cost-variance-card strong{color:#111827;font-size:12px}.inventory-cost-variance-card span{color:#111827;font-size:13px;font-weight:700}.inventory-cost-variance-card small{color:#6b7280;font-size:11px}.inventory-receive-form{display:grid;gap:10px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;padding:12px}.inventory-receive-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,.28fr) minmax(120px,.32fr) minmax(180px,.5fr);gap:10px;align-items:end;border:1px solid #dbeafe;border-radius:8px;background:#fff;padding:10px}.inventory-receive-line strong,.inventory-receive-line small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-receive-line small{margin-top:4px;color:#6b7280;font-size:12px}.inventory-receive-line label{display:grid;gap:6px;color:#374151;font-size:12px;font-weight:700}.inventory-receive-line input{width:100%;min-height:38px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px}.inventory-receive-line input:focus{outline:2px solid #bfdbfe;border-color:#2563eb}.inventory-panel{display:grid;gap:16px;padding:18px}.inventory-panel-heading,.inventory-table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inventory-panel-heading h2,.inventory-table-heading h2{margin:0;color:#111827;font-size:18px;line-height:24px}.inventory-panel-heading p,.inventory-table-heading p{margin:4px 0 0;color:#6b7280;font-size:13px}.inventory-form{display:grid;gap:12px}.inventory-movement-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(128px,.8fr) minmax(140px,.8fr) minmax(140px,.8fr) minmax(180px,1fr) auto;gap:10px;align-items:end;border-top:1px solid #e5e7eb;padding:14px 18px}.inventory-movement-filters label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:700}.inventory-movement-filters select,.inventory-movement-filters input{width:100%;min-height:38px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font:inherit;outline:none}.inventory-movement-filters select:focus,.inventory-movement-filters input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.inventory-audit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;border-top:1px solid #e5e7eb;padding:14px 18px}.inventory-audit-day{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.inventory-audit-day strong,.inventory-audit-day small{display:block}.inventory-audit-day small{margin-top:2px;color:#6b7280;font-size:12px}.inventory-audit-day b{font-size:18px;line-height:24px}.inventory-audit-positive{color:#047857}.inventory-audit-negative{color:#b91c1c}.inventory-audit-types{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:6px}.inventory-audit-types span{border-radius:999px;background:#f3f4f6;color:#374151;padding:3px 8px;font-size:12px;font-weight:700}.inventory-audit-empty{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;padding:12px;font-size:14px;font-weight:700}.inventory-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-form-actions,.inventory-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inventory-form-actions{justify-content:flex-end}.inventory-form label{display:grid;gap:6px;color:#374151;font-size:14px}.inventory-form input,.inventory-form select,.inventory-form textarea{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px}.inventory-form textarea{resize:vertical}.inventory-form input:focus,.inventory-form select:focus,.inventory-form textarea:focus,.inventory-branch-select select:focus{outline:2px solid #bfdbfe;border-color:#2563eb}.inventory-checkbox{display:flex!important;grid-template-columns:none;align-items:center;gap:8px!important}.inventory-checkbox input{width:16px;min-height:16px}.inventory-table-card{padding:0}.inventory-table-heading{padding:18px 18px 0}.inventory-state{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:28px;border-radius:999px;padding:0 10px;font-size:13px;font-weight:600}.inventory-state-ok{background:#ecfdf5;color:#047857}.inventory-state-low{background:#fffbeb;color:#b45309}.inventory-state-out{background:#fef2f2;color:#b91c1c}.inventory-state-draft{background:#f3f4f6;color:#374151}.inventory-state-submitted{background:#eff6ff;color:#1d4ed8}.inventory-state-approved{background:#ecfdf5;color:#047857}.inventory-state-rejected{background:#fef2f2;color:#b91c1c}.inventory-spin{animation:inventory-spin .9s linear infinite}.inventory-sr-count{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes inventory-spin{to{transform:rotate(360deg)}}.member-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e5e7eb;padding:12px 24px;background:#fff}.member-result-count{font-size:13px;font-weight:800}.member-result-count.muted{color:#4b5563}.member-result-count.active{color:#0f766e}.member-result-count.warning{color:#b45309}.text-action-button{border:0;background:transparent;color:#0f766e;padding:4px 0;font-size:13px;font-weight:800;cursor:pointer}.text-action-button:hover{color:#115e59;text-decoration:underline}.table-loading{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e5e7eb;padding:14px 24px;color:#4b5563;font-size:14px;font-weight:600}.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.members-table{width:100%;border-collapse:collapse}.members-table thead{border-bottom:1px solid #e5e7eb;background:#f9fafb}.members-table th{padding:16px 24px;color:#111827;font-size:14px;font-weight:600;text-align:left}.members-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .16s ease}.members-table tbody tr:last-child{border-bottom:0}.members-table tbody tr:hover{background:#f9fafb}.clickable-row{cursor:pointer}.members-table td{padding:16px 24px;color:#374151}.member-name-cell,.table-icon-text,.detail-icon-text,.coupon-name,.benefit-label,.stat-label,.detail-title-wrap,.detail-actions,.icon-button-text{display:flex;align-items:center}.member-name-cell{gap:12px}.member-name-cell span{color:#111827;font-weight:500}.member-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:#f3e8ff;color:#9333ea}.table-icon-text,.detail-icon-text{gap:8px}.table-muted{color:#374151;font-size:14px}.figma-badge{display:inline-block;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:500}.badge-blue{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f4f6;color:#4b5563}.line-binding-status-button{display:inline-flex;align-items:center;gap:5px;border:0;font:inherit;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.line-binding-status-button:hover:not(:disabled){background:#e5e7eb;color:#111827}.line-binding-status-button.line-binding-status-button-bound:hover:not(:disabled){background:#bbf7d0;color:#14532d}.line-binding-status-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0f766e33}.badge-green{background:#dcfce7;color:#166534}.badge-yellow{background:#fef3c7;color:#92400e}.badge-red{background:#fee2e2;color:#991b1b}.stored-value{color:#16a34a!important;font-size:14px;font-weight:500}.points-pill{display:inline-block;border-radius:4px;background:#faf5ff;color:#7e22ce;padding:4px 8px;font-size:12px;font-weight:700}.figma-empty{padding:48px;text-align:center}.empty-user-icon{width:48px;height:48px;color:#d1d5db;margin:0 auto 16px}.figma-empty h3{margin:0 0 8px;color:#111827;font-size:18px;font-weight:600}.figma-empty p{margin:0;color:#4b5563}.reports-page,.history-page{display:grid;gap:24px}.history-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}.history-search-panel,.history-detail-panel,.history-timeline{display:grid;gap:14px}.history-search-panel{padding:16px}.history-search-form label{display:grid;gap:8px;color:#374151;font-size:13px;font-weight:700}.history-order-search-form{display:grid;gap:10px;border-top:1px solid #e5e7eb;padding-top:14px}.history-search-input{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 10px;color:#6b7280}.history-search-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#111827;font:inherit}.history-filter-select{min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font:inherit;outline:none}.history-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.history-check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;color:#374151}.history-check-row input{width:16px;height:16px}.history-result-list,.history-event-list,.history-payment-list,.history-settlement-list,.history-transaction-list,.history-audit-list{display:grid;gap:10px}.history-result-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;width:100%;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;padding:12px;text-align:left}.history-result-row:hover,.history-result-active{border-color:#2563eb;background:#eff6ff}.history-result-row strong,.history-result-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-result-row strong{font-size:14px}.history-result-row small{margin-top:3px;color:#6b7280;font-size:12px}.history-loading,.history-empty{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px;font-weight:700}.history-empty{justify-content:center;min-height:84px;border:1px dashed #d1d5db;border-radius:8px;background:#f9fafb}.history-profile{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px}.history-profile span,.history-profile p{color:#6b7280;font-size:13px}.history-profile h2{margin:4px 0;color:#111827;font-size:22px;line-height:30px;letter-spacing:0}.history-profile-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.history-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.history-metric{display:grid;gap:4px;min-height:88px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:14px}.history-metric span{color:#6b7280;font-size:13px}.history-metric strong{color:#111827;font-size:22px;line-height:30px;letter-spacing:0}.history-metric small{color:#6b7280;font-size:12px;line-height:18px}.history-timeline{padding:16px}.history-order-panel,.history-payment-panel,.history-settlement-panel,.history-transaction-panel,.history-audit-panel,.history-media-panel{display:grid;gap:14px;padding:16px}.history-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.history-media-grid section{display:grid;gap:10px;min-width:0}.history-media-grid h3{margin:0;color:#111827;font-size:15px;line-height:22px}.history-media-list{display:grid;gap:10px}.history-media-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.history-media-row>svg{color:#2563eb}.history-media-row strong,.history-media-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-media-row strong{color:#111827;font-size:14px}.history-media-row small{margin-top:3px;color:#6b7280;font-size:12px}.history-order-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-order-heading span{color:#6b7280;font-size:13px}.history-order-heading h2{margin:4px 0 0;color:#111827;font-size:20px;line-height:28px;letter-spacing:0}.history-order-heading .appointment-secondary-button{width:auto}.history-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.history-order-grid section,.history-order-settlements{display:grid;gap:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.history-order-grid h3,.history-order-settlements h3{margin:0;color:#111827;font-size:15px;line-height:22px}.history-order-list{display:grid;gap:8px}.history-order-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid #f3f4f6;padding-top:8px}.history-order-list span,.history-order-list small,.history-order-list p{color:#6b7280;font-size:12px}.history-order-list span{color:#111827;font-size:13px;font-weight:700}.history-order-list small{display:block;margin-top:2px;font-weight:600}.history-order-list strong{color:#111827;font-size:13px;white-space:nowrap}.history-event-row,.history-payment-row,.history-settlement-row,.history-transaction-row,.history-audit-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.history-event-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#eff6ff;color:#2563eb}.history-event-title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}.history-event-title strong,.history-event-row b{color:#111827;font-size:14px}.history-event-title span,.history-event-row p,.history-event-row small,.history-payment-row p,.history-payment-row small,.history-settlement-row p,.history-settlement-row small,.history-transaction-row p,.history-transaction-row small,.history-audit-row p,.history-audit-row small{color:#6b7280;font-size:12px}.history-event-row p,.history-event-row small,.history-payment-row p,.history-payment-row small,.history-settlement-row p,.history-settlement-row small,.history-transaction-row p,.history-transaction-row small,.history-audit-row p,.history-audit-row small{display:block;margin:4px 0 0}.history-event-row b{white-space:nowrap}.history-payment-row b,.history-settlement-row b,.history-transaction-row b,.history-audit-row b{color:#111827;font-size:14px;white-space:nowrap}.history-negative-amount{color:#b91c1c!important}.report-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;padding:16px}.report-filters label{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:700}.report-filters input,.report-filters select{min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font:inherit;outline:none}.report-filters input:focus,.report-filters select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.report-link-button{border:0;background:transparent;color:#2563eb;padding:0;font-weight:700;text-align:left}.report-link-button:hover{color:#1d4ed8;text-decoration:underline}.report-export-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;padding:6px 10px;font-size:13px;font-weight:800}.report-export-button:hover{background:#dbeafe}.report-export-button:disabled{cursor:not-allowed;background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}.report-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-metric{display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:112px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:16px}.report-metric>div:not(.report-metric-icon){min-width:0}.report-metric-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eff6ff;color:#1d4ed8;flex:0 0 auto}.report-metric span,.report-metric small{display:block;color:#6b7280;font-size:13px;line-height:18px;overflow-wrap:anywhere}.report-metric strong{display:block;margin-top:4px;color:#111827;font-size:24px;line-height:32px;letter-spacing:0;overflow-wrap:anywhere}.report-section,.report-grid{display:grid;gap:12px;min-width:0}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.report-section-heading{display:flex;align-items:center;gap:8px;color:#374151}.report-section-heading-between{flex-wrap:wrap;justify-content:space-between;gap:12px}.report-section-heading-between>div{display:inline-flex;align-items:center;gap:8px}.report-section-heading h2{margin:0;color:#111827;font-size:18px;line-height:26px;letter-spacing:0}.report-inline-filter{display:inline-flex;align-items:center;gap:8px;color:#4b5563;font-size:13px;font-weight:700}.report-inline-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.report-inline-actions button{min-height:36px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;padding:6px 10px;font-size:13px;font-weight:800}.report-inline-actions button:hover{background:#f9fafb}.report-inline-filter select{min-height:36px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:6px 10px}.report-table td,.report-table th{white-space:nowrap}.report-table{min-width:max-content}.report-empty-cell{color:#6b7280!important;text-align:center}.today-work-page{display:grid;gap:24px}.today-work-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.today-work-header h1{margin:0;color:#111827;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0}.today-work-header p{margin:4px 0 0;color:#4b5563}.next-service-card{position:sticky;top:88px;z-index:10;display:grid;gap:12px;border:1px solid #e9d5ff;border-radius:8px;background:#faf5ff;padding:20px;box-shadow:0 10px 30px #581c8714}.next-service-card h2,.today-list-header h2,.today-modal-header h2,.today-info-panel h3,.today-modal-section h3{margin:0;color:#111827;letter-spacing:0}.next-service-card h2{color:#6b21a8;font-size:18px;line-height:28px}.next-service-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.next-service-meta{min-width:0;display:grid;gap:6px;color:#6b21a8}.next-service-meta p,.next-service-meta strong,.today-row-body p{display:flex;align-items:center;gap:8px;margin:0}.next-service-meta strong{color:#581c87;font-size:18px;line-height:28px}.next-service-empty{margin:0;color:#6b21a8}.today-lock-message{margin:0;color:#dc2626;font-size:14px;font-weight:600}.today-stats-grid{display:grid;gap:16px}@media(min-width:768px){.today-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.today-stat-card,.today-list-card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #1118270a}.today-stat-card{padding:20px}.today-stat-card p{margin:0;color:#6b7280;font-size:14px}.today-stat-value{display:block;margin-top:4px;color:#111827;font-size:24px;line-height:32px}.today-stat-green{color:#16a34a}.today-stat-purple{color:#9333ea}.today-list-card{overflow:hidden}.today-list-header{border-bottom:1px solid #e5e7eb;padding:16px 24px}.today-list-header h2{font-size:18px;line-height:28px}.today-list{display:grid}.today-appointment-row{display:grid;gap:12px;border-bottom:1px solid #e5e7eb;padding:24px;transition:background .16s ease}.today-appointment-row:last-child{border-bottom:0}.today-appointment-row:hover{background:#f9fafb}.today-row-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.today-row-time,.today-row-actions,.today-primary-button,.today-secondary-button,.today-success-button,.today-chip{display:inline-flex;align-items:center}.today-row-time{min-width:0;gap:10px;flex-wrap:wrap}.today-row-time strong{color:#111827;font-size:18px}.today-row-actions{gap:8px;flex-wrap:wrap}.today-recheckout-help{border-radius:999px;background:#f3f4f6;color:#4b5563;padding:6px 10px;font-size:12px;font-weight:700}.today-row-body{display:grid;gap:6px;color:#374151}.today-order-state{width:fit-content;border-radius:999px;background:#ecfdf5;padding:4px 10px;color:#047857;font-weight:700}.today-customer-history{margin-top:8px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px 12px}.today-customer-history summary{cursor:pointer;color:#4f46e5;font-weight:700}.today-history-orders{display:grid;gap:10px;margin-top:10px}.today-history-order{display:grid;gap:5px;border-radius:10px;background:#f9fafb;padding:12px}.today-history-order header{display:flex;justify-content:space-between;gap:12px}.today-history-order header span{color:#7c3aed;font-weight:700}.today-history-empty{margin-top:10px;color:#6b7280}.today-history-photos{display:flex;gap:8px;overflow-x:auto;padding-top:4px}.today-history-photo-button{width:96px;height:96px;flex:0 0 auto;overflow:hidden;border:0;border-radius:8px;padding:0;background:transparent;cursor:zoom-in}.today-history-photo-button img{display:block;width:100%;height:100%;object-fit:cover}.today-photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:56px 20px 20px;background:#0f172ae6}.today-photo-lightbox>button{position:absolute;top:16px;right:16px;display:grid;place-items:center;border:0;border-radius:999px;background:#ffffff29;padding:10px;color:#fff;cursor:pointer}.today-photo-lightbox>img{max-width:min(100%,1100px);max-height:calc(100vh - 76px);border-radius:12px;object-fit:contain}.today-status-badge{border-radius:999px;padding:4px 12px;font-size:14px;font-weight:600}.today-retroactive-badge{border:1px solid #fb923c;border-radius:999px;background:#fff7ed;color:#c2410c;padding:3px 9px;font-size:12px;font-weight:800}.today-primary-button,.today-secondary-button,.today-success-button{justify-content:center;gap:8px;min-height:40px;border-radius:8px;padding:8px 16px;border:0;font-size:14px;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease}.today-primary-button{background:#9333ea;color:#fff}.today-primary-button:hover{background:#7e22ce}.today-primary-button:disabled{background:#9ca3af}.today-secondary-button{border:1px solid #d1d5db;background:#fff;color:#374151}.today-secondary-button:hover{background:#f9fafb}.today-success-button{background:#16a34a;color:#fff}.today-success-button:hover{background:#15803d}.today-line-share-button{text-decoration:none}.today-empty{padding:48px;color:#6b7280;text-align:center}.today-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#11182780}.today-modal{width:min(672px,100%);max-height:min(90vh,920px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 24px 72px #11182740}.today-order-modal{width:min(768px,100%)}.today-modal-header,.today-modal-footer{background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.today-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e7eb;padding:20px}.today-modal-header h2{font-size:20px;line-height:28px}.today-modal-header p{margin:4px 0 0;color:#6b7280;font-size:14px}.today-modal-body{display:grid;gap:20px;overflow-y:auto;padding:20px}.today-info-panel,.today-modal-section{display:grid;gap:10px}.today-info-panel{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:16px}.today-info-panel h3,.today-modal-section h3{font-size:16px;line-height:24px}.today-info-panel p,.today-modal-section p{margin:0;color:#374151;font-size:14px}.today-info-panel strong{color:#9333ea}.today-checkout-list{display:grid;gap:10px}.today-checkout-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7eb;padding-bottom:10px}.today-checkout-list>div:last-child{border-bottom:0;padding-bottom:0}.today-checkout-list span{min-width:0;color:#374151;font-size:15px;line-height:22px}.today-checkout-list strong{flex:0 0 auto;color:#111827;font-size:15px}.today-checkout-list small{display:block;margin-top:2px;color:#6b7280;font-size:12px;line-height:18px}.checkout-option-list,.checkout-payment-grid,.checkout-history-grid{display:grid;gap:10px}.checkout-option-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.checkout-option-row input{width:18px;height:18px}.checkout-option-row span{display:grid;gap:2px;min-width:0}.checkout-option-row strong{color:#111827;font-size:14px;line-height:20px}.checkout-option-row small{color:#6b7280;font-size:12px;line-height:18px}.checkout-option-row b{color:#7c3aed;font-size:13px;white-space:nowrap}.checkout-option-row:has(input:disabled){background:#f9fafb;color:#9ca3af}.checkout-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-payment-grid label{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:700}.checkout-payment-grid input{width:100%;min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:9px 11px;color:#111827;outline:none}.checkout-payment-grid input:disabled,.checkout-payment-grid input[readonly]{background:#f3f4f6;color:#4b5563}.checkout-payment-grid input:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea2e}.checkout-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-history-grid p{min-width:0}.group-buy-redemption-panel{display:grid;gap:14px;border:1px solid #d1fae5;border-radius:8px;background:#f0fdf4;padding:14px}.group-buy-redemption-panel h4{margin:0 0 4px;color:#064e3b;font-size:15px;line-height:22px}.group-buy-redemption-panel p{margin:0;color:#047857;font-size:13px;line-height:20px}.group-buy-redemption-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.group-buy-redemption-form .today-success-button{min-height:44px}.checkout-error{color:#b91c1c!important;font-weight:700}@media(max-width:640px){.checkout-payment-grid,.checkout-history-grid,.group-buy-redemption-form{grid-template-columns:1fr}}.checkout-pos-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow-y:auto;background:#f9fafb;padding-bottom:104px}.checkout-pos-header{position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e7eb;background:#fff}.checkout-pos-header-inner{display:flex;align-items:center;gap:16px;max-width:1500px;margin:0 auto;padding:16px 24px}.checkout-pos-icon-button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#111827}.checkout-pos-icon-button:hover{background:#f3f4f6}.checkout-pos-header h1{margin:0;color:#111827;font-size:24px;line-height:32px;font-weight:800}.checkout-pos-header p{margin:0;color:#4b5563;font-size:14px;line-height:20px}.checkout-pos-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;max-width:1500px;margin:0 auto;padding:24px}.checkout-pos-content{display:grid;gap:24px}.checkout-pos-card,.checkout-summary-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #1118270a}.checkout-pos-card{padding:24px}.checkout-customer-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.checkout-customer-identity{display:flex;align-items:center;gap:16px}.checkout-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#ede9fe;color:#6d28d9}.checkout-customer-identity h2,.checkout-card-title h2,.checkout-line-header h2,.checkout-summary-card h2{margin:0;color:#111827;font-size:18px;line-height:28px;font-weight:700}.checkout-customer-identity p{margin:0;color:#6b7280;font-size:14px}.checkout-customer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:12px}.checkout-topup-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #047857;border-radius:8px;background:#ecfdf5;padding:0 14px;color:#047857;font-weight:700;white-space:nowrap}.checkout-topup-button:hover{background:#d1fae5}.checkout-metric{min-width:128px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px 16px}.checkout-metric p{margin:0;color:#6b7280;font-size:12px;line-height:16px}.checkout-metric strong{display:block;margin-top:4px;color:#111827;font-size:14px;line-height:20px;white-space:nowrap}.checkout-card-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#059669}.checkout-coupon-list{display:grid;gap:12px}.checkout-coupon-empty{border:1px dashed #d1d5db;border-radius:8px;padding:12px;color:#6b7280;font-size:14px;font-weight:700}.checkout-benefit-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.checkout-benefit-strip span{border:1px solid #e9d5ff;border-radius:999px;background:#faf5ff;padding:6px 10px;color:#6d28d9;font-size:13px;font-weight:700}.checkout-coupon-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:background-color .16s ease,border-color .16s ease}.checkout-coupon-row.is-applicable{border-color:#ddd6fe;background:#f5f3ff}.checkout-coupon-row.is-disabled{background:#f9fafb;opacity:.62}.checkout-coupon-row input{width:20px;height:20px;margin-top:2px;accent-color:#7c3aed}.checkout-coupon-row span{display:grid;gap:4px}.checkout-coupon-row strong{color:#111827;font-size:15px;line-height:22px}.checkout-coupon-row small{color:#4b5563;font-size:12px;line-height:16px}.checkout-coupon-row b{color:#047857;font-size:14px;line-height:20px;white-space:nowrap}.checkout-line-card{padding:0;overflow:visible}.checkout-line-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e7eb;padding:24px}.checkout-line-header p{margin:4px 0 0;color:#4b5563;font-size:14px}.checkout-line-list{display:grid}.checkout-allocation-toolbar{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #f3f4f6;padding:16px 20px}.checkout-allocation-toolbar button{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 14px;color:#374151;font-size:14px;font-weight:700}.checkout-allocation-toolbar button:first-child{border-color:#bfdbfe;color:#1d4ed8}.checkout-allocation-toolbar button.restore{border-color:#e5e7eb;color:#6b7280}.checkout-allocation-toolbar button:disabled{cursor:not-allowed;opacity:.5}.checkout-stored-value-hint{display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid #dbeafe;background:#eff6ff;padding:10px 20px;color:#1e40af;font-size:13px;font-weight:700;line-height:20px}.checkout-stored-value-hint svg{flex:0 0 auto;margin-top:2px}.checkout-line-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(96px,120px) minmax(140px,180px) minmax(112px,auto);gap:16px;align-items:start;border-bottom:1px solid #f3f4f6;padding:20px}.checkout-line-row:last-child{border-bottom:0}.checkout-line-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.checkout-line-name h3{margin:0;color:#111827;font-size:16px;line-height:24px;font-weight:700}.checkout-line-child{border-left:2px solid #ddd6fe;padding-left:16px}.checkout-child-badge{border-radius:999px;background:#f3f4f6;padding:2px 8px;color:#4b5563;font-size:12px;font-weight:700}.checkout-line-row p{margin:4px 0 0;color:#6b7280;font-size:14px;line-height:20px}.checkout-line-row>strong{color:#111827;font-size:18px;line-height:28px}.checkout-line-row select,.checkout-line-row button{height:44px;border-radius:8px;font-size:14px}.checkout-line-actions{display:flex;flex-wrap:wrap;gap:8px}.checkout-line-actions button{flex:1 1 72px;min-width:72px}.checkout-line-actions button.restore{border-color:#e5e7eb;color:#4b5563}.checkout-line-row select{width:100%;border:1px solid #d1d5db;background:#fff;padding:0 12px;color:#6b7280}.checkout-line-row button{border:1px solid #e9d5ff;background:#fff;color:#7c3aed;font-weight:700}.checkout-line-row button:disabled,.checkout-line-row select:disabled{cursor:not-allowed;opacity:.55}.checkout-line-edit-stack{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.checkout-inventory-badge{background:#e0f2fe;color:#0369a1}.checkout-inventory-mapping{display:grid;grid-template-columns:minmax(180px,1fr) 96px;gap:8px;width:min(100%,420px);border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:8px}.checkout-inventory-mapping label{display:grid;gap:4px;color:#64748b;font-size:12px;font-weight:700}.checkout-inventory-mapping select,.checkout-inventory-mapping input{width:100%;height:34px;min-height:34px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#111827;padding:0 8px;font-size:13px}.checkout-inventory-mapping small{grid-column:1 / -1;color:#475569;font-size:12px;line-height:16px}.checkout-category{border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.checkout-category-main{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}.checkout-category-addon{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.checkout-category-products{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.checkout-category-groupBuy,.checkout-category-semiPermanent,.checkout-category-other{border-color:#fde68a;background:#fffbeb;color:#b45309}.checkout-proof-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.checkout-photo-upload{display:grid;place-items:center;height:140px;min-height:140px;overflow:hidden;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;padding:8px;color:#4b5563;font-size:14px;font-weight:700;text-align:center;cursor:pointer}.checkout-photo-preview{display:grid;width:100%;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:8px;justify-items:center;overflow:hidden}.checkout-photo-preview img{display:block;width:100%;height:100%;min-height:0;max-height:none;border-radius:8px;object-fit:cover}.checkout-photo-preview strong{max-width:100%;overflow:hidden;font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.checkout-photo-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.checkout-design-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:16px}.checkout-quantity-controls{display:inline-flex;align-items:center;gap:8px;margin-top:8px}.checkout-quantity-controls button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151}.checkout-quantity-controls span{color:#374151;font-size:13px;font-weight:700}.checkout-design-summary p{margin:0;color:#374151;font-size:14px}.checkout-pos-sidebar{min-width:0;align-self:start;padding-bottom:120px}.checkout-summary-card{position:sticky;top:96px;display:grid;gap:20px;padding:24px}.checkout-summary-group{display:grid;gap:12px;border-bottom:1px solid #e5e7eb;padding-bottom:20px}.checkout-summary-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.checkout-summary-line span{color:#4b5563}.checkout-summary-line span.is-strong{color:#111827;font-weight:700}.checkout-summary-line strong{color:#111827;font-variant-numeric:tabular-nums}.checkout-summary-line strong.is-strong{font-size:20px}.checkout-summary-line strong.is-warning{color:#dc2626}.checkout-summary-line strong.is-discount{color:#047857}.checkout-deposit-note{border:1px solid #ddd6fe;border-radius:10px;background:#f5f3ff;padding:12px}.checkout-deposit-note strong{color:#5b21b6;font-size:13px}.checkout-deposit-note p{margin:6px 0 0;color:#374151;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.checkout-deposit-help{color:#6b7280;line-height:1.5}.checkout-amount-field{display:grid;gap:8px}.checkout-amount-field span{display:flex;align-items:center;gap:8px;color:#374151;font-size:14px;font-weight:700}.checkout-amount-field input,.checkout-amount-field select{width:100%;height:44px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 12px;color:#111827;outline:none}.checkout-amount-field input[readonly]{background:#f3f4f6;color:#4b5563}.checkout-amount-field input:focus,.checkout-amount-field select:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed29}.checkout-reset-button{min-height:42px;border:1px solid #fbbf24;border-radius:8px;background:#fffbeb;color:#92400e;font-weight:700}.checkout-points-box{border:1px solid #d1fae5;border-radius:8px;background:#ecfdf5;padding:12px}.checkout-points-box p{margin:0;color:#064e3b;font-size:14px;font-weight:700}.checkout-points-box strong{display:block;margin-top:4px;color:#047857;font-size:24px;line-height:32px}.checkout-validation-card{display:flex;gap:12px;margin-top:16px;border:1px solid;border-radius:12px;padding:16px}.checkout-pos-sidebar>.checkout-validation-card{position:fixed;right:max(24px,calc((100vw - 1500px)/2 + 24px));bottom:calc(env(safe-area-inset-bottom) + 112px);z-index:140;width:min(360px,calc(100vw - 48px));max-height:min(42vh,320px);overflow-y:auto;box-shadow:0 16px 38px #11182729}.checkout-validation-card.is-ready{border-color:#bbf7d0;background:#ecfdf5;color:#059669}.checkout-validation-card.is-warning{border-color:#fde68a;background:#fffbeb;color:#d97706}.checkout-validation-card strong{color:inherit}.checkout-validation-card p{margin:6px 0 0;color:inherit;font-size:14px;line-height:20px}.checkout-pos-footer{position:fixed;right:0;bottom:0;left:0;z-index:90;border-top:1px solid #e5e7eb;background:#fff;box-shadow:0 -18px 40px #1118271f}.checkout-pos-footer>div{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1500px;margin:0 auto;padding:16px 24px}.checkout-pos-footer>div>div{display:flex;align-items:center;gap:12px}.checkout-pos-footer span{color:#4b5563;font-size:14px}.checkout-pos-footer button{display:inline-flex;align-items:center;gap:8px;min-height:48px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 20px;color:#374151;font-weight:700}.checkout-pos-footer button:nth-child(2){border-color:transparent;background:#f3f4f6}.checkout-pos-footer button.primary{border-color:#7c3aed;background:#7c3aed;color:#fff;box-shadow:0 12px 26px #7c3aed42}.checkout-pos-footer button:disabled{cursor:not-allowed;opacity:.72}.spin-icon{animation:spin .9s linear infinite}.checkout-split-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;background:#11182785;padding:20px}.checkout-split-dialog{display:grid;gap:18px;width:min(100%,460px);border-radius:12px;background:#fff;padding:24px;box-shadow:0 24px 70px #11182747}.checkout-split-dialog h2{margin:0;color:#111827;font-size:20px;line-height:28px}.checkout-split-dialog p{margin:4px 0 0;color:#6b7280;font-size:14px;line-height:20px}.checkout-split-source,.checkout-split-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkout-split-source>div,.checkout-split-preview>div{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px}.checkout-split-source strong,.checkout-split-preview strong{display:block;margin-top:4px;color:#111827}.checkout-split-actions{display:flex;justify-content:flex-end;gap:10px}.checkout-split-actions button{min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 16px;color:#374151;font-weight:700}.checkout-split-actions button.primary{border-color:#7c3aed;background:#7c3aed;color:#fff}.checkout-topup-dialog{width:min(100%,560px)}.checkout-topup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkout-topup-note{grid-column:1 / -1}.checkout-topup-warning{border-left:3px solid #d97706;background:#fffbeb;padding:10px 12px;color:#92400e!important}@media(max-width:1100px){.checkout-pos-main{grid-template-columns:1fr}.checkout-summary-card{position:static}.checkout-line-row{grid-template-columns:1fr}}@media(max-width:760px){.checkout-pos-main,.checkout-pos-header-inner,.checkout-pos-footer>div{padding-right:16px;padding-left:16px}.checkout-customer-card,.checkout-pos-footer>div{align-items:stretch;flex-direction:column}.checkout-topup-button{width:100%}.checkout-topup-grid{grid-template-columns:1fr}.checkout-topup-note{grid-column:auto}.checkout-customer-metrics,.checkout-proof-grid,.checkout-design-summary{grid-template-columns:1fr}.checkout-pos-footer>div>div{display:grid;grid-template-columns:1fr}.checkout-pos-sidebar>.checkout-validation-card{position:static;width:auto;max-height:none;box-shadow:none}}@media(max-width:400px){.checkout-coupon-row{grid-template-columns:auto minmax(0,1fr)}.checkout-coupon-row b{grid-column:2;justify-self:start;white-space:normal}}.today-service-selector label,.today-field{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.today-chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:24px}.today-chip{gap:6px;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.today-chip button{display:grid;place-items:center;border:0;background:transparent;padding:0;color:currentColor}.today-chip-purple{background:#f3e8ff;color:#7e22ce}.today-chip-blue{background:#dbeafe;color:#1d4ed8}.today-service-selector select,.today-field input,.today-field textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:10px 12px;color:#111827;outline:none}.today-service-selector select:focus,.today-field input:focus,.today-field textarea:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea2e}.today-form-grid,.today-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.today-field-wide,.today-detail-wide{grid-column:1 / -1}.today-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:768px){.today-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.today-photo,.today-photo-upload{aspect-ratio:1 / 1;overflow:hidden;border-radius:8px}.today-photo{position:relative;border:1px solid #e5e7eb}.today-photo img{display:block;width:100%;height:100%;object-fit:cover}.today-photo button{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:999px;background:#111827b8;color:#fff}.today-photo-upload{display:grid;place-items:center;align-content:center;gap:8px;border:2px dashed #d1d5db;background:#f9fafb;color:#6b7280;cursor:pointer;text-align:center}.today-photo-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.today-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #e5e7eb;padding:16px 20px}.service-order-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#11182780}.service-order-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;background:#f3f4f6;color:#111827}.service-order-header{position:sticky;top:0;z-index:3;display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid #e5e7eb;background:#fff;padding:calc(env(safe-area-inset-top) + 12px) 16px 16px}.service-order-header h2,.service-order-header p,.service-product-list h3,.lash-design-form h3,.checkout-preview h3,.designated-sheet-title h3{margin:0;letter-spacing:0}.service-order-header h2{font-size:20px;line-height:28px;font-weight:800}.service-order-header p{margin-top:4px;color:#4b5563;font-size:16px;line-height:22px;font-weight:600}.service-order-back{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:0;border-radius:999px;background:#f3f4f6;color:#374151}.service-order-content{min-height:0;overflow-y:auto;padding-bottom:188px}.service-stepper{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid #e5e7eb;background:#fff;padding:10px 12px}.service-stepper-item{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;background:#f3f4f6;padding:8px 6px;color:#6b7280;font-size:13px;line-height:18px;font-weight:800}.service-stepper-item span{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:#fff;color:#6b7280}.service-stepper-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-stepper-active{background:#8b5cf6;color:#fff}.service-stepper-active span{color:#8b5cf6}.service-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 16px}.service-category-button{position:relative;min-height:108px;display:grid;align-content:space-between;justify-items:start;gap:10px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;padding:16px;text-align:left;box-shadow:0 8px 22px #11182714}.service-category-button>span{font-size:30px;line-height:1}.service-category-button strong{max-width:100%;color:#111827;font-size:17px;line-height:24px}.service-category-button svg{position:absolute;right:14px;bottom:17px;color:#8b5cf6}.service-product-list{display:grid;gap:12px;padding:20px 16px}.service-product-list h3{font-size:20px;line-height:28px;font-weight:800}.service-product-button{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #f3f4f6;border-radius:16px;background:#fff;padding:14px 16px;text-align:left;box-shadow:0 8px 22px #11182714}.service-product-button span{min-width:0;color:#111827;font-size:16px;line-height:22px;font-weight:800}.service-product-button strong{flex:0 0 auto;color:#8b5cf6;font-size:16px;line-height:22px}.service-product-button:disabled{background:#f3f4f6;box-shadow:none}.service-product-custom-price{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,180px) auto}.service-product-custom-price input{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font:inherit}.service-product-custom-price button{min-height:40px;border:0;border-radius:6px;background:#111827;padding:8px 14px;color:#fff;font-weight:700}.service-product-custom-price button:disabled{background:#d1d5db}@media(max-width:560px){.service-product-custom-price{grid-template-columns:1fr auto}.service-product-custom-price>span{grid-column:1 / -1}}.service-empty{margin:0;border-radius:16px;background:#fff;padding:20px;color:#6b7280;text-align:center}.lash-design-form,.checkout-preview{display:grid;gap:14px;padding:20px 16px}.design-section-card,.checkout-preview section{display:grid;gap:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px #1118270f}.design-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.design-section-header h3,.checkout-preview h3{color:#111827;font-size:17px;line-height:24px}.design-section-header svg{color:#10b981}.design-chip-row{display:flex;flex-wrap:wrap;gap:10px}.design-chip{min-height:44px;border:1px solid #d1d5db;border-radius:9999px;background:#fff;padding:0 18px;color:#374151;font-size:16px;line-height:22px;font-weight:800}.design-chip-selected{border-color:#8b5cf6;background:#8b5cf6;color:#fff}.lash-design-completed{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;background:#ecfdf5;color:#047857;font-size:16px;font-weight:800}.checkout-preview-list,.checkout-design-grid{display:grid;gap:10px}.checkout-preview-list>div,.checkout-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;color:#374151;font-size:15px;line-height:22px}.checkout-preview-row>span{min-width:0;overflow-wrap:anywhere}.checkout-preview-row small{color:#6b7280;font-size:13px;font-weight:700}.checkout-preview-controls{display:inline-flex;align-items:center;gap:6px}.checkout-preview-controls button,.checkout-preview-delete{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:999px}.checkout-preview-controls button{background:#ede9fe;color:#6d28d9}.checkout-preview-controls b{min-width:20px;color:#111827;text-align:center}.checkout-preview-delete{background:#fee2e2;color:#dc2626}.checkout-preview p{margin:0;color:#374151;font-size:15px;line-height:22px}.checkout-preview strong{color:#111827}.service-cart-bar{position:fixed;inset:auto 0 0;z-index:5;display:grid;gap:10px;border-top:1px solid #e5e7eb;background:#fff;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);box-shadow:0 -10px 28px #1118271f}.service-cart-empty{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;background:#f3f4f6;color:#6b7280;font-size:16px;font-weight:800}.service-cart-details{border-radius:16px;background:#f3f4f6}.service-cart-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;list-style:none;color:#111827;font-size:16px;font-weight:800}.service-cart-details summary::-webkit-details-marker{display:none}.service-cart-details summary span{display:inline-flex;align-items:center;gap:8px}.service-cart-details summary span:last-child{color:#8b5cf6;font-size:14px}.service-cart-items{max-height:176px;display:grid;gap:8px;overflow-y:auto;padding:0 10px 10px}.service-cart-item{display:grid;gap:10px;border-radius:12px;background:#fff;padding:12px}.service-cart-item>div:first-child{display:grid;gap:4px}.service-cart-item strong{color:#111827;font-size:14px;line-height:20px}.service-cart-item span{color:#6b7280;font-size:14px}.service-cart-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.service-cart-controls button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:999px;background:#ede9fe;color:#6d28d9}.service-cart-controls button:first-child{background:#f3f4f6;color:#374151}.service-cart-controls button:last-child{background:#fee2e2;color:#dc2626}.service-cart-controls>span{min-width:28px;color:#111827;text-align:center;font-size:16px;font-weight:800}.service-checkout-button{min-height:52px;border:0;border-radius:16px;background:#8b5cf6;color:#fff;font-size:17px;line-height:24px;font-weight:800;box-shadow:0 10px 24px #8b5cf64d}.service-checkout-button:disabled{background:#9ca3af;box-shadow:none}.service-next-hint{margin:0;color:#dc2626;text-align:center;font-size:14px;line-height:20px;font-weight:800}.service-toast{pointer-events:none;position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 116px);z-index:8;min-height:44px;display:flex;align-items:center;border-radius:999px;background:#10b981;padding:10px 20px;color:#fff;font-size:16px;font-weight:800;opacity:0;transform:translate(-50%,12px);transition:opacity .16s ease,transform .16s ease}.service-toast-visible{opacity:1;transform:translate(-50%)}.checkout-toast{z-index:220;bottom:calc(env(safe-area-inset-bottom) + 100px);max-width:min(520px,calc(100vw - 32px));border-radius:12px;background:#dc2626;text-align:center}.selected-tag-row,.lash-history-actions,.design-chip-row{display:flex;flex-wrap:wrap;gap:8px}.selected-tag-row span{border-radius:999px;background:#f5e7ef;padding:5px 10px;color:#7c2d55;font-size:12px;font-weight:700}.lash-history-actions{align-items:center}.lash-history-actions p{margin:0;color:#6b7280}.lash-history-list,.legacy-lash-design-grid{display:grid;gap:12px}.lash-history-row,.legacy-lash-card{display:grid;gap:10px;border:1px solid #ead7df;border-radius:8px;background:#fffafb;padding:12px}.lash-history-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.lash-history-row p{margin:4px 0 0;color:#6b7280;font-size:13px}.designated-sheet{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;opacity:0;transition:opacity .18s ease}.designated-sheet-open{pointer-events:auto;opacity:1}.designated-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#11182770}.designated-sheet-panel{position:absolute;right:0;bottom:0;left:0;display:grid;gap:12px;border-radius:24px 24px 0 0;background:#fff;padding:12px 20px calc(env(safe-area-inset-bottom) + 20px);box-shadow:0 -18px 40px #1118273d;transform:translateY(100%);transition:transform .18s ease}.designated-sheet-open .designated-sheet-panel{transform:translateY(0)}.designated-sheet-handle{justify-self:center;width:48px;height:6px;border-radius:999px;background:#d1d5db}.designated-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.designated-sheet-title h3{font-size:20px;line-height:28px}.designated-sheet-title button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:999px;background:#f3f4f6;color:#374151}.designated-option{min-height:56px;display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:0 16px;color:#111827;text-align:left;font-size:16px;font-weight:800}@media(min-width:431px){.service-order-modal,.service-cart-bar{left:50%;width:430px;transform:translate(-50%)}.designated-sheet-panel{right:auto;left:50%;width:430px;transform:translate(-50%,100%)}.designated-sheet-open .designated-sheet-panel{transform:translate(-50%)}}@media(max-width:720px){.next-service-card{position:static}.next-service-content,.today-row-top,.today-modal-footer{align-items:stretch;flex-direction:column}.today-primary-button,.today-secondary-button,.today-success-button{width:100%}.today-form-grid,.today-detail-grid{grid-template-columns:1fr}.today-modal-backdrop{align-items:stretch;padding:0}.today-modal{width:100%;max-height:100vh;border-radius:0}}.legacy-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#11182773}.legacy-modal{width:min(720px,100%);max-height:min(92vh,920px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #eadff1;border-radius:12px;background:#fffafd;box-shadow:0 24px 72px #581c872e}.legacy-modal-header,.legacy-modal-footer{position:sticky;z-index:2;background:#fffafdf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.legacy-modal-header{top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #eadff1;padding:18px 20px}.legacy-modal-header h2{margin:0;color:#111827;font-size:20px;line-height:28px;letter-spacing:0}.legacy-modal-header p{margin:6px 0 0;color:#6b4f67;font-size:14px;line-height:22px}.legacy-modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow-y:auto;padding:16px}.legacy-error,.legacy-section-wide{grid-column:1 / -1}.legacy-section{min-width:0;display:grid;align-content:start;gap:16px;border:1px solid #eadff1;border-radius:8px;background:#fff;padding:16px}.legacy-section h3{margin:0;color:#831843;font-size:16px;line-height:24px;font-weight:700;letter-spacing:0}.legacy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legacy-form-grid label,.legacy-section>label{min-width:0;display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.legacy-radio-group{display:flex;align-items:center;gap:12px;border:0;padding:0;margin:0}.legacy-radio-group legend{width:100%;margin-bottom:8px;color:#374151;font-size:14px;font-weight:600}.legacy-radio-group label{display:inline-flex;align-items:center;gap:6px;color:#4b5563;font-weight:500}.legacy-coupon-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#374151;font-size:14px;font-weight:700}.legacy-coupon-list{display:grid;gap:12px}.legacy-coupon-card{position:relative;display:grid;gap:12px;border:1px solid #f3dce8;border-radius:8px;background:#fff7fb}.legacy-rule-field{grid-column:1 / -1}.legacy-date-input,.legacy-amount-input{box-sizing:border-box;font-size:13px;padding:6px 10px;height:36px;line-height:1}.legacy-coupon-card .detail-input{width:100%!important;box-sizing:border-box!important;margin:0!important}.legacy-coupon-card .legacy-date-input{width:120px!important;max-width:120px!important;min-width:120px!important;padding:6px 10px!important;justify-self:start!important}.legacy-coupon-card .legacy-amount-input{width:120px!important;max-width:120px!important;min-width:120px!important;justify-self:start!important}.legacy-coupon-card{padding:16px 24px}.legacy-coupon-card .legacy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0}.legacy-coupon-card .legacy-form-grid>label{margin:0;padding:0}.legacy-coupon-card .detail-input{width:100%!important;padding:10px 12px!important;box-sizing:border-box!important}.legacy-delete-coupon{justify-self:end}.legacy-switch-row{align-content:center;grid-template-columns:auto auto 1fr;align-items:center}.legacy-switch{position:relative;width:44px;height:24px;border:0;border-radius:999px;background:#d1d5db;padding:2px}.legacy-switch span{display:block;width:20px;height:20px;border-radius:999px;background:#fff;transition:transform .16s ease}.legacy-switch.is-on{background:#9333ea}.legacy-switch.is-on span{transform:translate(20px)}.legacy-textarea{min-height:104px;resize:vertical}.legacy-modal-footer{bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eadff1;padding:14px 20px}.legacy-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:720px){.legacy-modal-backdrop{align-items:stretch;padding:0}.legacy-modal{width:100%;max-height:100vh;border-radius:0}.legacy-modal-body,.legacy-form-grid{grid-template-columns:1fr}.legacy-modal-footer{align-items:stretch;flex-direction:column-reverse}.legacy-footer-actions{align-items:stretch;flex-direction:column}}@media(prefers-color-scheme:dark){.legacy-modal{border-color:#eadff1;background:#fff;box-shadow:0 24px 72px #581c872e}.legacy-modal-header,.legacy-modal-footer{border-color:#eadff1;background:#fffafdf5}.legacy-modal-header h2,.legacy-section h3{color:#111827}.legacy-modal-header p,.legacy-form-grid label,.legacy-section>label,.legacy-radio-group legend,.legacy-coupon-header,.legacy-switch-row strong{color:#374151}.legacy-section{border-color:#eadff1;background:#fff}.legacy-coupon-card{border-color:#f3dce8;background:#fff7fb}.legacy-radio-group label{color:#4b5563}.legacy-modal .detail-input{border-color:#d1d5db;background:#fff;color:#111827}}.member-detail-page{max-width:1152px;margin:0 auto;display:grid;gap:24px}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-title-wrap{gap:16px}.back-button{display:grid;place-items:center;width:36px;height:36px;border-radius:8px}.detail-actions,.icon-button-text{gap:8px}.detail-grid-figma{display:grid;gap:24px}@media(min-width:1024px){.detail-grid-figma{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.detail-left-column,.detail-right-column{display:grid;align-content:start;gap:24px}.detail-card{padding:24px;display:grid;gap:16px}.detail-card h2{margin:0;color:#111827;font-size:18px;font-weight:600}.basic-info-grid{display:grid;gap:16px}@media(min-width:768px){.basic-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.md-col-span-2{grid-column:span 2}}.basic-info-grid label{display:block;margin-bottom:8px;color:#374151;font-size:14px}.detail-input{width:100%;min-height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:9px 12px;color:#111827;outline:none}.detail-input:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea40}.detail-input:read-only{background:#f9fafb;color:#4b5563}.detail-readonly-box{min-height:42px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:9px 12px;color:#111827}.multiline-text{white-space:pre-line}.detail-textarea{min-height:84px;resize:vertical}.detail-text,.detail-icon-text{color:#111827}.detail-secondary-text{color:#6b7280;font-size:13px}.latest-consumption-record{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}.latest-consumption-record h3{margin:0;font-size:15px}.latest-consumption-record-grid{display:grid;gap:4px;color:#374151;font-size:14px}.latest-consumption-record-grid span:nth-child(2){color:#111827;font-size:16px;font-weight:700}.consent-detail-grid{display:grid;gap:16px}.consent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.consent-upload-button{position:relative;cursor:pointer}.consent-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.consent-upload-progress{display:grid;gap:8px;border:1px solid #d8b4fe;border-radius:8px;background:#faf5ff;padding:12px}.consent-upload-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#581c87;font-size:14px;font-weight:700}.consent-upload-progress progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:999px;background:#ede9fe}.consent-upload-progress progress::-webkit-progress-bar{background:#ede9fe}.consent-upload-progress progress::-webkit-progress-value{background:#9333ea}.consent-upload-progress progress::-moz-progress-bar{background:#9333ea}.consent-meta-grid{display:grid;gap:16px}@media(min-width:768px){.consent-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.consent-meta-grid label{display:block;margin-bottom:8px;color:#374151;font-size:14px}.signature-preview-block{display:grid;gap:10px}.consent-pdf-block{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:14px}.consent-pdf-block svg{color:#9333ea}.consent-pdf-block strong,.consent-pdf-block a{display:block}.consent-pdf-block strong{color:#111827}.consent-pdf-block a{margin-top:4px;color:#7e22ce;font-weight:700}.signature-preview-image{width:100%;max-height:240px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;object-fit:contain}.empty-consent-state{display:flex;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:14px;color:#6b7280;font-size:14px}.compact-heading{margin-top:4px}.compact-heading h3{margin:0;color:#111827;font-size:16px;line-height:24px}.consent-history-block{display:grid;gap:12px;margin-top:18px}.consent-history-list{display:grid;gap:10px}.consent-history-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.consent-history-row>svg{color:#7e22ce}.consent-history-row strong,.consent-history-row span,.consent-history-row a{display:block}.consent-history-row strong{color:#111827;font-size:14px}.consent-history-row span{margin-top:2px;color:#6b7280;font-size:12px}.consent-history-row a{margin-top:6px;color:#7e22ce;font-size:13px;font-weight:700}.benefit-grid{display:grid;gap:16px}@media(min-width:768px){.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.benefit-card{border-radius:8px;padding:16px}.benefit-purple{background:#faf5ff}.benefit-green{background:#f0fdf4}.benefit-yellow{background:#fffbeb}.benefit-label{gap:8px;margin-bottom:8px;font-size:14px}.benefit-label-purple{color:#7e22ce}.benefit-label-green{color:#15803d}.benefit-label-yellow{color:#a16207}.benefit-value{font-size:24px;font-weight:700}.benefit-value-purple{color:#581c87}.benefit-value-green{color:#14532d}.benefit-value-yellow{color:#713f12}.member-topup-panel{display:grid;gap:16px;border:1px solid #bbf7d0;border-radius:8px;background:#f7fee7;padding:16px}.member-topup-header,.member-topup-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-topup-header h3{margin:0;color:#14532d;font-size:16px;font-weight:800}.member-topup-header span{display:block;margin-top:4px;color:#166534;font-size:13px;font-weight:700}.member-topup-header>svg{flex:0 0 auto;color:#16a34a}.member-topup-promotion-hint{margin:0;border-left:3px solid #16a34a;background:#ecfdf5;color:#166534;padding:9px 11px;font-size:13px;font-weight:700;line-height:1.55}.member-topup-grid{display:grid;gap:14px}@media(min-width:768px){.member-topup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.member-topup-grid label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:700}.member-topup-actions{justify-content:flex-end}.coupon-list,.stats-list,.visit-list{display:grid;gap:12px}.coupon-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #d8b4fe;border-radius:8px;background:#faf5ff4d;padding:12px}.coupon-name{gap:12px;color:#9333ea}.coupon-name span{color:#111827;font-weight:500}.coupon-row>span{color:#6b7280;font-size:12px}.coupon-row-v2{align-items:flex-start}.coupon-meta{margin-top:4px;color:#6b7280;font-size:12px}.coupon-actions,.coupon-form-actions,.section-heading-row{display:flex;align-items:center}.coupon-actions{gap:8px;margin-left:auto}.coupon-form-actions,.section-heading-row{justify-content:space-between;gap:12px}.coupon-form-grid{display:grid;gap:16px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:16px}.coupon-form-grid label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.customer-history-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.customer-history-summary>div{display:grid;gap:4px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:10px}.customer-history-summary span{color:#6b7280;font-size:12px}.customer-history-summary strong{color:#111827;font-size:16px}.customer-history-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.customer-history-actions .figma-secondary-button{width:auto;min-height:34px;padding:7px 10px;font-size:13px}.customer-history-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.customer-history-shortcuts button{min-height:34px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:700}.customer-history-shortcuts button:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.customer-history-list{display:grid;gap:10px}.customer-tag-list,.customer-tag-suggestions{display:flex;flex-wrap:wrap;gap:8px}.customer-tag-list .history-empty{width:100%}.customer-tag-chip,.customer-tag-suggestions button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:6px 10px;font-size:13px;font-weight:800}.customer-tag-chip button{display:inline-grid;place-items:center;width:24px;height:24px;border:0;border-radius:999px;background:transparent;color:#1d4ed8;padding:0}.customer-tag-chip button:hover,.customer-tag-suggestions button:hover{background:#dbeafe}.customer-tag-chip button:disabled,.customer-tag-suggestions button:disabled{cursor:not-allowed;opacity:.55}.customer-tag-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.customer-tag-form label{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.customer-tag-form .figma-secondary-button{width:auto}.customer-follow-up-list{display:grid;gap:10px}.follow-up-care-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:760px){.follow-up-care-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.follow-up-care-summary-card{display:grid;gap:3px;text-align:left;min-height:58px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:9px 10px}.follow-up-care-summary-card:hover,.follow-up-care-summary-card.active{border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a624}.follow-up-care-summary-card span{color:#6b7280;font-size:12px;font-weight:800}.follow-up-care-summary-card strong{color:#111827;font-size:20px;line-height:1}.follow-up-care-summary-card.overdue{border-color:#fecaca;background:#fef2f2}.follow-up-care-summary-card.today{border-color:#fde68a;background:#fffbeb}.follow-up-status-filter{display:flex;flex-wrap:wrap;gap:8px}.follow-up-status-filter button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;padding:6px 11px;font-size:13px;font-weight:800}.follow-up-status-filter button:hover{border-color:#14b8a6;background:#f0fdfa;color:#115e59}.follow-up-status-filter button.active{border-color:#0f766e;background:#ccfbf1;color:#115e59}.follow-up-status-filter strong{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#ffffffc7;color:inherit;font-size:12px}.follow-up-result-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:10px 12px}.follow-up-result-summary>div{display:grid;gap:2px}.follow-up-result-summary strong{color:#111827;font-size:13px;line-height:18px}.follow-up-result-summary span{color:#6b7280;font-size:12px;line-height:18px}.customer-follow-up-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.customer-follow-up-item.open{border-color:#99f6e4;background:#f0fdfa}.customer-follow-up-item.done{opacity:.72}.customer-follow-up-item>div{display:grid;gap:5px;min-width:0}.customer-follow-up-item strong{color:#111827;font-size:14px}.customer-follow-up-title-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.customer-follow-up-title-row strong{min-width:0}.follow-up-due-badge{padding:2px 8px;font-size:12px}.customer-follow-up-item span,.customer-follow-up-item small{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:12px}.customer-follow-up-date b{color:#374151;font-size:12px}.customer-follow-up-date.completed{color:#047857}.customer-follow-up-staff b{color:#374151;font-size:12px}.customer-follow-up-staff.completed{color:#047857}.customer-follow-up-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:end}@media(min-width:760px){.customer-follow-up-form{grid-template-columns:minmax(0,1.2fr) minmax(150px,.5fr) auto}}.customer-follow-up-form label,.follow-up-date-field{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.follow-up-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.follow-up-field-heading small{color:#9ca3af;font-size:11px;font-weight:800}.follow-up-care-presets,.follow-up-title-templates,.follow-up-note-templates{display:flex;flex-wrap:wrap;gap:6px}.follow-up-care-presets button,.follow-up-title-templates button,.follow-up-note-templates button{min-height:30px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:5px 10px;font-size:12px;font-weight:800}.follow-up-care-presets button{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.follow-up-care-presets button:hover{background:#d1fae5}.follow-up-care-presets button.active{border-color:#047857;background:#a7f3d0;color:#064e3b}.follow-up-title-templates button:hover,.follow-up-note-templates button:hover{background:#dbeafe}.follow-up-care-presets button:disabled,.follow-up-title-templates button:disabled,.follow-up-note-templates button:disabled{cursor:not-allowed;opacity:.55}.follow-up-date-shortcuts{display:flex;flex-wrap:wrap;gap:6px}.follow-up-date-shortcuts button{min-height:30px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;padding:5px 10px;font-size:12px;font-weight:800}.follow-up-date-shortcuts button:hover{border-color:#14b8a6;background:#f0fdfa;color:#115e59}.follow-up-date-shortcuts button.active{border-color:#0f766e;background:#ccfbf1;color:#115e59}.follow-up-date-shortcuts button:disabled{cursor:not-allowed;opacity:.55}.follow-up-draft-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d1fae5;border-radius:8px;background:#ecfdf5;padding:10px}.follow-up-draft-panel>div{display:grid;gap:4px;min-width:0}.follow-up-draft-panel span{color:#047857;font-size:12px;font-weight:800}.follow-up-draft-panel strong{min-width:0;color:#064e3b;font-size:14px}.follow-up-draft-panel em{width:fit-content;border-radius:999px;background:#d1fae5;color:#065f46;padding:2px 8px;font-size:12px;font-style:normal;font-weight:800}.follow-up-draft-panel small{color:#047857;font-size:12px;overflow-wrap:anywhere}.follow-up-draft-inline-action{width:fit-content;min-height:28px;border:1px solid #a7f3d0;border-radius:999px;background:#fff;color:#047857;padding:4px 10px;font-size:12px;font-weight:800}.follow-up-draft-inline-action:hover{background:#d1fae5}.follow-up-draft-inline-action:disabled{cursor:not-allowed;opacity:.55}.follow-up-draft-panel .figma-secondary-button,.customer-follow-up-form .figma-secondary-button{width:auto}.customer-history-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px}.customer-history-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eff6ff;color:#2563eb}.customer-history-title{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;justify-content:space-between}.customer-history-title strong{color:#111827;font-size:14px}.customer-history-title span,.customer-history-row p,.customer-history-row small{color:#6b7280;font-size:12px}.customer-history-row p,.customer-history-row small{display:block;margin:4px 0 0}.customer-history-row b{color:#111827;font-size:13px;white-space:nowrap}@media(min-width:768px){.coupon-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.preference-text{margin:0;color:#374151}.stat-row{display:flex;align-items:center;justify-content:space-between;border-radius:8px;padding:12px}.stat-blue{background:#eff6ff}.stat-red{background:#fef2f2}.stat-label{gap:8px;font-size:14px}.stat-label-blue{color:#1d4ed8}.stat-label-red{color:#b91c1c}.stat-row>span{color:#111827;font-weight:700}.visit-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px}.visit-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:#f9fafb;padding:12px;transition:background .16s ease}.visit-button:hover{background:#f3f4f6}.visit-title{display:flex;align-items:center;gap:8px}.visit-title svg{color:#4b5563}.visit-title span{color:#4b5563;font-size:14px}.visit-title strong,.visit-button>strong{color:#111827}.figma-center-state{display:grid;place-items:center;gap:12px;min-height:50vh;color:#4b5563;text-align:center}.figma-error-state h1{margin:0;color:#111827;font-size:24px}.figma-error-state p{margin:0}.error-icon{width:32px;height:32px;color:#dc2626}.public-register-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:#f9fafb}.public-register-card{width:min(100%,520px);border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:32px;box-shadow:0 18px 45px #11182714}.public-profile-card{width:min(100%,560px)}.public-eyebrow{margin:0 0 8px;color:#7e22ce;font-size:13px;font-weight:700;text-transform:uppercase}.public-register-card h1{margin:0;color:#111827;font-size:28px;line-height:36px;font-weight:700;letter-spacing:0}.public-register-card>p:not(.public-eyebrow){margin:8px 0 0;color:#4b5563}.public-status{display:flex;align-items:center;gap:10px;margin-top:24px;color:#4b5563;font-weight:600}.public-form{display:grid;gap:16px;margin-top:24px}.public-form label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.public-form input,.public-form select{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:10px 12px;color:#111827;outline:none}.public-form input:focus,.public-form select:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea40}.line-profile-strip{display:flex;align-items:center;gap:12px;border-radius:8px;background:#faf5ff;padding:12px}.line-profile-strip img{width:44px;height:44px;border-radius:999px;object-fit:cover}.line-profile-strip span{display:block;margin-bottom:2px;color:#6b7280;font-size:12px}.line-profile-strip strong{color:#111827}.terms-box{display:grid;gap:10px;max-height:220px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;padding:14px;color:#374151;font-size:14px;line-height:1.65}.terms-box strong{color:#111827;font-size:15px}.terms-box p{margin:0}.consent-checkbox{grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:12px;line-height:1.5}.consent-checkbox input{width:18px;min-height:18px;margin-top:2px;accent-color:#111827}.signature-section{display:grid;gap:12px;overscroll-behavior:contain}.signature-title{display:inline-flex;align-items:center;gap:8px;color:#111827;font-size:14px;font-weight:700}.signature-pad-frame{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:10px;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.signature-canvas{display:block;width:100%;height:210px;border:1px dashed #e5e7eb;border-radius:8px;background:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair;overscroll-behavior:contain}.signature-section .icon-button-text{justify-self:start}.public-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:4px}.public-success-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;text-decoration:none}.success-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:999px;background:#dcfce7;color:#16a34a}.hidden-image-icon{display:none}@media(max-width:640px){.public-register-page{align-items:start;padding:16px}.public-register-card{padding:24px 18px}.signature-canvas{height:220px}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1023px){.mobile-menu-button{display:grid;place-items:center}.figma-sidebar{transform:translate(-100%)}.figma-sidebar-open{transform:translate(0)}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#00000080}}@media(max-width:640px){.figma-header{padding:10px}.figma-header-inner{padding:0}.figma-header-left,.figma-header-actions{gap:8px}.figma-logo{width:min(112px,32vw)}.actor-switcher span,.user-greeting,.logout-button span{display:none}.actor-switcher{min-width:0}.actor-switcher-dropdown summary{width:clamp(86px,28vw,112px);min-width:0;padding:0 24px 0 8px}.logout-button{flex:0 0 auto;padding:8px}.detail-topbar,.coupon-row{align-items:flex-start;flex-direction:column}.coupon-actions{width:100%;margin-left:0;justify-content:flex-end}}.appointment-page{display:grid;gap:24px}.appointment-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px}.appointment-toolbar h1,.appointment-subbar h2{margin:0;color:#111827;letter-spacing:0}.appointment-toolbar h1{font-size:24px;line-height:32px}.appointment-date-control{display:flex;align-items:center;justify-content:center;gap:8px}.appointment-date-control button,.appointment-today-button{min-height:40px;border:0;border-radius:8px;background:#f3f4f6;color:#374151;font-weight:600}.appointment-date-control button:not(.appointment-today-button){display:grid;place-items:center;width:40px;padding:0}.appointment-date-control button:hover,.appointment-today-button:hover{background:#e5e7eb}.appointment-date-control span{min-width:200px;border-radius:8px;background:#f9fafb;padding:10px 16px;text-align:center;color:#111827;font-weight:600}.appointment-today-button{padding:0 16px}.appointment-add-button{justify-self:end;display:flex;align-items:center;gap:8px}.appointment-subbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.appointment-subbar h2{font-size:20px;line-height:28px}.appointment-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.appointment-legend span{display:flex;align-items:center;gap:6px;color:#374151;font-size:12px}.appointment-legend i{width:12px;height:12px;border:1px solid transparent;border-radius:3px}.legend-booked{background:#3b82f680;border-color:#3b82f680!important}.legend-opened{background:#facc158c;border-color:#facc1599!important}.legend-paid{background:#22c55e80;border-color:#22c55e80!important}.legend-no-show{background:#ef444480;border-color:#ef444480!important}.legend-expired{background:#11182780;border-color:#11182780!important}.legend-dayoff{background:#a855f780;border-color:#a855f780!important}.legend-empty{background:#fff;border-color:#d1d5db!important}.appointment-grid-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.appointment-grid{position:relative;min-width:max-content}.appointment-current-time-line{position:absolute;top:48px;bottom:0;z-index:29;width:2px;background:#ef4444;pointer-events:none}.appointment-current-time-line:before{position:absolute;top:0;left:50%;width:8px;height:8px;border-radius:999px;background:#ef4444;content:"";transform:translate(-50%,-50%)}.appointment-current-time-line span{position:sticky;top:52px;display:block;width:max-content;border-radius:999px;background:#ef4444;color:#fff;padding:2px 6px;font-size:10px;font-weight:800;transform:translate(-50%)}.appointment-grid-row{display:grid;grid-template-columns:220px 60px repeat(19,120px);border-bottom:1px solid #e5e7eb}.appointment-grid-row:last-child{border-bottom:0}.appointment-branch-section{display:contents}.appointment-branch-row{background:#f8fafc}.appointment-branch-title{position:sticky;left:0;z-index:32;grid-column:1 / 2;padding:10px 16px;background:#f8fafc;color:#334155;font-size:13px;font-weight:800;box-shadow:2px 0 5px -3px #0f172a59}.appointment-branch-filler{grid-column:2 / -1;background:#f8fafc}.appointment-grid-header{position:sticky;top:0;z-index:30;background:#f9fafb}.appointment-artist-cell,.appointment-time-spacer,.appointment-time-header,.appointment-slot-spacer,.appointment-slot{border-right:1px solid #e5e7eb}.appointment-time-header:last-child,.appointment-slot:last-child{border-right:0}.appointment-artist-cell{position:sticky;left:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;background:#fff;padding:12px 16px;box-shadow:2px 0 5px -3px #0f172a59}.appointment-artist-header{z-index:35;min-height:48px;justify-content:flex-start;background:#f9fafb;color:#374151;font-weight:600}.appointment-time-header{position:relative;min-height:48px;padding:12px;color:#374151;font-size:14px;font-weight:600}.appointment-time-header span{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);z-index:2;width:max-content;background:#f9fafb;padding:0 6px}.appointment-time-spacer{position:relative;z-index:1;min-height:48px;background:#f9fafb}.appointment-slot-spacer{position:relative;z-index:1;min-height:80px;background:#fff}.appointment-artist-summary{display:flex;min-width:0;align-items:center;gap:10px}.appointment-branch{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid;border-radius:8px;font-size:12px;font-weight:800}.branch-blue{border-color:#bfdbfe;background:#dbeafe;color:#1d4ed8}.branch-green{border-color:#bbf7d0;background:#dcfce7;color:#15803d}.branch-purple{border-color:#e9d5ff;background:#f3e8ff;color:#7e22ce}.branch-pink{border-color:#fbcfe8;background:#fce7f3;color:#be185d}.branch-gray{border-color:#e5e7eb;background:#f3f4f6;color:#374151}.appointment-artist-name{overflow:hidden;color:#111827;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.appointment-dayoff-badge{border-radius:4px;background:#a855f747;color:#581c87;padding:2px 8px;font-size:12px;font-weight:700}.appointment-break-button{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#ca8a04}.appointment-break-button:hover{background:#fefce8}.appointment-slot{min-height:80px;scroll-margin-inline-start:240px;border-top:0;border-bottom:0;border-left:0;padding:8px;text-align:left}.appointment-slot-empty{background:#fff}.appointment-slot-sr-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.appointment-slot-empty:hover{background:#eff6ff}.appointment-slot-dayoff,.appointment-slot-break,.appointment-slot-disabled{display:flex;align-items:flex-start;justify-content:center;color:#fff;font-size:12px;font-weight:700;text-align:center}.appointment-slot-dayoff{background:#a855f780;color:#581c87}.appointment-slot-break{background:#94a3b88c;color:#1f2937}.appointment-slot-disabled{background:#f3f4f6;color:#6b7280}.appointment-booking{display:grid;align-content:start;gap:3px;overflow:hidden;color:#172554}.appointment-booking:hover{opacity:.9}.appointment-booking-booked,.reservation-status-tone-booked{background:#3b82f680;color:#172554}.appointment-booking-opened,.reservation-status-tone-opened{background:#facc1594;color:#713f12}.appointment-booking-paid,.reservation-status-tone-paid{background:#22c55e80;color:#14532d}.appointment-booking-no-show,.appointment-booking-cancelled,.reservation-status-tone-no-show,.reservation-status-tone-cancelled{background:#ef444480;color:#7f1d1d}.appointment-booking-blocked,.reservation-status-tone-blocked{background:#94a3b88c;color:#1f2937}.appointment-booking-expired,.reservation-status-tone-expired{background:#111827c7;color:#fff}.appointment-booking-status{font-size:12px;font-weight:800}.appointment-booking-line,.appointment-booking-note,.appointment-booking-duration{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.appointment-booking-note{overflow:hidden;font-size:11px;font-weight:600;opacity:.82;text-overflow:ellipsis;white-space:nowrap}.appointment-booking-duration{opacity:.75}.appointment-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.appointment-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#11182780}.appointment-drawer{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(100%,448px);height:100%;background:#fff;box-shadow:-24px 0 48px #0f172a2e}.appointment-drawer-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;background:#fff;padding:16px}.appointment-drawer-header h2,.appointment-form-section h3{margin:0;color:#111827;letter-spacing:0}.appointment-drawer-header h2{font-size:18px;line-height:28px}.appointment-drawer-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#374151}.appointment-drawer-close:hover{background:#f3f4f6}.appointment-drawer-body{display:grid;gap:24px;overflow-y:auto;padding:24px}.appointment-form-section{display:grid;gap:14px}.appointment-form-section h3,.appointment-section-title-row,.appointment-section-title-row span{display:flex;align-items:center;gap:8px}.appointment-form-section h3{font-size:16px;line-height:24px}.appointment-form-section label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:600}.appointment-form-section input,.appointment-form-section select,.appointment-form-section textarea,.appointment-search input,.appointment-detail-card input,.appointment-detail-card select,.appointment-detail-card textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;outline:none;padding:10px 12px}.appointment-form-section input:focus,.appointment-form-section select:focus,.appointment-form-section textarea:focus,.appointment-search input:focus,.appointment-detail-card input:focus,.appointment-detail-card select:focus,.appointment-detail-card textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f638}.appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.appointment-field-label{display:block;margin-bottom:8px;color:#374151;font-size:14px;font-weight:600}.appointment-search{position:relative;display:block}.appointment-search svg{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:#9ca3af}.appointment-search input{padding-left:40px}.appointment-customer-results{max-height:240px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.appointment-customer-results-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;background:#f8fafc;padding:8px 12px;color:#475569;font-size:12px}.appointment-customer-results-heading span{display:flex;align-items:center;gap:6px;font-weight:700}.appointment-customer-results-heading small{color:#64748b}.appointment-customer-row{display:flex;width:100%;align-items:center;gap:12px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;padding:12px;text-align:left}.appointment-customer-row:last-child{border-bottom:0}.appointment-customer-row:hover{background:#f9fafb}.appointment-customer-row span,.appointment-selected-customer span{display:grid;gap:2px}.appointment-customer-row small,.appointment-selected-customer small,.appointment-detail-card small,.appointment-highlight-panel small{color:#4b5563;font-size:13px}.appointment-empty-result{padding:16px;color:#4b5563;text-align:center}.appointment-empty-result strong{display:block;color:#111827;font-size:14px;margin-bottom:12px}.appointment-new-customer-form{display:grid;gap:10px;text-align:left}.appointment-new-customer-form label{display:grid;gap:6px;color:#374151;font-size:13px}.appointment-new-customer-form input{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;color:#111827}.appointment-new-customer-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.appointment-selected-customer{display:flex;align-items:center;gap:12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;padding:12px}.appointment-selected-customer button{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border:0;border-radius:6px;background:transparent;color:#1d4ed8}.appointment-selected-customer button:hover{background:#dbeafe}.appointment-segmented,.appointment-choice-grid{display:grid;gap:8px}.appointment-segmented,.appointment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-duration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.appointment-segmented button,.appointment-choice-grid button{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-weight:600}.appointment-segmented button.active,.appointment-choice-grid button.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.appointment-note-counter{color:#6b7280;text-align:right}.appointment-submit-button,.appointment-order-button,.appointment-cancel-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:8px;font-weight:700}.appointment-submit-button{background:#3b82f6;color:#fff}.appointment-submit-button:hover{background:#2563eb}.appointment-submit-button:disabled{background:#d1d5db}.appointment-secondary-button{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-weight:700;padding:10px 14px}.appointment-secondary-button:hover{background:#f9fafb}.appointment-secondary-button:disabled{cursor:not-allowed;opacity:.55}.appointment-highlight-panel,.appointment-status-panel,.appointment-info-panel,.appointment-error,.appointment-break-row,.appointment-detail-card{border-radius:8px;padding:14px}.appointment-highlight-panel{display:grid;gap:4px;border:1px solid #e9d5ff;background:#faf5ff;color:#6b21a8}.appointment-error{display:flex;align-items:flex-start;gap:8px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;font-size:14px}.appointment-break-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid #fde68a;background:#fffbeb;color:#92400e}.appointment-break-row strong{display:flex;align-items:center;gap:8px}.appointment-break-row span{display:block;margin-top:4px}.appointment-break-actions{display:inline-flex;align-items:center;gap:6px}.appointment-break-delete-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #fed7aa;border-radius:8px;background:#fff;color:#b45309}.appointment-break-delete-button:hover{background:#fff7ed}.appointment-break-delete-button:disabled{cursor:not-allowed;opacity:.5}.appointment-info-panel{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;font-size:14px}.appointment-order-button{min-height:60px;border-radius:12px;background:linear-gradient(90deg,#9333ea,#db2777);color:#fff;font-size:18px;box-shadow:0 14px 28px #9333ea2e}.appointment-status-panel{display:grid;gap:8px;border:1px solid #bfdbfe;background:#eff6ff}.appointment-status-panel small{color:#4b5563}.appointment-status-panel strong{width:fit-content;border-radius:999px;padding:7px 12px}.appointment-status-booked{border-color:#bfdbfe;background:#eff6ff}.appointment-status-booked strong{background:#3b82f680;color:#172554}.appointment-status-opened{border-color:#fde68a;background:#fffbeb}.appointment-status-opened strong{background:#facc1594;color:#713f12}.appointment-status-paid{border-color:#bbf7d0;background:#f0fdf4}.appointment-status-paid strong{background:#22c55e80;color:#14532d}.appointment-status-no-show,.appointment-status-cancelled{border-color:#fecaca;background:#fef2f2}.appointment-status-no-show strong,.appointment-status-cancelled strong{background:#ef444480;color:#7f1d1d}.appointment-status-blocked{border-color:#d1d5db;background:#f9fafb}.appointment-status-blocked strong{background:#11182794;color:#fff}.appointment-detail-card{display:grid;gap:12px;background:#f9fafb}.appointment-edit-form{display:grid;gap:14px}.appointment-detail-card label{display:grid;gap:6px}.appointment-detail-card span,.appointment-detail-card small{color:#4b5563;font-size:13px}.appointment-detail-card strong{color:#111827}.appointment-section-title-row{justify-content:space-between}.appointment-section-title-row button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#9333ea;font-size:14px;font-weight:700}.appointment-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #e5e7eb;padding-top:12px}.appointment-edit-actions .figma-secondary-button{min-height:44px}.appointment-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appointment-quick-actions button{min-height:40px;border:0;border-radius:8px;background:#8b5cf6;color:#fff;font-size:14px;font-weight:700}.appointment-quick-actions button:nth-child(2){background:#22c55e}.appointment-quick-actions button:nth-child(3){background:#ef4444}.appointment-quick-actions button:nth-child(4){background:#3b82f6}.appointment-quick-actions button:disabled{background:#d1d5db;color:#6b7280}.appointment-cancel-button{border:1px solid #fecaca;background:#fef2f2;color:#dc2626}.appointment-cancel-button:hover{background:#fee2e2}@media(max-width:900px){.appointment-toolbar{grid-template-columns:1fr;align-items:stretch}.appointment-date-control{justify-content:flex-start;overflow-x:auto}.appointment-date-control span{min-width:168px}.appointment-add-button{justify-self:start}}@media(max-width:520px){.appointment-drawer-body{padding:18px}.appointment-form-grid,.appointment-edit-actions,.appointment-quick-actions,.appointment-duration-grid{grid-template-columns:1fr}.appointment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.staff-today-page{display:grid;gap:18px}.staff-today-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.staff-today-header h1{margin:4px 0 0;color:#111827;font-size:28px;line-height:1.2}.staff-today-controls{display:flex;align-items:end;gap:10px}.staff-today-controls label{display:grid;gap:4px;color:#6b7280;font-size:12px;font-weight:700}.staff-today-controls select{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:0 10px;font-weight:700}.staff-today-date{margin:0;color:#6b7280;font-size:14px}.staff-today-refresh,.staff-today-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-weight:700}.staff-today-refresh{padding:0 14px}.staff-today-list{display:grid;gap:10px}.staff-today-row{display:grid;grid-template-columns:92px minmax(0,1fr) 96px auto;align-items:center;gap:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:14px}.staff-today-time,.staff-today-status{display:inline-flex;align-items:center;gap:6px}.staff-today-time{color:#111827}.staff-today-main{display:grid;min-width:0;gap:4px}.staff-today-main strong,.staff-today-main span,.staff-today-main small{overflow-wrap:anywhere}.staff-today-main strong{color:#111827;font-size:16px}.staff-today-main span{color:#374151}.staff-today-designated-fee,.today-designated-fee{color:#92400e;font-size:13px;font-style:normal;font-weight:700}.staff-today-main small{color:#6b7280}.staff-today-status{justify-self:start;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.staff-today-actions{display:flex;justify-content:flex-end;gap:8px}.staff-today-actions button{padding:0 12px}.staff-today-actions button:disabled,.staff-today-refresh:disabled{opacity:.55}.staff-today-actions .staff-today-danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.staff-today-alert,.staff-today-empty{display:flex;align-items:center;gap:8px;border-radius:8px;padding:14px}.staff-today-alert{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.staff-today-info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.staff-today-empty{border:1px solid #e5e7eb;background:#fff;color:#6b7280}@media(max-width:760px){.staff-today-header{align-items:flex-start;flex-direction:column}.staff-today-controls{align-items:stretch;width:100%;flex-wrap:wrap}.staff-today-row{grid-template-columns:1fr;align-items:start}.staff-today-actions{justify-content:flex-start;flex-wrap:wrap}}.staff-schedule-page{display:grid;gap:16px;max-width:960px;margin:0 auto}.staff-schedule-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-color:#eadff1;background:linear-gradient(135deg,#fff,#faf5ff)}.staff-schedule-eyebrow{margin:0 0 4px;color:#7e22ce;font-size:13px;font-weight:800}.staff-schedule-hero h1,.staff-schedule-section-title h2,.staff-schedule-sheet-header h2{margin:0;color:#111827;letter-spacing:0}.staff-schedule-hero h1{font-size:28px;line-height:36px}.staff-schedule-hero span,.staff-schedule-sheet-header p{color:#6b7280;font-size:14px}.staff-schedule-add-button,.staff-schedule-sheet-footer .figma-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.staff-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}.staff-schedule-date-control{justify-content:flex-start}.staff-schedule-staff-select,.staff-schedule-sheet-body label{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.staff-schedule-staff-select select,.staff-schedule-sheet-body select,.staff-schedule-sheet-body input,.staff-schedule-sheet-body textarea{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#111827;padding:0 12px;font:inherit;font-weight:600;outline:none}.staff-schedule-sheet-body textarea{min-height:92px;padding:12px;resize:vertical}.staff-schedule-staff-select select:focus,.staff-schedule-sheet-body select:focus,.staff-schedule-sheet-body input:focus,.staff-schedule-sheet-body textarea:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea2e}.staff-schedule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-schedule-summary-card{display:grid;gap:4px;padding:18px;box-shadow:0 10px 30px #0f172a0a}.staff-schedule-summary-card span,.staff-schedule-summary-card small{color:#6b7280;font-size:13px}.staff-schedule-summary-card strong{color:#111827;font-size:30px;line-height:36px}.staff-schedule-alert,.staff-schedule-message{border-radius:12px}.staff-schedule-timeline{overflow:hidden}.staff-schedule-section-title{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e5e7eb;padding:16px 18px}.staff-schedule-section-title h2{font-size:18px;line-height:28px}.staff-schedule-timeline-list{display:grid;gap:0}.staff-schedule-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:16px 18px;border-bottom:1px solid #f3f4f6}.staff-schedule-card:last-child{border-bottom:0}.staff-schedule-card-time{display:flex;align-items:flex-start;gap:6px;color:#6b7280;font-size:13px;font-weight:800;padding-top:3px}.staff-schedule-card-body{display:grid;min-width:0;gap:8px}.staff-schedule-card-top,.staff-schedule-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.staff-schedule-card-body strong{display:flex;align-items:center;gap:6px;color:#111827;font-size:16px;line-height:24px;overflow-wrap:anywhere}.staff-schedule-card-body p{margin:0;color:#6b7280;font-size:14px;line-height:20px;overflow-wrap:anywhere}.staff-schedule-reservation{background:#fff}.staff-schedule-block{background:#fffdf7}.staff-schedule-badge,.staff-schedule-readonly{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.staff-schedule-readonly{background:#f3f4f6;color:#6b7280}.schedule-badge-leave{background:#f3e8ff;color:#7e22ce}.schedule-badge-temporary{background:#ffedd5;color:#c2410c}.schedule-badge-lunch{background:#fef9c3;color:#854d0e}.schedule-badge-training{background:#e0f2fe;color:#0369a1}.schedule-badge-shop{background:#f3f4f6;color:#374151}.staff-schedule-card-actions{padding-top:4px}.staff-schedule-card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#374151;padding:0 12px;font-size:13px;font-weight:700}.staff-schedule-card-actions button:hover{background:#f9fafb}.staff-schedule-empty,.staff-schedule-empty-state{color:#6b7280}.staff-schedule-empty{margin:0;padding:18px}.staff-schedule-empty-state{display:grid;place-items:center;gap:8px;min-height:220px;padding:32px;text-align:center}.staff-schedule-empty-state strong{color:#111827}.staff-schedule-sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.staff-schedule-sheet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#1118277a}.staff-schedule-sheet{position:absolute;right:50%;bottom:0;display:flex;flex-direction:column;width:min(100%,520px);max-height:min(86vh,680px);overflow:hidden;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -24px 48px #0f172a2e;transform:translate(50%)}.staff-schedule-sheet-header,.staff-schedule-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.staff-schedule-sheet-header{border-bottom:1px solid #e5e7eb}.staff-schedule-sheet-header h2{font-size:20px;line-height:28px}.staff-schedule-sheet-header p{margin:2px 0 0}.staff-schedule-sheet-body{display:grid;gap:16px;overflow-y:auto;padding:18px}.staff-schedule-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.staff-schedule-sheet-footer{position:sticky;bottom:0;border-top:1px solid #e5e7eb;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@media(max-width:760px){.staff-schedule-page{gap:14px}.staff-schedule-hero,.staff-schedule-toolbar{align-items:stretch;flex-direction:column}.staff-schedule-add-button,.staff-schedule-staff-select{width:100%}.staff-schedule-date-control{width:100%;justify-content:flex-start;overflow-x:auto}.staff-schedule-date-control span{min-width:186px}.staff-schedule-card{grid-template-columns:1fr}}@media(max-width:560px){.staff-schedule-hero{padding:18px}.staff-schedule-hero h1{font-size:24px;line-height:32px}.staff-schedule-summary,.staff-schedule-time-grid{grid-template-columns:1fr}.staff-schedule-section-title,.staff-schedule-card{padding-inline:14px}.staff-schedule-sheet{max-height:88vh}.staff-schedule-sheet-footer{display:grid;grid-template-columns:1fr 1fr}}.month-schedule-page{display:grid;gap:16px;max-width:1120px;margin:0 auto}.month-schedule-page-editing .month-schedule-board,.month-schedule-page-editing .month-schedule-editor{border-color:#c084fc;box-shadow:0 0 0 3px #9333ea1a}.month-schedule-edit-active{border-color:#9333ea!important;background:#f3e8ff!important;color:#7e22ce!important}.month-schedule-edit-banner{display:flex;align-items:center;gap:8px;border:1px solid #d8b4fe;border-radius:8px;background:#faf5ff;color:#6b21a8;padding:12px 16px;font-size:14px;font-weight:800}.month-schedule-rule-note{border-left:4px solid #2563eb;border-radius:6px;background:#eff6ff;color:#1e3a8a;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.6}.month-schedule-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #eadff1;border-radius:8px;background:#fff;padding:20px}.month-schedule-header h1{margin:0;color:#111827;font-size:28px;line-height:36px;letter-spacing:0}.month-schedule-header span{color:#6b7280;font-size:14px}.month-schedule-actions,.month-schedule-icon-button,.month-schedule-apply{display:inline-flex;align-items:center;justify-content:center;gap:8px}.month-schedule-actions{flex-wrap:wrap}.month-schedule-toolbar,.month-schedule-board,.month-schedule-batch,.month-schedule-editor{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden}.month-schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.month-schedule-toolbar{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(240px,1fr);gap:14px;padding:16px}.month-schedule-month-nav{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:0 6px}.month-schedule-month-nav strong{color:#111827;font-size:15px}.month-schedule-toolbar label,.month-schedule-batch-fields label{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.month-schedule-toolbar select,.month-schedule-batch-fields select,.month-schedule-batch-fields input{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:0 12px;font:inherit;font-weight:600;outline:none}.month-schedule-toolbar select:focus,.month-schedule-batch-fields select:focus,.month-schedule-batch-fields input:focus{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea2e}.month-schedule-alert{border-radius:8px}.month-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:1px;background:#e5e7eb}.month-schedule-weekday{display:grid;place-items:center;min-height:42px;background:#f8fafc;color:#475569;font-size:13px;font-weight:800}.month-schedule-weekday:first-child,.month-schedule-weekday:nth-child(7){color:#be123c}.month-schedule-day-placeholder{min-height:116px;background:#f8fafc}.month-schedule-day{display:grid;place-items:center;gap:4px;min-height:116px;border:0;background:#fff;color:#111827;padding:12px 8px;text-align:center}.month-schedule-day:not(:disabled):hover{background:#f9fafb}.month-schedule-page-editing .month-schedule-day:not(:disabled):hover{background:#faf5ff}.month-schedule-day span{font-size:18px;line-height:24px;font-weight:800}.month-schedule-day small{color:#6b7280;font-size:12px;font-weight:700}.month-schedule-day strong{display:grid;place-items:center;width:42px;min-height:30px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:16px;line-height:22px}.month-schedule-day em{display:block;width:100%;min-width:0;overflow:hidden;color:#4b5563;font-size:11px;font-style:normal;font-weight:700;line-height:15px;text-overflow:ellipsis;white-space:nowrap}.month-schedule-day .month-schedule-day-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%;min-height:18px;font-size:10px;line-height:14px}.month-schedule-day-summary b{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;background:#ecfeff;color:#155e75;padding:1px 6px;font-size:10px;font-weight:800;line-height:14px;white-space:nowrap}.month-schedule-day-off strong{background:#f3e8ff;color:#7e22ce}.month-schedule-day-off{background:#fdfaff}.month-schedule-day-selected{box-shadow:inset 0 0 0 2px #2563eb}.month-schedule-editor-body{display:grid;gap:14px;padding:16px}.month-schedule-editor-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.month-schedule-editor-summary span{display:grid;place-items:center;min-height:36px;border:1px solid #e0f2fe;border-radius:8px;background:#f0f9ff;color:#075985;font-size:12px;font-weight:800}.month-schedule-editor-body label{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.month-schedule-editor-body select,.month-schedule-editor-body textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:10px 12px;font:inherit;font-weight:600;outline:none}.month-schedule-editor-body select{min-height:44px}.month-schedule-editor-body textarea{min-height:86px;resize:vertical}.month-schedule-editor-body select:focus,.month-schedule-editor-body textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.month-schedule-editor-empty{margin:0;padding:16px;color:#6b7280;font-size:14px;font-weight:700}.month-schedule-past-note{margin:0;border-radius:6px;background:#f3f4f6;color:#4b5563;padding:10px 12px;font-size:13px;font-weight:700}.month-schedule-batch-body{display:grid;gap:16px;padding:16px}.month-schedule-batch-fields{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:14px}.month-schedule-batch-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-schedule-batch-modes button{display:grid;gap:4px;min-height:74px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;padding:10px 12px;text-align:left}.month-schedule-batch-modes button.active{border-color:#9333ea;background:#faf5ff;color:#6b21a8}.month-schedule-batch-modes button span,.month-schedule-weekdays p,.month-schedule-batch-default-note{color:#6b7280;font-size:12px;font-weight:600;line-height:18px}.month-schedule-batch-default-note{display:flex;align-items:center;min-height:44px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:0 12px}.month-schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:8px}.month-schedule-weekdays p{grid-column:1 / -1;margin:0}.month-schedule-checkbox{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:0 12px;color:#374151;font-size:14px;font-weight:700}.month-schedule-checkbox input{width:16px;height:16px;accent-color:#9333ea}.month-schedule-apply{justify-self:start}@media(max-width:900px){.history-layout,.history-metric-grid,.history-order-grid,.history-media-grid{grid-template-columns:1fr}.history-event-row{grid-template-columns:32px minmax(0,1fr)}.history-event-row b{grid-column:2}.month-schedule-toolbar,.month-schedule-batch-fields,.month-schedule-layout,.month-schedule-batch-modes,.inventory-metrics,.inventory-workspace,.inventory-movement-filters,.inventory-purchase-filters,.inventory-attachment-form,.inventory-purchase-line,.inventory-purchase-row,.inventory-receive-line{grid-template-columns:1fr}.month-schedule-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}.month-schedule-grid{grid-template-columns:repeat(7,minmax(48px,1fr))}.month-schedule-day{min-height:88px;padding:10px 4px}.month-schedule-day em,.month-schedule-day .month-schedule-day-summary{display:none}}@media(max-width:640px){.month-schedule-header{align-items:stretch;flex-direction:column}.month-schedule-actions{display:grid;grid-template-columns:1fr 1fr}.inventory-form-row{grid-template-columns:1fr}.inventory-form-actions{align-items:stretch;flex-direction:column}.inventory-replenishment-row{grid-template-columns:1fr;align-items:stretch}.inventory-replenishment-actions,.inventory-purchase-actions{justify-content:stretch}.inventory-replenishment-actions .figma-secondary-button,.inventory-purchase-actions .figma-secondary-button{flex:1 1 140px}.inventory-attachment-item{grid-template-columns:20px minmax(0,1fr)}.inventory-attachment-item .figma-secondary-button{grid-column:2;justify-self:start}.inventory-branch-select{width:100%;align-items:stretch;flex-direction:column}.inventory-branch-select select{width:100%}.month-schedule-day strong{width:36px;min-height:28px;font-size:14px}}.dashboard-page,.history-redesign-page,.settings-page{display:flex;flex-direction:column;gap:24px;min-width:0}.dashboard-hero,.history-redesign-header,.settings-header,.settings-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-hero h1,.history-redesign-header h1,.settings-title h1,.settings-profile-head h1{margin:0;color:#111827;font-size:28px;line-height:1.2}.dashboard-hero p,.history-redesign-header p,.settings-title p,.settings-profile-head p{margin:6px 0 0;color:#6b7280}.dashboard-filter-card,.history-filter-card,.settings-card,.dashboard-panel,.history-table-card,.history-empty-card,.settings-modal{border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a;min-width:0}.dashboard-filter-card,.history-filter-card,.settings-card,.dashboard-panel{padding:20px;min-width:0}.dashboard-filter-block,.history-time-filter,.history-advanced-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.dashboard-filter-block+.dashboard-filter-block,.history-advanced-filter{margin-top:18px}.dashboard-filter-block>span,.history-time-filter>span{color:#374151;font-size:14px;font-weight:700}.dashboard-segments,.dashboard-branch-pills,.dashboard-mini-tabs,.history-status-pills{display:flex;flex-wrap:wrap;gap:8px}.dashboard-segments button,.dashboard-branch-pills button,.dashboard-mini-tabs button,.history-time-filter button,.history-status-pills span{border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#374151;padding:9px 14px;font-size:14px;font-weight:700;cursor:pointer}.dashboard-segments .dashboard-segment-active,.dashboard-branch-pills .dashboard-branch-active,.dashboard-mini-tabs .dashboard-segment-active,.history-time-filter .history-filter-active{border-color:#7c3aed;background:#7c3aed;color:#fff}.dashboard-date-input,.history-time-filter form,.history-search-box{display:inline-flex;align-items:center;gap:8px}.dashboard-date-input input,.history-time-filter input,.history-search-box input,.settings-page input,.settings-page select,.settings-page textarea{border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:10px 12px;font:inherit}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.dashboard-kpi-grid .report-metric{min-height:124px}.dashboard-analytics-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}.dashboard-panel h2,.settings-category-list h2,.settings-product-create h2,.settings-product-table-head h3{margin:0 0 16px;color:#111827;font-size:18px}.dashboard-chart-bars{display:grid;grid-template-columns:repeat(10,minmax(28px,1fr));align-items:end;gap:12px;min-height:280px;padding-top:18px}.dashboard-chart-bar{display:grid;grid-template-rows:1fr auto;gap:8px;height:260px;text-align:center}.dashboard-bar-track{display:flex;align-items:end;justify-content:center;border-radius:10px;background:#f3f4f6;overflow:hidden}.dashboard-bar-track span{display:block;width:100%;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#8b5cf6,#6d28d9)}.dashboard-bar-stack{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;overflow:hidden;border-radius:10px 10px 0 0}.dashboard-bar-track .dashboard-bar-segment{border-radius:0;background:#2563eb}.dashboard-category-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:16px}.dashboard-category-legend span{display:inline-flex;align-items:center;gap:6px;color:#4b5563;font-size:12px;line-height:1}.dashboard-category-legend i{width:10px;height:10px;border-radius:999px}.dashboard-chart-bar small,.dashboard-rank-row small{color:#6b7280;font-size:12px}.dashboard-rank-list{display:grid;gap:14px}.dashboard-rank-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px}.dashboard-rank-row>b{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#f3f4f6;color:#374151}.dashboard-rank-row div{display:grid;gap:4px}.dashboard-rank-row span,.dashboard-rank-row strong{color:#111827;font-weight:800}.dashboard-rank-row i{display:block;height:6px;border-radius:999px;background:#7c3aed}.history-search-box{flex:1 1 280px;max-width:520px}.history-search-box input{width:100%;border:0;padding-left:0;outline:0}.history-status-pills label,.settings-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.history-status-pills input,.settings-check input{width:16px;height:16px;accent-color:#7c3aed}.history-table-card{overflow:hidden}.history-redesign-table td:first-child{display:flex;align-items:center;gap:6px;white-space:nowrap}.history-branch-badge,.history-status-badge{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:800}.history-branch-badge{background:#dbeafe;color:#1e40af}.history-status-paid{background:#dcfce7;color:#166534}.history-status-topup{background:#ede9fe;color:#6d28d9}.history-status-topup_pending{background:#fef3c7;color:#92400e}.history-status-reversed{background:#fee2e2;color:#991b1b}.history-view-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#7c3aed;font-weight:800;cursor:pointer}.history-empty-card{display:grid;place-items:center;gap:10px;padding:48px 20px;text-align:center}.history-empty-card svg{color:#d1d5db}.history-empty-card h2,.history-empty-card p{margin:0}.history-drawer-backdrop,.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a73}.history-drawer{position:absolute;top:0;right:0;width:min(720px,100vw);height:100%;overflow-y:auto;background:#fff;box-shadow:-20px 0 40px #0f172a2e}.history-drawer-head,.settings-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7eb;background:#fff;padding:16px 20px}.history-drawer-head h2,.settings-modal-head h2{margin:0}.history-drawer-head button,.settings-modal-head button{border:0;border-radius:8px;background:#f3f4f6;padding:8px;cursor:pointer}.history-drawer-body{display:grid;gap:18px;padding:20px}.history-drawer-card{border-radius:14px;background:#f9fafb;padding:16px}.history-drawer-card h3{display:flex;align-items:center;gap:8px;margin:0 0 12px}.history-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.history-drawer-grid div,.history-drawer-list div{display:flex;justify-content:space-between;gap:12px}.history-drawer-grid span,.history-drawer-list span{color:#6b7280}.history-drawer-list,.history-drawer-log{display:grid;gap:10px}.history-payment-summary{background:#f5f3ff}.history-personal-performance{border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a;padding:20px}.history-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px}.history-personal-performance .history-section-heading{padding:0 0 16px}.history-table-card>.history-section-heading{border-bottom:1px solid #e5e7eb}.history-section-heading h2,.history-section-heading p{margin:0}.history-section-heading h2{color:#111827;font-size:18px;line-height:26px}.history-section-heading p{margin-top:4px;color:#6b7280;font-size:13px;line-height:20px}.history-personal-record-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:96px;margin:0;padding:20px;color:#6b7280;text-align:center}.history-personal-records .history-view-button{white-space:nowrap}.history-performance-error{margin:16px 0 0}.history-service-records{display:grid;gap:8px}.history-service-records p{margin:0;line-height:1.5}.history-order-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.history-photo-button{overflow:hidden;border:0;border-radius:10px;padding:0;background:transparent;cursor:zoom-in}.history-photo-button img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.history-recent-orders{display:grid;gap:12px}.history-recent-order{display:grid;gap:8px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px}.history-recent-order header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-recent-order p{margin:0;color:#4b5563;font-size:13px;line-height:1.55}.member-registration-link{display:flex;align-items:center;gap:12px}.member-registration-link input{min-width:0;flex:1}.line-binding-icon-bound{color:#16a34a}.member-link-toast{pointer-events:none;position:fixed;right:24px;bottom:calc(env(safe-area-inset-bottom) + 24px);z-index:1100;width:max-content;max-width:min(420px,calc(100vw - 32px));background:#16a34a;padding:12px 16px;color:#fff;box-shadow:0 12px 32px #1665343d;animation:member-link-toast-in .16s ease-out}@keyframes member-link-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.member-link-toast{right:16px;bottom:calc(env(safe-area-inset-bottom) + 16px);left:16px;width:auto}}.dashboard-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.history-recheckout-card{background:#eef6ff}.history-recheckout-card p{margin:0 0 12px;color:#1f2937;line-height:1.5}.settings-tabs-card{padding:0;overflow:hidden}.settings-tabs{display:flex;gap:18px;border-bottom:1px solid #e5e7eb;padding:0 24px}.settings-tabs button{display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#6b7280;padding:18px 6px;font-weight:800;cursor:pointer}.settings-tabs .settings-tab-active{border-bottom-color:#7c3aed;color:#7c3aed}.settings-tab-panel,.settings-products-grid{padding:24px}.settings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.settings-search{display:inline-flex;align-items:center;gap:8px;width:min(460px,100%);border:1px solid #d1d5db;border-radius:12px;padding:0 12px}.settings-search input{width:100%;border:0;outline:0}.settings-table-wrap{border:1px solid #e5e7eb;border-radius:14px;overflow-x:auto;overflow-y:hidden}.settings-staff-cell{display:flex;align-items:center;gap:12px}.settings-staff-cell div:last-child{display:grid;gap:2px}.settings-staff-cell span{color:#9ca3af;font-size:12px}.settings-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#ede9fe;color:#6d28d9}.settings-avatar-small{width:38px;height:38px}.settings-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.settings-status-active{background:#dcfce7;color:#166534}.settings-status-disabled{background:#fee2e2;color:#991b1b}.settings-products-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.settings-product-error{grid-column:1 / -1}.settings-category-list{border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:16px}.settings-category-list button{display:flex;justify-content:space-between;width:100%;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#374151;margin-top:8px;padding:12px;cursor:pointer}.settings-category-list .settings-category-active{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9;font-weight:800}.settings-product-panel,.settings-product-create,.settings-product-table{display:grid;gap:16px}.settings-product-create{border:1px solid #e5e7eb;border-radius:14px;padding:18px}.settings-product-create>div,.settings-product-table-head,.settings-row-actions,.settings-form-actions,.settings-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-product-create input:first-child{flex:1 1 260px}.settings-product-table-head{justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7eb}.settings-product-table-head label{display:inline-flex;align-items:center;gap:8px}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form-grid label,.settings-modal label{display:grid;gap:6px}.settings-form-grid span,.settings-modal label span,.settings-field-wide>span{color:#374151;font-size:13px;font-weight:800}.settings-field-wide{grid-column:1 / -1}.settings-check-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.settings-check-grid .settings-check{min-height:38px;border:1px solid #d1d5db;border-radius:10px;background:#fff;padding:8px 12px}.settings-check-grid .settings-check-primary{border-color:#a78bfa;background:#f5f3ff}.settings-field-help,.settings-empty-note{color:#6b7280;font-size:12px}.settings-field-help{display:block;margin-top:8px}.settings-inline-message{margin-top:14px}.settings-page-message{align-self:stretch}.settings-loading-indicator{display:grid;place-items:center;min-height:40px;color:#6b7280}.settings-form-actions button,.settings-danger-button,.settings-title>button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.settings-profile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:20px}.settings-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-detail-grid div{display:grid;gap:6px;border-radius:12px;background:#f9fafb;padding:14px}.settings-detail-grid span{color:#6b7280;font-size:12px}.settings-danger-button{border:1px solid #fecaca;border-radius:10px;background:#fee2e2;color:#991b1b;padding:10px 14px;font-weight:800;cursor:pointer}.settings-modal-backdrop{display:grid;place-items:center;padding:20px}.settings-modal{width:min(520px,100%);max-height:min(760px,92vh);overflow-y:auto;padding:0 20px 20px}.settings-modal-wide{width:min(880px,100%)}.settings-modal>p{color:#4b5563}.settings-modal>label,.settings-modal>.settings-check,.settings-modal>input{margin-top:14px}.settings-modal .settings-modal-head{margin:0 -20px 18px}@media(max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-analytics-grid,.settings-products-grid{grid-template-columns:1fr}}@media(max-width:760px){.dashboard-hero,.history-redesign-header,.settings-header,.settings-title,.settings-toolbar,.settings-product-table-head{align-items:stretch;flex-direction:column}.dashboard-kpi-grid,.settings-form-grid,.settings-detail-grid,.history-drawer-grid{grid-template-columns:1fr}.dashboard-chart-bars{grid-template-columns:repeat(5,minmax(28px,1fr))}.dashboard-segments{width:100%}.dashboard-date-input{flex:1 1 100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}.dashboard-date-input input{width:100%;min-width:0}.settings-tabs{overflow-x:auto}}
