.primary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all .2s}.card:hover{box-shadow:var(--shadow-lg)}.card-header{margin-bottom:var(--spacing-md)}.card-header h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin:0}.card-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.card-now{background:linear-gradient(135deg,#fff,#f8fafc)}.card-next{background:linear-gradient(135deg,#fff,#fef3c7)}.card-remaining{background:linear-gradient(135deg,#fff,#f1f5f9)}.session-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-name{font-size:clamp(18px,4vw,24px);font-weight:700;color:var(--color-text);word-break:break-word}.session-time{font-size:16px;color:var(--color-text-secondary);font-weight:500}.session-package{font-size:14px;color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm);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:18px;font-weight:600;color:var(--color-warning);margin-top:var(--spacing-sm)}.no-session{font-size:18px;color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-lg) 0}.remaining-count{font-size:48px;font-weight:700;color:var(--color-text);line-height:1}.remaining-label{font-size:16px;color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.no-show-badge{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;color:var(--color-danger);border-radius:var(--radius-md);font-size:14px;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}.remaining-count{font-size:36px}}.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}.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:390px}.receipt-booking-section .receipt-image-canvas.receipt-preview,.receipt-booking-section .receipt-image-canvas.receipt-capture{height:1500px}.receipt-booking-section .receipt-inner{min-height:100%;background:linear-gradient(165deg,#faf9f6,#f5f3ee 35%,#f8f6f1);padding:56px 72px 52px;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 32px;padding:20px 24px 22px;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-footer{margin-top:auto;padding-top:32px;padding-bottom:4px;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)}.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:var(--spacing-xl);min-width:0}.today-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.today-header h1{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.today-date{font-size:16px;color:var(--color-text-secondary);font-weight:400}.studio-context{display:flex;align-items:center}.studio-badge{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--color-text-secondary)}.date-selector{display:flex;justify-content:space-between;align-items:center;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);margin-bottom:var(--spacing-md);flex-wrap:wrap;min-width:0}.date-quick-buttons{display:flex;gap:var(--spacing-sm)}.date-btn{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:14px;font-weight:500;cursor:pointer;transition:all .2s;touch-action:manipulation}.date-btn:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-text)}.date-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.date-picker-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.date-picker-label{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.date-picker{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-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)}.timeline-section{margin-top:var(--spacing-xl)}.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:var(--spacing-sm);margin-bottom:var(--spacing-md);align-items:center}.walkins-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.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:var(--radius-md);font-size:14px;cursor:pointer;transition:all .2s;touch-action:manipulation}.walkin-item:hover{border-color:var(--color-primary);background:#3b82f60f}.walkin-time{font-weight:600;color:var(--color-text-secondary)}.walkin-name{color:var(--color-text)}@media(max-width:480px){.today-screen{gap:var(--spacing-lg)}.date-selector{flex-direction:column;align-items:stretch}.date-quick-buttons{justify-content:flex-start}.date-picker-wrapper,.date-picker{width:100%}.timeline-section-header{flex-direction:column;align-items:flex-start}.timeline-section-header-actions{width:100%}.timeline-section-header-actions .btn-secondary,.timeline-section-header-actions .btn-primary{flex:1;min-width:0}}.customers-screen{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.customers-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.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-input{width:100%;max-width:400px;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)}.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:var(--spacing-2xl);color:var(--color-text-secondary);font-size:16px}.customer-detail-view{display:flex;flex-direction:column;gap:var(--spacing-xl)}.customer-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.btn-back{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);min-height:44px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;touch-action:manipulation}.btn-back:hover{background:var(--color-bg);border-color:var(--color-primary)}.customer-detail-title{flex:1}.customer-detail-title h1{font-size:clamp(20px,5vw,32px);font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-xs) 0;word-break:break-word}.customer-contact-info{font-size:16px;color:var(--color-text-secondary);display:flex;gap:var(--spacing-md)}.customer-overview-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)}.customer-overview-section h2{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-lg) 0}.overview-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.overview-stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:700;color:var(--color-text)}.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:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.visit-history-section h2{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-lg) 0}.history-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.history-table{width:100%;border-collapse:collapse;font-size:14px}.history-table thead{background:var(--color-bg)}.history-table th{padding:var(--spacing-md);text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border)}.history-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text)}.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:var(--color-bg)}.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:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.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-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:repeat(auto-fit,minmax(min(140px,100%),1fr))}.customer-overview-section h2,.visit-history-section h2,.customer-notes-section h2{font-size:20px}}@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}.rates-screen{display:flex;flex-direction:column;gap:var(--spacing-xl)}.rates-header{margin-bottom:var(--spacing-md)}.rates-header h1{font-size:32px;font-weight:700;color:var(--color-text)}.rates-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.rates-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h2{font-size:24px;font-weight:600;color:var(--color-text)}.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-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.rate-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);display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s}.rate-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.rate-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.rate-name{font-size:18px;font-weight:700;color:var(--color-text)}.rate-details{font-size:14px;color:var(--color-text-secondary)}.rate-actions{display:flex;gap:var(--spacing-sm)}.btn-edit{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit:hover{background:var(--color-primary-hover)}.btn-delete{background:var(--color-danger);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-delete:hover{background:#dc2626}.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}@media(max-width:640px){.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-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}.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-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-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.reports-tabs{width:100%;order:2}.reports-header h1{order:1}.reports-header .btn-primary{order:3}.reports-ledger{padding:var(--spacing-md)}.reports-ledger h2{font-size:18px}.ledger-table th,.ledger-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:13px}}@media(max-width:480px){.reports-filters{flex-direction:column;align-items:stretch}.reports-filters .filter-group{width:100%}.reports-filters .date-filter,.reports-filters .btn-secondary{width:100%;min-height:44px}.weekly-summary-cards{grid-template-columns:1fr}.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;overflow:hidden}.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:320px;width:max-content}.weekly-slot-heatmap-grid th,.weekly-slot-heatmap-grid td{text-align:center;border:1px solid var(--color-border)}.weekly-slot-heatmap-grid th{padding:var(--spacing-xs) var(--spacing-sm)}.weekly-slot-heatmap-corner{background:var(--color-bg);min-width:2.5rem}.weekly-slot-heatmap-header{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);white-space:nowrap;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.weekly-slot-heatmap-row-label{background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);text-align:left;min-width:2.5rem;position:sticky;left:0;z-index:1}.weekly-slot-heatmap-td{padding:0;vertical-align:middle}.weekly-slot-heatmap-cell{display:block;width:100%;min-width:2.5rem;min-height:2rem;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:0;font:inherit;font-variant-numeric:tabular-nums;font-weight:500;cursor:pointer;text-align:center;background:transparent;color:inherit;transition:filter .15s ease}.weekly-slot-heatmap-cell:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.weekly-slot-heatmap-cell.level-empty{background:var(--color-bg);color:var(--color-text-secondary)}.weekly-slot-heatmap-cell.level-one{background:#3b82f626;color:var(--color-text)}.weekly-slot-heatmap-cell.level-many{background:#3b82f659;color:var(--color-text);font-weight:600}.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:12px;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0}.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)}.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-pulse-cards{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.pulse-card{min-height:44px}.attention-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.attention-row .btn-open{align-self:stretch;text-align:center}.upcoming-row{flex-wrap:wrap}}@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)}}.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-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)}.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}*{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}}body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
