: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;--z-app-sidebar: 90;--z-app-header: 100;--z-app-overlay: 1200;--z-app-toast: 1300;--color-primary: #a48b78;--color-primary-hover: #927a68;--color-primary-active: #806a5a;--color-primary-light: #f4efeb;--color-primary-lighter: #faf7f5;--color-bg: #faf9f8;--color-surface: #ffffff;--color-border: #e8e4e1;--color-divider: #eeeae7;--color-text-primary: #3f3a37;--color-text-secondary: #6f6965;--color-text-tertiary: #99928d;--color-text-disabled: #bbb6b2;--color-danger: #d95c5c;--color-danger-light: #fff1f1;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(63, 58, 55, .06);--shadow-modal: 0 8px 24px rgba(63, 58, 55, .1);--status-booked-bg: #dceaff;--status-booked-border: #8ab7ff;--status-booked-text: #315ea8;--status-opened-bg: #fff0be;--status-opened-border: #f6c94c;--status-opened-text: #8a6412;--status-paid-bg: #cff2d8;--status-paid-border: #67cf88;--status-paid-text: #317849;--status-no-show-bg: #ffd6d6;--status-no-show-border: #ff8282;--status-no-show-text: #b54444;--status-expired-bg: #8e949f;--status-expired-border: #656c77;--status-expired-text: #ffffff;--status-leave-bg: #ddbbff;--status-leave-border: #bc7aff;--status-leave-text: #70409f;--status-empty-bg: #ffffff;--status-empty-border: #d9dee5;--status-empty-text: #697180;--store-zhongshan-bg: #e4f0ff;--store-zhongshan-border: #a9cbff;--store-zhongshan-text: #285cc7;--store-taipei16-bg: #f1e6ff;--store-taipei16-border: #dcc2ff;--store-taipei16-text: #7024c8;--store-taipei17-bg: #ffe4e4;--store-taipei17-border: #ffb9b9;--store-taipei17-text: #c42b22;--store-fuxing-bg: #ddf8e7;--store-fuxing-border: #a9edc1;--store-fuxing-text: #27834a;--membership-vip-bg: #fff1c4;--membership-vip-text: #9c4b10;--membership-regular-bg: #d8f7e6;--membership-regular-text: #26744d;--membership-new-bg: #ddeeff;--membership-new-text: #336a9c;--membership-non-member-bg: #f1f2f4;--membership-non-member-text: #687080}.customer-portal-page{--customer-ink: #243238;--customer-accent: #a48b78;--customer-deep-brown: #5f4536;--customer-muted: #748187;--customer-line: #e8eceb;--customer-paper: #fffdf9;min-height:100vh;background:#fbf9f7;color:var(--customer-ink);padding-bottom:92px}.customer-portal-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:70px;border-bottom:1px solid var(--customer-line);background:#fffdf9f0;padding:12px max(20px,calc((100vw - 960px)/2));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.customer-brand,.customer-header-actions,.customer-panel-heading,.customer-activity-card,.customer-list-item{display:flex;align-items:center}.customer-brand{grid-column:2;justify-self:center;color:var(--customer-deep-brown);font-size:22px;font-weight:800;letter-spacing:.04em}.customer-header-actions{grid-column:3;justify-self:end}.customer-icon-button{display:grid;place-items:center;border:1px solid var(--customer-line);border-radius:50%;background:#fff;color:var(--customer-ink);width:36px;height:36px}.customer-portal-content{width:min(960px,calc(100% - 32px));margin:0 auto;padding:34px 0 20px}.customer-eyebrow,.customer-card-kicker{margin:0;color:#9a806b;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.customer-welcome-card .customer-card-kicker{color:var(--customer-deep-brown)}.customer-spin{animation:customer-spin 1s linear infinite}@keyframes customer-spin{to{transform:rotate(360deg)}}.customer-alert{margin-bottom:18px;border:1px solid #f2c6b9;border-radius:14px;background:#fff4ef;color:#9f4d37;padding:13px 15px;font-size:14px}.customer-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.customer-welcome-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;overflow:hidden;min-height:170px;border-radius:24px;background:#a48b78;color:#fffaf6;padding:25px}.customer-welcome-card h2{margin:10px 0 3px;color:#fffaf6;font-size:28px;letter-spacing:-.04em}.customer-welcome-card p{margin:0;color:#fffaf6d1;font-size:14px}.customer-avatar{display:grid;place-items:center;align-self:start;width:54px;height:54px;border:3px solid rgba(255,255,255,.76);border-radius:50%;background:#ffffff2e;color:#fff;overflow:hidden}.customer-avatar img{width:100%;height:100%;object-fit:cover}.customer-profile-meta{grid-column:1 / -1;display:flex;gap:14px;align-self:end;color:#fffaf6d1;font-size:12px}.customer-welcome-card-logo{position:absolute;right:18px;bottom:14px;width:128px;height:auto;max-height:56px;object-fit:contain;opacity:.94}.customer-member-info-card{display:grid;gap:16px}.customer-member-summary{display:flex;align-items:center;gap:14px}.customer-member-avatar{flex:0 0 auto;width:64px;height:64px;border:1px solid var(--customer-accent);border-radius:50%;object-fit:cover;background:#ffffffb3;color:#64877e;overflow:hidden}.customer-member-identity{display:grid;gap:4px;min-width:0}.customer-member-identity h2{margin:0;color:var(--customer-ink);font-size:18px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-member-identity p{margin:0;color:#64736f;font-size:14px}.customer-member-detail-list{display:grid;gap:10px;margin:0}.customer-member-detail-row{display:flex;align-items:center;gap:14px;border:1px solid rgba(90,119,108,.16);border-radius:16px;background:#ffffff9e;padding:12px 14px;min-width:0}.customer-member-detail-row dt{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#7a8783;font-size:14px;font-weight:700;letter-spacing:0;white-space:nowrap}.customer-member-detail-row dd{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:1;margin:0;min-width:0;color:var(--customer-ink);font-size:14px;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-member-detail-icon{flex:0 0 auto;color:#6d8f84}.customer-benefits-stack{display:grid;gap:16px}.customer-balance-grid{display:grid;gap:10px}.customer-benefit-card{border:1px solid var(--customer-line);border-radius:22px;background:var(--customer-paper);overflow:hidden;height:108px;transition:height .24s ease,box-shadow .18s ease}.customer-benefit-card:hover{box-shadow:0 8px 18px #5b483d14}.customer-benefit-card.open{height:282px}.customer-benefit-card-trigger{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;height:108px;border:0;background:transparent;color:var(--customer-ink);text-align:left;padding:16px 18px}.customer-benefit-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:var(--customer-accent)}.customer-benefit-card-main{display:grid;gap:4px;min-width:0}.customer-benefit-card-main strong{font-size:18px;font-weight:800;letter-spacing:-.02em}.customer-benefit-card-main span{color:var(--customer-muted);font-size:14px;line-height:1.45}.customer-benefit-card-chevron{color:#84928d;transition:transform .2s ease}.customer-benefit-card.open .customer-benefit-card-chevron{transform:rotate(90deg)}.customer-benefit-card-body{display:grid;gap:10px;padding:12px 18px 16px;max-height:174px;overflow:auto}.customer-benefit-card.collapsed .customer-benefit-card-body{display:none}.customer-benefit-body-copy{color:#64736f;font-size:13px;line-height:1.6}.customer-benefit-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(90,119,108,.12);border-radius:14px;background:#ffffff94;padding:11px 12px;color:var(--customer-ink);font-size:13px}.customer-benefit-detail-row span{color:#7a8783;font-weight:700}.customer-benefit-detail-row strong{color:var(--customer-ink);font-size:14px}.customer-benefit-list{display:grid;gap:0}.customer-benefit-list-item{display:flex;align-items:center;gap:12px;border-top:1px solid var(--customer-line);padding:14px 0}.customer-benefit-card .customer-list-icon{width:40px;height:40px;border-radius:13px}.customer-benefit-card .customer-list-icon.coupon{background:transparent;color:var(--customer-accent)}.customer-benefit-history-list{display:grid;gap:0}.customer-benefit-history-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;border-bottom:1px solid #ebe7e4;color:var(--customer-ink);font-size:13px}.customer-benefit-history-row:last-child{border-bottom:0}.customer-benefit-history-row time{color:var(--customer-muted);white-space:nowrap}.customer-benefit-history-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-benefit-history-row b{white-space:nowrap}.customer-metric-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:67px;border:0;border-radius:17px;color:var(--customer-ink);text-align:left;padding:13px 16px;transition:transform .18s ease,box-shadow .18s ease}.customer-metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #31413e14}.customer-metric-card>span:not(.customer-metric-icon){color:#67746f;font-size:12px}.customer-metric-card strong{grid-column:2;font-size:19px}.customer-metric-card>svg{grid-column:3;grid-row:1 / span 2;color:#84928d}.customer-metric-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:12px}.customer-metric-card.mint{background:#eee5de}.customer-metric-card.mint .customer-metric-icon{background:transparent;color:var(--customer-accent)}.customer-metric-card.peach{background:#e6d9cf}.customer-metric-card.peach .customer-metric-icon{background:transparent;color:var(--customer-accent)}.customer-metric-card.lavender{background:#f2eae5}.customer-metric-card.lavender .customer-metric-icon{background:transparent;color:var(--customer-accent)}.customer-panel{border:1px solid var(--customer-line);border-radius:22px;background:var(--customer-paper);padding:20px}.customer-wide-panel{grid-column:1 / -1}.customer-panel-heading{justify-content:space-between;gap:12px;margin-bottom:15px;padding-bottom:0}.customer-panel-heading h2{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:17px}.customer-panel-heading h2 svg{color:var(--customer-accent)}.customer-panel-heading button{display:inline-flex;align-items:center;gap:2px;border:0;background:transparent;color:var(--customer-accent);font-size:12px;font-weight:800}.customer-activity-card{align-items:center;gap:16px;border-top:1px solid var(--customer-line);padding:15px 0}.customer-activity-card-button{width:100%;border-right:0;border-bottom:0;border-left:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.customer-activity-card-button:hover{background:#a48b780d}.customer-activity-date{display:grid;align-content:center;justify-items:center;align-self:center;min-width:63px;border-right:1px solid var(--customer-line);padding-right:14px}.customer-activity-date strong{font-size:15px}.customer-activity-date span{color:var(--customer-muted);font-size:11px}.customer-activity-main{display:grid;align-self:center;gap:4px;min-width:0}.customer-activity-main strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.customer-activity-main span,.customer-activity-main small{display:inline-flex;align-items:center;gap:4px;color:var(--customer-muted);font-size:12px}.customer-activity-status,.customer-activity-amount{align-self:center;margin-left:auto;color:var(--customer-deep-brown);font-size:14px;white-space:nowrap}.customer-order-detail-list{display:grid;gap:0;margin:0}.customer-order-detail-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;border-top:1px solid var(--customer-line);padding:13px 0}.customer-order-detail-row dt{color:var(--customer-muted);font-size:13px;font-weight:700}.customer-order-detail-row dd{margin:0;color:var(--customer-ink);font-size:14px;font-weight:700;line-height:1.5}.customer-list{display:grid;gap:0}.customer-list-item{gap:12px;border-top:1px solid var(--customer-line);padding:14px 0}.customer-list-item>b{margin-left:auto;color:#527d70;font-size:15px;white-space:nowrap}.customer-list-main{display:grid;gap:4px;min-width:0}.customer-list-main strong{font-size:14px}.customer-list-main span,.customer-list-main small{overflow:hidden;color:var(--customer-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.customer-list-icon{display:grid;flex:0 0 auto;place-items:center;width:37px;height:37px;border-radius:12px}.customer-list-icon.coupon{background:#eeeaf7;color:#7869a0}.customer-list-icon.positive{background:#e5f2ed;color:#518575}.customer-list-icon.negative{background:#faeade;color:#a66a4c}.positive-text{color:#43816d!important}.negative-text{color:#ad6b50!important}.appointment-customer-reference-card{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid #eadfd4;border-radius:12px;background:#fffaf6;color:#675b54;font-size:12px}.appointment-customer-reference-card small{color:#8b7b70}.appointment-reference-error{color:#b4533f!important}.appointment-customer-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.appointment-customer-reference-grid span{display:grid;gap:2px}.appointment-customer-reference-grid em{color:#342d28;font-style:normal;font-weight:600}.customer-ledger-balance{margin:-3px 0 14px;color:var(--customer-muted);font-size:13px}.customer-ledger-balance strong{margin-left:5px;color:var(--customer-ink);font-size:20px}.customer-empty-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:86px;border-top:1px solid var(--customer-line);color:var(--customer-muted);font-size:13px}.customer-empty-state svg{color:#b8a18c}.customer-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);margin:0 auto;border-top:1px solid var(--customer-line);background:#fffdf9f5;padding:8px max(8px,calc((100vw - 960px)/2));padding-bottom:max(8px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.customer-bottom-nav button{display:grid;justify-items:center;gap:3px;border:0;background:transparent;color:#9aa29e;padding:4px 2px;font-size:10px}.customer-bottom-nav button.active{color:var(--customer-accent);font-weight:800}.customer-bottom-nav button.active svg{stroke-width:2.5}.customer-gate{--customer-line: #e9e0d9;--customer-muted: #7d7169;display:grid;min-height:100vh;place-items:center;background:linear-gradient(145deg,#fcfaf8,#f8f1ec);padding:24px}.customer-gate-card{display:grid;justify-items:center;gap:14px;width:min(390px,100%);border:1px solid var(--customer-line);border-radius:26px;background:#fffdf9eb;padding:38px 28px;text-align:center;box-shadow:0 18px 55px #5b483d1a}.customer-gate-card img{width:70px;height:70px;border-radius:21px;object-fit:contain}.customer-gate-card svg{color:var(--customer-accent)}.customer-gate-card h1{margin:0;font-size:22px}.customer-gate-card p{margin:0;color:var(--customer-muted);font-size:14px;line-height:1.7}.customer-primary-button{border:0;border-radius:999px;background:var(--customer-accent);color:#fff;padding:11px 22px;font-weight:800}.customer-loader{width:24px;height:24px;border:3px solid #eadfd6;border-top-color:var(--customer-accent);border-radius:50%;animation:customer-spin 1s linear infinite}.customer-skeleton{display:grid;gap:14px}.customer-skeleton span{display:block;height:115px;border-radius:20px;background:linear-gradient(90deg,#f0ece9 25%,#fffdfb,#f0ece9 75%);background-size:200% 100%;animation:customer-shimmer 1.2s infinite}.customer-skeleton span:nth-child(2){height:86px}.customer-skeleton span:nth-child(3){height:160px}.customer-runtime-error-message{max-width:100%;overflow-wrap:anywhere;color:#9f4d37!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px!important}.customer-dev-selector{gap:16px}.customer-dev-selector .customer-alert{width:100%;margin:0;text-align:left}.customer-dev-select{width:100%;border:1px solid #d7e3dd;border-radius:12px;background:#fff;color:#33483f;padding:12px 14px;font:inherit}.customer-dev-select:focus{outline:3px solid rgba(164,139,120,.18);border-color:var(--customer-accent)}.customer-text-button{border:0;background:transparent;color:var(--customer-accent);padding:4px 8px;font-weight:700}@keyframes customer-shimmer{to{background-position:-200% 0}}@media(max-width:680px){.customer-portal-header{padding:10px 16px}.customer-brand{font-size:18px}.customer-portal-content{width:min(100% - 24px,560px);padding-top:24px}.customer-dashboard-grid{grid-template-columns:1fr;gap:12px}.customer-welcome-card,.customer-wide-panel{grid-column:auto}.customer-welcome-card{min-height:170px;padding:22px 20px}.customer-welcome-card-logo{right:14px;bottom:12px;width:82px}.customer-member-info-card{gap:14px}.customer-member-summary{gap:12px}.customer-member-avatar{width:56px;height:56px}.customer-member-identity h2{font-size:18px}.customer-member-identity p{font-size:13px}.customer-member-detail-row{gap:10px;padding:11px 12px}.customer-member-detail-row dt,.customer-member-detail-row dd{font-size:13px}.customer-benefit-card{height:102px;border-radius:18px}.customer-benefit-card.open{height:270px}.customer-benefit-card-trigger{height:102px;padding:14px}.customer-benefit-card-body{max-height:168px;padding:10px 14px 14px}.customer-benefit-card-main strong{font-size:18px}.customer-benefit-card-main span{font-size:13px}.customer-benefit-detail-row{padding:10px 11px}.customer-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.customer-metric-card{display:grid;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:105px;padding:10px 5px;text-align:center}.customer-metric-card strong{grid-column:auto;font-size:15px}.customer-metric-card>svg{display:none}.customer-metric-icon{width:31px;height:31px}.customer-metric-card>span:not(.customer-metric-icon){font-size:10px}.customer-panel{padding:16px;border-radius:18px}.customer-activity-card{gap:11px}.customer-activity-date{min-width:52px;padding-right:10px}.customer-activity-main strong{font-size:13px}.customer-bottom-nav button{font-size:9px}}@media(max-width:680px){.customer-welcome-card-logo{right:14px;bottom:12px;width:112px;max-height:50px}}@media(max-width:680px){.customer-benefit-card{border-radius:18px}.customer-benefit-card-trigger{padding:14px}.customer-benefit-card-body{padding:10px 14px 14px}.customer-benefit-history-row{grid-template-columns:82px minmax(0,1fr) auto;gap:7px;font-size:12px}.customer-activity-status,.customer-activity-amount{font-size:12px}.customer-order-detail-row{grid-template-columns:90px minmax(0,1fr);gap:10px}}*{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}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-app-overlay);display:grid;place-items:center;background:#3f3a376b;padding:20px}.app-confirm-dialog{display:grid;gap:16px;width:min(420px,100%);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-modal);padding:20px}.app-confirm-dialog h2{margin:0;color:var(--color-text-primary);font-size:18px;line-height:1.35}.app-confirm-dialog p{margin:0;color:var(--color-text-secondary);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 #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);color:#625a54;padding:9px 14px;font-weight:700}.app-confirm-actions button.primary{border-color:var(--color-danger);background:var(--color-danger);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 #ddd7d2;border-radius:var(--radius-md);color:var(--color-text-primary);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:18px;height:18px}.muted-icon{color:#9ca3af}.figma-shell{min-height:100vh;background:var(--color-bg);color:var(--color-text-primary);font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}.figma-header{position:fixed;inset:0 0 auto;z-index:var(--z-app-header);height:80px;border-bottom:1px solid var(--color-divider);background:var(--color-surface);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-release-version{position:fixed;right:12px;bottom:8px;color:#9ca3af;font-size:10px;letter-spacing:.04em;line-height:1}.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}.auth-success{color:#047857!important;font-weight:700}.auth-text-button{margin-top:0!important;border:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline}.auth-link-button{display:grid;place-items:center;box-sizing:border-box;color:#fff;text-decoration:none}.figma-sidebar{position:fixed;top:80px;bottom:0;left:0;z-index:var(--z-app-sidebar);width:208px;border-right:1px solid var(--color-divider);background:var(--color-surface);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:var(--radius-lg);padding:0 16px;color:var(--color-text-secondary);text-decoration:none;font-size:15px;transition:background .16s ease,color .16s ease}.figma-nav-item:hover{background:var(--color-primary-lighter)}.figma-nav-active{background:var(--color-primary-light);color:var(--color-primary-active);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,.history-redesign-header.members-header h1,.settings-title.members-header h1{margin:0;color:var(--color-text-primary);font-size:24px;line-height:32px;font-weight:600;letter-spacing:0}.members-header p,.detail-topbar p{margin:4px 0 0;color:var(--color-text-secondary)}.figma-primary-button,.figma-secondary-button{min-height:40px;border-radius:var(--radius-md);padding:8px 16px;border:0;font-weight:500;transition:background .16s ease,color .16s ease,border-color .16s ease}.figma-primary-button{background:var(--color-primary);color:#fff}.figma-primary-button:hover{background:var(--color-primary-hover)}.figma-secondary-button{border:1px solid #ddd7d2;background:var(--color-surface);color:#625a54}.figma-secondary-button:hover{background:var(--color-primary-lighter)}.icon-only-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);color:#625a54}.icon-only-button:hover{background:var(--color-primary-lighter)}.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 var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.figma-search-wrap{position:relative}.member-search-inline{width:min(360px,100%);flex:0 1 360px}.figma-search-wrap input{width:100%;height:50px;border:1px solid #ddd7d2;border-radius:var(--radius-md);padding:12px 48px;color:var(--color-text-primary);outline:none}.figma-search-wrap input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.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}.compact-button{min-height:32px;padding:6px 10px;font-size:13px}.member-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(128px,1fr));gap:12px;overflow-x:auto;padding-bottom:2px}.member-summary-card{display:grid;gap:6px;min-height:82px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:14px 16px}.member-summary-card span{color:#6b7280;font-size:12px;font-weight:800}.member-summary-card strong{color:#111827;font-size:24px;line-height:30px;font-weight:800}.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:48px;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;align-content:center;gap:8px;background:#ffffff94;color:var(--color-primary);pointer-events:none}.appointment-grid-loading span{font-size:13px;font-weight:700}.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;align-items:stretch}.inventory-workspace>.inventory-panel{grid-template-rows:auto minmax(0,1fr);min-height:100%}.inventory-workspace>.inventory-panel>.inventory-form{align-content:start}.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{color:var(--color-primary);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;color:var(--color-primary)}.member-result-count.muted,.member-result-count.active,.member-result-count.warning{color:var(--color-primary)}.member-table-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;border-bottom:1px solid #e5e7eb;padding:14px 24px;background:#fff}.member-inline-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-left:auto}.member-inline-filters label{display:grid;gap:4px;min-width:136px;color:#4b5563;font-size:12px;font-weight:800}.member-inline-filters select{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 32px 8px 10px;font:inherit;font-size:14px;font-weight:700;outline:none}.member-inline-filters select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.member-inline-filters input[type=date]{min-height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font:inherit;font-size:14px;font-weight:700;outline:none}.member-inline-filters input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.text-action-button{border:0;background:transparent;color:var(--color-primary);padding:4px 0;font-size:13px;font-weight:800;cursor:pointer}.text-action-button:hover{color:var(--color-primary-hover);text-decoration:underline}.table-loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:180px;border-bottom:1px solid #e5e7eb;padding:32px 24px;color:var(--color-primary);font-size:14px;font-weight:600}.table-loading-cell{padding:0!important}.table-loading-cell .table-loading{border-bottom:0}.members-table tbody tr.table-loading-row,.members-table tbody tr.table-loading-row:hover{background:var(--color-surface);cursor:default}.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:12px 16px;color:#111827;font-size:13px;font-weight:600;text-align:left;white-space:nowrap}.member-sort-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#111827;padding:0;font:inherit;font-weight:700}.member-sort-button svg{color:#9ca3af}.member-sort-button:hover,.member-sort-button.active{color:var(--color-primary-active)}.member-sort-button:hover svg,.member-sort-button.active svg{color:var(--color-primary)}.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:12px 16px;color:#374151;font-size:14px;line-height:20px;white-space:nowrap}.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:0;white-space:nowrap}.member-name-cell span{color:#111827;font-size:13px;font-weight:500}.table-icon-text,.detail-icon-text{gap:8px}.members-table .table-icon-text,.members-table .member-sort-button,.members-table .figma-badge{white-space:nowrap}.table-muted{color:#374151;font-size:13px}.figma-badge{display:inline-block;border-radius:var(--radius-pill);padding:3px 10px;font-size:13px;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}.figma-badge.membership-badge{padding:5px 10px}.figma-badge.membership-badge.badge-yellow{background:var(--membership-vip-bg);color:var(--membership-vip-text)}.figma-badge.membership-badge.badge-green{background:var(--membership-regular-bg);color:var(--membership-regular-text)}.figma-badge.membership-badge.badge-blue{background:var(--membership-new-bg);color:var(--membership-new-text)}.figma-badge.membership-badge.badge-gray{background:var(--membership-non-member-bg);color:var(--membership-non-member-text)}.stored-value{color:#16a34a!important;font-size:13px;font-weight:500}.points-pill{display:inline-block;border-radius:4px;background:#faf5ff;color:#7e22ce;padding:3px 8px;font-size:14px;font-weight:700;white-space:nowrap}.figma-empty{padding:48px;text-align:center}.figma-empty h3{margin:0 0 8px;color:#111827;font-size:18px;font-weight:600}.figma-empty p{margin:0;color:#4b5563}.members-page .figma-empty .icon-button-text{color:var(--color-primary)}.members-page .figma-empty .icon-button-text:hover{color:var(--color-primary-hover)}.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:var(--z-app-overlay);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:1px solid transparent;border-radius:var(--radius-pill);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:var(--color-primary);color:#fff}.today-primary-button:hover{background:var(--color-primary-hover)}.today-primary-button:disabled{background:#9ca3af}.today-secondary-button{border:1px solid #ddd7d2;background:var(--color-surface);color:#625a54}.today-secondary-button:hover{background:var(--color-primary-lighter)}.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:var(--z-app-overlay);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}.checkout-group-buy-policy,.group-buy-external-form{border:1px solid rgba(180,104,28,.35);border-radius:12px;background:#fff4e0d1;color:#6f431d;padding:12px 14px;margin-bottom:14px}.checkout-group-buy-policy strong,.group-buy-external-form strong{display:block;margin-bottom:5px}.checkout-group-buy-policy p,.group-buy-external-form p{margin:3px 0}.group-buy-redemption-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.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;right:0;bottom:0;left:0;top:80px;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{color:var(--color-primary);animation:spin .9s linear infinite}.checkout-split-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-app-overlay);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-customer-card{align-items:flex-start;flex-direction:column}.checkout-customer-metrics{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.checkout-summary-card{position:static}.checkout-line-row{grid-template-columns:1fr}.checkout-pos-sidebar>.checkout-validation-card{position:static;width:auto;max-height:none;box-shadow:none}}@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}}.dashboard-v2 .dashboard-filter-card,.dashboard-v2 .dashboard-main-panel,.dashboard-v2 .dashboard-rank-card,.dashboard-v2 .dashboard-kpi-card,.dashboard-v2 .dashboard-payment-card,.dashboard-v2 .dashboard-personal-intro,.dashboard-v2 .dashboard-personal-stats{border-radius:14px}.dashboard-v2 .dashboard-segmented-control{gap:8px;border-radius:0;background:transparent;padding:0}.dashboard-v2 .dashboard-segmented-control button,.dashboard-v2 .dashboard-branch-buttons button,.dashboard-v2 .dashboard-metric-toggle button{min-height:34px;border:1px solid #d9dce5;border-radius:999px;background:#fff;color:#374151;padding:7px 12px;font-size:12px;font-weight:750;box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease}.dashboard-v2 .dashboard-segmented-control button:hover,.dashboard-v2 .dashboard-branch-buttons button:hover,.dashboard-v2 .dashboard-metric-toggle button:hover{border-color:#c7cbd6;background:#f9fafb;color:#111827}.dashboard-v2 .dashboard-segmented-control button.is-active,.dashboard-v2 .dashboard-branch-buttons button.is-active,.dashboard-v2 .dashboard-metric-toggle button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:none}.dashboard-v2 .dashboard-segmented-control button.is-active:hover,.dashboard-v2 .dashboard-branch-buttons button.is-active:hover,.dashboard-v2 .dashboard-metric-toggle button.is-active:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.dashboard-v2 .dashboard-metric-toggle{gap:8px;border:0;border-radius:0;background:transparent;padding:0}.dashboard-v2 .dashboard-custom-dates input,.dashboard-v2 .dashboard-staff-input-wrap input{border-radius:10px}.dashboard-v2 .dashboard-refresh-button{border-radius:9px}.dashboard-v2 .dashboard-chart-canvas{overflow:visible}.dashboard-v2 .dashboard-personal-filter-row{align-items:flex-start}.dashboard-v2 .dashboard-personal-intro{border:0;border-radius:0;background:transparent;padding:0}.dashboard-v2 .dashboard-personal-identity{color:var(--color-text-primary);font-size:16px;font-weight:700}.dashboard-personal-selects{display:grid;gap:10px;width:min(380px,100%)}.dashboard-personal-selects label{display:grid;gap:5px}.dashboard-personal-selects select{width:100%;min-height:40px;border:1px solid #d9dce5;border-radius:10px;background:#fff;color:#374151;padding:8px 11px;font-size:13px;outline:0}.dashboard-personal-selects select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.dashboard-personal-choice-groups{display:grid;gap:12px;width:min(900px,100%)}.dashboard-personal-choice-row{display:grid;gap:6px}.dashboard-personal-choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.dashboard-v2 .dashboard-personal-choice-buttons button{display:inline-flex;min-height:34px;align-items:center;gap:5px;border:1px solid #d9dce5;border-radius:999px;background:#fff;color:#374151;padding:7px 12px;font-size:12px;font-weight:750;box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease}.dashboard-v2 .dashboard-personal-choice-buttons button:hover{border-color:#c7cbd6;background:#f9fafb;color:#111827}.dashboard-v2 .dashboard-personal-choice-buttons button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.dashboard-personal-choice-buttons i{width:7px;height:7px;border-radius:50%}.dashboard-staff-choice-buttons button{display:grid!important;justify-items:start;gap:2px!important;text-align:left}.dashboard-staff-choice-buttons small{color:var(--color-text-tertiary);font-size:10px;font-weight:500}.dashboard-staff-choice-buttons button.is-active small{color:#ffffffc7}.today-work-page{width:min(1180px,100%);gap:20px;color:var(--color-text-primary)}.today-work-header{align-items:flex-end;padding-bottom:2px}.today-work-eyebrow,.today-section-eyebrow{margin:0;color:var(--color-text-tertiary);font-size:12px;font-weight:800;letter-spacing:.08em}.today-work-header h1{margin:5px 0 0;color:var(--color-text-primary);font-size:25px;line-height:1.2;letter-spacing:-.02em}.today-work-header .staff-today-controls label{color:var(--color-text-tertiary);font-size:11px;letter-spacing:.02em}.today-work-header .staff-today-controls select{min-width:150px;border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-weight:700;outline:none}.today-work-header .staff-today-controls select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b7824}.next-service-card{position:static;gap:18px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-surface);padding:22px 24px;box-shadow:var(--shadow-card)}.next-service-card.is-locked{border-left-color:#d28b4d;background:#fffdfb}.next-service-card-heading,.today-list-header,.today-customer-line,.next-service-action,.next-service-action-locked,.today-blocked-inline{display:flex;align-items:center}.next-service-card-heading{justify-content:space-between;gap:16px}.next-service-card h2{margin:3px 0 0;color:var(--color-text-primary);font-size:18px;line-height:1.25}.next-service-position{border-radius:var(--radius-pill);background:var(--color-primary-light);color:var(--color-primary-active);padding:6px 10px;font-size:12px;font-weight:800}.next-service-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,380px);align-items:stretch;gap:28px}.next-service-meta{display:grid;align-content:center;gap:5px;min-width:0}.next-service-meta .next-service-time{margin:0 0 2px;color:var(--color-primary-active);font-size:16px;font-weight:800}.next-service-meta strong{color:var(--color-text-primary);font-size:24px;line-height:1.2}.next-service-phone,.next-service-note{color:var(--color-text-secondary);font-size:13px}.next-service-service{margin-top:7px;color:var(--color-text-primary);font-size:15px;font-weight:700}.next-service-note{margin-top:5px}.next-service-action{justify-content:center;align-items:stretch;flex-direction:column;gap:9px;border-left:1px solid var(--color-divider);padding-left:28px}.next-service-action>span,.next-service-action-locked span{color:var(--color-text-secondary);font-size:13px}.next-service-action-locked{align-items:stretch;flex-direction:column;gap:12px}.next-service-action-locked>div{display:grid;gap:5px}.next-service-action-locked strong{color:#9a5d21;font-size:15px}.next-service-empty{margin:0;color:var(--color-text-secondary)}.today-summary-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0;min-height:52px;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);color:var(--color-text-secondary);font-size:13px}.today-summary-bar>span:not(.today-summary-progress){padding:0 18px;border-right:1px solid var(--color-divider)}.today-summary-bar strong{color:var(--color-text-primary);font-weight:800}.today-summary-progress{width:100px;height:5px;margin-left:auto;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-primary-light)}.today-summary-progress>span{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .22s ease}.today-schedule-section{display:grid;gap:14px}.today-list-header{justify-content:space-between;gap:16px;padding:0 2px}.today-list-header h2{margin:4px 0 0;color:var(--color-text-primary);font-size:20px;line-height:1.25}.today-list-header>span{color:var(--color-text-tertiary);font-size:13px}.today-list{display:grid;gap:0}.today-appointment-row{position:relative;display:grid;grid-template-columns:76px 20px minmax(0,1fr);gap:16px;align-items:stretch;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent;padding:20px 0;transition:background .16s ease}.today-appointment-row:first-child{padding-top:8px}.today-appointment-row:last-child{border-bottom:0;padding-bottom:4px}.today-appointment-row:hover,.today-appointment-row.is-next-service{background:linear-gradient(90deg,transparent,var(--color-primary-lighter))}.today-row-time{display:grid;align-content:start;gap:4px;padding-top:2px;color:var(--color-text-secondary)}.today-row-time strong{color:var(--color-text-primary);font-size:17px;line-height:1.2}.today-row-time span{color:var(--color-text-tertiary);font-size:11px}.today-row-time .today-status-badge{width:fit-content;white-space:nowrap}.today-timeline-marker{position:relative;display:flex;justify-content:center;padding-top:5px}.today-timeline-marker:before{content:"";width:11px;height:11px;border:3px solid var(--color-primary);border-radius:50%;background:var(--color-surface);z-index:1}.today-timeline-marker:after{content:"";position:absolute;top:16px;bottom:-20px;width:1px;background:var(--color-divider)}.today-appointment-row:last-child .today-timeline-marker:after{display:none}.today-appointment-content{min-width:0}.today-row-top{align-items:flex-start;gap:20px}.today-appointment-identity{display:grid;gap:4px;min-width:0}.today-customer-line{gap:10px;flex-wrap:wrap}.today-customer-line h3{margin:0;color:var(--color-text-primary);font-size:17px;line-height:1.3}.today-customer-phone{color:var(--color-text-tertiary);font-size:12px}.today-status-badge{border:0;border-radius:var(--radius-pill);padding:4px 9px;font-size:11px;font-weight:800}.today-status-next,.today-status-working{background:var(--color-primary-light);color:var(--color-primary-active)}.today-status-scheduled{background:#f3f0ed;color:var(--color-text-secondary)}.today-status-pending,.today-status-attention{background:var(--status-opened-bg);color:var(--status-opened-text)}.today-status-complete{background:var(--status-paid-bg);color:var(--status-paid-text)}.today-row-actions{justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px}.today-row-body{display:grid;gap:6px;margin-top:12px;color:var(--color-text-secondary)}.today-row-body p{margin:0}.today-appointment-service{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;color:var(--color-text-primary);font-size:14px;font-weight:700}.today-appointment-service span{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.today-appointment-metadata{display:flex;flex-wrap:wrap;gap:10px;color:var(--color-text-tertiary);font-size:12px}.today-appointment-metadata span+span:before{content:"・";margin-right:10px}.today-appointment-note,.today-completed-note{color:var(--color-text-secondary);font-size:12px}.today-order-state{width:fit-content;border-radius:var(--radius-pill);background:var(--status-opened-bg);color:var(--status-opened-text);padding:4px 9px;font-size:12px;font-weight:800}.today-blocked-inline{justify-content:space-between;gap:12px;border-left:2px solid #d28b4d;background:#fffaf4;color:#9a5d21;padding:9px 12px;font-size:12px}.today-primary-button,.today-secondary-button,.today-text-button{min-height:36px;border-radius:var(--radius-md);font-size:12px;font-weight:800;transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.today-primary-button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;padding:0 13px}.today-primary-button:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.today-secondary-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);padding:0 11px}.today-secondary-button:hover{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.today-text-button{min-height:30px;border:0;background:transparent;color:var(--color-text-tertiary);padding:0 4px}.today-text-button:hover{color:var(--color-danger)}.today-primary-button:disabled,.today-secondary-button:disabled,.today-text-button:disabled{cursor:not-allowed;opacity:.48}.today-customer-history{margin-top:8px;border:0;border-top:1px solid var(--color-divider);border-radius:0;background:transparent;padding:8px 0 0}.today-customer-history summary{width:fit-content;cursor:pointer;color:var(--color-text-secondary);font-size:12px;font-weight:700}.today-customer-history summary:hover{color:var(--color-primary-active)}.today-history-orders{gap:8px;margin-top:10px}.today-history-order{border-radius:var(--radius-md);background:var(--color-primary-lighter);padding:10px}.today-history-order header span{color:var(--color-primary-active)}.today-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:32px;color:var(--color-text-tertiary);text-align:center}@media(max-width:820px){.next-service-content{grid-template-columns:1fr;gap:18px}.next-service-action{border-top:1px solid var(--color-divider);border-left:0;padding-top:16px;padding-left:0}.today-row-top{flex-direction:column;gap:12px}.today-row-actions{justify-content:flex-start}}@media(max-width:640px){.today-work-header{align-items:stretch;flex-direction:column}.today-work-header .staff-today-controls,.today-work-header .staff-today-controls label,.today-work-header .staff-today-controls select{width:100%}.next-service-card{padding:18px}.next-service-meta strong{font-size:21px}.today-summary-bar{align-items:flex-start;gap:10px 0;padding:12px 0}.today-summary-bar>span:not(.today-summary-progress){padding:0 11px;font-size:12px}.today-summary-bar>span:first-child{padding-left:0}.today-summary-progress{flex-basis:100%;width:100%;margin-left:0}.today-appointment-row{grid-template-columns:58px 14px minmax(0,1fr);gap:10px;padding:17px 0}.today-row-time strong{font-size:15px}.today-blocked-inline{align-items:flex-start;flex-direction:column}.today-blocked-inline .today-secondary-button,.next-service-action .today-primary-button,.next-service-action-locked .today-primary-button{width:100%}}@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:var(--z-app-overlay);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-count{position:absolute;top:16px;right:16px;color:#6d28d9;font-size:20px;line-height:1}.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}.member-review-icon-cell{justify-content:center}.member-review-heart{color:#9ca3af}.member-review-heart-active{color:#f43f5e;stroke:#f43f5e}.member-review-button{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:28px;border:0;border-radius:6px;background:transparent;padding:0;cursor:pointer;transition:color .18s ease,transform .18s ease}.member-review-button:hover:not(:disabled){transform:translateY(-1px)}.member-review-list-button{margin:0 auto}.member-review-button:disabled{cursor:not-allowed;opacity:1}.legacy-review-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;min-height:34px;border:1px solid #d1d5db;border-radius:999px;background:#fff;padding:0;color:#374151;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.legacy-review-toggle:hover,.legacy-review-toggle-active{border-color:#fecaca;background:#fef2f2;color:#dc2626}.legacy-review-toggle:disabled{cursor:not-allowed;opacity:.65}.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}.lash-design-completed.lash-design-incomplete,.lash-design-validation-error{background:#fff7ed;color:#c2410c}.lash-design-validation-error{margin:0;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:700}.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-toggle{display:inline-flex;align-items:center;justify-self:start;gap:4px;border:0;background:transparent;padding:0;color:var(--color-text-secondary);font-size:12px;font-weight:700;line-height:20px}.lash-history-toggle:hover{color:var(--color-primary-active)}.lash-history-toggle span{color:var(--color-text-tertiary);font-size:11px}.lash-history-list,.legacy-lash-design-grid{display:grid;gap:12px}.legacy-lash-design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.legacy-modal .legacy-lash-section{grid-column:1 / -1}.legacy-modal .legacy-lash-section .legacy-lash-design-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.legacy-modal .legacy-lash-card-full{grid-column:1 / -1}.legacy-modal .legacy-lash-card-half{grid-column:span 3}.legacy-modal .legacy-lash-card-two-thirds{grid-column:span 4}.legacy-modal .legacy-lash-card-third{grid-column:span 2}.legacy-modal .legacy-lash-section .legacy-lash-card{align-content:start;gap:8px;padding:10px}.legacy-modal .legacy-lash-section .legacy-lash-card>strong{min-height:18px;line-height:18px}.legacy-modal .legacy-lash-card-full .design-chip-row,.legacy-modal .legacy-lash-card-half .design-chip-row,.legacy-modal .legacy-lash-card-two-thirds .design-chip-row,.legacy-modal .legacy-lash-card-third .design-chip-row{display:flex;flex-wrap:wrap;gap:6px}.legacy-modal .legacy-lash-section .detail-input{min-height:34px;margin-top:0}.legacy-modal .legacy-lash-card-full .design-chip,.legacy-modal .legacy-lash-card-half .design-chip,.legacy-modal .legacy-lash-card-two-thirds .design-chip,.legacy-modal .legacy-lash-card-third .design-chip{min-height:30px;border-radius:999px;padding:4px 10px;font-size:13px;line-height:18px;white-space:nowrap}.legacy-lower-lash-options{display:grid;align-content:start;gap:6px;min-height:66px}.legacy-lower-lash-options-hidden{visibility:hidden;pointer-events:none}.member-detail-page .legacy-lash-card .design-chip-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:6px}.member-detail-page .legacy-lash-card .design-chip{min-height:32px;border-radius:8px;padding:4px 8px;font-size:13px;line-height:18px}.legacy-lash-card-editing{align-content:start;gap:6px;padding:10px}.legacy-lash-card-editing>strong{line-height:18px}.legacy-lash-card-editing .detail-input{min-height:34px;padding:6px 9px;font-size:13px}.legacy-lash-card-editing .legacy-textarea{min-height:76px}.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:var(--z-app-overlay);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-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.legacy-review-inline-button{width:auto;min-height:28px;gap:6px;color:#6b7280;font-size:13px;line-height:18px;font-weight:700}.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}@media(max-width:720px){.member-detail-page .legacy-lash-card .design-chip-row{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.member-detail-page .legacy-lash-card .design-chip{min-height:44px;padding:8px 10px;font-size:15px;line-height:20px}}@media(max-width:900px){.legacy-modal .legacy-lash-section .legacy-lash-design-grid,.legacy-lash-design-grid{grid-template-columns:1fr}.legacy-modal .legacy-lash-card-full,.legacy-modal .legacy-lash-card-half,.legacy-modal .legacy-lash-card-two-thirds,.legacy-modal .legacy-lash-card-third{grid-column:1 / -1}}.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:16px}.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{gap:8px}.member-detail-updated-at{justify-self:end;margin-top:-8px;color:#6b7280;font-size:12px;font-weight:700}.icon-button-text{gap:8px}.detail-grid-figma{display:grid;gap:24px}@media(min-width:1024px){.detail-grid-figma{grid-template-columns:minmax(0,1.55fr) minmax(420px,1fr)}}.detail-left-column,.detail-right-column{display:grid;align-content:start;gap:24px}.detail-card{padding:24px;display:grid;gap:16px}.detail-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.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:40px;border:1px solid #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);padding:9px 12px;color:var(--color-text-primary);outline:none}.detail-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.detail-input:read-only{background:var(--color-primary-lighter);color:var(--color-text-secondary)}.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}.no-show-history-list{display:grid;gap:8px}.no-show-history-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) auto;gap:12px;align-items:center;color:#374151;font-size:14px}.no-show-history-row strong{color:#b45309;text-align:right}.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}.detail-benefit-overview{gap:10px}.detail-benefit-overview .benefit-card{min-width:0;padding:14px}.detail-benefit-overview .benefit-value{overflow-wrap:anywhere;font-size:20px;line-height:26px}.member-benefits-card{order:-3}.member-consumption-card{order:-2}.member-topup-card{order:-1}.member-coupons-card{order:0}.benefit-purple{background:#faf5ff}.benefit-green{background:#f0fdf4}.benefit-yellow{background:#fffbeb}.member-recent-consumption-list{display:grid;gap:0}.member-recent-consumption-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #e5e7eb;padding:10px 0}.member-recent-consumption-row:last-child{border-bottom:0;padding-bottom:0}.member-recent-consumption-row>div{display:grid;gap:3px;min-width:0}.member-recent-consumption-row strong{overflow:hidden;color:#111827;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.member-recent-consumption-row span,.member-recent-consumption-row small{overflow:hidden;color:#6b7280;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.member-recent-consumption-row b{color:#111827;font-size:13px;white-space:nowrap}.member-recent-consumption-loading{display:flex;min-height:100px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--color-primary);font-size:12px;font-weight:600}.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-notice{display:flex;align-items:flex-start;gap:10px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed;color:#9a3412;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.5}.member-topup-notice>svg{flex:0 0 auto;margin-top:2px}.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{color:var(--color-primary);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:calc(var(--z-app-sidebar) - 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:12px}.appointment-toolbar{padding:4px 2px 0}.appointment-toolbar h1{margin:0;color:#111827;letter-spacing:0}.appointment-toolbar h1{font-size:24px;line-height:32px}.appointment-schedule-headline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:100%}.appointment-date-control{display:flex;align-items:center;justify-content:center;gap:10px;grid-column:2}.appointment-date-control button,.appointment-today-button{min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);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{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.appointment-date-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;padding:0 8px;white-space:nowrap}.appointment-date-trigger:hover,.appointment-date-trigger:focus-within{border-color:var(--color-primary);background:var(--color-primary-lighter)}.appointment-date-value{font-size:21px;font-weight:600;line-height:28px}.appointment-date-weekday{color:var(--color-text-secondary);font-size:15px;font-weight:500}.appointment-date-trigger svg{color:var(--color-primary-active)}.appointment-date-trigger input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;pointer-events:none;opacity:0}.appointment-today-button{padding:0 16px}.appointment-add-button{display:flex;align-items:center;justify-self:end;grid-column:3;gap:8px}.appointment-schedule-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.appointment-subbar{display:grid;gap:10px;border-bottom:1px solid #e5e7eb;background:#fff;padding:24px 16px 16px}.appointment-legend-row{display:flex;justify-content:flex-end;width:100%;margin-top:28px}.appointment-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:2px 4px}.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:var(--status-booked-bg);border-color:var(--status-booked-border)!important}.legend-opened{background:var(--status-opened-bg);border-color:var(--status-opened-border)!important}.legend-paid{background:var(--status-paid-bg);border-color:var(--status-paid-border)!important}.legend-no-show{background:var(--status-no-show-bg);border-color:var(--status-no-show-border)!important}.legend-expired{background:var(--status-expired-bg);border-color:var(--status-expired-border)!important}.legend-dayoff{background:var(--status-leave-bg);border-color:var(--status-leave-border)!important}.legend-empty{background:var(--status-empty-bg);border-color:var(--status-empty-border)!important}.appointment-grid-wrap{overflow-x:auto;border:0;border-radius:0;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(22,120px);border-bottom:.5px solid var(--color-divider)}.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:24;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:50;background:#f9fafb}.appointment-artist-cell,.appointment-time-spacer,.appointment-time-header,.appointment-slot-spacer,.appointment-slot{border-right:.5px solid var(--color-divider)}.appointment-time-header:last-child,.appointment-slot:last-child{border-right:0}.appointment-artist-cell{position:sticky;left:0;z-index:25;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:55;min-height:48px;justify-content:flex-start;background:#f9fafb;color:#374151;font-weight:600}.appointment-grid>.appointment-grid-row .appointment-artist-cell{z-index:35}.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:var(--store-zhongshan-border);background:var(--store-zhongshan-bg);color:var(--store-zhongshan-text)}.branch-green{border-color:var(--store-fuxing-border);background:var(--store-fuxing-bg);color:var(--store-fuxing-text)}.branch-purple{border-color:var(--store-taipei16-border);background:var(--store-taipei16-bg);color:var(--store-taipei16-text)}.branch-red{border-color:var(--store-taipei17-border);background:var(--store-taipei17-bg);color:var(--store-taipei17-text)}.branch-gray{border-color:var(--status-empty-border);background:var(--membership-non-member-bg);color:var(--membership-non-member-text)}.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-other-branch-badge{flex:0 0 auto;border:1px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-active);margin-left:auto;padding:1px 6px;font-size:11px;line-height:16px}.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:var(--status-empty-bg);color:var(--status-empty-text);box-shadow:inset 0 0 0 .5px var(--status-empty-border)}.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:var(--color-primary-lighter)}.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:var(--status-leave-bg);color:var(--status-leave-text)}.appointment-slot-break{background:#f3f4f6;color:#6b7280;box-shadow:inset 0 0 0 .5px #d1d5db}.appointment-slot-disabled{background:#f3f4f6;color:#6b7280}.appointment-booking{position:relative;display:grid;align-content:start;gap:3px;overflow:hidden;color:#172554}.appointment-booking-copy-button{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:0;background:transparent;color:inherit;padding:0}.appointment-booking-copy-button:hover{background:transparent}.appointment-copy-toast{position:fixed;right:24px;bottom:24px;z-index:var(--z-app-toast);border:1px solid var(--color-primary-light);border-radius:8px;background:var(--color-primary-lighter);box-shadow:var(--shadow-modal);color:var(--color-primary-active);padding:10px 16px;font-size:13px;font-weight:700;pointer-events:none}.appointment-booking:hover{opacity:.9}.appointment-booking-booked,.reservation-status-tone-booked{background:var(--status-booked-bg);border:1px solid var(--status-booked-border);color:var(--status-booked-text)}.appointment-booking-opened,.reservation-status-tone-opened{background:var(--status-opened-bg);border:1px solid var(--status-opened-border);color:var(--status-opened-text)}.appointment-booking-paid,.reservation-status-tone-paid{background:var(--status-paid-bg);border:1px solid var(--status-paid-border);color:var(--status-paid-text)}.appointment-booking-no-show,.appointment-booking-cancelled,.reservation-status-tone-no-show,.reservation-status-tone-cancelled{background:var(--status-no-show-bg);border:1px solid var(--status-no-show-border);color:var(--status-no-show-text)}.appointment-booking-blocked,.reservation-status-tone-blocked{background:var(--status-empty-bg);border:1px solid var(--status-empty-border);color:var(--status-empty-text)}.appointment-booking-expired,.reservation-status-tone-expired{background:var(--status-expired-bg);border:1px solid var(--status-expired-border);color:var(--status-expired-text)}.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-customer{padding-right:26px}.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:var(--z-app-overlay)}.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:#4d4743;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 #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);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:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.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-clear-recent-button{border:0;background:transparent;color:var(--color-primary-active);font-size:12px;font-weight:700}.appointment-clear-recent-button:disabled{cursor:not-allowed;opacity:.45}.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 #ddd7d2;border-radius:var(--radius-md);padding:10px 12px;color:var(--color-text-primary)}.appointment-new-customer-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f;outline:none}.appointment-selected-customer{display:flex;align-items:center;gap:12px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-primary-light);color:var(--color-primary-active);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:var(--color-primary-active)}.appointment-selected-customer button:hover{background:var(--color-primary-lighter)}.appointment-segmented,.appointment-choice-grid{display:grid;gap:8px}.appointment-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-duration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.appointment-deposit-section{display:grid;gap:8px;border-top:1px solid var(--color-divider);padding-top:14px}.appointment-deposit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appointment-deposit-grid label{gap:6px;font-size:12px}.appointment-customer-reference-card{display:block;margin-top:10px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-secondary);font-size:13px}.appointment-customer-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}.appointment-customer-reference-grid span{display:inline-flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.appointment-customer-reference-grid em{color:var(--color-text-primary);font-style:normal;font-weight:600}@media(max-width:680px){.appointment-customer-reference-grid{grid-template-columns:1fr}}.appointment-segmented button,.appointment-choice-grid button{min-height:40px;border:1px solid #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);color:#625a54;font-weight:600}.appointment-segmented button.active,.appointment-choice-grid button.active{border-color:var(--color-primary);background:var(--color-primary);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:var(--color-primary);color:#fff}.appointment-submit-button:hover{background:var(--color-primary-hover)}.appointment-submit-button:disabled{background:#d1d5db}.appointment-secondary-button{width:100%;border:1px solid #ddd7d2;border-radius:var(--radius-md);background:var(--color-surface);color:#625a54;font-weight:700;padding:10px 14px}.appointment-secondary-button:hover{background:var(--color-primary-lighter)}.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 var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.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:var(--color-primary);color:#fff;font-size:18px;box-shadow:var(--shadow-card)}.appointment-order-button:hover{background:var(--color-primary-hover)}.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{padding-top:0}.appointment-schedule-headline{align-items:stretch;grid-template-columns:1fr}.appointment-date-control{grid-column:auto;justify-content:flex-start;overflow-x:auto}.appointment-add-button{grid-column:auto;justify-self:start;width:max-content}}@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))}.appointment-deposit-grid{grid-template-columns: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:var(--color-border);background:var(--color-primary-lighter)}.staff-schedule-eyebrow{margin:0 0 4px;color:var(--color-primary-active);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:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.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:var(--z-app-overlay)}.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}.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:block;padding:4px 2px 0}.month-schedule-header h1{margin:0;color:#111827;font-size:24px;line-height:32px;letter-spacing:0}.month-schedule-actions,.month-schedule-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.month-schedule-actions{flex-wrap:wrap}.month-schedule-board,.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-calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:#fff}.month-schedule-month-nav{display:grid;grid-template-columns:40px auto 40px auto;align-items:center;min-height:44px;gap:10px;padding:0}.month-schedule-month-nav strong{color:#111827;font-size:24px;line-height:32px;white-space:nowrap}.month-schedule-today-button{min-height:40px;border:0;border-radius:8px;background:#f3f4f6;color:#374151;padding:0 16px;font-weight:600;white-space:nowrap}.month-schedule-today-button:hover{background:#e5e7eb}.month-schedule-month-actions{display:inline-flex;align-items:center;gap:8px;min-width:0}.month-schedule-download-button{min-height:40px;white-space:nowrap}.month-schedule-staff-field{display:flex;align-items:center;gap:10px;min-width:320px;color:#111827;font-size:18px;font-weight:800;white-space:nowrap}.month-schedule-staff-field select{flex:1;min-width:190px;min-height:44px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;padding:0 12px;font:inherit;font-size:18px;font-weight:800;outline:none}.month-schedule-staff-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.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-grid-wrap{position:relative;min-height:420px}.month-schedule-calendar-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:8px;background:#ffffffad;color:var(--color-primary);font-size:13px;font-weight:700;pointer-events:none}.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{position:relative;display:grid;align-content:start;justify-items:start;gap:6px;min-height:116px;border:2px solid transparent;background:#fff;color:#111827;padding:10px;text-align:left;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.month-schedule-day:not(:disabled):hover{background:#f9fafb;transform:translateY(-1px)}.month-schedule-day-past{background:#f3f4f6;color:#9ca3af}.month-schedule-day-past:not(:disabled):hover{background:#f3f4f6;transform:none}.month-schedule-day-past.month-schedule-day-selected{border-color:#d1d5db;background:#f3f4f6;box-shadow:none}.month-schedule-day-number{font-size:18px;line-height:24px;font-weight:800}.month-schedule-day small{color:#6b7280;font-size:12px;font-weight:700}.month-schedule-status-badge,.month-schedule-branch-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:1px solid transparent;border-radius:var(--radius-pill);padding:3px 8px;font-size:11px;font-style:normal;font-weight:900;line-height:15px;white-space:nowrap}.month-schedule-status-badge:before,.month-schedule-status-choice:before{content:"";box-sizing:border-box;width:8px;height:8px;flex:0 0 auto;border-radius:50%;border:1px solid var(--month-schedule-status-border);background:var(--month-schedule-status-background)}.month-schedule-status-working{--month-schedule-status-background: var(--status-paid-bg);--month-schedule-status-border: var(--status-paid-border);color:var(--status-paid-text)}.month-schedule-status-leave{--month-schedule-status-background: var(--status-no-show-bg);--month-schedule-status-border: var(--status-no-show-border);color:var(--status-no-show-text)}.month-schedule-status-off{--month-schedule-status-background: var(--status-opened-bg);--month-schedule-status-border: var(--status-opened-border);color:var(--status-opened-text)}.month-schedule-leave-time{display:inline-block;color:var(--color-text-tertiary);padding:0 2px;font-size:11px;font-weight:600;line-height:15px;white-space:nowrap}.month-schedule-branch-taipei16{border-color:var(--store-taipei16-border);background:var(--store-taipei16-bg);color:var(--store-taipei16-text)}.month-schedule-branch-taipei17{border-color:var(--store-taipei17-border);background:var(--store-taipei17-bg);color:var(--store-taipei17-text)}.month-schedule-branch-fuxing{border-color:var(--store-fuxing-border);background:var(--store-fuxing-bg);color:var(--store-fuxing-text)}.month-schedule-branch-zhongshan{border-color:var(--store-zhongshan-border);background:var(--store-zhongshan-bg);color:var(--store-zhongshan-text)}.month-schedule-branch-default{border-color:#e5e7eb;background:#f1f5f9;color:#334155}.month-schedule-day-off strong{color:#92400e}.month-schedule-day-off{background:#fffdf5}.month-schedule-day-today{background:var(--color-primary-lighter)}.month-schedule-day-branch{position:absolute;top:10px;right:10px;max-width:calc(100% - 44px);overflow:hidden;text-overflow:ellipsis}.month-schedule-day-selected{border-color:var(--color-primary);background:#fff;box-shadow:none;z-index:1}.month-schedule-day-off.month-schedule-day-selected{background:#fffdf5}.month-schedule-day-today.month-schedule-day-selected{border:3px solid var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 1px #a48b781f}.month-schedule-note-text{position:absolute;right:10px;bottom:8px;left:10px;margin:0;overflow:hidden;color:#6b7280;font-size:10px;font-weight:700;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.month-schedule-editor-body{display:grid;gap:14px;padding:16px}.month-schedule-selection-summary{display:grid;gap:8px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-primary-lighter);padding:12px}.month-schedule-selection-summary strong{color:var(--color-primary-active);font-size:18px;line-height:24px}.month-schedule-selection-summary div{display:flex;flex-wrap:wrap;gap:6px;max-height:116px;overflow:auto}.month-schedule-selection-summary span{border-radius:999px;background:#fff;color:var(--color-primary-active);padding:3px 8px;font-size:12px;font-weight:800}.month-schedule-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-schedule-quick-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;padding:6px 8px;font-size:12px;font-weight:800}.month-schedule-quick-actions button:not(:disabled):hover{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.month-schedule-quick-actions button.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-active);box-shadow:0 0 0 2px #a48b781f}.month-schedule-editor-body label,.month-schedule-editor-field{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:700}.month-schedule-branch-actions{display:flex;flex-wrap:wrap;gap:8px}.month-schedule-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.month-schedule-branch-choice{min-height:34px;border:1px solid transparent;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900}.month-schedule-branch-choice.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #a48b781f}.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-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}@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-layout{grid-template-columns:1fr}.month-schedule-calendar-header{align-items:stretch;flex-direction:column}.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-grid{grid-template-columns:repeat(7,minmax(48px,1fr))}.month-schedule-day{min-height:88px;padding:10px 4px}.month-schedule-status-badge{max-width:100%;padding:3px 6px;font-size:10px}}@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-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 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:var(--color-primary);background:var(--color-primary);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{display:block;container-type:inline-size;min-height:124px}.dashboard-kpi-grid .report-metric>div{display:flex;flex-direction:column;min-height:92px;width:100%}.dashboard-kpi-grid .report-metric>div:not(.report-metric-icon)>span{white-space:nowrap}.dashboard-kpi-grid .report-metric .report-metric-value{max-width:100%;font-size:clamp(18px,12cqw,30px);line-height:1.1;letter-spacing:-.02em;white-space:nowrap;overflow-wrap:normal}.dashboard-kpi-grid .report-metric .report-metric-currency-value{display:flex;align-items:baseline;gap:6px}.dashboard-kpi-grid .report-metric .report-metric-currency{display:inline;flex:0 0 auto;color:var(--color-text-secondary);font-size:.56em;line-height:1;font-weight:800;white-space:nowrap}.dashboard-kpi-grid .report-metric .report-metric-amount{display:inline;min-width:0;color:inherit;font-size:1em;line-height:1;font-weight:inherit;white-space:nowrap;overflow-wrap:normal}.dashboard-kpi-grid .report-metric small{display:block;margin-top:auto;max-width:100%;color:var(--color-text-tertiary);font-size:11px;line-height:1.35;overflow-wrap:normal;text-wrap:balance}.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:var(--color-primary)}.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 .dashboard-rank-label{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.dashboard-rank-row .dashboard-rank-label small{flex:0 0 auto;white-space:nowrap}.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:var(--color-primary)}.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:var(--color-primary)}.history-table-card{overflow:hidden}.history-table-card.figma-card{border-radius:12px;box-shadow:none}.history-member-toolbar{align-items:flex-end}.history-search-inline input{height:40px}.history-time-filter{align-items:flex-end;gap:8px}.history-member-toolbar .history-time-filter button,.history-member-toolbar .history-date-range button.history-filter-active{min-height:40px;border-radius:8px;padding:8px 12px;font-size:14px}.history-member-toolbar .history-time-filter .history-filter-active,.history-member-toolbar .history-date-range button.history-filter-active,.history-member-toolbar .history-status-pills .history-filter-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.history-date-range{margin-left:0}.history-date-range button{align-self:end}.history-member-toolbar .history-status-pills input:checked+span{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.history-branch-filter-pills span{border-radius:8px}.history-view-icon-button{border:0;background:transparent;color:var(--color-primary-active)}.history-view-icon-button:hover{background:var(--color-primary-light)}.history-table-card{overflow:visible;border:1px solid #e6e8ef;border-radius:14px;background:#fff;box-shadow:0 10px 30px #0f172a0f}.history-filter-panel{display:grid;gap:16px;padding:18px 20px;border-bottom:1px solid #eef0f4;background:linear-gradient(180deg,#fff,#fbfbfd)}.history-filter-row{display:flex;align-items:center;gap:12px;min-width:0}.history-search-row{justify-content:space-between}.history-search-control{flex:1 1 520px;max-width:720px}.history-search-control input{width:100%;height:42px;border:1px solid #d9dce5;border-radius:10px;background:#fff;padding:10px 14px 10px 42px;color:#111827;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.history-search-control input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.history-refresh-group{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#6b7280;font-size:12px;white-space:nowrap}.history-refresh-button,.history-query-button{min-height:38px;border:1px solid #d9dce5;border-radius:9px;background:#fff;color:#24292f;padding:8px 12px;font-size:13px;font-weight:750;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.history-refresh-button:hover,.history-query-button:hover{border-color:#c7cbd6;background:#fbfbfd;box-shadow:0 6px 16px #0f172a14}.history-date-row{flex-wrap:wrap}.history-filter-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.history-filter-chips button{min-height:34px;border:1px solid #d9dce5;border-radius:999px;background:#fff;color:#374151;padding:7px 12px;font-size:13px;font-weight:750;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.history-filter-chips button:hover{border-color:#c7cbd6;background:#f9fafb}.history-filter-chips .history-chip-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #a48b782e}.history-filter-chips .history-chip-active:hover,.history-time-filter .history-filter-active:hover,.history-member-toolbar .history-time-filter .history-filter-active:hover,.history-member-toolbar .history-date-range button.history-filter-active:hover,.history-member-toolbar .history-status-pills .history-filter-active:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.history-date-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.history-date-fields label{display:grid;gap:4px;color:#6b7280;font-size:11px;font-weight:800}.history-date-fields input{min-height:38px;border:1px solid #d9dce5;border-radius:9px;background:#fff;padding:8px 10px;color:#111827;font:inherit;font-size:13px;font-weight:700;outline:none}.history-date-fields input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.history-date-separator{align-self:center;color:#9ca3af;font-weight:800}.history-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-bottom:1px solid #eef0f4;padding:12px 20px;background:#fff}.history-active-filters>span{color:#6b7280;font-size:12px;font-weight:800}.history-active-filters button{display:inline-flex;align-items:center;gap:5px;border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;color:#374151;padding:5px 9px;font-size:12px;font-weight:750;cursor:pointer}.history-active-filters .history-clear-all{border:0;background:transparent;color:var(--color-primary)}.history-active-filters .history-clear-all:hover{color:var(--color-primary-hover)}.history-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:16px 20px;border-bottom:1px solid #eef0f4;background:#fff}.history-summary-card{display:grid;gap:5px;min-height:76px;border:1px solid #eef0f4;border-radius:12px;background:#fcfcfd;padding:13px 14px}.history-summary-card span{color:#6b7280;font-size:12px;font-weight:800}.history-summary-card strong{color:#111827;font-size:20px;line-height:26px;font-weight:850}@media(max-width:1200px){.history-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.history-summary-grid{grid-template-columns:1fr}}.history-table-scroll{max-height:min(70vh,760px);overflow:auto}.history-redesign-table{min-width:980px}.history-redesign-table thead{position:sticky;top:0;z-index:3;box-shadow:0 1px #e5e7eb}.history-redesign-table th{position:sticky;top:0;z-index:3;padding:12px 20px;background:#fbfbfd;color:#6b7280;font-size:12px;font-weight:800}.history-redesign-table td{padding:14px 20px;vertical-align:middle}.history-redesign-table td:first-child{display:table-cell}.history-redesign-table th:nth-child(6),.history-redesign-table td:nth-child(6){text-align:right}.history-clickable-row{cursor:pointer}.history-clickable-row:hover,.history-clickable-row:focus{background:#fbfaff;outline:none}.history-date-cell,.history-service-cell{display:grid;gap:2px}.history-date-cell strong,.history-service-cell strong{color:#111827;font-size:13px;font-weight:800}.history-date-cell span,.history-service-cell span{color:#6b7280;font-size:12px}.history-service-cell{position:relative;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px}.history-service-cell span{grid-column:1}.history-service-cell em{grid-row:1 / span 2;grid-column:2;border-radius:999px;background:#f3f4f6;color:#4b5563;padding:4px 8px;font-size:11px;font-style:normal;font-weight:850}.history-amount-cell strong{color:#111827;font-variant-numeric:tabular-nums}.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-topup{background:#ede9fe;color:#6d28d9}.history-branch-badge.month-schedule-branch-taipei16{border:1px solid var(--store-taipei16-border);background:var(--store-taipei16-bg);color:var(--store-taipei16-text)}.history-branch-badge.month-schedule-branch-taipei17{border:1px solid var(--store-taipei17-border);background:var(--store-taipei17-bg);color:var(--store-taipei17-text)}.history-branch-badge.month-schedule-branch-fuxing{border:1px solid var(--store-fuxing-border);background:var(--store-fuxing-bg);color:var(--store-fuxing-text)}.history-branch-badge.month-schedule-branch-zhongshan{border:1px solid var(--store-zhongshan-border);background:var(--store-zhongshan-bg);color:var(--store-zhongshan-text)}.history-redesign-table td:first-child{display:table-cell;white-space:normal}.history-branch-badge{border-radius:999px;background:#f3f4f6;color:#4b5563;padding:4px 7px;font-size:11px}.history-status-badge{border-radius:999px;padding:5px 9px}.history-status-paid{background:#dcfce7;color:#166534}.history-status-topup{background:#dbeafe;color:#1d4ed8}.history-status-topup_pending{background:#fef3c7;color:#92400e}.history-status-reversed{background:#fee2e2;color:#991b1b}.history-redesign-table .member-sort-button svg{color:#9ca3af}.history-redesign-table .member-sort-button.active svg{color:var(--color-primary)}.history-view-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--color-primary-active);font-weight:800;cursor:pointer}.history-empty-card,.history-empty-state{display:grid;place-items:center;gap:10px;padding:48px 20px;text-align:center}.history-empty-card svg,.history-empty-state svg{color:#d1d5db}.history-empty-card h2,.history-empty-card p,.history-empty-state h2,.history-empty-state p{margin:0}.history-drawer-backdrop,.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-app-overlay);background:#0f172a73}.history-drawer{position:absolute;top:0;right:0;width:min(720px,100vw);height:100%;overflow-y:auto;background:var(--color-bg);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 var(--color-border);background:var(--color-primary-light);padding:16px 20px}.history-drawer-head h2,.settings-modal-head h2{margin:0}.history-drawer-head h2{color:var(--color-primary-active)}.history-drawer-head button,.settings-modal-head button{border:0;border-radius:8px;background:var(--color-primary-lighter);color:var(--color-primary-active);padding:8px;cursor:pointer}.history-drawer-head button:hover{background:var(--color-primary);color:#fff}.history-drawer-body{display:grid;gap:18px;padding:20px}.history-drawer-card{border:1px solid var(--color-border);border-radius:14px;background:var(--color-primary-lighter);padding:16px}.history-drawer-card h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--color-primary-active)}.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:var(--color-text-secondary)}.history-drawer-grid strong,.history-drawer-list strong{color:var(--color-text-primary)}.history-customer-info-card .history-drawer-grid div{justify-content:flex-start}.history-customer-info-card .history-drawer-grid strong{text-align:left}.history-drawer-list,.history-drawer-log{display:grid;gap:10px}.history-void-request-card{display:grid;gap:14px}.history-void-request-card h3,.history-void-request-card p{margin-top:0;margin-bottom:0}.history-void-reason{gap:6px}.history-void-reason textarea{min-height:72px;max-height:140px}.history-void-request-card .figma-secondary-button{justify-self:start;margin-top:2px}@media(max-width:600px){.history-void-request-card .figma-secondary-button{width:100%;justify-content:center}}.history-payment-summary{background:var(--color-primary-light)}.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:var(--z-app-toast);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:var(--color-primary);color:var(--color-primary-active)}.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:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;font-weight:850}.settings-avatar-small{width:38px;height:38px}.settings-avatar-image,.settings-staff-photo-preview{object-fit:cover}.settings-avatar-image{width:100%;height:100%;border-radius:inherit}.settings-staff-photo-preview{width:96px;height:96px;margin-top:8px;border-radius:12px}.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:190px minmax(0,1fr);gap:16px}.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:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active);font-weight:800}.settings-product-panel,.settings-product-create,.settings-product-table{display:grid;gap:16px}.settings-product-panel,.settings-product-create{align-content:start}.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-row-actions{gap:8px;flex-wrap:nowrap}.settings-icon-action-button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.settings-icon-action-button:hover{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active);box-shadow:0 4px 12px #a48b781f}.settings-icon-action-danger{color:#991b1b}.settings-icon-action-danger:hover{border-color:#fecaca;background:#fef2f2;color:#b91c1c;box-shadow:0 8px 18px #b91c1c1a}.settings-icon-action-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.settings-product-table-head{justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7eb}.settings-product-table .settings-table{min-width:0;table-layout:fixed}.settings-product-table .settings-table th:first-child,.settings-product-table .settings-table td:first-child{width:18%}.settings-product-table .settings-table th:nth-child(2),.settings-product-table .settings-table td:nth-child(2){width:32%}.settings-product-table .settings-table th:nth-child(3),.settings-product-table .settings-table td:nth-child(3){width:17%}.settings-product-table .settings-table th:nth-child(4),.settings-product-table .settings-table td:nth-child(4){width:15%}.settings-product-table .settings-table th:last-child,.settings-product-table .settings-table td:last-child{width:18%}.settings-product-row-inactive{background:#f3f4f6;color:#6b7280}.settings-product-row-inactive:hover{background:#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-modal .settings-product-active-check{display:inline-flex;align-items:center;width:fit-content;gap:10px;margin-bottom:12px}.settings-modal .settings-product-active-check input{flex:0 0 auto}.settings-field-wide{grid-column:1 / -1}.settings-required-grid{display:grid;grid-template-columns:minmax(112px,.72fr) repeat(2,minmax(180px,1fr));gap:14px;align-items:start}.settings-required-grid label,.settings-required-grid>div{display:grid;gap:6px;min-width:0}.settings-required-grid input,.settings-required-grid select{width:100%;min-width:0}.settings-required-grid>:nth-child(5){grid-column:2 / -1}.settings-staff-no-field input{max-width:148px}.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:var(--color-primary);background:var(--color-primary-lighter)}.settings-branch-button-grid,.settings-role-segment{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.settings-branch-choice,.settings-role-segment button{min-height:34px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.settings-branch-choice:hover,.settings-role-segment button:hover{border-color:#c7cbd6;background:#f9fafb;color:#111827}.settings-branch-choice.month-schedule-branch-taipei16{border-color:var(--store-taipei16-border);background:var(--store-taipei16-bg);color:var(--store-taipei16-text)}.settings-branch-choice.month-schedule-branch-taipei17{border-color:var(--store-taipei17-border);background:var(--store-taipei17-bg);color:var(--store-taipei17-text)}.settings-branch-choice.month-schedule-branch-fuxing{border-color:var(--store-fuxing-border);background:var(--store-fuxing-bg);color:var(--store-fuxing-text)}.settings-branch-choice.month-schedule-branch-zhongshan{border-color:var(--store-zhongshan-border);background:var(--store-zhongshan-bg);color:var(--store-zhongshan-text)}.settings-branch-choice.month-schedule-branch-default{border-color:#e5e7eb;background:#f1f5f9;color:#334155}.settings-branch-choice.settings-branch-choice-active{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.settings-branch-choice.settings-branch-choice-active:hover{border-color:currentColor}.settings-role-segment button{min-width:72px}.settings-role-segment .settings-role-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.settings-role-segment .settings-role-active:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.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-release-version{align-self:flex-end;color:#9ca3af;font-size:10px;letter-spacing:.04em;line-height:1}.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}.settings-deactivate-confirm-row{display:flex;align-items:center;gap:14px;margin-top:18px}.settings-deactivate-confirm-row input{flex:1 1 260px;min-width:0}.settings-deactivate-confirm-row .settings-form-actions{flex:0 0 auto;gap:12px}@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-required-grid,.settings-detail-grid,.history-drawer-grid{grid-template-columns:1fr}.settings-staff-no-field input{max-width:none}.settings-required-grid>:nth-child(5){grid-column:auto}.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}}.settings-title.members-header{align-items:center}.settings-sync-status{display:inline-flex;align-items:center;gap:10px;color:#6b7280;font-size:13px;font-weight:700}.settings-sync-status button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9dce5;border-radius:9px;background:#fff;color:#374151;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease}.settings-sync-status button:hover{border-color:#c7cbd6;background:#fbfbfd;box-shadow:0 6px 16px #0f172a14}.settings-admin-card{border-color:#e6e8ef;border-radius:14px;box-shadow:0 10px 30px #0f172a0f}.settings-admin-card .settings-tabs{gap:18px;padding:0 20px;background:#fff}.settings-admin-card .settings-tabs button{min-height:46px;padding:13px 4px 11px;border-bottom-width:2px;color:#6b7280;font-size:14px;transition:color .16s ease,border-color .16s ease}.settings-staff-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}.settings-summary-card{display:grid;gap:5px;min-height:76px;border:1px solid #eef0f4;border-radius:12px;background:#fcfcfd;padding:13px 14px}.settings-summary-card span{color:#6b7280;font-size:12px;font-weight:800}.settings-summary-card strong{color:#111827;font-size:20px;line-height:26px;font-weight:850}.settings-tab-panel{padding:20px}.settings-toolbar{align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:12px}.settings-search{width:min(360px,100%);min-height:40px;border-color:#d9dce5;border-radius:10px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.settings-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.settings-search button{display:grid;place-items:center;border:0;background:transparent;color:#9ca3af;cursor:pointer}.settings-filter-chips,.settings-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.settings-filter-chips{flex:1 1 420px}.settings-filter-chips button,.settings-active-filters button{flex:0 0 auto;min-height:34px;border:1px solid #d9dce5;border-radius:999px;background:#fff;color:#374151;padding:7px 12px;font-size:13px;font-weight:750;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.settings-filter-chips button:hover,.settings-active-filters button:hover{border-color:#c7cbd6;background:#f9fafb;color:#111827}.settings-filter-chips .settings-chip-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:none}.settings-filter-chips .settings-chip-active:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.settings-filter-chips button:disabled{border-color:#e5e7eb;background:#f9fafb;color:#9ca3af;opacity:1}.settings-add-staff-button{min-height:40px;margin-left:auto;border-radius:9px}.settings-active-filters{align-items:center;margin-bottom:12px;color:#6b7280;font-size:12px;font-weight:800}.settings-active-filters>span{display:inline-flex;align-items:center;min-height:36px;line-height:1}.settings-active-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;gap:6px;padding:6px 12px;background:#f9fafb;font-size:12px;line-height:1;vertical-align:middle}.settings-active-filters button svg{flex:0 0 auto;width:16px;height:16px;display:block}.settings-active-filters .settings-clear-filters{border:0;background:transparent;color:var(--color-primary-active)}.settings-table-wrap{border-color:#e6e8ef;border-radius:12px;overflow-x:auto}.settings-table{min-width:920px}.settings-table th{position:sticky;top:0;z-index:2;padding:12px 18px;background:#fbfbfd;color:#6b7280;font-size:12px;font-weight:800}.settings-table td{padding:14px 18px;vertical-align:middle}.settings-clickable-row{cursor:pointer;transition:background .16s ease}.settings-clickable-row:hover,.settings-clickable-row:focus{background:#fbfaff;outline:none}.settings-sort-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:800;cursor:pointer}.settings-sort-button svg{color:#9ca3af}.settings-sort-button.active{color:var(--color-primary-active)}.settings-sort-button.active svg{color:var(--color-primary)}.settings-staff-cell{gap:10px}.settings-staff-cell div:last-child{gap:1px}.settings-staff-cell strong{color:#111827}.settings-staff-cell small{color:#9ca3af;font-size:11px}.settings-avatar-small{width:38px;height:38px;font-size:14px;font-weight:850}.settings-level-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.settings-level-admin{background:var(--color-primary-light);color:var(--color-primary-active)}.settings-level-manager{background:#e0f2fe;color:#0369a1}.settings-level-independent{background:#dcfce7;color:#166534}.settings-level-support{background:#fef3c7;color:#92400e}.settings-level-finance{background:#e0e7ff;color:#4338ca}.settings-level-default{background:#f3f4f6;color:#4b5563}.settings-branch-badges{display:flex;flex-wrap:wrap;gap:6px}.settings-muted-text{color:#9ca3af;font-size:12px}.settings-status{min-height:26px;gap:6px;padding:4px 9px}.settings-status i{width:6px;height:6px;border-radius:999px;background:currentColor}.settings-status-disabled{background:#f3f4f6;color:#6b7280}.settings-more-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer}.settings-more-button:hover{background:var(--color-primary-light);color:var(--color-primary-active)}.settings-empty-cell{padding:0}.settings-empty-state{display:grid;place-items:center;gap:10px;padding:52px 20px;text-align:center}.settings-empty-state svg{color:#d1d5db}.settings-empty-state h2,.settings-empty-state p{margin:0}.settings-empty-state p{color:#6b7280}.settings-skeleton-row span{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:settings-skeleton 1.2s ease-in-out infinite}@keyframes settings-skeleton{to{background-position:-200% 0}}.settings-staff-detail-page{gap:18px}.settings-staff-detail-topbar{align-items:center}.settings-staff-detail-title-row{display:flex;align-items:center;gap:10px}.settings-back-icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#374151;cursor:pointer;transition:background .18s ease,color .18s ease}.settings-back-icon-button:hover{background:var(--color-primary-light);color:var(--color-primary-active)}.settings-back-icon-button:disabled{cursor:not-allowed;opacity:.55}.settings-staff-detail-card{width:min(980px,100%)}@media(max-width:760px){.settings-staff-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-add-staff-button{width:100%;margin-left:0}.settings-table{min-width:820px}.settings-staff-detail-topbar,.settings-deactivate-confirm-row{align-items:stretch;flex-direction:column}.settings-deactivate-confirm-row .settings-form-actions{justify-content:flex-end}}@media(max-width:640px){.figma-main,.figma-main-inner,.today-work-page{min-width:0;max-width:100%}.figma-main:has(.today-work-page),.figma-main-inner:has(.today-work-page),.today-work-page{overflow-x:clip}.today-work-page,.next-service-card,.next-service-content,.next-service-meta,.next-service-action,.today-schedule-section,.today-list,.today-appointment-row,.today-appointment-content,.today-row-top,.today-appointment-identity,.today-row-actions{min-width:0;max-width:100%}.next-service-card-heading,.next-service-card-heading>div,.today-list-header,.today-list-header>div{min-width:0;max-width:100%}.next-service-card-heading h2,.next-service-meta strong,.today-customer-line h3{overflow-wrap:anywhere}.today-summary-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px 0;padding:12px 0}.today-summary-bar>span:not(.today-summary-progress),.today-summary-bar>span:first-child{min-width:0;padding:0 10px 0 0;border-right:0;overflow-wrap:anywhere}.today-summary-bar>span:nth-child(2n):not(.today-summary-progress){padding-right:0;padding-left:10px}.today-summary-progress{grid-column:1 / -1;width:100%;margin-left:0}.today-row-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.today-row-actions>button,.today-blocked-inline .today-secondary-button,.next-service-action .today-primary-button,.next-service-action-locked .today-primary-button{width:100%;max-width:100%;min-width:0;white-space:normal;line-height:1.35}.today-blocked-inline>span{min-width:0;overflow-wrap:anywhere}}.service-order-modal{background:var(--color-bg);color:var(--color-text-primary)}.service-order-header,.service-stepper,.service-cart-bar{border-color:var(--color-divider);background:var(--color-surface)}.service-order-header h2,.service-product-list h3,.lash-design-form h3,.checkout-preview h3,.design-section-header h3,.checkout-preview strong,.service-category-button strong,.service-product-button span,.service-cart-details summary,.service-cart-item strong{color:var(--color-text-primary)}.service-order-header p,.service-product-list,.checkout-preview p,.checkout-preview-row,.service-cart-item span,.lash-history-actions p{color:var(--color-text-secondary)}.service-order-back,.service-stepper-item,.service-cart-empty,.service-cart-details{background:var(--color-primary-lighter)}.service-order-back{color:var(--color-text-secondary)}.service-stepper{border-bottom-color:var(--color-divider)}.service-stepper-item{color:var(--color-text-tertiary)}.service-stepper-item span{background:var(--color-surface);color:var(--color-text-tertiary)}.service-stepper-active{background:var(--color-primary);color:#fff}.service-stepper-active span{color:var(--color-primary-active)}.service-category-button,.service-product-button,.design-section-card,.checkout-preview section,.service-cart-item,.service-empty{border-color:var(--color-border);background:var(--color-surface)}.service-category-button,.service-product-button,.design-section-card,.checkout-preview section{box-shadow:var(--shadow-card)}.service-category-count,.service-category-button svg,.service-product-button strong{color:var(--color-primary-active)}.service-product-custom-price input,.design-chip,.service-product-custom-price button{border-color:var(--color-border)}.service-product-custom-price button,.service-checkout-button{border-color:var(--color-primary);background:var(--color-primary)}.service-checkout-button{box-shadow:0 10px 24px #a48b783d}.design-chip-selected{border-color:var(--color-primary);background:var(--color-primary)}.selected-tag-row span,.checkout-preview-controls button,.service-cart-controls button{background:var(--color-primary-light);color:var(--color-primary-active)}.service-cart-details summary span:last-child{color:var(--color-primary-active)}.service-cart-bar{box-shadow:0 -10px 28px #3f3a371a}.service-order-backdrop,.service-order-modal,.service-order-content{overflow-x:hidden;overscroll-behavior-x:none}.service-order-backdrop,.service-order-modal{overflow-y:auto}.service-order-modal{display:flex;flex-direction:column;height:100vh;max-height:100vh}.service-order-header,.service-stepper{flex:0 0 auto}.service-order-content{min-width:0;flex:1 1 0%;width:100%;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.service-product-search{display:grid;gap:6px;margin-bottom:4px}.service-product-search span{color:var(--color-text-secondary);font-size:13px;font-weight:700}.service-product-search input{width:100%;min-height:46px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:10px 12px;color:var(--color-text-primary);font:inherit}.service-product-search input:focus{border-color:var(--color-primary);outline:3px solid var(--color-primary-light)}.checkout-pos-shell{background:var(--color-bg);color:var(--color-text-primary)}.checkout-pos-header,.checkout-pos-footer{border-color:var(--color-divider);background:var(--color-surface)}.checkout-pos-header h1,.checkout-customer-identity h2,.checkout-card-title h2,.checkout-line-header h2,.checkout-summary-card h2,.checkout-line-name h3,.checkout-summary-line span.is-strong,.checkout-summary-line strong{color:var(--color-text-primary)}.checkout-pos-header p,.checkout-customer-identity p,.checkout-summary-line span,.checkout-line-row p{color:var(--color-text-secondary)}.checkout-pos-icon-button:hover{background:var(--color-primary-lighter);color:var(--color-primary-active)}.checkout-pos-card,.checkout-summary-card{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.checkout-avatar,.checkout-benefit-strip span,.checkout-coupon-row.is-applicable,.checkout-deposit-note{border-color:var(--color-primary-light);background:var(--color-primary-lighter)}.checkout-avatar,.checkout-card-title,.checkout-benefit-strip span,.checkout-deposit-note strong,.checkout-line-row button{color:var(--color-primary-active)}.checkout-topup-button{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-active)}.checkout-topup-button:hover{background:var(--color-primary-lighter)}.checkout-coupon-row.is-applicable{border-color:var(--color-primary)}.checkout-coupon-row input{accent-color:var(--color-primary)}.checkout-line-header{border-bottom-color:var(--color-divider)}.checkout-line-child{border-left-color:var(--color-primary)}.checkout-line-row button{border-color:var(--color-primary-light);background:var(--color-surface)}.checkout-amount-field input:focus,.checkout-amount-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #a48b7829}.checkout-pos-footer>div.checkout-pos-footer-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;justify-content:initial;width:min(100%,420px);max-width:420px;margin-left:auto}.checkout-pos-footer button{justify-content:center;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.checkout-pos-footer button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 12px 26px #a48b783d}@media(max-width:760px){.checkout-pos-footer>div.checkout-pos-footer-actions{flex-direction:row;width:100%;max-width:none;margin:0}}@media(min-width:1024px){.checkout-pos-shell,.checkout-pos-footer{left:208px}}@media(min-width:761px)and (max-width:1700px){.checkout-customer-card{align-items:flex-start;flex-direction:column}.checkout-customer-metrics{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}.checkout-details-modal{background:var(--color-bg)}.checkout-details-modal .today-modal-header,.checkout-details-modal .today-modal-footer{border-color:var(--color-divider);background:var(--color-surface)}.checkout-details-modal .today-info-panel,.checkout-details-modal .today-modal-section{border-color:var(--color-border)}.checkout-details-modal .today-info-panel{background:var(--color-primary-lighter)}.checkout-details-modal .today-info-panel strong,.checkout-details-modal .today-checkout-list strong,.checkout-details-modal .checkout-history-grid strong{color:var(--color-primary-active)}.checkout-details-modal .today-checkout-list>div,.checkout-details-modal .checkout-history-grid{border-color:var(--color-divider)}.checkout-details-modal .today-success-button{background:var(--color-primary);color:#fff}.checkout-details-modal .today-success-button:hover{background:var(--color-primary-hover)}.checkout-detail-photo{display:block;width:min(100%,360px);aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-primary-lighter);padding:0;cursor:zoom-in}.checkout-detail-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checkout-detail-photo-grid .checkout-detail-photo{width:100%}.checkout-detail-photo img{display:block;width:100%;height:100%;object-fit:contain}.today-timeline-marker:before{flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;aspect-ratio:1 / 1;box-sizing:border-box}.today-timeline-marker:after{top:23px}.today-work-page{gap:18px}.today-work-header{align-items:flex-start;gap:16px}.today-work-header h1{color:var(--color-text-primary);font-size:25px;line-height:1.2}.today-work-header .today-work-date{margin:5px 0 0;color:var(--color-text-tertiary);font-size:14px;line-height:20px;font-weight:500}.today-work-header .staff-today-controls{gap:8px}.today-work-header .staff-today-controls label{gap:2px}.today-summary-bar{min-height:44px;gap:0;padding:10px 0;color:var(--color-text-secondary)}.today-summary-bar>span:not(.today-summary-progress){padding:0 16px;border-right-color:var(--color-divider)}.today-summary-bar>span:first-child{padding-left:0}.today-summary-count strong,.today-summary-completed strong,.today-summary-revenue strong{color:var(--color-text-primary);font-weight:800}.today-summary-progress{height:4px;border-radius:var(--radius-pill)}.today-schedule-section{gap:10px}.today-list-header{padding:0}.today-list-header h2{margin:0}.today-schedule-section .today-empty{border:0;border-top:1px solid var(--color-divider);border-radius:0;background:transparent;padding:22px 0;color:var(--color-text-secondary);text-align:left}@media(max-width:640px){.today-work-page{gap:16px}.today-summary-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 0;padding:10px 0}.today-summary-bar>span:not(.today-summary-progress),.today-summary-bar>span:first-child,.today-summary-bar>span:nth-child(2n):not(.today-summary-progress){padding:0;border-right:0}.today-summary-count{grid-column:1}.today-summary-completed{grid-column:2;text-align:right}.today-summary-revenue{grid-column:1 / -1}.today-summary-progress{grid-column:1 / -1;margin:2px 0 0}}.checkout-split-dialog:not(.checkout-topup-dialog){border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-modal)}.checkout-split-dialog:not(.checkout-topup-dialog) h2{color:var(--color-text-primary)}.checkout-split-dialog:not(.checkout-topup-dialog) p{color:var(--color-text-secondary)}.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-source>div,.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-preview>div{border-color:var(--color-border);background:var(--color-primary-lighter)}.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-source strong,.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-preview strong{color:var(--color-primary-active)}.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-actions button{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.checkout-split-dialog:not(.checkout-topup-dialog) .checkout-split-actions button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.checkout-topup-dialog{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-modal)}.checkout-topup-dialog h2{color:var(--color-text-primary)}.checkout-topup-dialog p{color:var(--color-text-secondary)}.checkout-topup-dialog .checkout-topup-warning{border-left-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)!important}.checkout-topup-dialog .checkout-split-actions{align-items:center}.checkout-topup-dialog .checkout-split-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.checkout-topup-dialog .checkout-split-actions button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 10px 22px #a48b7833}.checkout-topup-dialog .checkout-split-actions button.primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.checkout-topup-dialog .checkout-split-actions button svg{flex:0 0 auto;width:20px;height:20px}.checkout-photo-uploader{display:grid;align-content:start;gap:10px;min-width:0}.checkout-photo-uploader-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkout-photo-uploader-header>div{display:grid;gap:2px;min-width:0}.checkout-photo-uploader-header strong{color:var(--color-text-primary);font-size:14px}.checkout-photo-uploader-header span{color:var(--color-text-tertiary);font-size:12px}.checkout-photo-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.checkout-photo-thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checkout-photo-slot{position:relative;display:grid;width:100%;aspect-ratio:1 / 1;place-items:center;overflow:hidden;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-primary-lighter);color:var(--color-text-tertiary);font-size:11px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease}.checkout-photo-slot:hover,.checkout-photo-slot:focus-visible{border-color:var(--color-primary);background:var(--color-primary-light);outline:none}.checkout-photo-slot.has-photo{border-style:solid;border-color:var(--color-primary-light)}.checkout-photo-slot img{display:block;width:100%;height:100%;object-fit:contain}.checkout-photo-remove{position:absolute;top:4px;right:4px;display:grid;width:26px;height:26px;place-items:center;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:#3f3a37b8;color:#fff;cursor:pointer}.checkout-photo-remove:hover{background:var(--color-danger)}.today-row-action-wide{width:128px;min-height:40px;justify-content:center;border-radius:var(--radius-md);padding:0 12px}@media(min-width:641px){.today-row-actions{justify-content:flex-end}.today-row-action-wide{margin-left:auto}}@media(max-width:640px){.today-row-actions:has(.today-row-action-wide){display:flex;justify-content:flex-end;align-items:center;width:100%}.today-row-actions>.today-row-action-wide{width:116px;max-width:100%;min-width:0;margin-left:auto}}.today-appointment-content:has(.today-row-action-wide){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:start}.today-appointment-content:has(.today-row-action-wide) .today-row-top,.today-appointment-content:has(.today-row-action-wide) .today-row-body{grid-column:1 / -1;min-width:0}.today-appointment-content:has(.today-row-action-wide) .today-row-top{grid-row:1}.today-appointment-content:has(.today-row-action-wide) .today-row-body{grid-row:2}.today-appointment-content:has(.today-row-action-wide) .today-row-actions{grid-column:2;grid-row:1;align-self:start;margin-top:0}.today-appointment-content:has(.today-row-action-wide)>.today-customer-history{grid-column:1 / -1}.today-appointment-content:has(.today-row-actions-before-history) .today-row-actions-before-history{grid-column:1 / -1;grid-row:3;width:100%;align-items:center;justify-content:flex-end}.today-appointment-content:has(.today-row-actions-before-history)>.today-customer-history{grid-row:4}.today-row-actions-before-history>.today-view-details-button{width:100%;max-width:none;min-height:36px;margin-left:0;padding:0 13px;font-size:12px}@media(max-width:640px){.today-appointment-content:has(.today-row-action-wide){grid-template-columns:minmax(0,1fr) 116px;column-gap:10px}.today-row-actions-before-history>.today-view-details-button{width:100%;max-width:none}}.today-history-orders{gap:10px}.today-history-order{display:grid;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px;color:var(--color-text-secondary);font-size:13px;line-height:1.5}.today-history-order header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding-bottom:5px;border-bottom:1px solid var(--color-divider)}.today-history-order header strong{color:var(--color-text-primary);font-size:13px;line-height:1.4}.today-history-order header span{color:var(--color-primary-active);font-size:14px;font-weight:800;white-space:nowrap}.today-history-order p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.today-history-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,360px);padding-top:4px}.today-history-photo-button{width:100%;height:auto;aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-primary-lighter)}.today-history-photo-button img{object-fit:cover}.dashboard-page,.dashboard-page .dashboard-hero h1,.dashboard-page .dashboard-panel h2,.dashboard-page .report-section-heading h2,.dashboard-page .report-metric strong{color:var(--color-text-primary)}.dashboard-page .dashboard-hero p,.dashboard-page .dashboard-chart-bar small,.dashboard-page .dashboard-rank-row small,.dashboard-page .report-metric span,.dashboard-page .report-metric small,.dashboard-page .report-inline-filter,.dashboard-page .dashboard-filter-block>span{color:var(--color-text-secondary)}.dashboard-page .dashboard-filter-card,.dashboard-page .dashboard-panel,.dashboard-page .report-metric,.dashboard-page .figma-card{border-radius:var(--radius-md);border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.dashboard-page .dashboard-filter-card,.dashboard-page .dashboard-panel{padding:16px}.dashboard-page .dashboard-segments button,.dashboard-page .dashboard-branch-pills button,.dashboard-page .dashboard-date-input input,.dashboard-page .report-inline-actions button,.dashboard-page .report-inline-filter select{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.dashboard-page .dashboard-segments button:hover,.dashboard-page .dashboard-branch-pills button:hover,.dashboard-page .report-inline-actions button:hover{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.dashboard-page .dashboard-segments .dashboard-segment-active,.dashboard-page .dashboard-branch-pills .dashboard-branch-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.dashboard-page .dashboard-date-input input:focus,.dashboard-page .report-inline-filter select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b7824;outline:none}.dashboard-page .report-export-button{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-active)}.dashboard-page .report-export-button:hover{background:var(--color-primary-lighter)}.dashboard-page .report-link-button{color:var(--color-primary-active)}.dashboard-page .report-link-button:hover{color:var(--color-primary-hover)}.dashboard-page .report-metric-icon,.dashboard-page .dashboard-rank-row>b{background:var(--color-primary-light);color:var(--color-primary-active)}.dashboard-page .dashboard-bar-track{background:var(--color-primary-lighter)}.dashboard-page .dashboard-bar-track>span:not(.dashboard-bar-segment),.dashboard-page .dashboard-rank-row i{background:var(--color-primary)}.dashboard-page .dashboard-category-legend span{color:var(--color-text-secondary)}.dashboard-page .report-table thead th{border-bottom-color:var(--color-divider);background:var(--color-primary-lighter);color:var(--color-primary-active)}.dashboard-page .report-table tbody td{border-bottom-color:var(--color-divider);color:var(--color-text-secondary)}.dashboard-page .dashboard-analytics-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page .report-section-heading{gap:10px;color:var(--color-primary-active)}.dashboard-page .report-section-heading>svg,.dashboard-page .report-section-heading>div>svg{width:20px;height:20px;flex:0 0 20px;color:var(--color-primary);stroke-width:2}.dashboard-page .report-section-heading>div{display:inline-flex;align-items:center;gap:10px}.dashboard-page .report-section-heading h2{margin:0;font-size:18px;line-height:24px}.dashboard-chart-controls{display:inline-flex!important;align-items:center;flex-wrap:wrap;gap:6px!important}.dashboard-chart-controls button{min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}.dashboard-chart-controls button:hover{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary-active)}.dashboard-chart-controls button.dashboard-chart-range-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.dashboard-chart-controls button.dashboard-chart-range-active:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.dashboard-chart-range-label{margin:4px 0 0;color:var(--color-text-tertiary);font-size:12px;line-height:18px}.dashboard-revenue-chart{container-type:inline-size;min-width:0;width:100%;margin-top:10px}.dashboard-revenue-chart svg{display:block;width:100%;height:28.18cqw;overflow:visible}.dashboard-chart-tick line{stroke:var(--color-divider);stroke-width:1}.dashboard-chart-tick text,.dashboard-chart-label{fill:var(--color-text-tertiary);font-size:11px;font-weight:600}.dashboard-chart-axis{stroke:var(--color-border);stroke-width:1.25}.dashboard-chart-area{fill:#a48b7824}.dashboard-chart-line{fill:none;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dashboard-chart-point{fill:var(--color-surface);stroke:var(--color-primary-active);stroke-width:2;cursor:crosshair;outline:none}.dashboard-chart-point:focus,.dashboard-chart-point:hover{fill:var(--color-primary-active);stroke:var(--color-surface);stroke-width:3}.dashboard-chart-tooltip rect{fill:var(--color-text-primary);opacity:.94}.dashboard-chart-tooltip text{fill:#fff;font-size:11px;font-weight:700}.dashboard-chart-tooltip line{stroke:var(--color-primary-active);stroke-width:2}.dashboard-chart-empty{display:grid;min-height:320px;place-items:center;color:var(--color-text-tertiary);font-size:14px}.dashboard-page .dashboard-panel:has(.dashboard-rank-list){padding-bottom:34px}.dashboard-page .dashboard-panel>.report-section-heading+.dashboard-rank-list{margin-top:16px}.dashboard-analytics-grid+.dashboard-panel{margin-top:12px}@media(max-width:760px){.dashboard-chart-controls{width:100%}.dashboard-chart-controls button{flex:1 1 0}.dashboard-revenue-chart svg{height:min(240px,30.9cqw)}.dashboard-chart-empty{min-height:240px}}@media(min-width:821px){.today-appointment-content:has(>.today-row-actions>button){display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);column-gap:24px;align-items:start}.today-appointment-content:has(>.today-row-actions>button) .today-row-top,.today-appointment-content:has(>.today-row-actions>button) .today-row-body{grid-column:1;min-width:0}.today-appointment-content:has(>.today-row-actions>button) .today-row-top{grid-row:1}.today-appointment-content:has(>.today-row-actions>button) .today-row-body{grid-row:2}.today-appointment-content:has(>.today-row-actions>button) .today-row-actions{display:flex;grid-column:2;grid-row:1 / span 2;align-self:center;align-items:stretch;flex-direction:column;width:100%;margin-top:0;gap:10px}.today-appointment-content:has(>.today-row-actions>button) .today-row-actions>button{width:100%;min-height:48px;margin-left:0;justify-content:center;font-size:14px}.today-appointment-content:has(>.today-row-actions>button)>.today-customer-history{grid-column:1 / -1;grid-row:3}}@media(min-width:1024px){.today-work-page{width:min(1440px,100%)}}.dashboard-v2{gap:16px;color:var(--color-text-primary)}.dashboard-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.dashboard-page-header h1{margin:4px 0 0;color:var(--color-text-primary);font-size:25px;letter-spacing:-.03em}.dashboard-page-header p{margin:5px 0 0;color:var(--color-text-secondary);font-size:13px}.dashboard-eyebrow{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.14em}.dashboard-refresh-button{min-height:34px;padding:6px 11px;font-size:12px}.dashboard-tabs{display:flex;gap:22px;border-bottom:1px solid var(--color-border)}.dashboard-tabs button{position:relative;border:0;background:transparent;color:var(--color-text-tertiary);padding:9px 2px 11px;font-size:14px;font-weight:700}.dashboard-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:transparent;content:""}.dashboard-tabs button:hover,.dashboard-tabs button.is-active{color:var(--color-primary-active)}.dashboard-tabs button.is-active:after{background:var(--color-primary)}.dashboard-filter-card,.dashboard-main-panel,.dashboard-rank-card,.dashboard-payment-card,.dashboard-personal-intro{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:none}.dashboard-filter-card{display:grid;gap:12px;padding:13px 16px}.dashboard-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-width:0}.dashboard-filter-title{flex:0 0 auto;min-width:55px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.dashboard-segmented-control{display:flex;flex-wrap:wrap;gap:3px;border-radius:var(--radius-md);background:var(--color-primary-lighter);padding:3px}.dashboard-segmented-control button,.dashboard-metric-toggle button{border:0;border-radius:5px;background:transparent;color:var(--color-text-secondary);padding:6px 10px;font-size:12px;font-weight:700}.dashboard-segmented-control button:hover,.dashboard-segmented-control button.is-active,.dashboard-metric-toggle button:hover,.dashboard-metric-toggle button.is-active{background:var(--color-surface);box-shadow:0 1px 2px #3f3a3714;color:var(--color-primary-active)}.dashboard-custom-dates{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-tertiary);font-size:12px}.dashboard-custom-dates input,.dashboard-staff-input-wrap input{min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:6px 8px;font-size:12px;outline:0}.dashboard-custom-dates input:focus,.dashboard-staff-input-wrap input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f}.dashboard-picker,.dashboard-staff-picker{position:relative;min-width:174px}.dashboard-picker summary{display:flex;align-items:center;gap:8px;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:5px 9px;cursor:pointer;list-style:none}.dashboard-picker summary::-webkit-details-marker{display:none}.dashboard-picker summary strong{max-width:220px;overflow:hidden;color:var(--color-text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dashboard-picker summary svg{margin-left:auto;color:var(--color-text-tertiary)}.dashboard-filter-label{color:var(--color-text-tertiary);font-size:11px}.dashboard-picker-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:10;display:grid;gap:2px;width:210px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 8px 20px #3f3a371a;padding:6px}.dashboard-check-row{display:flex;align-items:center;gap:8px;border-radius:5px;padding:7px 8px;color:var(--color-text-secondary);font-size:12px;cursor:pointer}.dashboard-check-row:hover{background:var(--color-primary-lighter)}.dashboard-check-row input{width:14px;height:14px;accent-color:var(--color-primary)}.dashboard-store-dot{width:7px;height:7px;border-radius:50%}.dashboard-picker-empty{margin:6px 8px;color:var(--color-text-tertiary);font-size:12px}.dashboard-branch-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-branch-buttons{display:flex;flex-wrap:wrap;gap:5px}.dashboard-branch-buttons button{display:inline-flex;align-items:center;gap:5px;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);padding:5px 10px;font-size:12px;font-weight:700}.dashboard-branch-buttons button:hover{border-color:#cdbbad;background:var(--color-primary-lighter)}.dashboard-branch-buttons button.is-active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-active)}.dashboard-branch-buttons i{width:7px;height:7px;border-radius:50%}.dashboard-staff-picker{display:flex;align-items:center;gap:8px;min-width:230px}.dashboard-staff-input-wrap{position:relative;display:flex;align-items:center;min-width:155px}.dashboard-staff-input-wrap>svg{position:absolute;left:9px;color:var(--color-text-tertiary)}.dashboard-staff-input-wrap input{width:190px;padding-left:28px}.dashboard-staff-options{position:absolute;top:calc(100% + 4px);left:0;z-index:10;display:grid;width:220px;max-height:250px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 8px 20px #3f3a371a;padding:5px}.dashboard-staff-options button{display:grid;gap:2px;border:0;border-radius:5px;background:transparent;color:var(--color-text-primary);padding:7px 8px;text-align:left;font-size:12px}.dashboard-staff-options button:hover{background:var(--color-primary-lighter)}.dashboard-staff-options small{color:var(--color-text-tertiary);font-size:10px}.dashboard-staff-branch{border:1px solid #e3d7cf;border-radius:99px;background:var(--color-primary-lighter);color:var(--color-primary-active);padding:5px 8px;font-size:10px;white-space:nowrap}.dashboard-active-filter-note{display:flex;align-items:center;gap:6px;border-top:1px solid var(--color-divider);padding-top:10px;color:var(--color-text-tertiary);font-size:11px}.dashboard-active-filter-note svg{color:var(--color-primary)}.dashboard-kpi-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:12px}.dashboard-kpi-card{display:flex;min-height:151px;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:16px}.dashboard-kpi-card.is-featured{border-color:#d6c7bb;background:var(--color-primary-lighter)}.dashboard-kpi-card.is-interactive{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.dashboard-kpi-card.is-interactive:hover,.dashboard-kpi-card.is-interactive:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #a48b781f;outline:0}.dashboard-kpi-card.is-chart-selected{border-color:var(--color-primary)}.dashboard-kpi-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.dashboard-kpi-label svg{color:var(--color-primary)}.dashboard-kpi-value{display:block;margin:10px 0 7px;color:var(--color-text-primary);font-size:clamp(21px,2vw,29px);letter-spacing:-.035em;line-height:1.05;white-space:nowrap}.dashboard-kpi-card:not(.is-featured) .dashboard-kpi-value{font-size:clamp(20px,1.8vw,26px)}.dashboard-kpi-hint{margin-top:auto;color:var(--color-text-tertiary);font-size:11px;line-height:1.4}.dashboard-kpi-subline{margin-top:8px;color:var(--color-text-secondary);font-size:11px}.dashboard-delta{display:inline-flex;align-items:center;gap:3px;margin-bottom:8px;color:#4f8c68;font-size:11px;font-weight:700}.dashboard-delta.is-negative{color:#ad6862}.dashboard-delta-muted{color:var(--color-text-tertiary);font-weight:500}.dashboard-delta>span{color:var(--color-text-tertiary);font-weight:500}.dashboard-payment-composition{margin-top:auto}.dashboard-payment-empty{margin-top:auto;color:var(--color-text-tertiary);font-size:11px;line-height:1.4}.dashboard-payment-track{display:flex;height:5px;overflow:hidden;border-radius:99px;background:#e9e5e2}.dashboard-payment-track span{min-width:0}.dashboard-payment-legend{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;color:var(--color-text-tertiary);font-size:10px}.dashboard-payment-legend span{display:inline-flex;align-items:center;gap:4px}.dashboard-payment-legend i,.dashboard-summary-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.dashboard-main-panel{min-width:0;padding:17px 18px 13px}.dashboard-chart-wrap{min-width:0}.dashboard-chart-heading,.dashboard-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.dashboard-chart-heading h2,.dashboard-section-heading h2{margin:0;color:var(--color-text-primary);font-size:16px;letter-spacing:-.02em}.dashboard-chart-heading span{display:block;margin-top:4px;color:var(--color-text-tertiary);font-size:11px}.dashboard-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.dashboard-chart-legend button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--color-text-secondary);padding:2px;font-size:11px}.dashboard-chart-legend>span{display:inline-flex;align-items:center;gap:5px;margin-top:0;color:var(--color-text-secondary);font-size:11px}.dashboard-chart-legend button.is-hidden{color:var(--color-text-disabled);text-decoration:line-through}.dashboard-chart-legend i{width:8px;height:8px;border-radius:50%}.dashboard-chart-canvas{position:relative;min-height:300px;margin-top:8px;overflow:hidden}.dashboard-chart-canvas svg{display:block;width:100%;height:auto;min-height:270px;overflow:visible}.dashboard-chart-gridline{stroke:#eeeae7;stroke-width:1}.dashboard-chart-axis-label,.dashboard-chart-date{fill:#aaa29d;font-size:11px}.dashboard-chart-path{fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.dashboard-chart-point{cursor:pointer;stroke:#fff;stroke-width:2}.dashboard-chart-point:focus{outline:none;stroke:var(--color-primary-active);stroke-width:3}.dashboard-chart-tooltip{position:absolute;top:12px;z-index:2;display:grid;min-width:150px;transform:translate(-50%);border:1px solid var(--color-border);border-radius:7px;background:#fffffff5;box-shadow:0 6px 18px #3f3a371a;padding:8px 10px;pointer-events:none}.dashboard-chart-tooltip.is-start{transform:translate(0)}.dashboard-chart-tooltip.is-end{transform:translate(-100%)}.dashboard-chart-tooltip strong{margin-bottom:4px;color:var(--color-text-primary);font-size:11px}.dashboard-chart-tooltip span{display:flex;align-items:center;gap:5px;color:var(--color-text-secondary);font-size:10px}.dashboard-chart-tooltip i{width:6px;height:6px;border-radius:50%}.dashboard-chart-tooltip b{margin-left:auto;color:var(--color-text-primary)}.dashboard-tooltip-total{border-top:1px solid var(--color-divider);margin-top:5px;padding-top:5px}.dashboard-empty-chart,.dashboard-empty-state{display:flex;min-height:240px;align-items:center;justify-content:center;gap:8px;color:var(--color-text-tertiary);font-size:13px}.dashboard-empty-chart svg,.dashboard-empty-state svg{color:var(--color-primary)}.dashboard-chart-summary{display:flex;flex-wrap:wrap;gap:15px;border-top:1px solid var(--color-divider);padding-top:10px;color:var(--color-text-secondary);font-size:11px}.dashboard-chart-summary span{display:inline-flex;align-items:center;gap:6px}.dashboard-chart-summary strong{color:var(--color-text-primary)}.dashboard-summary-dot{background:var(--color-primary)}.dashboard-summary-dot.is-stored{background:#c4a275}.dashboard-financial-report{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:17px 18px 15px}.dashboard-financial-report .dashboard-section-heading{border-bottom:0;padding-bottom:12px}.dashboard-financial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-financial-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:13px 15px}.dashboard-financial-grid span{color:var(--color-text-secondary);font-size:12px}.dashboard-financial-grid strong{color:var(--color-text-primary);font-size:20px}.dashboard-financial-note{margin:11px 0 0;color:var(--color-text-tertiary);font-size:11px}.dashboard-finance-ledger{min-width:0;margin-top:18px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:17px 18px 15px}.dashboard-finance-actions{display:inline-flex;align-items:center;gap:12px}.dashboard-finance-actions .figma-secondary-button{min-height:30px;padding:6px 10px}.dashboard-finance-table-wrap{overflow-x:auto}.dashboard-finance-table{width:100%;border-collapse:collapse;color:var(--color-text-secondary);font-size:12px}.dashboard-finance-table th,.dashboard-finance-table td{border-bottom:1px solid var(--color-divider);padding:11px 10px;text-align:right;white-space:nowrap}.dashboard-finance-table th:first-child,.dashboard-finance-table td:first-child{text-align:left}.dashboard-finance-table thead th{color:var(--color-text-tertiary);font-size:11px;font-weight:700}.dashboard-finance-table tbody th{color:var(--color-text-primary);font-weight:600}.dashboard-finance-table tbody td strong,.dashboard-finance-table tfoot td strong{color:var(--color-text-primary)}.dashboard-finance-table tfoot th,.dashboard-finance-table tfoot td{border-bottom:0;padding-top:13px;color:var(--color-text-primary);font-weight:700}.dashboard-finance-empty{padding:28px!important;color:var(--color-text-tertiary);text-align:center!important}.dashboard-ranking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-ranking-grid .dashboard-rank-card:first-child{order:2}.dashboard-ranking-grid .dashboard-rank-card:nth-child(2){order:1}.dashboard-rank-card{min-width:0;padding:16px 18px 12px}.dashboard-section-heading{align-items:center;padding-bottom:10px;border-bottom:1px solid var(--color-divider)}.dashboard-section-heading>div{display:flex;align-items:center;gap:7px}.dashboard-section-heading svg{color:var(--color-primary)}.dashboard-section-heading>span{color:var(--color-text-tertiary);font-size:11px}.dashboard-rank-list{display:grid}.dashboard-rank-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;border-bottom:1px solid var(--color-divider)}.dashboard-rank-row:last-child{border-bottom:0}.dashboard-rank-row>b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--color-primary-lighter);color:var(--color-text-tertiary);font-size:11px}.dashboard-rank-row>b.is-emphasis{background:#eaded5;color:var(--color-primary-active)}.dashboard-rank-main{display:grid;gap:3px;min-width:0}.dashboard-rank-main strong{overflow:hidden;color:var(--color-text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-rank-main small,.dashboard-rank-value small{color:var(--color-text-tertiary);font-size:10px}.dashboard-rank-value{display:grid;justify-items:end;gap:3px}.dashboard-rank-value strong{color:var(--color-text-primary);font-size:12px;white-space:nowrap}.dashboard-text-button{border:0;background:transparent;color:var(--color-primary-active);padding:10px 0 0;font-size:11px;font-weight:700}.dashboard-personal-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;padding:16px 18px}.dashboard-personal-intro h2{margin:4px 0 3px;color:var(--color-text-primary);font-size:20px}.dashboard-personal-intro p{margin:0;color:var(--color-text-secondary);font-size:12px}.dashboard-personal-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.dashboard-personal-tags span{border:1px solid #e3d7cf;border-radius:99px;background:#ffffffa6;color:var(--color-text-secondary);padding:5px 9px;font-size:10px}.dashboard-payment-card{display:flex;min-height:151px;flex-direction:column;padding:16px}.dashboard-payment-breakdown{display:grid;grid-template-columns:1fr 1fr;align-items:baseline;gap:4px 12px;margin-top:12px}.dashboard-payment-breakdown strong{color:var(--color-text-primary);font-size:14px}.dashboard-payment-breakdown span{color:var(--color-text-tertiary);font-size:10px}.dashboard-personal-chart{position:relative}.dashboard-metric-toggle{position:absolute;top:16px;right:17px;display:flex;gap:2px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-primary-lighter);padding:2px;z-index:1}.dashboard-personal-chart .dashboard-chart-heading{padding-right:0}.dashboard-personal-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.dashboard-personal-stats span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-right:1px solid var(--color-divider);padding:13px 16px;color:var(--color-text-secondary);font-size:11px}.dashboard-personal-stats span:last-child{border-right:0}.dashboard-personal-stats strong{color:var(--color-text-primary);font-size:14px}.personal-chart-note{min-height:255px;padding:24px;text-align:center;line-height:1.6}.dashboard-loading-state{display:flex;min-height:300px;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-primary);font-size:13px;font-weight:600}.dashboard-error{display:flex;align-items:center;gap:8px}.dashboard-refreshing{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;color:var(--color-text-tertiary);font-size:11px}@media(max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi-card.is-featured{grid-column:span 2}.dashboard-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard-page-header{align-items:flex-start;flex-direction:column}.dashboard-refresh-button{align-self:flex-start}.dashboard-filter-card{padding:12px}.dashboard-filter-row{align-items:flex-start;flex-direction:column}.dashboard-filter-title{min-width:auto}.dashboard-date-filter{gap:7px}.dashboard-segmented-control{width:100%}.dashboard-segmented-control button{flex:1 1 auto;padding-inline:6px}.dashboard-custom-dates{width:100%}.dashboard-custom-dates input{min-width:0;flex:1}.dashboard-picker,.dashboard-staff-picker{width:100%}.dashboard-picker summary{width:100%}.dashboard-staff-picker{align-items:center}.dashboard-staff-input-wrap{flex:1}.dashboard-staff-input-wrap input{width:100%}.dashboard-picker-menu{width:min(280px,calc(100vw - 48px))}.dashboard-active-filter-note{line-height:1.5}.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-kpi-card.is-featured{grid-column:auto}.dashboard-ranking-grid{grid-template-columns:1fr}.dashboard-chart-heading{align-items:flex-start;flex-direction:column}.dashboard-chart-legend{justify-content:flex-start}.dashboard-chart-canvas{min-width:560px;overflow-x:auto}.dashboard-chart-canvas svg{width:720px}.dashboard-main-panel{overflow:hidden;padding-inline:13px}.dashboard-personal-intro{align-items:flex-start;flex-direction:column}.dashboard-personal-tags{justify-content:flex-start}.dashboard-personal-chart .dashboard-chart-heading{padding-right:0}.dashboard-metric-toggle{position:static;width:max-content;margin-bottom:12px}.dashboard-personal-stats{grid-template-columns:1fr}.dashboard-personal-stats span{border-right:0;border-bottom:1px solid var(--color-divider)}.dashboard-personal-stats span:last-child{border-bottom:0}}
