@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";.primary-cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:24px;margin-bottom:0}.card{background:#fff;border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);border:1px solid #e2e8f0;transition:all .2s;min-height:200px}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-md)}.card-header h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0}.card-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.card-now,.card-next{background:#fff}.card-remaining{background:#047857;border-color:#047857;color:#fff}.session-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-name{font-size:clamp(30px,3.2vw,40px);font-weight:700;color:#0f172a;word-break:break-word;line-height:1.15}.session-time{font-size:15px;color:#475569;font-weight:500}.session-package{font-size:13px;color:#334155;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;display:inline-block;width:fit-content}.session-status{font-size:14px;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:inline-block;width:fit-content}.status-waiting{background:#fbbf241a;color:#d97706}.status-in_session{background:#3b82f61a;color:var(--color-primary)}.status-done,.status-completed{background:#10b9811a;color:var(--color-success)}.status-no_show{background:#ef44441a;color:var(--color-danger)}.status-late{background:#f59e0b1a;color:var(--color-warning)}.time-until{font-size:14px;font-weight:600;color:#b45309;margin-top:6px;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:4px 10px;width:fit-content}.no-session{font-size:17px;color:#64748b;font-style:normal;padding:18px 0}.overview-row{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:8px}.overview-row span{font-size:14px;color:#fffc}.overview-row strong{font-size:38px;line-height:1}.overview-progress{height:7px;width:100%;background:#fff3;border-radius:999px;overflow:hidden}.overview-progress span{display:block;height:100%;background:#fff;border-radius:999px}.remaining-label{font-size:13px;color:#ffffffd1;margin-top:2px}.no-show-badge{margin-top:2px;padding:5px 10px;background:#ffffff24;color:#fff;border-radius:999px;font-size:12px;font-weight:600;display:inline-block}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-lg);min-height:44px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);touch-action:manipulation}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.viewing-date-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.viewing-date{font-size:24px;font-weight:700;color:var(--color-text)}.viewing-label{font-size:14px;color:var(--color-text-secondary)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-md)}@media(max-width:480px){.primary-cards{grid-template-columns:1fr}}@media(max-width:768px){.primary-cards{grid-template-columns:1fr;gap:14px}.card{min-height:156px;padding:16px;border-radius:14px}.card-header{margin-bottom:10px}.session-name{font-size:clamp(22px,7vw,28px);line-height:1.15}.session-time{font-size:13px}.session-package{font-size:12px;padding:5px 9px}.overview-row strong{font-size:28px}.overview-row span{font-size:12px}}@media(min-width:768px){.primary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:var(--spacing-md);min-width:0}.timeline-slot{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s;min-height:100px;display:flex;flex-direction:column;gap:var(--spacing-sm);touch-action:manipulation}.timeline-slot:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.slot-past{opacity:.5;background:#f8fafc}.slot-current{border:2px solid var(--color-primary);background:#3b82f60d;box-shadow:var(--shadow-md)}.slot-upcoming{background:var(--color-surface)}.timeline-slot.slot-highlight{border-color:var(--color-warning);box-shadow:0 0 0 2px #f59e0b4d;background:#f59e0b0f}.slot-time{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.slot-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.slot-customer{font-size:16px;font-weight:600;color:var(--color-text)}.slot-behavior-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.slot-behavior-badges .behavior-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.slot-behavior-badges .badge-repeat{background:#22c55e26;color:#15803d}.slot-behavior-badges .badge-no_show_risk{background:#f59e0b33;color:#b45309}.slot-behavior-badges .badge-high_value{background:#3b82f626;color:#1d4ed8}.slot-behavior-badges .badge-addon_friendly{background:#8b5cf61f;color:#6d28d9}.slot-behavior-badges .badge-more{background:var(--color-bg);color:var(--color-text-secondary)}.slot-package{font-size:13px;color:var(--color-text-secondary)}.slot-status-badge{font-size:11px;font-weight:600;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);display:inline-block;width:fit-content;margin-top:var(--spacing-xs)}.slot-empty{font-size:14px;color:var(--color-text-secondary);font-style:italic;flex:1;display:flex;align-items:center}.has-session.status-waiting{border-left:4px solid #f59e0b}.has-session.status-in_session{border-left:4px solid var(--color-primary)}.has-session.status-done,.has-session.status-completed{border-left:4px solid var(--color-success)}.has-session.status-no_show{border-left:4px solid var(--color-danger)}.has-session.status-late{border-left:4px solid var(--color-warning)}.has-session.status-cancelled{border-left:4px solid var(--color-text-secondary)}.slot-payment{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px}.slot-payment-line{font-size:11px;color:var(--color-text-secondary);line-height:1.3}.slot-payment-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);display:inline-block;width:fit-content;text-transform:uppercase;letter-spacing:.3px}.payment-free{background:#6b72801a;color:var(--color-neutral)}.payment-paid{background:#10b9811a;color:var(--color-success)}.payment-pending{background:#f59e0b1a;color:var(--color-warning)}.payment-burned{background:#ef44441a;color:var(--color-danger)}.slot-deposit-status{font-size:10px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:4px;width:fit-content;margin-top:var(--spacing-xs);text-transform:uppercase;letter-spacing:.3px}.slot-deposit-status.deposit-pending{background:#f59e0b26;color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.slot-deposit-status.deposit-locked{background:#10b98126;color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.slot-deposit-status.deposit-na{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.slot-deposit-status.deposit-manual-lock{background:#f59e0b26;color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.lock-icon{font-size:12px}.timeline-day{display:flex;flex-direction:column;min-width:0;background:transparent;border:none;border-radius:0;overflow:hidden;box-shadow:none}.timeline-day-scroll{display:flex;flex:1;min-height:0;overflow:auto;max-height:min(66vh,700px)}.timeline-single-wrap{min-height:0}.timeline-single-header,.timeline-single-row{display:grid;grid-template-columns:128px minmax(0,1fr)}.timeline-single-studio-label{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#f8fafc;padding:12px;display:flex;flex-direction:column;justify-content:center}.timeline-single-studio-label strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#334155}.timeline-single-studio-label span{font-size:12px;color:#94a3b8}.timeline-single-time-row{position:relative;height:54px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.timeline-single-time-row .timeline-day-label{position:absolute;top:18px;transform:translate(-50%)}.timeline-day-labels{flex-shrink:0;box-sizing:border-box;width:clamp(4.75rem,4.5vw + 3.25rem,6.75rem);min-width:4.75rem;position:relative;background:linear-gradient(180deg,#fafbfc,#f4f5f7);border-right:1px solid rgba(0,0,0,.08)}.timeline-day-label{position:absolute;left:0;right:0;box-sizing:border-box;padding-left:4px;padding-right:6px;text-align:right;font-size:10px;font-weight:500;color:#94a3b8;transform:translateY(-50%);white-space:nowrap;letter-spacing:.02em;font-variant-numeric:tabular-nums;overflow:visible}.timeline-day-label-hour{font-size:12px;font-weight:700;color:var(--color-text);letter-spacing:0}.timeline-day-track{flex:1;min-width:0;position:relative;overflow:visible;cursor:pointer;background-color:#fcfcfd;background-image:linear-gradient(to bottom,rgba(0,0,0,.035) 1px,transparent 1px);background-size:100% 60px;background-position:0 0}.timeline-single-track{position:relative;border-bottom:1px solid #e2e8f0}.timeline-day-track:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to bottom,rgba(0,0,0,.06) 1px,transparent 1px);background-size:100% 120px;background-position:0 0}.timeline-day-track:hover{background-color:#fafbfc}.timeline-day-track:hover:before{background-image:linear-gradient(to bottom,rgba(0,0,0,.07) 1px,transparent 1px)}.timeline-now-wrap{position:absolute;left:0;right:0;display:flex;align-items:center;gap:10px;transform:translateY(-50%);pointer-events:none;z-index:2}.timeline-now-wrap-horizontal{inset:0 auto 0 0;width:0;transform:none;display:block}.timeline-now-wrap-horizontal .timeline-now-label{position:absolute;top:8px;left:-18px;transform:translate(-100%)}.timeline-now-wrap-horizontal .timeline-now-line{position:absolute;top:0;bottom:0;left:0;width:2px;height:auto;background:var(--color-primary)}.timeline-now-wrap-horizontal .timeline-now-line:before{top:12px;left:50%;transform:translate(-50%,-50%)}.timeline-now-label{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--color-primary);padding:4px 8px;border-radius:4px;box-shadow:0 1px 3px #00000026}.timeline-now-line{flex:1;min-width:0;height:2px;background:var(--color-primary);border-radius:0;box-shadow:0 0 0 1px #fffffff2;position:relative}.timeline-now-line:before{content:"";position:absolute;left:0;top:50%;transform:translate(-3px,-50%);width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px #fff}.timeline-day-block{position:absolute;min-height:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;padding:10px 12px;cursor:pointer;touch-action:manipulation;border-radius:10px;border:1px solid rgba(0,0,0,.08);border-left-width:4px;box-shadow:0 2px 8px #0000000f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.timeline-day-block:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000001a;border-color:#0000001a;z-index:1}.timeline-day-block .slot-customer{flex-shrink:0;font-size:15px;font-weight:700;color:var(--color-text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;letter-spacing:-.01em}.timeline-day-block .slot-meta{flex-shrink:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px;min-width:0}.timeline-day-block .slot-meta .slot-time{flex-shrink:0;font-size:11px;font-weight:600;color:#64748b;text-transform:none;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.timeline-day-block .slot-meta .slot-revenue{flex-shrink:0;font-size:11px;font-weight:600;color:#475569;letter-spacing:.02em;white-space:nowrap}.timeline-day-block .slot-content{overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}.timeline-day-block .slot-status-badge{font-size:10px;font-weight:600;padding:4px 10px;border-radius:999px;width:fit-content;margin-top:0;box-shadow:0 1px 2px #0000000f}.timeline-day-block .slot-behavior-badges .behavior-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px}.timeline-day-block .slot-payment,.timeline-day-block .slot-deposit-status{margin-top:2px;padding-top:4px;border-top:1px solid rgba(0,0,0,.06)}.timeline-day-block .slot-payment-line{font-size:10px;color:#64748b}.timeline-day-block .slot-behavior-badges,.timeline-day-block .slot-status-badge,.timeline-day-block .slot-deposit-status,.timeline-day-block .slot-payment{flex-shrink:0}.timeline-day-block.has-session.status-waiting{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.timeline-day-block.has-session.status-in_session{border-left-color:var(--color-primary);background:linear-gradient(135deg,#eff6ff,#dbeafe)}.timeline-day-block.has-session.status-done,.timeline-day-block.has-session.status-completed{border-left-color:var(--color-success);background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.timeline-day-block.has-session.status-no_show{border-left-color:var(--color-danger);background:linear-gradient(135deg,#fef2f2,#fee2e2)}.timeline-day-block.has-session.status-late{border-left-color:var(--color-warning);background:linear-gradient(135deg,#fffbeb,#fef3c7)}.timeline-day-block.has-session.status-cancelled{border-left-color:#94a3b8;background:linear-gradient(135deg,#f8fafc,#f1f5f9);opacity:.9}.timeline-day-block.slot-highlight{box-shadow:0 0 0 2px #f59e0b59,0 2px 8px #0000000f}.timeline-day-block.slot-past{opacity:.88}.timeline-day-block.slot-current{box-shadow:0 0 0 2px var(--color-primary),0 4px 12px #3b82f61f}@media(max-width:768px){.timeline-day-scroll{max-height:none}.timeline-single-header,.timeline-single-row{grid-template-columns:96px minmax(0,1fr)}.timeline-single-studio-label{padding:10px 8px}.timeline-single-studio-label strong{font-size:10px}.timeline-single-studio-label span{font-size:11px}.timeline-single-time-row{height:46px}.timeline-single-time-row .timeline-day-label{top:14px;font-size:10px}.timeline-single-track{min-width:840px}.timeline-day-block{padding:8px 9px;border-radius:8px}.timeline-day-block .slot-customer{font-size:12px}.timeline-day-block .slot-meta .slot-time,.timeline-day-block .slot-meta .slot-revenue{font-size:10px}}.live-queue{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:0;max-height:min(74vh,760px)}.live-queue-header{flex-shrink:0;padding:20px 20px 14px;border-bottom:1px solid #f1f5f9}.live-queue-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.live-queue-title{margin:0;font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.live-queue-live-badge{background:#10b981;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;border-radius:999px;padding:5px 9px}.live-queue-day-note{margin:6px 0 0;font-size:12px;color:#94a3b8}.live-queue-scroll{flex:1;overflow-y:auto;padding:10px 14px 14px;-webkit-overflow-scrolling:touch}.live-queue-empty{margin:var(--spacing-lg) 0;text-align:center;font-size:14px;color:var(--color-text-secondary)}.live-queue-section{margin-bottom:var(--spacing-lg)}.live-queue-section:last-child{margin-bottom:0}.live-queue-section-title{margin:0 0 var(--spacing-sm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.live-queue-section-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.live-queue-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:84px;padding:14px;text-align:left;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 4px #0f172a0d;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;touch-action:manipulation}.live-queue-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1a;border-color:#cbd5e1}.live-queue-card--urgent{border-left:4px solid var(--color-warning);box-shadow:0 2px 8px #f59e0b26}.live-queue-card-time{font-size:12px;font-weight:700;color:#334155;letter-spacing:.04em;text-transform:uppercase}.live-queue-card-name{font-size:16px;font-weight:600;color:var(--color-text);line-height:1.3}.live-queue-card-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:#64748b}.live-queue-card-status.status-waiting{background:#f59e0b1f;color:#b45309}.live-queue-card-status.status-in_session{background:#3b82f61f;color:#1d4ed8}.live-queue-card-status.status-done,.live-queue-card-status.status-completed{background:#10b9811f;color:#047857}.live-queue-card-revenue{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-top:2px}@media(max-width:768px){.live-queue{max-height:none}.live-queue-header{padding:14px 16px 10px}.live-queue-title{font-size:20px}.live-queue-scroll{padding:8px 12px 12px}.live-queue-section-list{display:flex;flex-direction:column;gap:var(--spacing-sm);overflow:visible;padding-bottom:0}.live-queue-card{min-width:100%;min-height:74px;padding:12px}}.receipt-image-section{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.receipt-image-heading{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0}.receipt-image-preview-wrap{width:280px;min-height:200px;margin:0 auto var(--spacing-md) auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transform-origin:top left}.receipt-image-canvas.receipt-preview{width:1080px;height:auto;transform:scale(.25926);transform-origin:top left}.receipt-image-canvas.receipt-capture{position:fixed;left:-9999px;top:0;width:1080px;height:auto;transform:none;background:#f8f6f2;z-index:-1;pointer-events:none}.receipt-inner{width:100%;padding:64px 80px 56px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(180deg,#f8f6f2,#f5f2ec,#faf8f4);color:#2c2c2c;font-family:Georgia,Cambria,Times New Roman,Times,serif}.receipt-header{display:flex;flex-direction:column;align-items:center;gap:28px;margin-bottom:48px}.receipt-logo{display:block;max-width:200px;max-height:64px;width:auto;height:auto;object-fit:contain}.receipt-logo svg{display:block;width:100%;height:auto}.receipt-title{font-size:34px;font-weight:400;color:#5c5c5c;margin:0;letter-spacing:.02em;font-style:normal}.receipt-greeting{font-size:28px;font-weight:400;color:#3d3d3d;margin:0;line-height:1.35;letter-spacing:.02em}.receipt-greeting-name{font-weight:700}.receipt-details{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:32px}.receipt-session-card{width:100%;max-width:420px;padding:24px 28px;background:#f0ebe3;border-radius:14px;box-shadow:0 2px 12px #0000000f;border:1px solid rgba(0,0,0,.06)}.receipt-session-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0;line-height:1.4}.receipt-session-row+.receipt-session-row{margin-top:14px}.receipt-session-datetime{gap:18px}.receipt-session-item{display:inline-flex;align-items:center;gap:8px;font-size:26px;font-weight:400;color:#2c2c2c}.receipt-session-icon{font-size:22px;line-height:1;flex-shrink:0}.receipt-row{font-size:30px;font-weight:400;color:#3d3d3d;margin:0;line-height:1.35}.receipt-customer{font-size:40px;font-weight:600;color:#1a1a1a;letter-spacing:-.01em}.receipt-addons{width:100%;max-width:420px;margin-top:28px;padding-top:24px;text-align:center}.receipt-addons-title{font-size:26px;font-weight:700;color:#2c2c2c;margin:0 0 20px;letter-spacing:.02em}.receipt-addons-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:16px}.receipt-addon-line{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:400;color:#2c2c2c;line-height:1.4;margin:0;padding:0;width:100%;max-width:320px;text-align:left}.receipt-addon-line:before{content:none}.receipt-addon-icon{font-size:26px;line-height:1;flex-shrink:0}.receipt-addon-text{flex:1}.receipt-total-block{margin-top:24px;padding-top:0;padding-bottom:0;width:100%;max-width:420px;text-align:center}.receipt-total-label{font-size:26px;font-weight:700;color:#2c2c2c;letter-spacing:.02em;margin-bottom:12px;text-align:center}.receipt-total-amount{font-size:56px;font-weight:700;color:#2c2c2c;letter-spacing:-.02em;line-height:1.1;text-align:center}.receipt-booking-fee-note{font-size:20px;font-weight:400;font-style:italic;color:#2c2c2c;margin:12px 0 0;line-height:1.4;text-align:center}.receipt-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e8e4dc}.receipt-total-label-inline{font-size:26px;font-weight:500;color:#6b6b6b;letter-spacing:.06em}.receipt-total-amount-inline{font-size:30px;font-weight:600;color:#3d3d3d}.receipt-share-block{width:100%;max-width:420px;margin-top:28px;padding:24px 28px;background:#f0ebe3;border-radius:14px;border:1px solid rgba(0,0,0,.08);text-align:center}.receipt-share-line1{font-size:22px;font-weight:400;color:#2c2c2c;margin:0 0 8px;line-height:1.4}.receipt-share-line2{font-size:20px;font-weight:400;color:#2c2c2c;margin:0 0 6px;line-height:1.4}.receipt-share-handle{font-size:22px;font-weight:500;color:#2c2c2c;margin:0 0 10px;text-decoration:underline;line-height:1.4}.receipt-share-line3{font-size:20px;font-weight:400;color:#2c2c2c;margin:0;line-height:1.4}.receipt-comeback-block{width:100%;max-width:420px;margin-top:28px;padding:0;text-align:center}.receipt-comeback-title{font-size:24px;font-weight:600;color:#2c2c2c;margin:0 0 16px;line-height:1.3}.receipt-comeback-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;justify-items:start;max-width:320px;margin:0 auto}.receipt-comeback-item{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:400;color:#2c2c2c;line-height:1.4}.receipt-comeback-icon{font-size:22px;line-height:1;flex-shrink:0}.receipt-footer{margin-top:24px;padding-top:24px;border-top:1px solid #e8e4dc;width:100%}.receipt-footer-main{font-size:28px;font-weight:400;color:#6b6b6b;margin:0 0 8px;line-height:1.4}.receipt-footer-handle{font-size:24px;color:#8b8b8b;margin:0;letter-spacing:.02em}.receipt-image-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.receipt-image-actions .btn-internal{font-size:12px;color:var(--color-text-secondary)}.receipt-booking-block.receipt-total-block{margin-top:24px}.receipt-booking-block .receipt-booking-fee-note{margin-bottom:8px}.receipt-booking-block .receipt-booking-fee-note:last-child{margin-bottom:0}.receipt-policy{width:100%;max-width:480px;margin-top:24px;padding:20px 24px;background:#0000000a;border-radius:12px;border:1px solid #e8e4dc;text-align:left}.receipt-policy-title{font-size:20px;font-weight:600;color:#3d3d3d;margin:0 0 8px;line-height:1.35}.receipt-policy-intro{font-size:18px;font-weight:500;color:#5c5c5c;margin:0 0 12px;line-height:1.4}.receipt-policy-list{list-style:none;margin:0 0 12px;padding:0}.receipt-policy-item{font-size:18px;font-weight:400;color:#5c5c5c;line-height:1.45;margin-bottom:6px;padding-left:20px;position:relative}.receipt-policy-item:before{content:"•";position:absolute;left:0;color:#8b8b8b;font-weight:600}.receipt-policy-item:last-child{margin-bottom:0}.receipt-policy-thanks{font-size:20px;font-weight:500;color:#3d3d3d;margin:0;line-height:1.4}.receipt-booking-section .receipt-image-preview-wrap{height:442px}.receipt-booking-section .receipt-image-canvas.receipt-preview,.receipt-booking-section .receipt-image-canvas.receipt-capture{height:1700px}.receipt-booking-section .receipt-inner{min-height:100%;background:linear-gradient(165deg,#faf9f6,#f5f3ee 35%,#f8f6f1);padding:56px 72px 76px;font-family:Georgia,Cambria,Times New Roman,Times,serif}.receipt-booking-section .booking-receipt-header{margin-bottom:28px;gap:0}.receipt-booking-section .booking-receipt-reserved{text-align:center;margin-bottom:32px}.receipt-booking-section .booking-receipt-reserved-line1{margin:0;font-size:34px;font-weight:500;color:#1a1a1a;letter-spacing:.02em;line-height:1.3}.receipt-booking-section .booking-receipt-greeting{font-size:28px;font-weight:400;color:#1a1a1a;line-height:1.45;margin:0 auto 28px;max-width:520px;text-align:center}.receipt-booking-section .booking-receipt-greeting strong{font-weight:600}.receipt-booking-section .booking-receipt-details-box{width:100%;max-width:480px;margin:0 auto 28px;padding:24px 28px 26px;background:#f0ebe3;border-radius:16px;border:1px solid rgba(0,0,0,.06)}.receipt-booking-section .booking-receipt-details-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 32px;margin-bottom:14px}.receipt-booking-section .booking-receipt-details-row:last-child{margin-bottom:0}.receipt-booking-section .booking-receipt-datetime-row{justify-content:center}.receipt-booking-section .booking-receipt-detail-item{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:400;color:#1a1a1a}.receipt-booking-section .booking-receipt-detail-icon{font-size:24px;line-height:1}.receipt-booking-section .booking-receipt-addons-row{flex-direction:column;align-items:flex-start;padding-top:12px;margin-top:12px;border-top:1px solid rgba(0,0,0,.08)}.receipt-booking-section .booking-receipt-addons-row .receipt-addons-list{list-style:none;margin:0;padding:0}.receipt-booking-section .booking-receipt-addons-row .receipt-addon-line{font-size:22px;color:#3d3d3d;line-height:1.5}.receipt-booking-section .booking-receipt-addons-row .receipt-addon-line:before{content:"• ";color:#6b6b6b;margin-right:6px}.receipt-booking-section .booking-receipt-fees{margin-top:24px;padding-top:20px;padding-bottom:24px;border-top:1px solid rgba(0,0,0,.06)}.receipt-booking-section .booking-receipt-fees .receipt-booking-fee-note{font-size:22px;color:#6b6b6b;margin:6px 0 0}.receipt-booking-section .booking-receipt-arrive{width:100%;max-width:540px;margin:0 auto 28px;text-align:center}.receipt-booking-section .booking-receipt-arrive-image .booking-receipt-arrive-img{display:block;width:100%;height:auto;max-width:100%;border-radius:14px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px #0000000f}.receipt-booking-section .booking-receipt-prepare{width:100%;max-width:480px;margin:0 auto 24px;text-align:left}.receipt-booking-section .booking-receipt-prepare-title{font-size:22px;font-weight:600;color:#2c2c2c;margin:0 0 12px;display:flex;align-items:center;gap:8px}.receipt-booking-section .booking-receipt-prepare-list{list-style:none;margin:0;padding:0;font-size:20px;color:#3d3d3d;line-height:1.55}.receipt-booking-section .booking-receipt-prepare-list li{margin-bottom:8px;padding-left:0}.receipt-booking-section .booking-receipt-prepare-list li:last-child{margin-bottom:0}.receipt-booking-section .booking-receipt-timeslot-box{width:100%;max-width:480px;margin:0 auto 40px;padding:20px 24px 26px;background:#f0ebe3;border-radius:14px;border:1px solid rgba(0,0,0,.08);text-align:left}.receipt-booking-section .booking-receipt-timeslot-title{font-size:20px;font-weight:600;color:#2c2c2c;margin:0 0 10px;display:flex;align-items:center;gap:6px}.receipt-booking-section .booking-receipt-timeslot-arrive{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.receipt-booking-section .booking-receipt-timeslot-warning{font-size:18px;font-weight:400;color:#3d3d3d;margin:0 0 4px}.receipt-booking-section .booking-receipt-timeslot-note{font-size:17px;font-weight:400;color:#6b6b6b;margin:0}.receipt-booking-section .booking-receipt-timeslot-reschedule-heading{margin-top:18px}.receipt-booking-section .booking-receipt-timeslot-ack{font-size:18px;font-weight:400;color:#3d3d3d;line-height:1.45;margin:14px 0 0}.receipt-booking-section .booking-receipt-footer{margin-top:auto;padding-top:32px;padding-bottom:18px;text-align:center}.receipt-booking-section .booking-receipt-footer .receipt-footer-main{font-size:28px;font-weight:600;color:#1a1a1a;margin:0 0 10px}.receipt-booking-section .booking-receipt-footer-line{font-size:22px;font-weight:400;color:#4a4a4a;margin:0 0 14px;line-height:1.4}.receipt-booking-section .booking-receipt-footer .receipt-footer-handle{font-size:22px;color:#8b8b8b;letter-spacing:.03em;margin:0}.receipt-booking-section .receipt-image-canvas.receipt-capture{background:linear-gradient(165deg,#faf9f6,#f5f3ee 35%,#f8f6f1)}.session-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:flex-end;z-index:1000;animation:fadeIn .2s;pointer-events:auto;-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.session-panel{position:relative;z-index:1;background:var(--color-surface);width:100%;max-width:480px;height:100%;max-height:100vh;max-height:100dvh;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:slideIn .3s ease-out;overflow-y:auto;overflow-x:hidden;pointer-events:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.session-panel .panel-content,.session-panel select,.session-panel input,.session-panel button,.session-panel label{pointer-events:auto}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--color-surface);z-index:10}.panel-header-title-row{display:flex;justify-content:space-between;align-items:center}.panel-header h2{font-size:clamp(18px,4vw,24px);font-weight:700;color:var(--color-text);word-break:break-word}.panel-header-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-xs)}.panel-header-badges .behavior-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.panel-header-badges .badge-repeat{background:#22c55e26;color:#15803d}.panel-header-badges .badge-no_show_risk{background:#f59e0b33;color:#b45309}.panel-header-badges .badge-high_value{background:#3b82f626;color:#1d4ed8}.panel-header-badges .badge-addon_friendly{background:#8b5cf61f;color:#6d28d9}.panel-header-badges .badge-more{background:var(--color-bg);color:var(--color-text-secondary)}.panel-header-badges .backlog-badge{background:#6366f126;color:#4f46e5}.panel-header-badges .time-estimated-badge{background:#6b728033;color:#4b5563}.backlog-hint{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.backlog-edit-date{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.backlog-edit-date .form-group{margin-bottom:0}.backlog-edit-date .notes-input{min-width:160px}.btn-close{background:none;border:none;font-size:32px;color:var(--color-text-secondary);cursor:pointer;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s;touch-action:manipulation}.btn-close:hover{background:var(--color-bg);color:var(--color-text)}.panel-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.session-detail-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:16px;color:var(--color-text);text-align:right;font-weight:500}.session-notes-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.notes-label-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.notes-actions-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.btn-notes-edit,.btn-notes-save,.btn-notes-cancel{font-size:12px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.btn-notes-edit:hover,.btn-notes-save:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-notes-save{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-notes-save:hover{filter:brightness(1.05);color:#fff}.btn-notes-cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.notes-readonly{min-height:60px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;line-height:1.5;color:var(--color-text);white-space:pre-wrap;word-break:break-word;cursor:pointer;background:var(--color-surface)}.notes-readonly:hover{border-color:var(--color-primary);background:#3b82f60a}.notes-placeholder{color:var(--color-text-muted, #888);font-style:italic}.notes-template-dropdown{flex-shrink:0}.notes-template-select{font-size:12px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.notes-template-select:focus{outline:none;border-color:var(--color-primary)}.notes-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.notes-input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;resize:vertical;transition:all .2s}.notes-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.customer-combobox-wrap{position:relative;width:100%}.customer-combobox-input{width:100%}.customer-combobox-list{position:absolute;top:100%;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;max-height:260px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:50}.customer-combobox-option{padding:var(--spacing-sm) var(--spacing-md);font-size:14px;cursor:pointer;border-bottom:1px solid var(--color-border)}.customer-combobox-option:last-child{border-bottom:none}.customer-combobox-option:hover{background:var(--color-bg)}.session-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.btn-action{padding:var(--spacing-md);min-height:44px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;touch-action:manipulation}.btn-start{background:var(--color-primary);color:#fff}.btn-start:hover{background:var(--color-primary-hover)}.btn-done{background:var(--color-success);color:#fff}.btn-done:hover{background:#059669}.btn-complete{background:var(--color-success);color:#fff}.btn-complete:hover{background:#059669}.btn-late{background:var(--color-warning);color:#fff}.btn-late:hover{background:#d97706}.btn-no-show{background:var(--color-danger);color:#fff}.btn-no-show:hover{background:#dc2626}.btn-cancel{background:var(--color-text-secondary);color:#fff}.btn-cancel:hover{background:#4b5563}.btn-revert{background:var(--color-neutral);color:#fff}.btn-revert:hover{background:#4b5563}.btn-delete{background:#991b1b;color:#fff}.btn-delete:hover{background:#b91c1c}.session-payments-section{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.payment-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.payment-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.payment-input-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.payment-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:all .2s}.payment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.payment-hint{font-size:11px;color:var(--color-text-secondary);font-style:italic;margin-top:2px}.deposit-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.deposit-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:15px;font-weight:500;color:var(--color-text)}.deposit-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-success)}.deposit-hint{font-size:12px;color:var(--color-text-secondary);font-style:italic;margin-left:28px}.deposit-warning-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:11px;font-weight:600;background:#f59e0b1a;color:var(--color-warning);margin-left:28px;margin-top:var(--spacing-xs)}.session-delivery-section{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.delivery-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.delivery-input-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.delivery-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.delivery-badge-wrap{margin-top:var(--spacing-sm)}.delivery-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:12px;font-weight:600}.delivery-badge.delivery-sent{background:#22c55e1a;color:var(--color-success)}.delivery-badge.delivery-expired{background:#9ca3af26;color:var(--color-text-secondary)}.tiktok-consent-step{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);background:var(--color-surface-alt, rgba(0, 0, 0, .03))}.tiktok-consent-question{font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md)}.tiktok-consent-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.session-tiktok-consent-section{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.session-tiktok-consent-section .tiktok-consent-hint{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm)}.tiktok-consent-edit{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.tiktok-consent-edit .notes-input{flex:1;min-width:140px}.tiktok-consent-badge{display:inline-block;margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:12px;font-weight:600}.tiktok-consent-badge.tiktok-consent-yes{background:#22c55e1a;color:var(--color-success)}.tiktok-consent-badge.tiktok-consent-no{background:#9ca3af26;color:var(--color-text-secondary)}.payment-summary{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.payment-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.payment-summary-row span:first-child{color:var(--color-text-secondary);font-weight:500}.payment-balance{font-weight:600;color:var(--color-text)}.payment-status-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.payment-status-badge.payment-free{background:#6b72801a;color:var(--color-neutral)}.payment-status-badge.payment-paid{background:#10b9811a;color:var(--color-success)}.payment-status-badge.payment-pending{background:#f59e0b1a;color:var(--color-warning)}.payment-status-badge.payment-burned{background:#ef44441a;color:var(--color-danger)}.btn-save-payment{background:var(--color-primary);color:#fff;margin-top:var(--spacing-sm)}.btn-save-payment:hover{background:var(--color-primary-hover)}.payment-helper-text{font-size:12px;color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-sm);background:#3b82f60d;border-radius:var(--radius-md);margin-top:var(--spacing-sm)}.deposit-received{color:var(--color-success);font-weight:600}.deposit-pending{color:var(--color-warning);font-weight:600}.settlement-complete{color:var(--color-success);font-weight:600}.settlement-pending{color:var(--color-warning);font-weight:600}.addons-disabled-hint{font-size:13px;color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);text-align:center}.addon-readonly{opacity:.8;padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm)}.pricing-locked-hint{font-size:12px;color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-sm);background:#6b72801a;border-radius:var(--radius-md);text-align:center;margin-top:var(--spacing-sm)}.session-pricing-section{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.session-addons-section,.addons-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.addons-category-block{display:flex;flex-direction:column;gap:var(--spacing-sm)}.addon-category-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-surface);background:var(--color-text);padding:6px 10px;border-radius:var(--radius-sm);margin:0 0 2px;display:inline-block;width:fit-content}.addon-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}.addon-item:hover{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.addon-quantity{display:flex;flex-direction:column;gap:var(--spacing-sm)}.addon-row-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.addon-name{font-size:15px;font-weight:600;color:var(--color-text);line-height:1.3;flex:1;min-width:0}.addon-price-tag{font-size:12px;font-weight:600;color:var(--color-primary);background:var(--color-bg);border:1px solid var(--color-primary);padding:4px 8px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.addon-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:14px}.addon-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.addon-checkbox-wrap{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.addon-checkbox-wrap input[type=checkbox]{width:18px;height:18px;cursor:pointer}.quantity-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.qty-btn{width:32px;height:32px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.qty-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.qty-input{width:60px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;font-size:14px}.addon-category-label:first-child{margin-top:0}.addon-price-override{display:flex;align-items:center;gap:var(--spacing-sm)}.addon-price-override label{font-size:13px;color:var(--color-text-muted)}.price-override-input{width:72px}.pricing-summary{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.pricing-row{display:flex;justify-content:space-between;font-size:14px;color:var(--color-text-secondary)}.pricing-row.pricing-total{font-weight:700;font-size:16px;color:var(--color-text);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.pax-warning{font-size:12px;color:var(--color-warning);margin-top:var(--spacing-xs)}.session-time-hint{font-size:12px;color:var(--color-warning);margin-top:var(--spacing-xs);margin-bottom:0}.session-time-edit .form-group{margin-bottom:var(--spacing-sm)}.session-time-edit-inline{margin-top:0}.session-time-edit-inline .detail-row-label{margin-bottom:var(--spacing-xs)}.session-time-edit-inline .session-time-edit-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-sm)}.session-time-edit-inline .session-time-edit-fields .form-group{margin-bottom:0;min-width:120px}.session-time-edit-inline .session-time-edit-fields .btn-save-time{flex-shrink:0}.session-reschedule-section{padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.reschedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.reschedule-conflict{font-size:13px;color:var(--color-danger);margin:0 0 var(--spacing-sm) 0}.reschedule-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.detail-row.reschedule-last{font-size:12px;color:var(--color-text-secondary)}.session-more-actions{margin-top:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.session-more-actions summary{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);list-style:none}.session-more-actions summary::-webkit-details-marker{display:none}.session-more-actions summary:before{content:"▸ "}.session-more-actions[open] summary:before{content:"▾ "}.more-actions-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg)}.btn-reschedule{background:var(--color-primary);color:#fff}.btn-reschedule:hover{background:#2563eb}.session-receipt-action{margin-bottom:var(--spacing-md)}.session-booking-whatsapp-wrap{padding:var(--spacing-md) 0 0;margin-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.session-booking-whatsapp-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.session-booking-whatsapp-hint{margin:var(--spacing-xs) 0 0;font-size:12px;color:var(--color-text-secondary)}.walkin-banner{padding:var(--spacing-md);background:#3b82f614;border:1px solid rgba(59,130,246,.25);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.walkin-banner-title{font-size:14px;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.walkin-temp-fields{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-md)}.walkin-temp-fields .form-group{flex:1;min-width:140px}.walkin-assign{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:flex-end}.walkin-assign label{font-size:12px;font-weight:600;color:var(--color-text-secondary);display:block;margin-bottom:4px}.walkin-assign select{min-width:200px}.walkin-time-edit{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-md)}.walkin-time-edit label{font-size:12px;font-weight:600;color:var(--color-text-secondary);display:block;margin-bottom:4px}.walkin-time-edit select{min-width:120px}@media(max-width:480px){.session-panel{max-width:100%}.panel-header,.panel-content{padding:var(--spacing-md)}.payment-inputs,.reschedule-fields{grid-template-columns:1fr}.qty-btn{min-width:44px;min-height:44px}}.share-availability-wrap{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem}.share-availability-date-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%;max-width:420px}.share-availability-date-label{font-size:14px;font-weight:600;color:var(--color-text-secondary, #374151)}.share-availability-date-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.share-availability-date-buttons button{padding:.4rem .75rem;font-size:13px;font-weight:500;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #f9fafb);color:var(--color-text-secondary, #374151);border-radius:6px;cursor:pointer}.share-availability-date-buttons button:hover{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.share-availability-date-buttons button.active{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.share-availability-date-input{padding:.4rem .6rem;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:#fff}.share-availability-loading{color:var(--color-text-secondary, #555);font-size:1rem}.share-availability-card{width:100%;max-width:400px;min-width:340px;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f,0 0 0 1px #0000000a;overflow:hidden;border:1px solid #e8eaed}.share-availability-header{text-align:center;padding:1rem 1.25rem .9rem;background:linear-gradient(180deg,#f8f9fc,#fff);border-bottom:1px solid #e8eaed}.share-availability-emoji{font-size:1.35rem;display:block;margin-bottom:.2rem;line-height:1}.share-availability-title{font-size:1.15rem;font-weight:700;color:#1a1a1a;margin:0 0 .2rem;letter-spacing:.02em;line-height:1.25}.share-availability-subtitle{font-size:.8rem;font-weight:600;color:#5f6368;margin:0;text-transform:uppercase;letter-spacing:.06em}.share-availability-slots-wrap{padding:.5rem 0}.share-availability-slots{list-style:none;margin:0;padding:0 1rem;display:flex;flex-direction:column;gap:0}.share-availability-row{display:flex;align-items:center;justify-content:space-between;padding:.35rem .6rem;font-size:.95rem;line-height:1.35;min-height:2rem;border-radius:6px;gap:.75rem}.share-availability-row.available{color:#374151;font-weight:500;background:#fff}.share-availability-row.available:nth-child(2n){background:#fafbfc}.share-availability-row.booked{color:#374151;font-weight:500;background:#fef2f2}.share-availability-time{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;flex-shrink:0}.share-availability-status{flex-shrink:0;width:1.75rem;text-align:right;font-variant-numeric:tabular-nums}.share-availability-booked{color:#b91c1c;font-size:1.1rem;line-height:1;display:inline-block}.share-availability-free{color:#9ca3af;font-size:.9rem;font-weight:400}.share-availability-legend{margin:.6rem 1rem 0;padding-top:.5rem;border-top:1px solid #eee;font-size:.75rem;color:#6b7280;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.share-availability-legend-available{display:inline-flex;align-items:center;gap:.35rem}.share-availability-legend-booked{display:inline-flex;align-items:center;gap:.35rem;color:#b91c1c}.share-availability-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.share-availability-btn{padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:opacity .2s}.share-availability-btn:disabled{opacity:.7;cursor:not-allowed}.share-availability-btn-primary{background:var(--color-primary, #2563eb);color:#fff}.share-availability-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.share-availability-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.share-availability-btn-secondary:hover{background:#e5e7eb}.today-screen{display:flex;flex-direction:column;gap:24px;min-width:0;width:100%;max-width:1600px;margin:0 auto;padding:32px 40px}.today-hero{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #e2e8f0;padding-bottom:18px;flex-wrap:wrap;gap:16px}.today-hero-left h1{font-size:clamp(34px,4vw,50px);font-weight:700;color:#0f172a;margin:6px 0 2px}.today-subtitle{font-size:14px;color:#64748b}.today-tabs{display:flex;gap:18px;margin-bottom:6px}.today-tab{border:none;background:transparent;color:#94a3b8;padding:0 0 8px;font-size:20px;font-weight:600;border-bottom:2px solid transparent;cursor:pointer}.today-tab.active{color:#047857;border-bottom-color:#10b981}.today-hero-right{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.today-date-nav{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:6px 10px;box-shadow:var(--shadow-sm)}.date-nav-btn{width:34px;height:34px;border:none;background:transparent;color:#64748b;border-radius:10px;font-size:22px;line-height:1;cursor:pointer}.date-nav-btn:hover{background:#f8fafc}.today-date-nav .date-picker-wrapper{display:flex;align-items:center;gap:8px}.date-picker-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.date-picker{padding:10px 12px;min-height:40px;border:1px solid var(--color-border);border-radius:10px;font-size:13px;font-family:inherit;color:var(--color-text);background:#fff;cursor:pointer;transition:all .2s;touch-action:manipulation}.date-picker:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.today-alerts{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.today-alert-chip{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;touch-action:manipulation}.today-alert-chip:hover{border-color:var(--color-warning);color:var(--color-text);background:#f59e0b14}.today-alert-chip.active{border-color:var(--color-warning);background:#f59e0b26;color:var(--color-text)}.today-hero-action-btn{min-height:48px;border-radius:12px;padding:12px 20px}.btn-share-slots.today-hero-action-btn{background:#fff;color:#334155;border:1px solid #e2e8f0}.btn-share-slots.today-hero-action-btn:hover{background:#fff;box-shadow:var(--shadow-md)}.btn-quick-walkin.today-hero-action-btn{background:#10b981;color:#fff;border:1px solid #10b981;box-shadow:0 12px 28px #10b98133}.btn-quick-walkin.today-hero-action-btn:hover{background:#059669}.schedule-board-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.schedule-board-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #f1f5f9}.schedule-board-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-board-header h2{margin:0;font-size:30px;color:#0f172a}.schedule-view-toggle{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;padding:4px;border-radius:12px}.schedule-view-toggle button{border:none;background:transparent;color:#64748b;padding:8px 12px;border-radius:9px;font-size:13px;font-weight:600}.schedule-view-toggle button.active{background:#ecfdf5;color:#047857}.schedule-list-view{display:flex;flex-direction:column}.schedule-list-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;gap:14px;align-items:center;width:100%;border:none;border-top:1px solid #f1f5f9;background:#fff;padding:14px 24px;text-align:left}.schedule-list-row:hover{background:#f8fafc}.schedule-list-time strong{display:block;font-size:13px;color:#0f172a}.schedule-list-time span{font-size:12px;color:#94a3b8}.schedule-list-main h4{margin:0;font-size:15px;color:#0f172a}.schedule-list-main p{margin-top:3px;font-size:13px;color:#64748b}.schedule-list-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#64748b}.schedule-list-row .customer-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.schedule-list-row .customer-status-badge.status-active{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.schedule-list-row .customer-status-badge.status-pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.schedule-list-row .customer-status-badge.status-completed{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.schedule-list-row .customer-status-badge.status-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.schedule-empty-state{padding:48px 24px;text-align:center;color:#64748b}.schedule-empty-state p{font-size:18px;font-weight:700;color:#0f172a}.schedule-empty-state span{display:block;margin-top:8px;font-size:14px}.timeline-section{margin-top:var(--spacing-xl)}.operator-dashboard-main{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.operator-dashboard-timeline,.operator-dashboard-queue{min-width:0}@media(max-width:900px){.operator-dashboard-main{grid-template-columns:1fr;gap:16px}.operator-dashboard-queue{order:initial}}@media(min-width:1280px){.operator-dashboard-main{grid-template-columns:repeat(4,minmax(0,1fr))}.operator-dashboard-timeline{grid-column:span 3 / span 3}.operator-dashboard-queue{grid-column:span 1 / span 1}}.timeline-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.timeline-section-header h2{font-size:clamp(18px,4vw,20px);font-weight:600;color:var(--color-text);margin:0}.timeline-section-header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.btn-share-slots{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;font-size:14px;font-weight:600;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;touch-action:manipulation}.btn-share-slots:hover{border-color:var(--color-primary);color:var(--color-primary)}.today-share-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);overflow-y:auto;-webkit-overflow-scrolling:touch}.today-share-modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:100%;max-height:min(90vh,90dvh);overflow-y:auto;-webkit-overflow-scrolling:touch;margin:auto}.today-share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.today-share-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.today-share-modal-close{width:44px;height:44px;min-width:44px;min-height:44px;border:none;background:transparent;font-size:24px;line-height:1;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);padding:0;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.today-share-modal-close:hover{background:var(--color-surface);color:var(--color-text)}.btn-quick-walkin{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;font-size:14px;font-weight:600;touch-action:manipulation}.walkins-list{display:flex;flex-wrap:wrap;gap:8px;padding:14px 24px;margin-bottom:0;border-bottom:1px solid #f1f5f9;align-items:center}.walkins-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.walkin-item{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;font-size:13px;cursor:pointer;transition:all .2s;touch-action:manipulation}.walkin-item:hover{border-color:#10b981;background:#ecfdf5}.walkin-time{font-weight:600;color:var(--color-text-secondary)}.walkin-name{color:var(--color-text)}@media(max-width:480px){.today-screen{gap:16px;padding:20px 16px}.today-hero-left h1{font-size:34px}.today-hero-right{width:100%}.today-date-nav{width:100%;justify-content:space-between}.today-date-nav .date-picker-wrapper{flex:1}.date-picker,.today-hero-action-btn{width:100%}.schedule-board-header{flex-direction:column;align-items:flex-start}.schedule-list-row{grid-template-columns:1fr;gap:8px}}@media(max-width:768px){.today-screen{padding:20px 16px 24px;gap:18px}.today-screen .today-hero{padding-bottom:14px;gap:12px;align-items:stretch}.today-screen .today-hero-left,.today-screen .today-hero-right{width:100%}.today-tabs{gap:14px;margin-bottom:2px}.today-tab{font-size:15px;padding-bottom:7px}.today-hero-left h1{margin:4px 0 2px;font-size:clamp(24px,7.2vw,30px);line-height:1.2}.today-subtitle{font-size:12px}.today-screen .today-hero-right{display:grid;grid-template-columns:1fr;gap:10px}.today-screen .today-date-nav{width:100%;min-height:48px;padding:6px 8px;gap:6px}.date-nav-btn{width:32px;height:32px;border-radius:8px;font-size:20px}.today-screen .today-date-nav .date-picker-wrapper{flex:1;min-width:0;gap:6px}.date-picker-label{font-size:10px;letter-spacing:.08em}.date-picker{width:100%;min-height:36px;padding:8px 10px;font-size:12px}.today-screen .today-hero-action-btn{width:100%;min-height:48px;justify-content:center;font-size:14px;padding:12px 14px}.today-screen .schedule-board-header{padding:14px 16px;gap:10px;align-items:flex-start;flex-direction:column}.schedule-board-header h2{font-size:20px;line-height:1.2}.today-screen .schedule-board-controls{width:100%;justify-content:flex-start}.today-screen .schedule-view-toggle{max-width:100%;overflow-x:auto;white-space:nowrap}.today-screen .walkins-list{padding:12px 16px;gap:6px}.today-screen .walkin-item{min-height:34px;padding:6px 10px;font-size:12px}.today-screen .schedule-list-view{padding:8px 0 10px}.today-screen .schedule-list-row{border-top:none;border-bottom:1px solid #f1f5f9;border-radius:0;grid-template-columns:1fr;gap:8px;padding:12px 16px}.today-screen .schedule-list-time{display:flex;align-items:baseline;gap:8px}.schedule-list-time strong{font-size:13px}.today-screen .schedule-list-main h4{font-size:14px}.today-screen .schedule-list-main p{margin-top:2px;font-size:12px}.today-screen .schedule-list-meta{gap:4px;font-size:12px}.today-screen .schedule-list-row .customer-status-badge{justify-self:flex-start}.today-screen .schedule-empty-state{padding:36px 16px}.today-screen .schedule-empty-state p{font-size:16px}.today-screen .schedule-board-card,.today-screen .live-queue{min-height:0}}.customers-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0;width:100%}.customers-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.customers-page-layout{width:100%;max-width:1440px;margin:0 auto;padding:32px;display:flex;flex-direction:column;gap:32px}.customers-subtitle{margin-top:6px;font-size:14px;color:var(--color-text-secondary)}.customers-primary-btn{background:#10b981;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;box-shadow:0 10px 24px #10b98133;cursor:pointer;transition:background .2s ease,transform .12s ease}.customers-primary-btn:hover{background:#059669}.customers-primary-btn:active{transform:scale(.97)}.customers-stats-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:24px}.customers-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:var(--shadow-sm)}.customers-stat-label{font-size:11px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:#64748b}.customers-stat-value{margin-top:10px;font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-.02em;color:#0f172a}.customers-stat-hint{margin-top:6px;font-size:12px;color:#059669}.customers-table-shell{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.customers-table-toolbar{background:#f8fafcbf;border-bottom:1px solid #e2e8f0;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.customers-toolbar-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.customers-toolbar-tabs button{border:none;background:transparent;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-radius:8px}.customers-toolbar-tabs button.active{color:#047857;background:#10b9811a}.customers-toolbar-tabs button:disabled{opacity:.8;cursor:default}.customers-toolbar-actions{display:flex;align-items:center;gap:8px}.customers-view-options{position:relative}.customers-icon-btn{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;cursor:pointer}.customers-icon-btn:hover{background:#f1f5f9}.customers-view-options-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:20;min-width:220px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 24px #0f172a1a;padding:8px}.customers-view-options-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:9px 10px;font-size:14px;color:#334155}.customers-view-options-menu button:hover{background:#f1f5f9}.customers-header h1{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-text)}.customers-search-wrap{margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-sm)}.customers-search-wrap-inline{margin:0;padding:18px 32px 0}.customers-search-input{width:100%;max-width:420px;padding:var(--spacing-md) var(--spacing-lg);padding-left:2.5rem;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:16px;font-family:inherit;background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 12px center;transition:border-color .2s,box-shadow .2s;touch-action:manipulation}.customers-search-input::placeholder{color:var(--color-text-secondary)}.customers-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.customers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--spacing-lg)}.customers-table-desktop{display:none;width:100%;overflow-x:auto}.customers-data-table{width:100%;text-align:left;border-collapse:collapse}.customers-data-table thead{background:#f8fafc80}.customers-data-table th{padding:16px 32px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.customers-data-table tbody{border-top:1px solid #f1f5f9}.customers-data-table tr{border-top:1px solid #f1f5f9;transition:background .16s ease}.customers-data-table tr:hover{background:#f8fafccc}.customers-data-table td{padding:20px 32px;vertical-align:middle}.customers-data-table.compact-row-density td{padding-top:12px;padding-bottom:12px}.customer-name-cell .customer-name{font-size:15px;font-weight:700;color:#0f172a}.customer-name-cell .customer-meta{margin-top:4px;font-size:11px;color:#94a3b8}.customer-contact-primary{font-size:14px;font-weight:500;color:#0f172a}.customer-contact-secondary{margin-top:4px;font-size:12px;color:#94a3b8}.customer-status-badge{display:inline-block;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.customer-status-badge.status-active{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.customer-status-badge.status-pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.customer-status-badge.status-completed{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.customers-data-table .actions-cell{text-align:right}.customers-table-edit{background:transparent;border:none;color:#059669;font-weight:600;border-radius:10px;padding:8px 12px}.customers-table-edit:hover{background:#ecfdf5}.customer-actions-hoverable{opacity:.45;transition:opacity .16s ease}.customers-data-table tr:hover .customer-actions-hoverable{opacity:1}.customers-table-mobile{display:block;padding:20px}.customer-last-activity{font-size:12px;color:#94a3b8}.customers-empty-state{padding:48px 24px}.empty-state-subtext{color:#94a3b8;font-size:14px;margin-top:6px}.customer-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all .2s;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start}.customer-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.customer-card .customer-info{cursor:pointer;flex:1}.customer-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.customer-name{font-size:20px;font-weight:700;color:var(--color-text)}.customer-phone{font-size:16px;color:var(--color-text-secondary);font-weight:500}.customer-email{font-size:14px;color:var(--color-text-secondary)}.customer-notes{font-size:14px;color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-style:italic}.customer-actions{display:flex;gap:var(--spacing-sm)}.btn-edit{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;touch-action:manipulation}.customer-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);max-width:600px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.form-group label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{padding:var(--spacing-md);min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;transition:all .2s;touch-action:manipulation}.form-group textarea{min-height:100px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-secondary);font-size:16px}.customer-detail-view{width:100%;max-width:1440px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:32px}.customer-profile-shell{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:var(--shadow-sm);padding:28px;display:flex;flex-direction:column;gap:24px}.customer-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.customer-profile-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.customer-profile-summary{display:flex;align-items:center;gap:18px}.customer-avatar{width:72px;height:72px;border-radius:18px;background:#d1fae5;color:#047857;font-weight:800;font-size:24px;display:inline-flex;align-items:center;justify-content:center}.customer-profile-meta-row{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.customer-id-meta{color:#64748b;font-size:12px;font-weight:500}.customer-quick-meta{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;padding-top:18px;border-top:1px solid #f1f5f9}.customer-quick-meta p{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#94a3b8}.customer-quick-meta h4{margin-top:5px;font-size:14px;font-weight:700;color:#0f172a}.customer-quick-meta .meta-highlight{color:#059669}.customer-detail-edit-btn{background:#10b981;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;box-shadow:0 10px 24px #10b98133;cursor:pointer;transition:background .2s ease,transform .12s ease}.customer-detail-edit-btn:hover{background:#059669}.customer-detail-edit-btn:active{transform:scale(.97)}.customer-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.btn-back{background:#fff;color:#334155;border:1px solid #e2e8f0;padding:12px 16px;min-height:44px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;touch-action:manipulation}.btn-back:hover{background:#f8fafc;border-color:#cbd5e1}.customer-detail-title{flex:1}.customer-detail-title h1{font-size:clamp(24px,4vw,36px);font-weight:700;color:#0f172a;margin:0 0 var(--spacing-xs) 0;word-break:break-word}.customer-contact-info{font-size:15px;color:#64748b;display:flex;gap:12px;flex-wrap:wrap}.customer-overview-section{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;box-shadow:var(--shadow-sm)}.customer-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}.customer-overview-section h2{font-size:32px;font-weight:700;color:#0f172a;margin:0}.customer-section-head p{margin-top:6px;font-size:14px;color:#64748b}.visit-history-actions{display:flex;gap:10px}.history-toolbar-btn{border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:13px;font-weight:600;border-radius:12px;padding:9px 14px}.history-toolbar-btn:hover{background:#f1f5f9}.overview-stats-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:24px}.overview-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.stat-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.stat-value{color:#0f172a;max-width:100%;word-break:break-word}.stat-value-numeric{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-value-text{font-size:18px;font-weight:700;line-height:1.25}.behavior-indicators{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.behavior-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.behavior-badge.behavior-good{background:#22c55e1a;color:var(--color-success)}.behavior-badge.behavior-warning{background:#f59e0b1a;color:var(--color-warning)}.behavior-badge.behavior-info{background:#3b82f61a;color:var(--color-primary)}.visit-history-section{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden}.visit-history-section h2{font-size:32px;font-weight:700;color:#0f172a;margin:0}.history-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%}.visit-history-section .customer-section-head{padding:20px 24px;margin-bottom:0;border-bottom:1px solid #f1f5f9}.history-table{width:100%;border-collapse:collapse;font-size:14px}.history-table thead{background:#f8fafcb3}.history-table th{padding:16px 24px;text-align:left;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #e2e8f0}.history-table td{padding:18px 24px;border-bottom:1px solid #f1f5f9;color:var(--color-text)}.visit-history-footer{border-top:1px solid #f1f5f9;padding:14px 24px;color:#64748b;font-size:14px}.history-date-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.history-badge{display:inline-block;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.history-badge.history-upcoming{background:#3b82f61a;color:var(--color-primary)}.history-badge.history-completed{background:#22c55e1a;color:var(--color-success)}.history-badge.history-needs-review-badge{background:#f59e0b1a;color:var(--color-warning)}.history-row.history-needs-review{background:#f59e0b08}.history-row{cursor:pointer;transition:background-color .2s}.history-row:hover{background:#f8fafccc}.history-row:active{background:#3b82f60d}.deposit-status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase}.deposit-status-badge.deposit-locked{background:#22c55e1a;color:var(--color-success)}.deposit-status-badge.deposit-na{background:#6b72801a;color:#6b7280}.session-status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase}.session-status-badge.status-waiting{background:#9ca3af1a;color:var(--color-text-secondary)}.session-status-badge.status-done,.session-status-badge.status-completed{background:#22c55e1a;color:var(--color-success)}.customer-notes-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:var(--shadow-sm)}.customer-detail-bottom-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:24px}.customer-insight-card{background:#10b9811f;border:1px solid rgba(16,185,129,.22);border-radius:20px;padding:26px}.customer-insight-card h3,.customer-upcoming-card h3{font-size:30px;margin:0;color:#0f172a}.customer-insight-card p{margin-top:12px;color:#134e4a;font-size:15px;line-height:1.6}.insight-link-btn{border:none;margin-top:14px;padding:0;background:transparent;color:#047857;font-size:15px;font-weight:700;cursor:pointer}.customer-upcoming-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:26px;box-shadow:var(--shadow-sm)}.upcoming-session-item{margin-top:14px;display:flex;align-items:center;gap:14px}.upcoming-session-date{width:56px;height:56px;border-radius:14px;background:#e2e8f0;color:#0f172a;display:flex;flex-direction:column;align-items:center;justify-content:center}.upcoming-session-date span{font-size:10px;letter-spacing:.08em;font-weight:700}.upcoming-session-date strong{font-size:20px;line-height:1}.upcoming-session-item h4{margin:0;font-size:20px;color:#0f172a}.upcoming-session-item p,.upcoming-empty-copy{margin-top:4px;color:#64748b;font-size:14px}.customer-notes-section h2{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-lg) 0}.notes-content{font-size:15px;color:var(--color-text);line-height:1.6;white-space:pre-wrap;padding:var(--spacing-lg);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}@media(max-width:768px){.customer-detail-view{padding:20px 16px;gap:20px}.customer-profile-shell{padding:18px;gap:16px}.customer-profile-head{flex-direction:column;align-items:stretch}.customer-profile-actions{justify-content:flex-start;width:100%}.btn-back{width:100%}.customer-profile-summary{align-items:flex-start}.customer-detail-edit-btn{width:100%}.customer-avatar{width:56px;height:56px;border-radius:14px;font-size:20px}.customer-section-head .customer-status-badge{width:fit-content}.customers-page-layout{padding:20px 16px;gap:20px}.customers-header{align-items:flex-start;gap:12px}.customers-header h1{font-size:28px}.customers-subtitle{font-size:13px;max-width:32ch}.customers-primary-btn{align-self:flex-start;min-height:44px;padding:10px 16px;font-size:14px;border-radius:12px}.customers-search-wrap-inline{padding:16px}.customers-search-input{max-width:none;width:100%}.customers-screen .customers-table-toolbar{padding:16px}.customers-screen .customers-toolbar-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.customers-toolbar-tabs::-webkit-scrollbar{display:none}.customers-screen .customers-toolbar-actions{margin-left:auto}.customer-detail-header{flex-direction:column;align-items:stretch}.customer-detail-header .btn-back{align-self:flex-start}.customer-detail-header .btn-primary{width:100%;min-height:44px}.customer-contact-info{flex-wrap:wrap}.overview-stats-grid{grid-template-columns:1fr}.customer-overview-section h2,.visit-history-section h2,.customer-notes-section h2{font-size:28px}.customers-screen .customers-table-mobile{display:block;padding:14px}.customers-screen .customers-table-mobile .customers-list{grid-template-columns:1fr;gap:12px}.customers-screen .customers-table-mobile .customer-card{border-radius:16px;border:1px solid #e2e8f0;background:#fff;box-shadow:var(--shadow-sm);padding:14px;flex-direction:column;gap:12px;align-items:stretch}.customers-screen .customers-table-mobile .customer-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:#e2e8f0}.customers-screen .customers-table-mobile .customer-info{gap:6px}.customers-screen .customers-table-mobile .customer-name{font-size:18px;line-height:1.2;color:#0f172a}.customers-screen .customers-table-mobile .customer-phone,.customers-screen .customers-table-mobile .customer-email{font-size:13px;color:#64748b}.customers-screen .customers-table-mobile .customer-last-activity{font-size:12px;color:#94a3b8;margin-top:2px}.customers-screen .customers-table-mobile .customer-actions{justify-content:flex-end}.customers-screen .customers-table-mobile .btn-edit{min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;background:#10b981;color:#fff}.customers-screen .customers-table-desktop{display:none}.customers-screen .customers-stats-grid{grid-template-columns:1fr}.customers-screen .customers-stat-card,.customers-screen .customer-card{min-height:0}.visit-history-actions{width:100%}.history-toolbar-btn{flex:1}}@media(min-width:768px){.customer-quick-meta,.overview-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customers-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customers-table-desktop{display:block}.customers-table-mobile{display:none}.customer-detail-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.customer-quick-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.overview-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:480px){.customers-header .btn-primary{width:100%;min-height:44px}.customer-form{padding:var(--spacing-md)}.form-actions{flex-direction:column}.form-actions button{width:100%;min-height:44px}.history-table th,.history-table td{padding:var(--spacing-sm);font-size:13px}}.close-day-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:800px}.close-day-header{margin-bottom:var(--spacing-md)}.close-day-header h1{font-size:32px;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.close-day-date{font-size:16px;color:var(--color-text-secondary)}.day-closed{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;box-shadow:var(--shadow-md)}.closed-badge{font-size:48px;font-weight:700;color:var(--color-success);margin-bottom:var(--spacing-md)}.day-closed p{font-size:18px;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.closure-notes{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:left}.closure-notes strong{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text)}.closure-notes p{color:var(--color-text-secondary);line-height:1.6}.close-day-checklist{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.close-day-checklist h2{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-lg)}.checklist-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.checklist-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);transition:all .2s}.checklist-item.completed{background:#10b9810d;border:1px solid rgba(16,185,129,.2)}.checklist-item.pending{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2)}.check-icon{font-size:24px;font-weight:700;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface)}.checklist-item.completed .check-icon{color:var(--color-success)}.checklist-item.pending .check-icon{color:var(--color-warning)}.check-label{flex:1;font-size:16px;font-weight:500;color:var(--color-text)}.check-count{font-size:14px;color:var(--color-text-secondary)}.close-day-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.close-day-summary h2{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-lg)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg)}.summary-stat{text-align:center;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.stat-value{font-size:36px;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:var(--spacing-sm)}.stat-label{font-size:14px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.close-day-notes{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.close-day-notes label{display:block;font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.close-day-notes textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;resize:vertical;transition:all .2s}.close-day-notes textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.close-day-actions{display:flex;justify-content:flex-end}.btn-close-day{padding:var(--spacing-md) var(--spacing-xl);font-size:18px}.btn-close-day:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.close-day-screen{gap:14px;max-width:none}.close-day-header{margin-bottom:4px}.close-day-header h1{font-size:28px;margin-bottom:2px}.close-day-date{font-size:13px}.close-day-checklist,.close-day-summary,.close-day-notes,.day-closed{padding:14px;border-radius:16px}.close-day-checklist h2,.close-day-summary h2{margin-bottom:10px;font-size:17px}.checklist-items{gap:8px}.checklist-item{padding:10px 12px;gap:10px;align-items:flex-start;border-radius:12px}.check-icon{width:26px;height:26px;min-width:26px;font-size:16px;margin-top:1px}.check-label{font-size:14px;line-height:1.35}.check-count{font-size:12px;align-self:center}.summary-stats{grid-template-columns:1fr;gap:8px}.summary-stat{text-align:left;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-value{margin-bottom:0;font-size:22px}.stat-label{font-size:11px}.close-day-notes label{font-size:11px;margin-bottom:8px}.close-day-notes textarea{min-height:108px;font-size:14px;padding:10px 12px}.close-day-actions{position:sticky;bottom:calc(80px + env(safe-area-inset-bottom));z-index:3;justify-content:stretch;background:linear-gradient(180deg,#f8f9ff00,#f8f9fff2 30%);padding-top:8px;padding-bottom:8px}.btn-close-day{width:100%;min-height:48px;padding:12px 14px;font-size:15px;border-radius:12px}.day-closed{text-align:left}.closed-badge{font-size:30px;margin-bottom:8px}.day-closed p{font-size:14px;margin-bottom:8px}}div.rates-screen{display:flex;flex-direction:column;gap:var(--spacing-lg)}.rates-header{margin-bottom:var(--spacing-sm)}.rates-header h1{font-size:28px;font-weight:700;color:var(--color-text);line-height:1.2}.rates-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.rates-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h2{font-size:20px;font-weight:600;color:var(--color-text);margin:0}.edit-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.edit-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.edit-form .form-group label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.edit-form .form-group input,.edit-form .form-group select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;transition:all .2s}.edit-form .form-group input:focus,.edit-form .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.edit-form .form-group-checkbox .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;text-transform:none;letter-spacing:0;cursor:pointer}.edit-form .form-group-checkbox .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.rates-screen .rates-list{display:grid;width:100%;gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1100px){.rates-screen .rates-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.rate-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);transition:box-shadow .2s}.rate-card:hover{box-shadow:var(--shadow-md)}.rate-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.rate-name{font-size:16px;font-weight:700;color:var(--color-text);line-height:1.3}.rate-details{font-size:13px;line-height:1.4;color:var(--color-text-secondary)}.rate-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm);align-items:center}.btn-edit{background:var(--color-primary);color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-edit:hover{background:var(--color-primary-hover)}.btn-delete{background:var(--color-danger);color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-delete:hover{background:#dc2626}@media(max-width:768px){div.rates-screen{gap:10px}.rates-header{margin-bottom:2px}.rates-header h1{font-size:22px}.rates-content{gap:14px}.rates-section{gap:8px}.section-header{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;row-gap:6px}.section-header h2{font-size:17px;flex:1 1 auto;min-width:min(120px,40%)}.section-header .btn-primary{width:auto;flex:0 0 auto;min-height:36px;padding:8px 12px;font-size:13px}.rates-screen .rates-list{grid-template-columns:1fr;gap:8px}.rate-card{padding:10px 12px;border-radius:12px;flex-direction:row;align-items:center;gap:10px}.rate-info{gap:3px}.rate-name{font-size:15px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.rate-details{font-size:12px}.rate-actions{width:auto;display:flex;flex-direction:row;gap:6px;align-self:center}.rate-actions .btn-edit,.rate-actions .btn-delete{width:auto;min-height:32px;min-width:0;padding:6px 10px;font-size:12px;border-radius:8px;text-align:center}.edit-form{padding:12px;border-radius:14px}.form-actions{flex-direction:column;gap:8px}.form-actions .btn-secondary,.form-actions .btn-primary{width:100%;min-height:44px}}.calendar-profit-view{display:flex;flex-direction:column;gap:var(--spacing-lg)}.calendar-profit-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-lg)}.calendar-profit-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.calendar-profit-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);font-size:18px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}.calendar-profit-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.calendar-profit-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text);min-width:160px;text-align:center}.calendar-profit-metric{display:flex;align-items:center;gap:var(--spacing-xs)}.calendar-profit-metric label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.calendar-profit-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-surface);color:var(--color-text)}.calendar-profit-legend{display:flex;align-items:center;gap:var(--spacing-md);font-size:12px;color:var(--color-text-secondary)}.calendar-legend-item{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.calendar-legend-high:before{content:"";width:12px;height:12px;border-radius:2px;background:#22c55eb3}.calendar-legend-mid:before{content:"";width:12px;height:12px;border-radius:2px;background:#22c55e59}.calendar-legend-empty:before{content:"";width:12px;height:12px;border-radius:2px;background:var(--color-border)}.calendar-legend-negative:before{content:"";width:12px;height:12px;border-radius:2px;background:#ef444499}.calendar-profit-month-total{font-size:14px;color:var(--color-text-secondary)}.calendar-profit-month-total strong{color:var(--color-text)}.calendar-grid{display:flex;flex-direction:column;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-border)}.calendar-grid-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-grid-cell{min-height:72px;padding:var(--spacing-xs);background:var(--color-surface);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;font-size:13px}.calendar-grid-cell-head{min-height:auto;padding:var(--spacing-sm);font-weight:600;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase}.calendar-cell-empty{background:var(--color-bg);color:var(--color-text-secondary);cursor:default}.calendar-cell-zero{background:var(--color-bg)}.calendar-cell-positive{cursor:pointer;background:rgba(34,197,94,calc(.15 + .5 * var(--cal-intensity, 0)));color:var(--color-text)}.calendar-cell-positive:hover{filter:brightness(1.05)}.calendar-cell-negative{cursor:pointer;background:rgba(239,68,68,calc(.15 + .5 * var(--cal-intensity, 0)));color:var(--color-text)}.calendar-cell-negative:hover{filter:brightness(1.05)}.calendar-cell-day{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.calendar-cell-value{font-weight:700;font-size:14px;margin-bottom:2px}.calendar-cell-meta{font-size:11px;color:var(--color-text-secondary)}.calendar-profit-empty{margin:0;padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-style:italic}.calendar-mobile-agenda{display:none}.calendar-agenda-card{width:100%;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:12px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;text-align:left}.calendar-agenda-date{display:flex;flex-direction:column;gap:2px}.calendar-agenda-date strong{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase}.calendar-agenda-date span{font-size:14px;font-weight:600;color:var(--color-text)}.calendar-agenda-metrics p{margin:0;font-weight:700;font-size:15px}.calendar-agenda-metrics small{color:var(--color-text-secondary);font-size:12px}@media(max-width:640px){.calendar-profit-header{align-items:stretch;gap:var(--spacing-sm)}.calendar-profit-nav{justify-content:space-between}.calendar-profit-title{min-width:0;flex:1}.calendar-profit-metric{justify-content:space-between}.calendar-profit-select{flex:1;min-height:40px}.calendar-profit-legend{flex-wrap:wrap;gap:8px}.calendar-grid{display:none}.calendar-mobile-agenda{display:grid;gap:8px}.calendar-grid-cell{min-height:56px;padding:4px;font-size:11px}.calendar-cell-value{font-size:12px}.calendar-cell-meta{display:none}}.engineering-performance-dashboard{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.engineering-dashboard-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.engineering-dashboard-period{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.engineering-dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.engineering-card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.engineering-card-header{font-size:.9375rem;font-weight:600;color:var(--color-text);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.engineering-card-body{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-start}.engineering-metric{display:flex;flex-direction:column;gap:2px}.engineering-metric-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.engineering-metric-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em}.engineering-card-hint{font-size:.6875rem;color:var(--color-text-secondary);opacity:.85;margin-top:auto}.engineering-card--throughput .engineering-card-header{color:var(--color-primary, #2563eb)}.engineering-card--yield .engineering-card-header{color:var(--color-success, #059669)}.engineering-card--losses .engineering-card-header{color:var(--color-warning, #d97706)}.engineering-card--efficiency .engineering-card-header{color:var(--color-text-secondary)}.utilization-heatmap-report{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.utilization-heatmap-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.utilization-heatmap-period{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.utilization-heatmap-layout{display:flex;flex-direction:column;gap:var(--spacing-xl)}.utilization-section-title{font-size:.9375rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.utilization-table-section{display:flex;flex-direction:column}.utilization-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.utilization-table{width:100%;min-width:280px;border-collapse:collapse;font-size:.875rem}.utilization-table th,.utilization-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.utilization-table thead th{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary)}.utilization-table tbody tr:last-child td{border-bottom:none}.utilization-table tbody tr:hover{background:#00000008}.utilization-table .utilization-count{font-variant-numeric:tabular-nums;font-weight:500}.utilization-table .utilization-target-col{width:1%;white-space:nowrap}.utilization-row.target-promotion{background:#eab30814}.utilization-row.target-promotion:hover{background:#eab3081f}.utilization-target-badge{display:inline-block;padding:2px 8px;font-size:.75rem;font-weight:600;color:#92400e;background:#eab30833;border:1px solid rgba(234,179,8,.5);border-radius:var(--radius-sm)}.utilization-grid-section{display:flex;flex-direction:column}.utilization-mobile-cards{display:none}.utilization-mobile-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--color-surface)}.utilization-mobile-card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.utilization-mobile-card-head strong{font-size:.875rem}.utilization-mobile-card-head span{font-size:.8125rem;color:var(--color-text-secondary)}.utilization-mobile-card-body{margin-top:6px;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.utilization-mobile-card-body p{margin:0;font-weight:600}.utilization-grid-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.utilization-grid{border-collapse:collapse;font-size:.8125rem;min-width:320px}.utilization-grid th,.utilization-grid td{padding:var(--spacing-sm) var(--spacing-md);text-align:center;border:1px solid var(--color-border)}.utilization-grid-corner{background:var(--color-bg);min-width:2.5rem}.utilization-grid-header{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.utilization-grid-row-label{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);text-align:left;min-width:2.5rem}.utilization-grid-cell{min-width:3.5rem;background:color-mix(in srgb,var(--color-primary) calc(var(--heat, 0) * 35%),var(--color-bg) 65%);color:var(--color-text);position:relative}.utilization-grid-cell--target{outline:2px solid #b45309;outline-offset:-2px;box-shadow:inset 0 0 0 1px #eab30899}.utilization-grid-value{font-variant-numeric:tabular-nums;font-weight:600;display:block}.utilization-grid-target-label{display:block;font-size:.625rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.02em;margin-top:2px}.utilization-legend{font-size:.8125rem;color:var(--color-text-secondary);margin:var(--spacing-sm) 0 0 0}@media(max-width:768px){.utilization-table-section,.utilization-grid-section{display:none}.utilization-mobile-cards{display:grid;gap:8px}}.reports-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.reports-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);min-width:0}.reports-header h1,.reports-header .btn-primary{flex-shrink:0}.reports-backlog-toggle-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.reports-backlog-toggle{display:flex;align-items:center;gap:var(--spacing-xs);font-size:14px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.reports-backlog-toggle input{cursor:pointer}.reports-backlog-note{font-size:13px;color:var(--color-text-secondary)}.reports-period-label{font-size:13px;color:var(--color-text-secondary);margin-left:var(--spacing-sm)}.reports-header h1{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-text)}.reports-tabs{display:flex;flex:1 1 auto;min-width:0;max-width:100%;gap:var(--spacing-xs);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;padding-bottom:4px;margin:0 -2px}.reports-tabs::-webkit-scrollbar{height:6px}.reports-tabs::-webkit-scrollbar-track{background:transparent}.reports-tabs::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.reports-tabs::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.reports-tabs button{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;flex-shrink:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;touch-action:manipulation;white-space:nowrap}.reports-tabs button:hover{border-color:var(--color-primary);color:var(--color-text)}.reports-tabs button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.weekly-summary-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.weekly-filters{display:flex;align-items:center;gap:var(--spacing-md)}.weekly-filters label{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.weekly-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.weekly-summary-cards .summary-card{cursor:default}.weekly-summary-cards .summary-card.summary-card-clickable{cursor:pointer}.weekly-summary-cards .summary-card-clickable.active{background:#3b82f60d;border-color:var(--color-primary);border-width:2px;box-shadow:var(--shadow-lg)}.summary-detail-panel .metric-details-header{flex-wrap:wrap;gap:var(--spacing-md)}.summary-detail-panel .metric-details-header .btn-sm{margin-left:auto}.summary-detail-empty{margin:0;color:var(--color-text-secondary);font-style:italic}.reports-screen .btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;touch-action:manipulation}.reports-screen .btn-secondary:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary)}.reports-screen .btn-secondary.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:13px}.backup-section{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:480px}.backup-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.backup-actions .btn-import{cursor:pointer;display:inline-block}.backup-hint{font-size:13px;color:var(--color-text-secondary);margin:0}.backup-message{font-size:14px;margin:0;padding:var(--spacing-sm);border-radius:var(--radius-md)}.backup-message.success{background:#22c55e1a;color:#15803d}.backup-message.error{background:#ef44441a;color:#b91c1c}.reports-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.date-filter{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-surface);cursor:pointer;transition:all .2s;touch-action:manipulation}.date-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.reports-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--spacing-lg)}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.summary-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-primary)}.summary-card.active{background:#3b82f60d;border-color:var(--color-primary);border-width:2px;box-shadow:var(--shadow-lg)}.summary-card.summary-card-warning{border-color:var(--color-warning);background:#f59e0b0d}.ledger-manual-lock{background:#f59e0b08}.deposit-status-badge.deposit-manual-lock{background:#f59e0b26;color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.summary-card-header{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-card-value{font-size:clamp(24px,5vw,32px);font-weight:700;color:var(--color-text);line-height:1}.summary-card-hint{font-size:12px;color:var(--color-text-secondary)}.reports-ledger{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.reports-ledger h2{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.ledger-includes-backlog{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0}.ledger-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100%}.ledger-mobile-list{display:none}.ledger-mobile-card{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:14px;display:flex;flex-direction:column;gap:10px}.ledger-mobile-card-clickable{cursor:pointer}.ledger-mobile-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ledger-mobile-card-head h3{margin:4px 0 0;font-size:15px}.ledger-mobile-date{margin:0;font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.ledger-mobile-time{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.ledger-mobile-meta{display:grid;gap:4px;font-size:12px;color:var(--color-text-secondary)}.ledger-mobile-finance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ledger-mobile-finance div{background:#f8fafc;border:1px solid var(--color-border);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:2px}.ledger-mobile-finance label{font-size:10px;text-transform:uppercase;color:var(--color-text-secondary)}.ledger-mobile-finance strong{font-size:13px}.ledger-mobile-statuses{display:flex;flex-wrap:wrap;gap:6px}.ledger-mobile-empty{text-align:center;padding:22px 14px;border:1px dashed var(--color-border);border-radius:12px;color:var(--color-text-secondary)}.ledger-table{width:100%;border-collapse:collapse;font-size:14px}.ledger-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.ledger-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);white-space:nowrap}.ledger-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text)}@media(max-width:768px){.reports-screen .reports-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.reports-screen .reports-tabs{width:100%;order:2}.reports-screen .reports-header h1{order:1}.reports-screen .reports-header .btn-primary{order:3}.reports-screen .reports-ledger{padding:var(--spacing-md)}.reports-screen .reports-ledger h2{font-size:18px}.reports-screen .reports-backlog-toggle-row{flex-direction:column;align-items:flex-start;gap:6px}.reports-screen .reports-summary-cards,.reports-screen .weekly-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reports-screen .summary-card{padding:14px;min-height:0}.reports-screen .summary-card-header{font-size:12px}.reports-screen .summary-card-value{font-size:clamp(20px,5.4vw,28px)}.reports-screen .ledger-table-wrapper{display:none}.reports-screen .ledger-mobile-list{display:grid;gap:10px}.ledger-table th,.ledger-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:13px}.reports-screen .backup-section{max-width:100%}.reports-screen .backup-actions{flex-direction:column;align-items:stretch}.reports-screen .backup-actions .btn-primary,.reports-screen .backup-actions .btn-secondary,.reports-screen .backup-actions .btn-import{width:100%;text-align:center}}@media(max-width:480px){.reports-screen .reports-filters{flex-direction:column;align-items:stretch}.reports-screen .reports-filters .filter-group{width:100%}.reports-screen .reports-filters .date-filter,.reports-screen .reports-filters .btn-secondary{width:100%;min-height:44px}.reports-screen .weekly-summary-cards,.reports-screen .reports-summary-cards{grid-template-columns:1fr}.reports-screen .summary-card{min-height:44px}}.ledger-table tbody tr:hover{background:var(--color-bg)}.ledger-row-clickable{cursor:pointer}.ledger-row-clickable:hover{background:#3b82f60f}.ledger-table tbody tr:last-child td{border-bottom:none}.ledger-empty{text-align:center;padding:var(--spacing-2xl)!important;color:var(--color-text-secondary);font-style:italic}.outstanding-amount{color:var(--color-warning);font-weight:600}.deposit-status-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;display:inline-block}.deposit-status-badge.deposit-locked{background:#10b9811a;color:var(--color-success)}.deposit-status-badge.deposit-pending{background:#f59e0b1a;color:var(--color-warning)}.deposit-status-badge.deposit-na{background:#6b72801a;color:var(--color-muted, #6b7280)}.session-status-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;display:inline-block}.session-status-badge.status-waiting{background:#f59e0b1a;color:var(--color-warning)}.session-status-badge.status-in_session{background:#3b82f61a;color:var(--color-primary)}.session-status-badge.status-done,.session-status-badge.status-completed{background:#10b9811a;color:var(--color-success)}.session-status-badge.status-no_show{background:#ef44441a;color:var(--color-danger)}.session-status-badge.status-late{background:#f59e0b1a;color:var(--color-warning)}.session-status-badge.status-cancelled{background:#6b72801a;color:var(--color-text-secondary)}.session-status-badge.status-backlog{background:#6366f126;color:#4f46e5;margin-left:4px}.session-status-badge.status-estimated{background:#6b728033;color:#4b5563;margin-left:4px}.ledger-backlog-est{color:var(--color-text-secondary);font-size:12px}.breakdown-backlog-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:6px;background:#6366f126;color:#4f46e5;text-transform:uppercase;letter-spacing:.3px}.metric-details-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-top:var(--spacing-lg)}.metric-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.metric-details-header h3{font-size:20px;font-weight:600;color:var(--color-text);margin:0}.metric-count{font-size:14px;font-weight:600;color:var(--color-primary);background:#3b82f61a;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md)}.metric-explanation{font-size:14px;color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.metric-breakdown{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.metric-breakdown h4{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md)}.breakdown-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.breakdown-item-clickable{cursor:pointer;transition:background .15s,border-color .15s}.breakdown-item-clickable:hover{background:var(--color-surface);border-color:var(--color-primary)}.breakdown-item{touch-action:manipulation;min-height:44px}.breakdown-open-hint{font-size:12px;color:var(--color-primary);font-weight:500;margin-left:var(--spacing-sm)}.breakdown-customer{font-size:14px;color:var(--color-text);font-weight:500}.breakdown-amount{font-size:16px;font-weight:700;color:var(--color-text)}.owner-insights{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.owner-insights-title{font-size:20px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.owner-insights-backlog-note{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.owner-insights-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.owner-insights-kpi-tile{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center;display:flex;flex-direction:column;gap:2px}.owner-insights-kpi-value{font-size:18px;font-weight:700;color:var(--color-text);line-height:1.2}.owner-insights-kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary)}.owner-insights-toggles{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.owner-insights-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:14px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.owner-insights-toggle input{cursor:pointer}.owner-insights-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.owner-insights-chart{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.owner-insights-chart-title{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin:0 0 2px;text-transform:uppercase;letter-spacing:.4px}.owner-insights-chart-subtitle{font-size:12px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.owner-insights-stacked-bar{display:flex;height:24px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-border)}.owner-insights-stacked-segment{min-width:2px;transition:width .2s}.owner-insights-segment-collected{background:var(--color-success, #10b981)}.owner-insights-segment-outstanding{background:var(--color-danger, #ef4444)}.owner-insights-chart-legend{font-size:12px;color:var(--color-text-secondary);margin-top:var(--spacing-xs);display:flex;gap:var(--spacing-md)}.owner-insights-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.owner-insights-hbars{display:flex;flex-direction:column;gap:var(--spacing-xs)}.owner-insights-hbar-row{display:grid;grid-template-columns:80px 1fr 28px;align-items:center;gap:var(--spacing-xs)}.owner-insights-hbar-label{font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-insights-hbar-track{height:10px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.owner-insights-hbar-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-sm);transition:width .2s}.owner-insights-hbar-value{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-align:right}.owner-insights-donut-wrap{position:relative;width:100px;height:100px;margin:0 auto}.owner-insights-donut{width:100%;height:100%;display:block}.owner-insights-donut-bg{opacity:.3}.owner-insights-donut-fill{transition:stroke-dasharray .3s}.owner-insights-donut-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;color:var(--color-text)}.owner-insights-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.owner-insights-card{padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.owner-insights-card--good{border-left:4px solid var(--color-success, #10b981)}.owner-insights-card--watch{border-left:4px solid var(--color-warning, #f59e0b)}.owner-insights-card--action{border-left:4px solid var(--color-danger, #ef4444)}.owner-insights-card-progress-wrap{margin:0}.owner-insights-card-progress-track{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.owner-insights-card-progress-fill{height:100%;border-radius:3px;transition:width .2s}.owner-insights-card-progress-fill--good{background:var(--color-success, #10b981)}.owner-insights-card-progress-fill--watch{background:var(--color-warning, #f59e0b)}.owner-insights-card-progress-fill--action{background:var(--color-danger, #ef4444)}.owner-insights-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.owner-insights-card-title{font-size:15px;font-weight:600;color:var(--color-text)}.owner-insights-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.owner-insights-status--good{background:#10b98126;color:var(--color-success, #10b981)}.owner-insights-status--watch{background:#f59e0b26;color:var(--color-warning, #f59e0b)}.owner-insights-status--action{background:#ef444426;color:var(--color-danger, #ef4444)}.owner-insights-interpretation{font-size:14px;color:var(--color-text);margin:0;line-height:1.4}.owner-insights-action{font-size:13px;color:var(--color-text-secondary);margin:0;padding-top:var(--spacing-xs);border-top:1px dashed var(--color-border);line-height:1.4}.owner-insights-patterns{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.owner-insights-patterns-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.owner-insights-patterns-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.owner-insights-patterns-block{margin-bottom:var(--spacing-lg)}.owner-insights-hourly-bars{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:var(--spacing-sm)}.owner-insights-hourly-bar-wrap{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.owner-insights-hourly-bar{width:100%;min-height:2px;max-height:100%;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .2s;flex-shrink:0}.owner-insights-hourly-label{font-size:10px;color:var(--color-text-secondary);margin-top:4px;white-space:nowrap}.owner-insights-hourly-meta{font-size:9px;color:var(--color-text-secondary)}.owner-insights-patterns-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary)}.owner-insights-patterns-meta-item{padding:2px 6px;background:var(--color-bg);border-radius:var(--radius-sm)}.owner-insights-dow-bars{display:flex;align-items:flex-end;gap:8px;height:100px;margin-top:var(--spacing-sm)}.owner-insights-dow-bar-wrap{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.owner-insights-dow-bar{width:100%;min-height:2px;max-height:100%;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .2s;flex-shrink:0}.owner-insights-dow-label{font-size:11px;color:var(--color-text-secondary);margin-top:4px}.owner-insights-dow-meta{font-size:10px;color:var(--color-text-secondary)}.owner-insights-patterns-unavailable{font-size:13px;color:var(--color-text-secondary);margin:0;font-style:italic}.owner-insights-patterns-table-wrap{overflow-x:auto;margin-top:var(--spacing-xs)}.owner-insights-patterns-table{width:100%;border-collapse:collapse;font-size:13px}.owner-insights-patterns-table th,.owner-insights-patterns-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--color-border)}.owner-insights-patterns-table th{font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.owner-insights-patterns-recs{margin-top:var(--spacing-sm)}.owner-insights-card--info{border-left:4px solid var(--color-text-secondary, #6b7280)}.owner-insights-status--info{background:#6b728026;color:var(--color-text-secondary, #6b7280)}.weekly-slot-heatmap{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.weekly-slot-heatmap-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.weekly-slot-heatmap-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.weekly-slot-heatmap-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-md)}.weekly-slot-heatmap-grid{border-collapse:collapse;font-size:13px;min-width:280px;width:100%;table-layout:fixed}.weekly-slot-heatmap-grid th,.weekly-slot-heatmap-grid td{border:1px solid var(--color-border)}.weekly-slot-heatmap-grid thead th{padding:var(--spacing-xs) var(--spacing-sm)}.weekly-slot-heatmap-corner{background:var(--color-bg);width:3rem;min-width:3rem}.weekly-slot-heatmap-header{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);text-align:center;white-space:nowrap}.weekly-slot-heatmap-row-label{background:var(--color-bg);padding:var(--spacing-xs) var(--spacing-sm);font-weight:600;color:var(--color-text-secondary);text-align:left;vertical-align:top;width:3rem;min-width:3rem;position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--color-border)}.weekly-slot-heatmap-row-name{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.weekly-slot-heatmap-row-today{display:block;margin-top:2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary)}.weekly-slot-heatmap-td{padding:2px;vertical-align:top}.weekly-slot-heatmap-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;width:100%;min-height:2.5rem;padding:var(--spacing-xs);border:none;border-radius:var(--radius-sm);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;text-align:left;box-sizing:border-box;transition:filter .15s ease}.weekly-slot-heatmap-cell:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.weekly-slot-heatmap-cell.intensity-empty{background:var(--color-bg);color:var(--color-text-secondary)}.weekly-slot-heatmap-cell.intensity-light{background:#3b82f61f;color:var(--color-text)}.weekly-slot-heatmap-cell.intensity-medium{background:#3b82f640;color:var(--color-text);font-weight:500}.weekly-slot-heatmap-cell.intensity-strong{background:#3b82f666;color:var(--color-text);font-weight:600}.weekly-slot-heatmap-cell.is-today{outline:2px solid var(--color-primary);outline-offset:-2px}.weekly-slot-heatmap-cell-count{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.2;margin-top:auto}.weekly-slot-heatmap-cell.intensity-empty .weekly-slot-heatmap-cell-count{color:var(--color-text)}.weekly-slot-heatmap-cell:hover{filter:brightness(.97)}.weekly-slot-heatmap-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.weekly-slot-heatmap-popover{z-index:1001;padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.weekly-slot-popover-title{font-size:14px;font-weight:600;color:var(--color-text);margin:0;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.weekly-slot-popover-body{padding:var(--spacing-sm)}.weekly-slot-popover-body--scroll{max-height:240px;overflow-y:auto}.weekly-slot-popover-empty{font-size:13px;color:var(--color-text-secondary);margin:0;padding:var(--spacing-md);text-align:center}.weekly-slot-popover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.weekly-slot-popover-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:2px var(--spacing-sm);align-items:baseline;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px}.weekly-slot-popover-time{font-weight:600;color:var(--color-text);min-width:4rem}.weekly-slot-popover-name{font-weight:500;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis}.weekly-slot-popover-package{grid-column:1 / -1;font-size:12px;color:var(--color-text-secondary)}.weekly-slot-popover-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.weekly-slot-deposit-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.weekly-slot-deposit-badge.paid{background:#10b9811a;color:var(--color-success)}.weekly-slot-deposit-badge.unpaid{background:#fbbf2426;color:#b45309}.weekly-slot-status-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.weekly-slot-status-badge.status-waiting,.weekly-slot-status-badge.status-late,.weekly-slot-status-badge.status-in_session{background:#3b82f61a;color:var(--color-primary)}.weekly-slot-status-badge.status-done,.weekly-slot-status-badge.status-completed{background:#10b9811a;color:var(--color-success)}.weekly-slot-status-badge.status-no_show,.weekly-slot-status-badge.status-cancelled{background:#6b72801a;color:var(--color-text-secondary)}.weekly-slot-popover-footer{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.weekly-slot-popover-more{font-size:12px;color:var(--color-text-secondary)}.weekly-slot-popover-view-day{font-size:12px;font-weight:600;color:var(--color-primary);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.weekly-slot-popover-view-day:hover{color:var(--color-primary-hover)}.weekly-slot-heatmap-legend{font-size:14px;color:var(--color-text-secondary);margin:0}@media(max-width:768px){.weekly-slot-heatmap{gap:8px;padding:10px;border-radius:14px}.weekly-slot-heatmap-title{font-size:15px;margin-bottom:0}.weekly-slot-heatmap-subtitle{font-size:12px;margin-bottom:2px}.weekly-slot-heatmap-wrap{border-radius:10px}.weekly-slot-heatmap-grid{font-size:12px;min-width:260px}.weekly-slot-heatmap-grid thead th{padding:5px 6px}.weekly-slot-heatmap-row-label{padding:5px 6px;width:2.7rem;min-width:2.7rem}.weekly-slot-heatmap-row-name{font-size:11px}.weekly-slot-heatmap-cell{min-height:2.1rem;padding:4px}.weekly-slot-heatmap-cell-count{font-size:12px}.weekly-slot-heatmap-popover{max-width:min(92vw,360px)}.weekly-slot-popover-title{font-size:13px;padding:8px 10px}.weekly-slot-popover-body{padding:8px}.weekly-slot-popover-row{padding:7px 9px;gap:2px 7px}.weekly-slot-popover-time,.weekly-slot-popover-name{font-size:12px}.weekly-slot-popover-package,.weekly-slot-popover-more,.weekly-slot-popover-view-day{font-size:11px}.weekly-slot-heatmap-legend{font-size:12px}}.monthly-booked-calendar{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.monthly-booked-calendar-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.monthly-booked-calendar-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.monthly-booked-calendar-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.monthly-booked-calendar-grid{border-collapse:collapse;font-size:13px;min-width:280px;width:100%}.monthly-booked-calendar-dow{padding:var(--spacing-xs) var(--spacing-sm);font-weight:600;color:var(--color-text-secondary);text-align:center;border:1px solid var(--color-border);background:var(--color-bg)}.monthly-booked-calendar-td{padding:2px;border:1px solid var(--color-border);vertical-align:top}.monthly-booked-calendar-cell{display:flex;flex-direction:column;align-items:flex-start;min-height:2.5rem;padding:var(--spacing-xs);border:none;border-radius:var(--radius-sm);font:inherit;text-align:left;background:var(--color-bg);color:var(--color-text);cursor:default;width:100%;box-sizing:border-box}button.monthly-booked-calendar-cell{cursor:pointer;transition:filter .15s ease}button.monthly-booked-calendar-cell:hover{filter:brightness(.97)}button.monthly-booked-calendar-cell:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.monthly-booked-calendar-cell.intensity-empty{background:var(--color-bg);color:var(--color-text-secondary)}.monthly-booked-calendar-cell.intensity-light{background:#3b82f61f;color:var(--color-text)}.monthly-booked-calendar-cell.intensity-medium{background:#3b82f640;color:var(--color-text);font-weight:500}.monthly-booked-calendar-cell.intensity-strong{background:#3b82f666;color:var(--color-text);font-weight:600}.monthly-booked-calendar-cell.is-today{outline:2px solid var(--color-primary);outline-offset:-2px}.monthly-booked-calendar-day-num{font-size:13px;font-weight:600;color:inherit}.monthly-booked-calendar-count{font-size:14px;font-weight:700;margin-top:2px}.monthly-booked-calendar-today-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary);margin-top:2px}.upcoming-booked-slots{display:flex;flex-direction:column;gap:var(--spacing-md)}.upcoming-booked-slots-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.upcoming-booked-slots-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.upcoming-booked-slots-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.upcoming-booked-day-group{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.upcoming-booked-day-group:last-child{border-bottom:none}.upcoming-booked-day-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.upcoming-booked-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.upcoming-booked-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.upcoming-booked-row:hover{border-color:var(--color-primary);background:var(--color-surface)}.upcoming-booked-row--readonly{cursor:default}.upcoming-booked-row--readonly:hover{border-color:var(--color-border);background:var(--color-bg)}.upcoming-booked-time{font-size:14px;font-weight:600;color:var(--color-text);min-width:4.5rem;flex-shrink:0}.upcoming-booked-name{font-size:14px;font-weight:500;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-booked-package{font-size:13px;color:var(--color-text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.upcoming-booked-badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);margin-left:auto;flex-shrink:0}.upcoming-booked-deposit{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.upcoming-booked-deposit.paid{background:#10b9811a;color:var(--color-success)}.upcoming-booked-deposit.unpaid{background:#fbbf2426;color:#b45309}.upcoming-booked-status{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.upcoming-booked-status.status-waiting,.upcoming-booked-status.status-late,.upcoming-booked-status.status-in_session{background:#3b82f61a;color:var(--color-primary)}.upcoming-booked-status.status-done,.upcoming-booked-status.status-completed{background:#10b9811a;color:var(--color-success)}.upcoming-booked-status.status-no_show,.upcoming-booked-status.status-cancelled{background:#6b72801a;color:var(--color-text-secondary)}.upcoming-booked-photos{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);background:#f59e0b26;color:var(--color-warning)}.upcoming-booked-day-footer{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md)}.upcoming-booked-more{font-size:12px;color:var(--color-text-secondary)}.upcoming-booked-view-day{font-size:12px;font-weight:600;color:var(--color-primary);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.upcoming-booked-view-day:hover{color:var(--color-primary-hover)}@media(max-width:768px){.upcoming-booked-slots{gap:8px}.upcoming-booked-slots-title{font-size:15px;margin-bottom:0}.upcoming-booked-slots-empty{padding:12px;font-size:13px;border-radius:12px}.upcoming-booked-slots-card{border-radius:14px}.upcoming-booked-day-group{padding:10px}.upcoming-booked-day-label{font-size:12px;margin-bottom:6px}.upcoming-booked-list{gap:6px}.upcoming-booked-row{gap:8px;padding:8px 10px;border-radius:10px;min-height:0}.upcoming-booked-time{min-width:3.8rem;font-size:12px}.upcoming-booked-name{font-size:13px}.upcoming-booked-package{font-size:12px}.upcoming-booked-badges{gap:4px}.upcoming-booked-deposit,.upcoming-booked-status,.upcoming-booked-photos{font-size:10px;padding:2px 5px}.upcoming-booked-day-footer{margin-top:7px;padding-top:7px}.upcoming-booked-more,.upcoming-booked-view-day{font-size:11px}}.dashboard-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.dashboard-header{margin-bottom:var(--spacing-sm)}.dashboard-header h1{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.dashboard-subtitle{font-size:16px;color:var(--color-text-secondary);font-weight:400}.dashboard-context-toggle{display:inline-flex;align-items:center;gap:0;padding:var(--spacing-xs);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.dashboard-context-toggle .context-pill{padding:var(--spacing-sm) var(--spacing-lg);min-height:44px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-lg);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;touch-action:manipulation}.dashboard-context-toggle .context-pill:hover{color:var(--color-text);background:var(--color-surface)}.dashboard-context-toggle .context-pill.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.dashboard-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-section-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.dashboard-dual-panel{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.dashboard-dual-panel-item{min-width:0}@media(min-width:1024px){.dashboard-dual-panel{grid-template-columns:1.4fr 1fr;align-items:stretch}}.booked-slots-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.booked-slots-panel-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.booked-slots-toggle{display:inline-flex;padding:var(--spacing-xs);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.booked-slots-toggle-btn{padding:var(--spacing-xs) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.booked-slots-toggle-btn:hover{color:var(--color-text);background:var(--color-surface)}.booked-slots-toggle-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.booked-slots-month-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.booked-slots-month-arrow{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:18px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.booked-slots-month-arrow:hover{border-color:var(--color-primary);background:var(--color-bg)}.booked-slots-month-label{font-size:14px;font-weight:600;color:var(--color-text);min-width:7rem;text-align:center}.dashboard-pulse-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.pulse-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s;text-align:left}.pulse-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);background:var(--color-bg)}.pulse-card-header{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.pulse-card-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.pulse-session-name{font-size:16px;font-weight:600;color:var(--color-text)}.pulse-session-meta{font-size:13px;color:var(--color-text-secondary)}.pulse-number,.pulse-countdown{font-size:20px;font-weight:700;color:var(--color-text)}.pulse-hint{font-size:12px;color:var(--color-text-secondary)}.pulse-hint.warning{color:var(--color-warning);font-weight:500}.pulse-empty{font-size:14px;color:var(--color-text-secondary);font-style:italic}.pulse-badge{font-size:12px;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:inline-block;width:fit-content}.pulse-now{background:linear-gradient(135deg,#fff,#f8fafc)}.pulse-next{background:linear-gradient(135deg,#fff,#fef3c7)}.attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.attention-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.attention-time{font-size:14px;font-weight:600;color:var(--color-text);min-width:4rem}.attention-customer{font-size:14px;font-weight:500;color:var(--color-text);flex:1;min-width:0}.attention-badge{font-size:12px;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.reason-pending_deposit{background:#fbbf2426;color:#b45309}.reason-late{background:#f59e0b26;color:var(--color-warning)}.reason-done_not_completed{background:#3b82f61a;color:var(--color-primary)}.reason-photos_not_sent{background:#8b5cf61a;color:#6d28d9}.reason-outstanding_balance{background:#ef44441a;color:var(--color-danger)}.attention-status{font-size:12px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:500}.status-badge.status-waiting{background:#fbbf241a;color:#d97706}.status-badge.status-late{background:#f59e0b1a;color:var(--color-warning)}.status-badge.status-in_session{background:#3b82f61a;color:var(--color-primary)}.status-badge.status-done,.status-badge.status-completed{background:#10b9811a;color:var(--color-success)}.btn-open{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;touch-action:manipulation}.attention-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.attention-summary-cards{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.attention-summary-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s;min-width:120px}.attention-summary-card:hover{border-color:var(--color-primary);background:var(--color-bg)}.attention-summary-card.static{cursor:default}.attention-summary-value{font-size:24px;font-weight:700;color:var(--color-text)}.attention-summary-label{font-size:12px;font-weight:500;color:var(--color-text-secondary);text-align:center}.upcoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.upcoming-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;cursor:pointer;text-align:left;transition:all .2s}.upcoming-row:hover{border-color:var(--color-primary);background:var(--color-bg)}.upcoming-time{font-size:14px;font-weight:600;color:var(--color-text);min-width:4rem}.upcoming-name{font-size:14px;font-weight:500;color:var(--color-text);flex:1;min-width:0}.deposit-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.deposit-badge.locked{background:#10b9811a;color:var(--color-success)}.deposit-badge.pending{background:#fbbf2426;color:#b45309}.deposit-badge.na{background:#6b72801a;color:#6b7280}.upcoming-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.week-snapshot-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md)}.week-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.week-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.week-card-value{font-size:20px;font-weight:700;color:var(--color-text)}@media(max-width:768px){.dashboard-screen{gap:10px}.dashboard-header{margin-bottom:0}.dashboard-header h1{font-size:26px;line-height:1.15}.dashboard-subtitle{font-size:12px}.dashboard-context-toggle{padding:3px;border-radius:999px}.dashboard-context-toggle .context-pill{min-height:38px;padding:0 12px;font-size:13px;border-radius:999px}.dashboard-section{gap:6px}.dashboard-section-title{font-size:15px;margin-bottom:0}.dashboard-screen .dashboard-pulse-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-screen .dashboard-pulse-cards .pulse-card{padding:10px 11px;min-height:0;border-radius:12px}.pulse-card-header{margin-bottom:4px;font-size:10px;letter-spacing:.06em}.pulse-session-name{font-size:13px;line-height:1.25}.pulse-session-meta{font-size:11px}.pulse-number,.pulse-countdown{font-size:17px;line-height:1.15}.pulse-hint{font-size:11px;line-height:1.25}.dashboard-screen .dashboard-pulse-cards .pulse-card-now{grid-column:span 2}.dashboard-screen .dashboard-pulse-cards .pulse-card-next,.dashboard-screen .dashboard-pulse-cards .pulse-card-sessions,.dashboard-screen .dashboard-pulse-cards .pulse-card-revenue,.dashboard-screen .dashboard-pulse-cards .pulse-card-pending,.dashboard-screen .dashboard-pulse-cards .pulse-card-photos{grid-column:span 1}.pulse-card .pulse-badge{font-size:10px;padding:2px 6px}.dashboard-screen .dashboard-pulse-cards .pulse-card:not(.pulse-now):not(.pulse-next) .pulse-card-header{font-size:9px}.dashboard-screen .dashboard-pulse-cards .pulse-card:not(.pulse-now):not(.pulse-next) .pulse-number{font-size:16px}.dashboard-screen .dashboard-pulse-cards .pulse-card:not(.pulse-now):not(.pulse-next) .pulse-hint{font-size:10px}.dashboard-dual-panel{gap:8px}.attention-list{gap:6px}.attention-empty{padding:10px 12px;font-size:12px;border-radius:12px}.attention-row{flex-direction:column;align-items:flex-start;gap:6px;padding:9px 11px;border-radius:12px}.attention-time,.attention-customer{font-size:12px}.attention-badge,.attention-status{font-size:10px;padding:2px 6px}.attention-row .btn-open{align-self:stretch;text-align:center;min-height:36px;padding:0 10px;font-size:12px}.upcoming-row{flex-wrap:wrap}.week-snapshot-cards{gap:8px}.week-card{padding:10px;border-radius:12px}.week-card-label{font-size:10px}.week-card-value{font-size:16px}}@media(max-width:480px){.dashboard-context-toggle{width:100%}.dashboard-context-toggle .context-pill{flex:1;min-width:0}.booked-slots-panel-header{flex-direction:column;align-items:flex-start}.week-snapshot-cards{grid-template-columns:repeat(2,1fr)}.dashboard-screen{gap:12px}.dashboard-screen .dashboard-pulse-cards{gap:8px}.dashboard-screen .dashboard-pulse-cards .pulse-card{padding:10px}.pulse-number,.pulse-countdown{font-size:16px}}.growth-screen{display:flex;flex-direction:column;gap:var(--spacing-xl)}.growth-header{margin-bottom:var(--spacing-sm)}.growth-header h1{font-size:32px;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.growth-subtitle{font-size:16px;color:var(--color-text-secondary);font-weight:400}.growth-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.growth-section-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.btn-open{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-open:hover{background:var(--color-primary-hover)}.execution-board .execution-phase-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.execution-phase-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.execution-phase-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.execution-phase-name{font-size:18px;font-weight:700;color:var(--color-primary)}.execution-phase-meta{display:flex;gap:var(--spacing-lg);font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.execution-progress-wrap{height:8px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-md)}.execution-progress-bar{height:100%;background:var(--color-primary);border-radius:var(--radius-sm);transition:width .2s ease}.execution-phase-admin{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.execution-admin-toggle{font-size:13px;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm)}.execution-phase-buttons{display:flex;gap:var(--spacing-sm)}.execution-phase-btn{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer}.execution-phase-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pipeline-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg)}.pipeline-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.pipeline-card-header{font-size:14px;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.pipeline-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pipeline-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.pipeline-row span{color:var(--color-text-secondary)}.pipeline-row.positive strong{color:var(--color-success)}.pipeline-row.negative strong{color:var(--color-danger)}.pipeline-row.target-row input{width:80px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.pipeline-hint{font-size:12px;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.pipeline-link{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.pipeline-link:hover{background:var(--color-primary);color:#fff}.pipeline-kpi-status{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.kpi-status-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:inline-block;width:fit-content}.kpi-status-green{background:#10b98126;color:var(--color-success)}.kpi-status-amber{background:#f59e0b26;color:var(--color-warning)}.kpi-status-red{background:#ef44441f;color:var(--color-danger)}.kpi-action-hint{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.kpi-action-hint-green{background:#10b98114;border:1px solid rgba(16,185,129,.22);border-radius:var(--radius-md);padding:8px 10px}.kpi-action-hint-amber{background:#f59e0b1a;border:1px solid rgba(245,158,11,.28);border-radius:var(--radius-md);padding:8px 10px}.kpi-action-hint-red{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:8px 10px;color:#991b1b}.kpi-action-line{margin-top:2px}.kpi-action-line:first-child{margin-top:0}.kpi-alert-strip{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:14px;font-weight:600;margin-bottom:var(--spacing-md)}.kpi-alert-red{background:#ef44441f;border:1px solid var(--color-danger);color:var(--color-danger)}.kpi-alert-amber{background:#f59e0b1f;border:1px solid var(--color-warning);color:#b45309}.pipeline-form-card{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.pipeline-form-title{font-size:16px;font-weight:600;margin-bottom:var(--spacing-md)}.pipeline-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.pipeline-form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.pipeline-form-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pipeline-form-field input,.pipeline-form-field select{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.pipeline-form-actions{display:flex;gap:var(--spacing-md)}.pipeline-form-actions button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface)}.target-tracker-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.target-tracker-rows{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.target-tracker-row{display:flex;justify-content:space-between;font-size:14px}.target-tracker-row.total{font-weight:700;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.target-tracker-row.remaining strong{color:var(--color-primary)}.target-tracker-progress-wrap{height:10px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm)}.target-tracker-progress-bar{height:100%;background:var(--color-success);border-radius:var(--radius-sm);transition:width .2s ease}.target-tracker-meta{font-size:12px;color:var(--color-text-secondary)}.task-board-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.task-board-phase{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.task-board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-board-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.task-board-item.completed .task-board-title{text-decoration:line-through;color:var(--color-text-secondary)}.task-board-check{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;flex:1;min-width:0}.task-board-title{font-size:14px;font-weight:500}.task-board-date{font-size:12px;color:var(--color-text-secondary)}.task-board-notes{flex:1;min-width:120px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px}.task-board-empty{font-size:14px;color:var(--color-text-secondary);font-style:italic}.forecast-toggle{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:14px;cursor:pointer;margin-bottom:var(--spacing-md)}.forecast-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.forecast-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.forecast-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.forecast-row span{font-size:12px;color:var(--color-text-secondary)}.forecast-row input{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.forecast-result{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.forecast-result strong{font-size:20px;color:var(--color-primary)}.insight-card{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.insight-card.insight-revenue{background:#3b82f614;border-color:var(--color-primary)}.insight-card.insight-slot{background:#f59e0b14;border-color:var(--color-warning)}.insight-card.insight-target{background:#10b98114;border-color:var(--color-success)}.insight-suggestion{margin:0;font-size:15px;font-weight:500;color:var(--color-text)}@media(max-width:768px){.growth-screen{gap:14px}.growth-header h1{font-size:28px;margin-bottom:2px}.growth-subtitle{font-size:13px}.growth-section{gap:10px}.growth-section-title{font-size:16px}.growth-screen .execution-board{order:1}.growth-screen .execution-board .execution-phase-card{padding:14px;border-radius:16px;border:1px solid #10b98133;box-shadow:0 8px 24px #10b9811f;min-height:0}.execution-phase-name{font-size:16px}.execution-phase-meta{flex-direction:column;gap:4px;font-size:12px}.growth-screen .pipeline-cards{grid-template-columns:1fr;gap:10px}.growth-screen .pipeline-card{padding:12px;border-radius:14px;min-height:0}.pipeline-card-header,.pipeline-row{font-size:13px}.pipeline-row.target-row input{width:86px}.growth-screen .pipeline-link{width:100%;text-align:center;min-height:40px}.kpi-action-hint{font-size:12px}.growth-screen .target-tracker-card{padding:14px;border-radius:16px;border:1px solid #10b9814a;box-shadow:0 12px 30px #10b98129;min-height:0}.target-tracker-row{font-size:13px;padding:2px 0}.target-tracker-row.total{font-size:14px}.target-tracker-row.remaining strong{font-size:17px;color:#047857}.target-tracker-progress-wrap{height:12px}.target-tracker-meta{font-size:13px;font-weight:600;color:#047857}.growth-screen .task-board-card,.growth-screen .forecast-card,.growth-screen .pipeline-form-card,.growth-screen .insight-card{padding:12px;border-radius:14px;min-height:0}.task-board-item{gap:8px;padding:10px}.task-board-notes{width:100%;min-width:0}}.backlog-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.backlog-header{margin-bottom:var(--spacing-sm)}.backlog-header h1{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.backlog-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.backlog-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-lg)}.backlog-filters .filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.backlog-filters .filter-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-date-range{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-date-range .date-filter{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-surface)}.filter-sep{font-size:12px;color:var(--color-text-secondary)}.backlog-filters .date-filter{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-surface);min-width:160px}.backlog-name-search{min-width:200px}.backlog-ledger{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.backlog-ledger h2{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-lg)}.backlog-ledger .ledger-table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.backlog-ledger .ledger-table{width:100%;border-collapse:collapse;font-size:14px}.backlog-ledger .ledger-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.backlog-ledger .ledger-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);white-space:nowrap}.backlog-ledger .ledger-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text)}.backlog-ledger .ledger-table tbody tr:last-child td{border-bottom:none}.backlog-ledger .ledger-row-clickable{cursor:pointer}.backlog-ledger .ledger-row-clickable:hover{background:#3b82f60f}.backlog-ledger .ledger-empty{text-align:center;padding:var(--spacing-2xl)!important;color:var(--color-text-secondary);font-style:italic}.backlog-ledger .ledger-table-wrapper{-webkit-overflow-scrolling:touch}@media(max-width:768px){.backlog-ledger{padding:var(--spacing-md)}.backlog-filters{flex-direction:column;align-items:stretch}.backlog-filters .filter-group .date-filter,.backlog-name-search{width:100%;min-width:0;min-height:44px}}@media(max-width:480px){.backlog-ledger .ledger-table th,.backlog-ledger .ledger-table td{padding:var(--spacing-sm);font-size:13px}}.backlog-time-estimated{margin-left:2px;color:var(--color-text-secondary);font-size:12px}.backlog-ledger .session-status-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;display:inline-block;margin-right:4px}.backlog-ledger .session-status-badge.status-backlog{background:#6366f126;color:#4f46e5}.backlog-ledger .session-status-badge.status-estimated{background:#6b728033;color:#4b5563}.aftercare-inbox{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.aftercare-inbox__intro{margin:0;font-size:.95rem;color:var(--app-muted, rgba(15, 23, 42, .65));line-height:1.5}.aftercare-inbox__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.aftercare-inbox__filters{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.2rem;border-radius:10px;background:var(--app-surface-2, rgba(15, 23, 42, .04));border:1px solid var(--app-border, rgba(15, 23, 42, .08))}.aftercare-inbox__filter{border:none;background:transparent;padding:.45rem .85rem;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--app-fg-muted, rgba(15, 23, 42, .55));cursor:pointer;font-family:inherit}.aftercare-inbox__filter:hover{color:var(--app-fg, #0f172a)}.aftercare-inbox__filter.is-active{background:var(--app-surface-elevated, #fff);color:var(--app-fg, #0f172a);box-shadow:0 1px 2px #0f172a0f}.aftercare-inbox__refresh{margin-left:auto;padding:.45rem .95rem;border-radius:8px;border:1px solid var(--app-border, rgba(15, 23, 42, .12));background:var(--app-surface-elevated, #fff);font-weight:600;font-size:.85rem;cursor:pointer;font-family:inherit}.aftercare-inbox__refresh:disabled{opacity:.55;cursor:not-allowed}.aftercare-inbox__alert{margin:0;padding:.85rem 1rem;border-radius:10px;font-size:.9rem;line-height:1.45}.aftercare-inbox__alert--error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.aftercare-inbox__alert--config{background:#eab3081a;color:#a16207;border:1px solid rgba(234,179,8,.25)}.aftercare-inbox__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.aftercare-inbox__card{padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--app-border, rgba(15, 23, 42, .1));background:var(--app-surface-elevated, #fff);box-shadow:0 1px 2px #0f172a0a}.aftercare-inbox__card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.65rem}.aftercare-inbox__status{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;background:#0f172a0f;color:#0f172ab3}.aftercare-inbox__status--reviewed{background:#16a34a1f;color:#15803d}.aftercare-inbox__status--actioned{background:#0e74901f;color:#0e7490}.aftercare-inbox__id{font-size:.75rem;color:var(--app-muted, rgba(15, 23, 42, .45));font-family:ui-monospace,monospace;word-break:break-all}.aftercare-inbox__body{font-size:.92rem;line-height:1.55;color:var(--app-fg, #0f172a)}.aftercare-inbox__body p{margin:.35rem 0 0}.aftercare-inbox__meta{margin-top:.65rem;font-size:.82rem;color:var(--app-muted, rgba(15, 23, 42, .55))}.aftercare-inbox__actions{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem}.aftercare-inbox__btn{padding:.4rem .85rem;border-radius:8px;border:none;font-weight:600;font-size:.82rem;cursor:pointer;font-family:inherit;background:var(--app-accent, #0f766e);color:#fff}.aftercare-inbox__btn:disabled{opacity:.5;cursor:not-allowed}.aftercare-inbox__btn--secondary{background:transparent;color:var(--app-fg, #0f172a);border:1px solid var(--app-border, rgba(15, 23, 42, .15))}.aftercare-inbox__empty{text-align:center;padding:2rem 1rem;color:var(--app-muted, rgba(15, 23, 42, .5));font-size:.95rem}.aftercare-inbox__raw{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#0f172a0a;font-size:.72rem;overflow-x:auto;max-height:200px;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-secondary: #64748b;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-neutral: #6b7280;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--nezco-green: #1a3c34;--nezco-green-light: #243d36;--nezco-gold: #c9a227;--nezco-gold-muted: rgba(201, 162, 39, .85);--nezco-nav-text: rgba(255, 255, 255, .88);--nezco-nav-text-hover: #fff;--nav-height: 40px;--nav-padding-x: 16px;--nav-brand-size: 24px;--nav-brand-font: 14px;--nav-brand-tagline: 9px;--nav-item-font: 12px;--nav-item-padding-x: 10px;--nav-item-height: 28px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-nav{background:var(--nezco-green);border-bottom:1px solid rgba(0,0,0,.15);padding:0 var(--nav-padding-x);display:flex;align-items:center;gap:0;min-height:var(--nav-height);box-shadow:0 1px #ffffff0a}.app-nav-brand{display:flex;align-items:center;gap:8px;padding-right:20px;flex-shrink:0}.app-nav-logo{height:var(--nav-brand-size);width:auto;display:block;object-fit:contain}.app-nav-brand-fallback{display:none;flex-direction:row;align-items:baseline;gap:6px}.app-nav-brand-name{font-family:Georgia,Times New Roman,serif;font-size:var(--nav-brand-font);font-weight:600;color:var(--nezco-gold);letter-spacing:.04em}.app-nav-brand-tagline{font-size:var(--nav-brand-tagline);font-weight:400;color:var(--nezco-gold-muted);letter-spacing:.05em;text-transform:lowercase}.app-nav-primary{flex:1;min-width:0;display:flex;align-items:center}.app-nav-links-scroll{display:flex;align-items:center;gap:1px;padding:0 4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:var(--nav-item-height)}.app-nav-links-scroll::-webkit-scrollbar{display:none}.app-nav-primary .app-nav-links-scroll button{background:none;border:none;padding:0 var(--nav-item-padding-x);font-size:var(--nav-item-font);font-weight:500;color:var(--nezco-nav-text);cursor:pointer;border-radius:4px;transition:color .1s,background .1s;touch-action:manipulation;white-space:nowrap;min-height:var(--nav-item-height);display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}.app-nav-primary .app-nav-links-scroll button:hover{color:var(--nezco-nav-text-hover);background:#ffffff0f}.app-nav-primary .app-nav-links-scroll button.active{color:var(--nezco-gold);background:#c9a2272e;font-weight:600}.app-nav-primary .app-nav-links-scroll button.active:after{display:none}.app-nav-right{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-left:12px;margin-left:8px;border-left:1px solid rgba(255,255,255,.08)}.app-nav-tools-wrap,.app-nav-tools-details{position:relative}.app-nav-tools-trigger{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0 8px;min-height:var(--nav-item-height);font-size:11px;font-weight:500;color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;transition:color .1s,background .1s,border-color .1s;touch-action:manipulation;letter-spacing:.02em}.app-nav-tools-trigger::-webkit-details-marker{display:none}.app-nav-tools-trigger:hover{color:var(--nezco-nav-text-hover);background:#ffffff1a;border-color:#ffffff26}.app-nav-tools-details[open] .app-nav-tools-trigger{color:var(--nezco-gold);background:#c9a22726;border-color:#c9a2274d}.app-nav-tools-trigger-icon{font-size:9px;opacity:.9;transition:transform .2s}.app-nav-tools-details[open] .app-nav-tools-trigger-icon{transform:rotate(180deg)}.app-nav-tools-menu{position:absolute;right:0;top:100%;margin-top:4px;min-width:200px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;display:flex;flex-direction:column;gap:1px}.app-nav-tools-item-nav{border-bottom:1px solid var(--color-border);margin-bottom:4px;padding-bottom:8px}.app-nav-tools-item{display:block;width:100%;padding:8px 10px;font-size:13px;font-weight:500;color:var(--color-text);background:none;border:none;border-radius:4px;cursor:pointer;text-align:left;transition:background .12s,color .12s;touch-action:manipulation;min-height:36px}.app-nav-tools-item:hover:not(:disabled){background:var(--color-bg);color:var(--color-primary)}.app-nav-tools-item:disabled{opacity:.6;cursor:not-allowed}.app-nav-tools-status{margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:4px}.app-nav-tools-status .app-nav-status{font-size:11px;padding:2px 6px;border-radius:4px}.app-nav-tools-status .app-nav-status-success{background:#10b9811a;color:var(--color-success)}.app-nav-tools-status .app-nav-status-error{background:#ef444414;color:var(--color-danger)}.app-nav-account{display:flex;align-items:center}.app-nav-signout-btn{padding:0 10px;min-height:var(--nav-item-height);font-size:11px;font-weight:500;color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:color .1s,background .1s,border-color .1s;touch-action:manipulation;letter-spacing:.02em}.app-nav-signout-btn:hover{color:var(--nezco-nav-text-hover);background:#ffffff1a;border-color:#ffffff26}.app-nav-status{font-size:12px;white-space:nowrap}.app-nav-status-success{color:var(--color-success, green)}.app-nav-status-error{color:var(--color-error, crimson)}.app-main{flex:1;padding:var(--spacing-xl);max-width:1400px;width:100%;margin:0 auto;min-width:0}.app .btn-primary{min-height:44px;touch-action:manipulation}@media(max-width:768px){.app-nav{flex-wrap:wrap;padding:0 12px;min-height:auto;gap:0;align-content:center}.app-nav-brand{padding-right:12px;order:1}.app-nav-primary{flex:1 1 auto;min-width:0;order:2}.app-nav-links-scroll{margin-left:0;padding:0 2px;min-height:32px}.app-nav-right{order:3;width:100%;flex-wrap:wrap;justify-content:flex-end;padding:4px 0 6px;margin-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.06);margin-top:2px}.app-nav-tools-menu{right:0;left:auto;min-width:200px}.app-nav-primary .app-nav-links-scroll button{padding:0 8px;font-size:12px;min-height:32px}.app-main{padding:var(--spacing-md)}}@media(max-width:480px){.app-nav{padding:0 10px}.app-nav-brand{padding-right:10px}.app-nav-logo{height:22px}.app-nav-brand-name{font-size:13px}.app-nav-brand-tagline{font-size:9px}.app-nav-links-scroll{min-height:36px}.app-nav-primary .app-nav-links-scroll button{padding:0 6px;font-size:11px;min-height:36px}.app-nav-tools-trigger{padding:0 8px;font-size:11px;min-height:36px}.app-nav-signout-btn{min-height:36px;padding:0 8px;font-size:11px}.app-main{padding:var(--spacing-sm)}}html{scroll-behavior:smooth}button,[role=button],input[type=button],input[type=submit],input[type=reset],select,label[for]{touch-action:manipulation}@media(max-width:480px){.reports-header h1,.today-header h1,.dashboard-header h1,.customers-header h1,.backlog-header h1{font-size:22px}}:root{--color-bg: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-primary: #10b981;--color-primary-hover: #059669;--color-success: #10b981;--color-warning: #d97706;--color-danger: #b91c1c;--color-neutral: #6b7280;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 6px 18px rgba(15, 23, 42, .08);--shadow-lg: 0 14px 28px rgba(15, 23, 42, .1)}body{background:var(--color-bg);color:var(--color-text)}.app{min-height:100vh;display:block;width:100%;overflow-x:hidden}.app-mobile-topbar,.app-mobile-bottomnav,.app-mobile-more-sheet{display:none}.app-sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;background:#064e3b;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;z-index:50;padding:24px 14px}.app-sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 10px 18px}.app-sidebar-brand-mark{width:42px;height:42px;border-radius:14px;overflow:hidden;flex-shrink:0;background:#064e3b}.app-sidebar-brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.app-sidebar-brand-title{color:#fff;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.01em}.app-sidebar-brand-subtitle{color:#ffffffa6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.app-sidebar-nav{display:flex;flex-direction:column;gap:4px}.app-sidebar-nav button{min-height:44px;border:none;border-left:3px solid transparent;border-radius:12px;background:transparent;color:#ffffffb3;display:flex;align-items:center;gap:10px;padding:0 12px;font-size:14px;text-align:left;transition:background .15s ease,transform .12s ease,color .15s ease}.app-sidebar-nav button:hover{color:#fff;background:#ffffff14}.app-sidebar-nav button:active{transform:scale(.985)}.app-sidebar-nav button.active{border-left-color:#10b981;color:#fff;background:#10b98129}.app-sidebar-nav-icon{width:18px;text-align:center;opacity:.9}.app-sidebar-footer{margin-top:auto;display:grid;gap:10px;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.app-content-shell{margin-left:260px;width:calc(100vw - 260px);min-width:0;overflow-x:hidden}.app-topbar{position:sticky;top:0;z-index:40;height:78px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px}.app-topbar-title h2{margin:0;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.02em}.app-topbar-title p{margin:2px 0 0;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.app-topbar-actions{display:flex;align-items:center;gap:10px}.app-topbar-search-shell{position:relative;min-width:280px}.app-topbar-search{height:44px;min-width:280px;border:1px solid var(--color-border);border-radius:12px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px}.app-topbar-search:focus-within{border-color:#10b981;box-shadow:0 0 0 3px #10b98129}.app-topbar-search input{border:none;outline:none;width:100%;font-size:14px;background:transparent;color:var(--color-text)}.app-global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:360px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 18px 36px #0f172a1f;z-index:20}.app-global-search-item{width:100%;border:none;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px 14px}.app-global-search-item:last-child{border-bottom:none}.app-global-search-item:hover{background:#f8fafc}.app-global-search-tag{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 8px}.app-global-search-tag.tag-customer{background:#ecfdf5;color:#047857}.app-global-search-tag.tag-session{background:#eff6ff;color:#1d4ed8}.app-global-search-copy{display:flex;flex-direction:column;min-width:0}.app-global-search-copy strong{font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-global-search-copy span{margin-top:3px;font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-global-search-empty{padding:14px;color:#64748b;font-size:13px}.app-topbar-live{height:34px;padding:0 12px;border-radius:999px;background:#ecfdf5;color:#047857;display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.app-topbar-icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--color-border);background:#fff}.app-main{max-width:1600px;margin:0 auto;width:100%;min-width:0;padding:36px 40px;overflow-x:hidden}.btn-primary,.btn-edit,.btn-open{background:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover,.btn-edit:hover,.btn-open:hover{background:var(--color-primary-hover)}.reports-screen .summary-card,.rates-screen .rate-card,.customers-screen .customer-card,.dashboard-section .pulse-card,.close-day-screen .close-day-checklist,.close-day-screen .close-day-summary,.close-day-screen .close-day-notes,.growth-section .pipeline-card,.growth-section .task-board-card,.growth-section .target-tracker-card,.reports-ledger{border-radius:16px;box-shadow:0 6px 20px #0f172a0d}.session-status-badge,.deposit-status-badge,.attention-badge,.pulse-badge{border-radius:999px}.dashboard-screen,.today-screen,.customers-screen,.rates-screen,.reports-screen,.close-day-screen,.growth-screen{gap:32px;width:100%;max-width:none;min-width:0;display:block}.rates-content,.rates-section,.reports-screen,.growth-screen,.dashboard-screen,.today-screen,.customers-screen{width:100%;max-width:none;min-width:0}.close-day-screen{max-width:none!important;width:100%;min-width:0}.customer-form{max-width:860px}.dashboard-header h1,.today-header h1,.customers-header h1,.rates-header h1,.reports-header h1,.close-day-header h1,.growth-header h1{letter-spacing:-.02em;margin-bottom:6px}.dashboard-section,.growth-section,.rates-section{gap:16px}.dashboard-section-title,.growth-section-title,.close-day-checklist h2,.close-day-summary h2,.visit-history-section h2,.customer-overview-section h2,.reports-ledger h2{font-family:Manrope,sans-serif;font-weight:700}.summary-card,.pulse-card,.customer-card,.rate-card,.checklist-item,.pipeline-card,.task-board-item,.attention-row,.upcoming-row,.history-table tbody tr{transition:background .16s ease,border-color .16s ease,transform .14s ease,box-shadow .16s ease}.summary-card:hover,.customer-card:hover,.rate-card:hover,.pulse-card:hover{transform:translateY(-2px)}.history-table tbody tr:hover{background:#f8fafc}.history-table th,.ledger-table th{font-size:11px;letter-spacing:.06em;color:#64748b}.history-table td,.ledger-table td{padding-top:14px;padding-bottom:14px;vertical-align:middle}.summary-card-value,.pulse-number,.week-card-value,.remaining-count,.stat-value{letter-spacing:-.02em}.reports-summary-cards,.weekly-summary-cards,.overview-stats-grid,.week-snapshot-cards,.pipeline-cards,.rates-list,.customers-list{gap:24px}.customers-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));width:100%}.weekly-summary-cards,.reports-summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.reports-filters,.date-selector,.customer-overview-section,.visit-history-section,.close-day-checklist,.close-day-summary,.close-day-notes,.target-tracker-card,.task-board-card,.forecast-card,.reports-ledger,.metric-details-section{border-radius:16px;border:1px solid var(--color-border);box-shadow:0 8px 24px #0f172a0d}.status-badge,.session-status-badge,.deposit-status-badge,.behavior-badge,.kpi-status-badge,.slot-status-badge{font-weight:600;letter-spacing:.02em}.btn-primary,.btn-secondary,.btn-edit,.btn-delete,.btn-open,.btn-share-slots,.btn-close-day,.app-nav-signout-btn,.app-topbar-icon-btn{min-height:44px;border-radius:12px}.btn-primary{box-shadow:0 8px 18px #10b98133}.btn-primary:active,.btn-secondary:active,.btn-edit:active,.btn-delete:active,.btn-open:active{transform:scale(.98)}@media(max-width:1100px){.app{width:100%}.app-sidebar{position:static;width:100%;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0}.app-content-shell{margin-left:0;width:100%}.app-sidebar-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}.app-topbar{position:sticky;padding:10px 16px;height:auto;min-height:70px;flex-wrap:wrap}.app-topbar-search{min-width:220px;width:100%}.app-topbar-search-shell{width:100%;min-width:220px}.app-main{padding:20px 16px;max-width:none}}@media(max-width:768px){.app{overflow-x:hidden}.app-sidebar,.app-topbar{display:none}.app-mobile-topbar{position:sticky;top:0;z-index:60;height:56px;padding:0 14px;background:#ffffffe6;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between}.app-mobile-title{font-family:Manrope,sans-serif;font-size:17px;font-weight:800;color:#047857}.app-mobile-topbar-actions{display:flex;align-items:center;gap:8px}.app-mobile-icon-btn{width:36px;height:36px;border:1px solid var(--color-border);border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center}.app-mobile-more-sheet{position:fixed;top:64px;left:12px;right:12px;z-index:65;border:1px solid var(--color-border);background:#fff;border-radius:16px;box-shadow:0 18px 36px #0f172a1f;padding:8px;display:grid;gap:4px}.app-mobile-more-item{width:100%;min-height:42px;border:none;background:transparent;border-radius:10px;text-align:left;padding:0 12px;font-size:14px;color:#334155}.app-mobile-more-item:disabled{opacity:.6}.app-mobile-more-item:hover{background:#f8fafc}.app-content-shell{margin-left:0;width:100%}.app-main{padding:16px 14px 108px;max-width:none;width:100%;overflow-x:hidden}.app-mobile-bottomnav{position:fixed;left:12px;right:12px;bottom:10px;z-index:60;min-height:82px;background:#fffffff5;border:1px solid #dbe7f5;border-radius:20px;box-shadow:0 12px 28px #0f172a1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.app-mobile-bottomnav button{border:none;background:transparent;border-radius:14px;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#94a3b8;font-size:10px;font-weight:700;position:relative;transition:background .18s ease,color .18s ease}.app-mobile-bottomnav button span:first-child{font-size:19px;line-height:1;font-weight:700}.app-mobile-bottomnav button span:last-child{font-size:11px;line-height:1;letter-spacing:.01em}.app-mobile-bottomnav button.active{color:#047857;background:#dff3e9}.app-mobile-bottomnav button.active:after{content:"";position:absolute;bottom:7px;width:6px;height:6px;border-radius:999px;background:#10b981}}@media(min-width:1400px){.app-main{padding:40px 48px}.dashboard-screen,.today-screen,.customers-screen,.rates-screen,.reports-screen,.close-day-screen,.growth-screen{gap:36px}}.dashboard-pulse-cards{grid-template-columns:repeat(12,minmax(0,1fr));width:100%}.dashboard-pulse-cards .pulse-card{grid-column:span 3;min-height:148px;border-radius:18px;padding:22px}.dashboard-pulse-cards .pulse-now{grid-column:span 4;background:linear-gradient(160deg,#fff,#f1fdf7)}.dashboard-pulse-cards .pulse-next{grid-column:span 4;background:linear-gradient(160deg,#fff,#eef6ff)}.week-snapshot-cards .week-card{border-radius:16px;padding:20px}.attention-list .attention-row{border-radius:14px;background:#fff}.today-header{border-bottom:1px solid var(--color-border);padding-bottom:10px}.date-selector{background:#fff;border-radius:16px}.date-btn.active{background:#10b981}.operator-dashboard-main{grid-template-columns:2.3fr 1fr;gap:24px;width:100%;min-width:0}.live-queue{border-radius:18px;box-shadow:0 8px 24px #0f172a0f}.live-queue-card{border-radius:14px}.customers-list .customer-card{border-radius:16px}.visit-history-section .history-table-wrapper{border-radius:14px;border:1px solid var(--color-border);background:#fff;width:100%}.history-table thead{background:#f8fafc}.history-table tbody tr{background:#fff}.history-table tbody tr:hover{background:#f9fdfb}.rates-list .rate-card{border-radius:16px;padding:var(--spacing-md, 16px);min-height:0;align-items:flex-start}.rates-list .rate-card:hover{border-color:#86efac;box-shadow:0 14px 28px #10b98124}.rates-section .section-header{align-items:center;padding-bottom:4px}.reports-summary-cards .summary-card{border-radius:18px;padding:22px;min-height:132px}.metric-details-section{border-radius:18px}.reports-ledger{border-radius:18px;width:100%}.ledger-table-wrapper{border-radius:12px;width:100%}.checklist-item{border-radius:14px}.close-day-actions .btn-close-day{font-family:Manrope,sans-serif;font-weight:700;box-shadow:0 14px 28px #10b98138;letter-spacing:-.01em}.pipeline-cards .pipeline-card{border-radius:18px;padding:20px;min-height:238px}.pipeline-card.studio{background:linear-gradient(160deg,#fff,#ecfdf5)}.pipeline-card.event{background:linear-gradient(160deg,#fff,#f8fafc)}.pipeline-card.corporate{background:linear-gradient(160deg,#fff,#f3f4ff)}.task-board-item{border-radius:12px}.insight-card{border-radius:16px;box-shadow:0 8px 22px #0f172a0f}@media(max-width:1200px){.dashboard-pulse-cards .pulse-card,.dashboard-pulse-cards .pulse-now,.dashboard-pulse-cards .pulse-next{grid-column:span 6}.operator-dashboard-main{grid-template-columns:1fr}.pipeline-cards .pipeline-card,.reports-summary-cards .summary-card,.rates-list .rate-card{min-height:0}}@media(max-width:760px){.dashboard-pulse-cards{grid-template-columns:1fr}.dashboard-pulse-cards .pulse-card,.dashboard-pulse-cards .pulse-now,.dashboard-pulse-cards .pulse-next{grid-column:auto}}body{margin:0;font-family:Inter,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Manrope,Inter,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
