*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--brand-primary: #0F172A;--brand-accent: #0D9488;--brand-accent-hover: #0F766E;--brand-accent-light: #F0FDFA;--brand-accent-border: #99F6E4;--color-success: #10B981;--color-success-hover: #059669;--color-success-bg: #ECFDF5;--color-success-border: #A7F3D0;--color-success-text: #065F46;--color-success-dark: #059669;--color-warning: #F97316;--color-warning-hover: #EA580C;--color-warning-bg: #FFF7ED;--color-warning-border: #FED7AA;--color-warning-text: #C2410C;--color-danger: #EF4444;--color-danger-hover: #DC2626;--color-danger-bg: #FEF2F2;--color-danger-border: #FCA5A5;--color-danger-text: #991B1B;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--color-info-border: #BFDBFE;--color-info-text: #1D4ED8;--color-amber: #F59E0B;--color-amber-bg: #FFFBEB;--color-amber-border: #FDE68A;--color-amber-text: #92400E;--color-purple: #8B5CF6;--color-purple-bg: #F5F3FF;--color-purple-border: #DDD6FE;--color-purple-text: #6D28D9;--color-blue: #3B82F6;--color-blue-bg: #EFF6FF;--color-blue-text: #1E40AF;--color-teal: #0D9488;--color-teal-bg: #F0FDFA;--color-teal-text: #115E59;--color-orange: #F97316;--color-orange-bg: #FFF7ED;--color-orange-text: #9A3412;--color-green: #10B981;--color-green-bg: #ECFDF5;--color-green-text: #065F46;--color-red: #EF4444;--color-red-text: #DC2626;--surface-card: #F8FAFC;--surface-card-hover: #F1F5F9;--surface-0: #F8FAFC;--surface-1: #FFFFFF;--surface-2: #F1F5F9;--surface-3: #E2E8F0;--surface-4: #CBD5E1;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-disabled: #CBD5E1;--text-on-dark: #FFFFFF;--text-on-accent: #FFFFFF;--border-subtle: #F1F5F9;--border-default: #E2E8F0;--border-strong: #CBD5E1;--border-focus: #0D9488;--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 6px rgba(15,23,42,.07), 0 2px 4px rgba(15,23,42,.04);--shadow-lg: 0 10px 15px rgba(15,23,42,.08), 0 4px 6px rgba(15,23,42,.03);--shadow-xl: 0 20px 25px rgba(15,23,42,.1), 0 8px 10px rgba(15,23,42,.04);--shadow-focus: 0 0 0 3px rgba(13,148,136,.15);--shadow-focus-danger: 0 0 0 3px rgba(239,68,68,.15);--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--text-2xs: .625rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.0625rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-display: 56px;--text-h1: 40px;--text-h2: 30px;--text-h3: 22px;--text-h4: 17px;--text-body-lg: 16px;--text-body: 14px;--text-body-sm: 13px;--text-label: 12px;--text-mono-size: 13px;--lh-display: 1.1;--lh-heading: 1.2;--lh-body: 1.6;--lh-label: 1.4;--ls-display: -.03em;--ls-heading: -.02em;--ls-normal: 0;--ls-label: .06em;--measure: 72ch;--measure-heading: 52ch;--baseline: 4px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-snug: -.015em;--tracking-normal: 0em;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-toast: 9000;--z-tooltip: 9999;--sidebar-bg: #0F172A;--sidebar-text: #94A3B8;--sidebar-text-active: #FFFFFF;--sidebar-item-active-bg: rgba(255,255,255,.1);--sidebar-item-hover-bg: rgba(255,255,255,.06);--sidebar-border: rgba(255,255,255,.08);--sidebar-width: 220px;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--duration-instant: 75ms;--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--transition-base: all var(--duration-normal) var(--ease-default);--transition-colors: color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);--transition-shadow: box-shadow var(--duration-normal) var(--ease-default);--transition-transform: transform var(--duration-normal) var(--ease-spring);--page-padding: 2rem;--card-padding: 1.5rem;--section-gap: 1.5rem;--background: var(--surface-0);--page-bg: var(--surface-0);--surface: var(--surface-1);--surface-raised: var(--surface-1);--border: var(--border-default);--border-light: var(--border-subtle);--text-inverse: var(--text-on-dark);--font-heading: var(--font-display);--primary: var(--brand-primary);--primary-hover: #1E293B;--primary-text: var(--text-on-dark);--primary-color: var(--brand-primary);--primary-dark: #1E293B;--accent: var(--brand-accent);--accent-light: var(--brand-accent-light);--accent-hover: var(--brand-accent-hover);--accent-dark: var(--brand-accent-hover);--accent-cyan: var(--brand-accent);--accent-teal: var(--brand-accent);--accent-purple: var(--color-purple);--card-bg: var(--surface-1);--card-border: var(--border-default);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-radius: var(--radius-lg);--status-success: var(--color-success);--status-success-bg: var(--color-success-bg);--status-warning: var(--color-amber);--status-warning-bg: var(--color-amber-bg);--status-error: var(--color-danger);--status-error-bg: var(--color-danger-bg);--status-info: var(--color-info);--status-info-bg: var(--color-info-bg);--metric-blue: var(--color-info);--metric-blue-bg: var(--color-info-bg);--metric-green: var(--color-success);--metric-green-bg: var(--color-success-bg);--metric-purple: var(--color-purple);--metric-purple-bg: var(--color-purple-bg);--metric-orange: var(--color-warning);--metric-orange-bg: var(--color-warning-bg);--metric-red: var(--color-danger);--metric-red-bg: var(--color-danger-bg);--metric-amber: var(--color-amber);--metric-amber-bg: var(--color-amber-bg);--color-primary: var(--brand-primary);--color-cyan: var(--brand-accent);--color-lavender: var(--color-purple);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-bg-page: var(--surface-0);--color-bg-card: var(--surface-1);--color-bg-surface: var(--surface-0);--color-bg-dark: var(--brand-primary);--color-border-default: var(--border-default);--color-border-highlight: var(--border-strong);--color-badge-success-bg: var(--color-success-bg);--color-badge-success-text: var(--color-success);--color-badge-warning-bg: var(--color-amber-bg);--color-badge-warning-text: var(--color-amber);--color-badge-danger-bg: var(--color-danger-bg);--color-badge-danger-text: var(--color-danger);--color-badge-info-bg: var(--color-info-bg);--color-badge-info-text: var(--color-info);--color-highlight-bg: var(--surface-2);--color-highlight-border: var(--border-strong);--bg-light: var(--surface-0);--bg-dark: var(--brand-primary);--bg-card: var(--surface-1);--bg-secondary: var(--surface-0);--bg-primary: var(--surface-1);--bg-sidebar: var(--sidebar-bg);--border-color: var(--border-default);--success: var(--color-success);--warning: var(--color-amber);--danger: var(--color-danger);--secondary-color: var(--color-success);--danger-color: var(--color-danger);--warning-color: var(--color-amber);--shadow: var(--shadow-sm);--shadow-card: var(--shadow-sm);--shadow-hover: var(--shadow-md);--shadow-focus-error: var(--shadow-focus-danger);--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 16px;--brand-gradient: linear-gradient(135deg, #0F172A 0%, #334155 100%);--brand-gradient-dark: linear-gradient(135deg, #0F172A 0%, #1E293B 100%)}[data-theme=dark],.dark{color-scheme:dark;--surface-0: #060B14;--surface-1: #0C1523;--surface-2: #142035;--surface-3: #1E2D45;--surface-4: #2A3D5C;--text-primary: #F0F4F8;--text-secondary: #8FA3BF;--text-muted: #5A7395;--text-disabled: #3A5070;--border-subtle: #142035;--border-default: #1E2D45;--border-strong: #2A3D5C;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 2px 4px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 8px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.25);--shadow-lg: 0 8px 16px rgba(0,0,0,.45), 0 4px 8px rgba(0,0,0,.3);--shadow-xl: 0 16px 32px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.35);--shadow-focus: 0 0 0 3px rgba(13,148,136,.25);--color-success-bg: rgba(16,185,129,.12);--color-success-border: rgba(16,185,129,.25);--color-success-text: #6EE7B7;--color-success-hover: #34D399;--color-success-dark: #34D399;--color-warning-bg: rgba(249,115,22,.12);--color-warning-border: rgba(249,115,22,.25);--color-warning-text: #FDBA74;--color-warning-hover: #FB923C;--color-danger-bg: rgba(239,68,68,.12);--color-danger-border: rgba(239,68,68,.25);--color-danger-text: #FCA5A5;--color-danger-hover: #F87171;--color-info-bg: rgba(59,130,246,.12);--color-info-border: rgba(59,130,246,.25);--color-info-text: #93C5FD;--color-amber-bg: rgba(245,158,11,.12);--color-amber-border: rgba(245,158,11,.25);--color-amber-text: #FCD34D;--color-purple-bg: rgba(139,92,246,.12);--color-purple-border: rgba(139,92,246,.25);--color-purple-text: #C4B5FD;--color-blue: #60A5FA;--color-blue-bg: rgba(59,130,246,.12);--color-blue-text: #93C5FD;--color-teal: #2DD4BF;--color-teal-bg: rgba(13,148,136,.12);--color-teal-text: #5EEAD4;--color-orange: #FB923C;--color-orange-bg: rgba(249,115,22,.12);--color-orange-text: #FDBA74;--color-green: #34D399;--color-green-bg: rgba(16,185,129,.12);--color-green-text: #6EE7B7;--color-red: #F87171;--color-red-text: #FCA5A5;--surface-card: #0F172A;--surface-card-hover: #162033;--brand-accent-light: rgba(13,148,136,.15);--brand-accent-border: rgba(13,148,136,.3);--background: var(--surface-0);--page-bg: var(--surface-0);--surface: var(--surface-1);--surface-raised: var(--surface-2);--border: var(--border-default);--border-light: var(--border-subtle);--card-bg: var(--surface-1);--card-border: var(--border-default);--card-shadow: 0 2px 8px rgba(0,0,0,.3);--card-shadow-hover: 0 8px 30px rgba(0,0,0,.4);--bg-light: var(--surface-0);--bg-dark: #0C1523;--bg-card: var(--surface-1);--bg-secondary: var(--surface-2);--bg-primary: var(--surface-1);--border-color: var(--border-default);--shadow: 0 2px 8px rgba(0,0,0,.3);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-bg-page: var(--surface-0);--color-bg-card: var(--surface-1);--color-bg-surface: var(--surface-2);--color-border-default: var(--border-default);--color-border-highlight: var(--border-strong);--color-highlight-bg: var(--surface-3);--color-highlight-border: var(--border-strong);--shadow-card: 0 2px 8px rgba(0,0,0,.3);--shadow-hover: 0 8px 30px rgba(0,0,0,.4);--color-badge-success-bg: var(--color-success-bg);--color-badge-success-text: var(--color-success-text);--color-badge-warning-bg: var(--color-amber-bg);--color-badge-warning-text: var(--color-amber-text);--color-badge-danger-bg: var(--color-danger-bg);--color-badge-danger-text: var(--color-danger-text);--color-badge-info-bg: var(--color-info-bg);--color-badge-info-text: var(--color-info-text)}.dark body{background:var(--surface-0)}.dark .card,.dark .card-flat,.dark .metric-card,.dark .job-section-card,.dark .settings-section-card{background:var(--surface-1);border-color:var(--border-default)}.dark input:where(:not([type=checkbox]):not([type=radio]):not([type=range])),.dark select,.dark textarea{background:var(--surface-2);border-color:var(--border-default);color:var(--text-primary)}.dark input:focus,.dark select:focus,.dark textarea:focus{background:var(--surface-1);border-color:var(--accent, #0D9488)}.dark table thead th{background:var(--surface-2);color:var(--text-muted);border-bottom-color:var(--border-default)}.dark table tbody tr:hover{background:var(--surface-2)}.dark table tbody td{border-bottom-color:var(--border-subtle);color:var(--text-primary)}.dark .modal,.dark [class*=modal]:where(:not([class*=overlay])){background:var(--surface-1);border-color:var(--border-default)}.dark .modal-overlay,.dark [class*=overlay]{background:#000000b3}.dark .sidebar{background:#060b14}.dark .btn-secondary{background:var(--surface-2);border-color:var(--border-default);color:var(--text-primary)}.dark .btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.dark .btn-ghost:hover:not(:disabled){background:var(--surface-2)}.dark .filter-tabs{border-bottom-color:var(--border-default)}.dark .filter-tab{color:var(--text-secondary)}.dark .filter-tab:hover{color:var(--text-primary)}.dark .badge-neutral{background:var(--surface-3);color:var(--text-secondary);border-color:var(--border-strong)}.dark .metric-icon-badge.blue{background:#3b82f626}.dark .metric-icon-badge.green{background:#10b98126}.dark .metric-icon-badge.orange{background:#f9731626}.dark .metric-icon-badge.red{background:#ef444426}.dark .metric-icon-badge.teal{background:#0d948826}.dark .metric-icon-badge.purple{background:#8b5cf626}.dark .customer-hover-card{background:var(--surface-2);border-color:var(--border-strong)}.dark .customer-hover-card:before{background:var(--surface-2);border-color:var(--border-strong)}.dark .skeleton,.dark .skeleton-cell,.dark .skeleton-bar,.dark .skeleton-avatar{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%}.dark .revenue-at-risk{background:var(--surface-1)!important}.dark .cmd-palette{background:var(--surface-1);border-color:var(--border-strong)}.dark .cmd-input{background:transparent;color:var(--text-primary)}.dark .cmd-result:hover,.dark .cmd-result.selected{background:var(--surface-2)}.dark .notif-dropdown{background:var(--surface-1);border-color:var(--border-default)}.dark .settings-nav-item.active{background:var(--surface-3)}.dark .integration-card.connected{background:#10b98114;border-color:#10b98133}.dark .page-wrapper{background:transparent}.dark .recharts-text{fill:var(--text-secondary)!important}.dark .recharts-cartesian-grid-horizontal line,.dark .recharts-cartesian-grid-vertical line{stroke:var(--border-subtle)!important}.dark .recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--surface-2)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important}.dark .fc{--fc-border-color: var(--border-default);--fc-page-bg-color: var(--surface-0);--fc-neutral-bg-color: var(--surface-2);--fc-list-event-hover-bg-color: var(--surface-2)}.dark .fc-theme-standard td,.dark .fc-theme-standard th{border-color:var(--border-default)}.dark .fc-col-header-cell{background:var(--surface-1)}.dark .fc-daygrid-day{background:var(--surface-0)}.dark .fc-daygrid-day:hover{background:var(--surface-1)}.dark .fc-toolbar-title{color:var(--text-primary)}.dark .fc-button{background:var(--surface-2)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important}.dark .fc-button:hover{background:var(--surface-3)!important}.dark .fc-button-primary:not(:disabled).fc-button-active{background:var(--accent, #0D9488)!important;border-color:var(--accent, #0D9488)!important}.dark .upload-zone{background:var(--surface-2);border-color:var(--border-default)}.dark .upload-zone:hover{background:var(--surface-3);border-color:var(--border-strong)}.dark .dropdown-menu,.dark .popover,.dark [class*=dropdown]:where(:not(button)){background:var(--surface-2);border-color:var(--border-strong)}.dark .job-detail-topbar{background:var(--surface-1);border-color:var(--border-default)}.dark .job-detail-left{background:var(--surface-0)}.dark .job-detail-right{background:var(--surface-1);border-color:var(--border-default)}.dark .goodleap-section{background:var(--surface-2)!important}.dark .badge-sandbox{background:#f9731626;color:#fdba74;border-color:#f973164d}.pay-period-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pay-period-prev,.pay-period-next{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;color:var(--text-secondary)}.pay-period-prev:hover,.pay-period-next:hover{border-color:var(--border-strong);color:var(--text-primary)}.pay-period-label{font-size:var(--text-base);font-weight:700;color:var(--text-primary);letter-spacing:-.01em;min-width:200px;text-align:center}.pay-period-label .pay-period-dates{font-size:var(--text-xs);color:var(--text-secondary);font-weight:400;display:block;margin-top:1px}.timesheet-employee-card{background:#fff;border:1px solid var(--border-default);border-radius:14px;padding:18px;margin-bottom:12px;cursor:pointer;transition:border-color .15s}.timesheet-employee-card:hover{border-color:var(--border-strong)}.timesheet-employee-card.expanded{border-color:var(--brand-accent)}.timesheet-card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.timesheet-tech-info{flex:1}.timesheet-tech-name{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.timesheet-tech-role{font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px}.timesheet-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.timesheet-summary-item{background:var(--surface-2);border-radius:8px;padding:10px 12px}.timesheet-summary-value{font-size:var(--text-lg);font-weight:800;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:3px}.timesheet-summary-value.overtime{color:var(--color-warning)}.timesheet-summary-value.earnings{color:var(--color-success-text)}.timesheet-summary-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.timesheet-daily-table{width:100%;margin-top:14px;border-top:1px solid var(--border-subtle);padding-top:12px}.timesheet-daily-row{display:grid;grid-template-columns:100px 80px 80px 80px 80px 1fr;padding:7px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);align-items:center}.timesheet-daily-row:last-child{border-bottom:none}.timesheet-daily-row.ot{background:#f973160a;border-radius:6px}.timesheet-daily-day{font-weight:600;color:var(--text-primary)}.timesheet-daily-time{font-family:var(--font-mono);color:var(--text-secondary)}.timesheet-daily-total{font-family:var(--font-mono);font-weight:700;color:var(--text-primary)}.timesheet-daily-ot{font-family:var(--font-mono);color:var(--color-warning);font-weight:600}.timesheet-daily-earnings{font-family:var(--font-mono);color:var(--color-success-text)}.ot-flag{display:inline-flex;align-items:center;gap:3px;font-size:.625rem;font-weight:700;color:var(--color-warning);background:var(--color-warning-bg);padding:2px 6px;border-radius:4px}.ca-ot-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f973161f;border:1px solid rgba(249,115,22,.3);border-radius:100px;font-size:.6875rem;font-weight:700;color:#c2410c}.ca-ot-badge:before{content:"⚡";font-size:10px}.tech-roster-card{background:#fff;border:1px solid var(--border-default);border-radius:14px;overflow:hidden;transition:box-shadow .15s,transform .15s}.tech-roster-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tech-roster-header{background:linear-gradient(135deg,#0f172a,#1e293b);padding:24px 20px 16px;text-align:center;position:relative}.tech-roster-avatar{width:64px;height:64px;border-radius:32px;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;margin:0 auto 10px;background:var(--brand-accent)}.tech-roster-name{font-size:var(--text-base);font-weight:700;color:#fff;letter-spacing:-.01em}.tech-roster-role{font-size:var(--text-xs);color:#ffffff80;margin-top:3px}.tech-online-badge{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:100px;background:#10b98133;border:1px solid rgba(16,185,129,.4);font-size:.625rem;font-weight:700;color:#6ee7b7}.tech-online-dot{width:6px;height:6px;border-radius:3px;background:#10b981;animation:pulseDot 2s ease infinite}.tech-roster-body{padding:14px 16px}.tech-roster-stat-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs)}.tech-roster-stat-row:last-child{border-bottom:none}.tech-roster-stat-label{color:var(--text-muted)}.tech-roster-stat-value{font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.tech-roster-actions{display:flex;gap:6px;padding:12px 16px;border-top:1px solid var(--border-subtle)}.tech-action-btn{flex:1;height:30px;border-radius:7px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}.consultations-page{padding:0}.consultations-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0;margin-bottom:20px}.consultations-filter-strip{display:flex;gap:8px;padding:0 28px;margin-bottom:20px;flex-wrap:wrap}.consult-filter-chip{padding:6px 14px;border-radius:100px;font-size:var(--text-xs);font-weight:600;border:1.5px solid var(--border-default);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:all .15s}.consult-filter-chip.active{background:#0f172a;border-color:#0f172a;color:#fff}.consultation-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:14px;padding:16px;cursor:pointer;transition:all .15s}.consultation-card:hover{border-color:#8b5cf6;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.consultation-card.today{border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 4%,var(--surface-1))}.consult-card-avatar{width:44px;height:44px;border-radius:22px;background:var(--brand-accent-light);color:var(--brand-accent);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}.consult-card-name{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin-bottom:2px}.consult-card-meta{font-size:var(--text-xs);color:var(--text-muted);display:flex;gap:10px;align-items:center}.consult-card-meta svg{width:11px;height:11px;flex-shrink:0}.consult-status-badge{padding:4px 10px;border-radius:100px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.consult-status-badge.scheduled{background:var(--color-info-bg);color:var(--color-info-text)}.consult-status-badge.completed{background:var(--color-success-bg);color:var(--color-success-text)}.consult-status-badge.cancelled{background:var(--color-danger-bg);color:var(--color-danger-text)}.consult-status-badge.pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.consultations-empty{text-align:center;padding:60px 28px;color:var(--text-muted)}.consultations-empty svg{width:40px;height:40px;margin:0 auto 16px;opacity:.3;display:block}.h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--leading-snug);color:var(--text-primary)}.h4{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);color:var(--text-primary)}.section-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-snug)}.section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-widest)}.data-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-medium)}.data-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--weight-medium)}.data-value-lg{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--weight-semibold)}.metric-value{font-size:var(--text-4xl);font-weight:var(--weight-extrabold);color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:1;font-variant-numeric:tabular-nums}.metric-value-md{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1;font-variant-numeric:tabular-nums}.metric-value-sm{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1;font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mono-sm{font-family:var(--font-mono);font-size:var(--text-xs)}.link{color:var(--brand-accent);text-decoration:none;font-weight:var(--weight-medium);transition:color var(--duration-fast)}.link:hover{color:var(--brand-accent-hover);text-decoration:underline}.amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.amount-positive{color:var(--color-success-text)}.amount-negative{color:var(--color-danger-text)}.amount-neutral{color:var(--text-primary)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes statusFlash{0%{box-shadow:0 0 #10b98180}50%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes checkBounce{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.3)}to{transform:scale(1)}}@keyframes hoverCardIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes numberCount{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.animate-slide-left{animation:slideInLeft var(--duration-normal) var(--ease-out) forwards}.animate-slide-right{animation:slideInRight var(--duration-normal) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--duration-fast) var(--ease-spring) forwards}.animate-bounce-in{animation:bounceIn var(--duration-slower) var(--ease-spring) forwards}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out) forwards}.animate-number{animation:numberCount var(--duration-slow) var(--ease-out) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:40ms}.stagger-children>*:nth-child(3){animation-delay:80ms}.stagger-children>*:nth-child(4){animation-delay:.12s}.stagger-children>*:nth-child(5){animation-delay:.16s}.stagger-children>*:nth-child(6){animation-delay:.2s}.status-flash{animation:statusFlash .6s var(--ease-out)}.check-bounce-in{animation:checkBounce .4s var(--ease-spring) forwards}.hover-card-enter{animation:hoverCardIn .15s var(--ease-out) forwards}.hover-lift{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.press-scale{transition:transform var(--duration-instant) var(--ease-default)}.press-scale:active{transform:scale(.97)}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text-primary);background:var(--surface-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--ls-heading);color:var(--text-primary)}code{font-family:var(--font-mono)}.page-content{padding:var(--page-padding);background:var(--background);min-height:100vh}.card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-flat{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.card-interactive{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-out)}.card-interactive:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-sm),0 0 0 1px #0d94881a;transform:translateY(-1px)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.metric-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast) var(--ease-out)}.metric-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.metric-card[data-color=blue]{border-left:3px solid var(--color-info)}.metric-card[data-color=green]{border-left:3px solid var(--color-success)}.metric-card[data-color=orange]{border-left:3px solid var(--color-warning)}.metric-card[data-color=red]{border-left:3px solid var(--color-danger)}.metric-card[data-color=teal]{border-left:3px solid var(--brand-accent)}.metric-card[data-color=purple]{border-left:3px solid var(--color-purple)}.metric-icon-badge.blue{background:var(--color-info-bg);color:var(--color-info)}.metric-icon-badge.green{background:var(--color-success-bg);color:var(--color-success)}.metric-icon-badge.orange{background:var(--color-warning-bg);color:var(--color-warning)}.metric-icon-badge.red{background:var(--color-danger-bg);color:var(--color-danger)}.metric-icon-badge.teal{background:var(--brand-accent-light);color:var(--brand-accent)}.metric-icon-badge.purple{background:var(--color-purple-bg);color:var(--color-purple)}.metric-icon-badge.amber{background:var(--color-amber-bg);color:var(--color-amber)}.metric-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.metric-icon.blue{background:var(--metric-blue-bg);color:var(--metric-blue)}.metric-icon.green{background:var(--metric-green-bg);color:var(--metric-green)}.metric-icon.purple{background:var(--metric-purple-bg);color:var(--metric-purple)}.metric-icon.orange{background:var(--metric-orange-bg);color:var(--metric-orange)}.metric-icon.red{background:var(--metric-red-bg);color:var(--metric-red)}.metric-icon.teal{background:var(--brand-accent-light);color:var(--brand-accent)}.metric-card-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-widest)}.metric-card-value{font-size:var(--text-4xl);font-weight:var(--weight-extrabold);color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:1;font-variant-numeric:tabular-nums}.metric-card-sub{font-size:var(--text-xs);color:var(--text-secondary)}.metric-card-trend{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.metric-card-trend.up{color:var(--color-success)}.metric-card-trend.down{color:var(--color-danger)}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--surface-0)}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-content{flex:1;overflow-y:auto}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.page-wrapper{padding:28px 28px 48px;max-width:1440px;animation:pageIn .2s var(--ease-out)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header-left{flex:1;min-width:0}.page-title{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary)}.page-subtitle{font-family:var(--font-body);font-size:15px;font-weight:400;color:var(--text-secondary);margin-top:3px;line-height:1.6}.page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.content-section{margin-bottom:28px}.content-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-widest);margin-bottom:12px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.grid-auto-sm{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.layout-with-sidebar{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.layout-with-sidebar-wide{display:grid;grid-template-columns:1fr 360px;gap:20px}.layout-sidebar-right{position:sticky;top:72px}.stack-xs{display:flex;flex-direction:column;gap:4px}.stack-sm{display:flex;flex-direction:column;gap:8px}.stack-md{display:flex;flex-direction:column;gap:14px}.stack-lg{display:flex;flex-direction:column;gap:20px}.stack-xl{display:flex;flex-direction:column;gap:28px}.row-xs{display:flex;align-items:center;gap:4px}.row-sm{display:flex;align-items:center;gap:8px}.row-md{display:flex;align-items:center;gap:12px}.row-lg{display:flex;align-items:center;gap:16px}.search-bar{position:relative;display:flex;align-items:center}.search-bar-input{height:34px;padding:0 12px 0 36px;background:var(--surface-2);border:1.5px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);outline:none;width:220px;transition:width var(--duration-normal) var(--ease-out),border-color var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast)}.search-bar-input:focus{width:280px;border-color:var(--brand-accent);box-shadow:var(--shadow-focus);background:var(--surface-1)}.search-bar-icon{position:absolute;left:10px;width:15px;height:15px;color:var(--text-muted);pointer-events:none;transition:color var(--duration-fast)}.search-bar:focus-within .search-bar-icon{color:var(--brand-accent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.section-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.metric-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:1}.metric-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--weight-normal)}.metric-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.metric-card-header{display:flex;align-items:flex-start;justify-content:space-between}.metric-icon-badge{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon-badge svg{width:18px;height:18px}.metric-icon-badge.blue{background:#eff6ff;color:#2563eb}.metric-icon-badge.green{background:#ecfdf5;color:#059669}.metric-icon-badge.purple{background:#f5f3ff;color:#7c3aed}.metric-icon-badge.orange{background:#fff7ed;color:#ea580c}.metric-icon-badge.red{background:#fef2f2;color:#dc2626}.metric-icon-badge.teal{background:#f0fdfa;color:#0d9488}.metric-icon-badge.amber{background:#fffbeb;color:#d97706}.metric-trend{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.metric-trend.up{background:#ecfdf5;color:#16a34a}.metric-trend.down{background:#fef2f2;color:#dc2626}.metric-trend.neutral{background:var(--surface-3);color:var(--text-secondary)}.trend-up{color:var(--status-success);background:var(--status-success-bg);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px 8px;border-radius:20px}.trend-down{color:var(--status-error);background:var(--status-error-bg);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px 8px;border-radius:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:8px;border:1px solid transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-instant)}.btn svg{width:14px;height:14px;flex-shrink:0}.btn:before{content:"";position:absolute;inset:0;background:#fff;opacity:0;border-radius:inherit;transition:opacity var(--duration-fast)}.btn:active:before{opacity:.12}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:#0f172a;color:#fff;border-color:#0f172a}.btn-primary:hover:not(:disabled){background:#1e293b;box-shadow:0 4px 12px #0f172a40}.btn-accent{background:#0d9488;color:#fff;border-color:#0d9488}.btn-accent:hover:not(:disabled){background:#0f766e;box-shadow:0 4px 14px #0d948859}.btn-secondary{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc26264d}.btn-danger-outline{background:transparent;color:#dc2626;border-color:#fca5a5}.btn-danger-outline:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.btn-success{background:#059669;color:#fff;border-color:#059669}.btn-success:hover:not(:disabled){background:#047857;box-shadow:0 4px 12px #0596694d}.btn-xs{height:26px;padding:0 8px;font-size:var(--text-xs);border-radius:6px;gap:4px}.btn-sm{height:30px;padding:0 10px;font-size:var(--text-xs);border-radius:7px}.btn-lg{height:42px;padding:0 20px;font-size:var(--text-base);border-radius:10px}.btn-xl{height:52px;padding:0 28px;font-size:1.0625rem;font-weight:600;border-radius:12px}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:30px}.btn-icon.btn-lg{width:42px}.btn-loading{color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.btn-secondary.btn-loading:after{border-color:#64748b66;border-top-color:var(--text-secondary)}.btn-done{background:#059669!important;border-color:#059669!important;pointer-events:none}.btn-full{width:100%}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-radius:8px 0 0 8px}.btn-group .btn:last-child{border-radius:0 8px 8px 0;border-right-width:1px}.btn-group .btn:focus-visible{z-index:1}.input{width:100%;height:36px;padding:0 12px;background:var(--surface-1);border:1.5px solid var(--border-default);border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d94881f;background:var(--surface-1)}.input::placeholder{color:var(--text-muted);transition:color var(--duration-fast)}.input:focus::placeholder{color:var(--border-strong)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-2)}.input.error,.input[data-error=true]{border-color:#ef4444;background:#fff8f8}.input.error:focus{box-shadow:0 0 0 3px #ef44441f}.input-wrapper{position:relative}.input-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--text-sm);pointer-events:none;z-index:1}.input-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;z-index:1}.input.has-prefix{padding-left:32px}.input.has-suffix{padding-right:32px}.input-with-icon{position:relative}.input-with-icon .input{padding-left:34px}.input-with-icon .input-icon,.input-wrapper .input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:15px;height:15px;pointer-events:none;transition:color var(--duration-fast)}.form-group:focus-within .input-icon{color:var(--accent)}.search-input{background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;padding:0 12px 0 36px;height:36px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);outline:none;width:280px;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.search-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.search-input:hover:not(:focus){border-color:var(--border-strong)}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;height:20px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;border:1px solid transparent;font-family:var(--font-body);letter-spacing:.01em;transition:transform var(--duration-instant) var(--ease-spring)}.badge-xs{height:16px;padding:0 5px;font-size:.625rem}.badge-sm{height:18px;padding:0 6px;font-size:.6875rem}.badge-lg{height:24px;padding:0 10px;font-size:var(--text-sm)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-neutral{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border-default)}.badge-success,.badge-paid,.badge-complete,.badge-completed,.badge-active{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-warning,.badge-pending,.badge-unassigned{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge-danger,.badge-error,.badge-overdue,.badge-hot{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-info,.badge-new,.badge-scheduled,.badge-draft{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-amber,.badge-partial,.badge-on-way,.badge-on_the_way,.badge-on_my_way,.badge-dispatched,.badge-en-route{background:var(--color-amber-bg);color:var(--color-amber-text);border-color:var(--color-amber-border)}.badge-accent,.badge-in-progress,.badge-in_progress{background:var(--brand-accent-light);color:#0f766e;border-color:var(--brand-accent-border)}.badge-purple,.badge-ai{background:var(--color-purple-bg);color:var(--color-purple-text);border-color:var(--color-purple-border)}.badge-inactive,.badge-cold,.badge-cancelled,.badge-canceled{background:var(--surface-2);color:var(--text-muted);border-color:var(--border-default)}.badge-converted,.badge-won{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-unpaid{background:var(--color-amber-bg);color:var(--color-amber-text);border-color:var(--color-amber-border)}.badge-invoiced{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-warm{background:var(--color-amber-bg);color:var(--color-amber-text);border-color:var(--color-amber-border)}.badge-sandbox{background:#fff7ed;color:#c2410c;border-color:#fed7aa;font-style:italic}.badge-high{background:var(--color-danger-bg);color:#dc2626;border-color:var(--color-danger-border)}.badge-low{background:var(--surface-2);color:var(--text-muted);border-color:var(--border-default)}.badge-normal{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border-default)}.badge-emergency{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border);font-weight:800;animation:pulse-dot 1.5s infinite}.badge-residential{background:var(--color-info-bg);color:#1e40af;border-color:var(--color-info-border)}.badge-commercial{background:var(--color-purple-bg);color:var(--color-purple-text);border-color:var(--color-purple-border)}.badge-rating{background:var(--color-amber-bg);color:var(--color-amber-text);border-color:var(--color-amber-border)}.filter-tabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding:0 2px}.filter-tab{padding:8px 14px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:color var(--duration-fast),border-color var(--duration-fast);font-family:var(--font-body)}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{color:var(--brand-accent, var(--accent));border-bottom-color:var(--brand-accent, var(--accent));font-weight:var(--weight-semibold)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full, 9999px);font-size:.6875rem;font-weight:var(--weight-semibold);font-family:var(--font-mono);background:var(--surface-3);color:var(--text-secondary);transition:background var(--duration-fast),color var(--duration-fast)}.filter-tab.active .tab-count{background:#0d94881f;color:var(--brand-accent, var(--accent))}.filter-tab[data-urgent=true] .tab-count,.filter-tab[data-tab=overdue] .tab-count{background:var(--color-danger-bg, #FEF2F2);color:var(--color-danger-text, #DC2626)}[data-theme=dark] .filter-tab[data-tab=overdue] .tab-count{background:#dc262626;color:#fca5a5}.jobs-metric-card{background:var(--bg-card);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.jobs-metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.jobs-metric-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.jobs-metric-value{font-size:2.25rem;font-weight:800;letter-spacing:-.04em;line-height:1.1}.jobs-metric-sub{font-size:var(--text-xs);color:var(--text-muted, #94A3B8);font-weight:500}.job-list-header{display:grid;grid-template-columns:40px 32px 1fr 160px 140px 120px 100px 110px;align-items:center;gap:12px;padding:10px 16px;border-bottom:2px solid var(--border-default);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.job-list-header .sortable{cursor:pointer}.job-list-header .sortable:hover{color:var(--text-primary)}.job-list-row{display:grid;grid-template-columns:40px 32px 1fr 160px 140px 120px 100px 110px;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);border-left:3px solid transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.job-list-row:hover{background:var(--surface-2)}.job-list-row.urgent{border-left-color:#ef4444}.job-list-row.warning{border-left-color:#f97316}.job-list-row.ok{border-left-color:transparent}.job-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.job-status-dot.pulsing{animation:pulse-dot 2s ease-in-out infinite}.job-col-info{display:flex;flex-direction:column;gap:1px;min-width:0}.job-info-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted, #94A3B8)}.job-info-title{font-weight:600;font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-info-type{font-size:var(--text-xs);color:var(--text-secondary)}.job-col-customer{display:flex;align-items:center;gap:8px;min-width:0}.job-avatar-xs{width:24px;height:24px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:var(--text-secondary);flex-shrink:0}.job-avatar-tech{background:#0d94881f;color:#0d9488}.job-customer-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-col-date{display:flex;flex-direction:column;gap:1px}.job-date-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}.job-date-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.job-col-tech{display:flex;align-items:center;gap:6px;min-width:0}.job-tech-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-unassigned-label{font-size:var(--text-xs);color:var(--text-muted, #94A3B8);font-style:italic}.job-col-amount{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-align:right}.job-col-status{display:flex;align-items:center;min-width:0}.job-row-actions{display:none;gap:4px}.job-list-row:hover .job-row-actions{display:flex}.job-list-row:hover .job-row-status{display:none}.jobs-empty-contextual{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px}.jobs-empty-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.jobs-empty-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}@media(max-width:900px){.job-list-header,.job-list-row{grid-template-columns:40px 32px 1fr 120px 100px 100px}.job-col-customer,.job-col-amount{display:none}}.data-table-wrapper{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);overflow:hidden}.data-table-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:9px 14px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);text-align:left;background:var(--surface-0);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table thead th:first-child{padding-left:18px}.data-table thead th:last-child{padding-right:18px}.data-table tbody td{padding:11px 14px;font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody td:first-child{padding-left:18px}.data-table tbody td:last-child{padding-right:18px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--duration-fast)}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:active{background:var(--surface-3)}.col-primary{font-weight:var(--weight-semibold)}.col-secondary{color:var(--text-secondary)}.col-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs)}.col-right{text-align:right}.col-center{text-align:center}.col-nowrap{white-space:nowrap}*:focus{outline:none}*:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:4px}@media(max-width:768px){.filter-tab{min-height:44px;padding:10px 16px}.btn{min-height:44px}.btn-sm{min-height:38px}.row-action-btn,.gh-icon-btn{width:44px;height:44px}.nav-item{min-height:48px}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal{width:100%!important;max-width:100%!important;margin:0!important;border-radius:20px 20px 0 0!important;animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards!important;max-height:92vh!important}.page-wrapper,.data-table-wrapper{overflow-x:hidden;padding-left:16px;padding-right:16px}.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.portal-input-container,.customer-form-group{scroll-margin-bottom:300px}.avatar{border-radius:var(--radius-full, 50%);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);color:#fff;font-family:var(--font-body);flex-shrink:0;background:#0d9488;line-height:1;text-transform:uppercase}.avatar-2xs{width:20px;height:20px;font-size:.5625rem}.avatar-xs{width:24px;height:24px;font-size:var(--text-xs)}.avatar-sm{width:30px;height:30px;font-size:var(--text-sm)}.avatar-md{width:40px;height:40px;font-size:var(--text-base)}.avatar-lg{width:52px;height:52px;font-size:var(--text-lg)}.avatar-xl{width:64px;height:64px;font-size:var(--text-2xl)}.avatar-2xl{width:80px;height:80px;font-size:var(--text-3xl)}.avatar-blue{background:#3b82f6}.avatar-purple{background:#8b5cf6}.avatar-orange{background:#f97316}.avatar-amber{background:#f59e0b}.avatar-rose{background:#f43f5e}.avatar-teal{background:#0d9488}.avatar-wrapper{position:relative;display:inline-flex;flex-shrink:0}.avatar-status-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface-1)}.avatar-status-dot.online{background:var(--color-success, #10B981)}.avatar-status-dot.away{background:var(--color-warning, #F59E0B)}.avatar-status-dot.offline{background:var(--border-strong)}.avatar-status-dot.busy{background:var(--color-danger, #EF4444)}.avatar-unread-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--color-danger, #EF4444);border:2px solid var(--surface-1);animation:pulseDot 2s ease infinite}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-4) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}.tooltip-wrapper{position:relative}.tooltip-content{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#0f172a;color:#fff;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);z-index:100}.tooltip-wrapper:hover .tooltip-content{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.empty-state-icon{width:48px;height:48px;border-radius:12px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:4px}.empty-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.empty-state-description{font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;line-height:var(--leading-relaxed)}.divider{height:1px;background:var(--border-subtle);margin:20px 0;border:none}.divider-strong{height:1px;background:var(--border-default);margin:20px 0;border:none}.divider-vertical{width:1px;background:var(--border-default);align-self:stretch}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.sidebar,.sidebar-nav,[class*=sidebar]:not([class*=inbox-sidebar]):not([class*=detail-sidebar]):not([class*=fm-]){background:var(--sidebar-bg)!important}.briefing-text strong{font-weight:var(--weight-semibold)}.briefing-text em{font-style:italic}.briefing-text p{margin-bottom:.5rem}.gradient-text{background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-dark{background:var(--brand-gradient-dark);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-overlay{position:fixed;inset:0;background:#0f172a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn var(--duration-fast) var(--ease-out)}.modal{background:var(--surface-1);border-radius:16px;box-shadow:var(--shadow-xl),0 0 0 1px #0000000d;width:100%;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;animation:scaleIn var(--duration-normal) var(--ease-spring)}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:720px}.modal-xl{max-width:920px}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.modal-title{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.modal-close{width:30px;height:30px;border-radius:7px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0;margin-left:12px;margin-top:-2px;font-size:18px}.modal-close:hover{background:var(--surface-3);color:var(--text-primary)}.modal-close svg{width:16px;height:16px}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-footer{padding:14px 24px 20px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.modal-footer-left{flex:1;display:flex;align-items:center}.modal-form-group{margin-bottom:14px}.modal-form-label{display:block;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.modal-required{color:var(--status-error);margin-left:2px}.modal-form-input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.modal-form-input::placeholder{color:var(--text-muted)}.modal-form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}[data-theme=dark] .modal-form-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.modal-btn-cancel:hover{background:var(--surface-2)}.modal-btn-gradient,.btn.btn-gradient{display:inline-flex;align-items:center;gap:6px;padding:8px 22px;border-radius:8px;border:none;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.modal-btn-gradient:hover,.btn.btn-gradient:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.modal-btn-gradient:disabled,.btn.btn-gradient:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group{margin-bottom:16px;position:relative}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:5px;line-height:1;transition:color var(--duration-fast)}.form-group:focus-within .form-label{color:var(--accent)}.form-label-optional:after{content:" (optional)";font-weight:var(--weight-normal);color:var(--text-muted);font-size:var(--text-xs)}.form-help{font-size:var(--text-xs);color:var(--text-muted);margin-top:5px;line-height:1.5;max-height:0;overflow:hidden;opacity:0;transition:max-height var(--duration-normal) var(--ease-out),opacity var(--duration-fast)}.form-group:focus-within .form-help{max-height:60px;opacity:1}.form-hint{font-size:var(--text-xs);color:var(--text-secondary);margin-top:4px;line-height:var(--leading-normal)}.form-error-msg{font-size:var(--text-xs);color:#dc2626;margin-top:5px;display:flex;align-items:center;gap:4px;animation:slideDown var(--duration-fast) var(--ease-out)}.form-error-msg svg{width:12px;height:12px;flex-shrink:0}.form-char-count{font-size:var(--text-xs);color:var(--text-muted);text-align:right;margin-top:3px;transition:color var(--duration-fast)}.form-char-count.near-limit{color:#f97316}.form-char-count.at-limit{color:#dc2626}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-section-divider{height:1px;background:var(--border-subtle);margin:20px 0 16px}.form-section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:12px}.select{width:100%;height:34px;padding:0 32px 0 12px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.textarea{width:100%;padding:9px 12px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;outline:none;resize:vertical;min-height:80px;line-height:var(--leading-relaxed);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}@media(max-width:640px){.modal-overlay{padding:12px}.modal{max-height:calc(100vh - 24px)}.modal-lg,.modal-xl{max-width:100%}.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.card-interactive{transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-card{transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.65}}.badge-urgent-pulse{animation:urgentPulse 2s ease-in-out infinite}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[class*=badge-]{transition:background var(--duration-fast),color var(--duration-fast)}input[type=checkbox]{transition:background var(--duration-fast),border-color var(--duration-fast)}@keyframes dropdownIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-menu-dropdown]{animation:dropdownIn var(--duration-fast) var(--ease-spring)}.col-primary a{text-decoration:none;background-image:linear-gradient(var(--brand-primary),var(--brand-primary));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size var(--duration-normal) var(--ease-out)}.col-primary a:hover{background-size:100% 1px}.cmd-overlay{position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:fadeIn .12s var(--ease-out)}.cmd-palette{width:100%;max-width:560px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:16px;box-shadow:0 0 0 1px #0000000d,0 32px 64px #0f172a33,0 8px 16px #0f172a1a;overflow:hidden;animation:cmdIn .18s var(--ease-spring)}@keyframes cmdIn{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-search-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.cmd-search-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.cmd-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:var(--text-md);color:var(--text-primary)}.cmd-input::placeholder{color:var(--text-muted)}.cmd-esc-key{padding:2px 7px;border-radius:5px;border:1px solid var(--border-default);background:var(--surface-2);font-family:var(--font-mono);font-size:.625rem;color:var(--text-muted);flex-shrink:0}.cmd-results{max-height:400px;overflow-y:auto;padding:6px 0}.cmd-results::-webkit-scrollbar{width:4px}.cmd-results::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.cmd-group-label{padding:8px 16px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.cmd-item{display:flex;align-items:center;gap:11px;padding:9px 16px;cursor:pointer;transition:background var(--duration-fast);border-radius:0}.cmd-item:hover,.cmd-item.focused{background:var(--surface-2)}.cmd-item-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.cmd-item-icon svg{width:15px;height:15px}.cmd-item-icon.blue{background:#eff6ff;color:#2563eb}.cmd-item-icon.green{background:#ecfdf5;color:#059669}.cmd-item-icon.purple{background:#f5f3ff;color:#7c3aed}.cmd-item-icon.orange{background:#fff7ed;color:#ea580c}.cmd-item-icon.teal{background:#f0fdfa;color:#0d9488}[data-theme=dark] .cmd-item-icon.blue{background:#2563eb26}[data-theme=dark] .cmd-item-icon.green{background:#05966926}[data-theme=dark] .cmd-item-icon.purple{background:#7c3aed26}[data-theme=dark] .cmd-item-icon.orange{background:#ea580c26}[data-theme=dark] .cmd-item-icon.teal{background:#0d948826}.cmd-item-content{flex:1;min-width:0}.cmd-item-title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-item-sub{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.cmd-item-badge{font-size:.625rem;font-weight:600;padding:2px 7px;border-radius:20px;flex-shrink:0}.cmd-item-arrow{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}.cmd-footer{padding:9px 16px;border-top:1px solid var(--border-subtle);display:flex;gap:14px}.cmd-footer-hint{display:flex;align-items:center;gap:5px;font-size:.6875rem;color:var(--text-muted)}.cmd-footer-hint kbd{padding:1px 5px;border-radius:4px;border:1px solid var(--border-default);background:var(--surface-2);font-family:var(--font-mono);font-size:.5625rem}@media(max-width:640px){.cmd-overlay{padding-top:8vh;padding-left:12px;padding-right:12px}.cmd-palette{max-width:100%;border-radius:12px}}.login-page{display:flex;height:100vh;width:100vw;overflow:hidden;font-family:var(--font-body)}.login-brand-panel{width:55%;background:#0a0f1e;background-image:radial-gradient(ellipse at 20% 80%,rgba(13,148,136,.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(59,130,246,.08) 0%,transparent 50%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 100%,100% 100%,28px 28px,28px 28px;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(13,148,136,.08) 0%,transparent 60%);pointer-events:none;animation:loginFloat 8s ease-in-out infinite}@keyframes loginFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.login-logo-area{display:flex;align-items:center;gap:12px}.login-logo-mark{width:38px;height:38px;background:linear-gradient(135deg,#0d9488,#059669);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.04em;flex-shrink:0;box-shadow:0 0 20px #0d94884d}.login-logo-name{font-size:1.1875rem;font-weight:700;color:#fff;letter-spacing:-.02em}.login-brand-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 0}.login-headline{font-size:2.5rem;font-weight:700;color:#fff;line-height:1.15;letter-spacing:-.03em;margin-bottom:20px;max-width:400px}.login-headline span{background:linear-gradient(135deg,#0d9488,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-tagline{font-size:1rem;color:#64748b;line-height:1.6;max-width:360px;margin-bottom:40px}.login-features{display:flex;flex-direction:column;gap:14px}.login-feature-item{display:flex;align-items:center;gap:12px}.login-feature-check{width:22px;height:22px;border-radius:6px;background:#0d948826;border:1px solid rgba(13,148,136,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0d9488}.login-feature-check svg{width:12px;height:12px;stroke-width:2.5}.login-feature-text{font-size:.9375rem;color:#94a3b8;font-weight:400}.login-social-proof{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px}.login-social-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#059669);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;flex-shrink:0}.login-social-text{flex:1}.login-social-name{font-size:.875rem;font-weight:600;color:#e2e8f0;line-height:1.3}.login-social-company{font-size:.75rem;color:#475569}.login-social-stars{display:flex;gap:2px;color:#f59e0b;font-size:12px}.login-form-panel{width:45%;background:var(--surface-0);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 56px;position:relative}.login-form-container{width:100%;max-width:360px}.login-form-header{margin-bottom:32px}.login-form-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:var(--tracking-tight);margin-bottom:6px}.login-form-subtitle{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.password-input-wrapper{position:relative}.password-input-wrapper .input{padding-right:40px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast);border-radius:4px}.password-toggle:hover{color:var(--text-secondary)}.password-toggle svg{width:15px;height:15px}@keyframes loginShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.form-shake{animation:loginShake .5s var(--ease-default)}.form-field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.form-link{font-size:var(--text-xs);color:var(--accent);text-decoration:none;font-weight:500;transition:color var(--duration-fast)}.form-link:hover{color:var(--accent-hover)}.login-error-banner{padding:10px 14px;background:var(--status-error-bg);border:1px solid #FCA5A5;border-radius:8px;font-size:var(--text-sm);color:#dc2626;margin-bottom:16px;display:flex;align-items:center;gap:8px;animation:fadeIn var(--duration-fast) var(--ease-out)}.login-form-panel .input{height:40px}@media(max-width:900px){.login-page{flex-direction:column}.login-brand-panel{display:none}.login-form-panel{width:100%;height:100vh;padding:32px 24px}}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-0);padding:24px}.forgot-password-card{width:100%;max-width:400px;text-align:center}.forgot-password-card .login-logo-mark{margin:0 auto 28px}.forgot-password-card .login-form-title{margin-bottom:8px}.forgot-password-card .login-form-subtitle{margin-bottom:28px}.forgot-success-icon{width:56px;height:56px;border-radius:50%;background:var(--status-success-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--status-success)}.forgot-success-icon svg{width:28px;height:28px}.team-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:14px;padding:20px;text-align:center;transition:border-color .15s,transform .15s;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}.team-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.team-stat-row{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin:12px 0;padding-top:12px;border-top:1px solid var(--border-subtle);gap:8px}.team-stat-item{display:flex;flex-direction:column;gap:2px}.team-stat-value{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary)}.team-stat-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.active{background:#10b981;box-shadow:0 0 0 2px #10b98133}.status-dot.idle{background:#94a3b8}.status-dot.offline{background:#e2e8f0}.rank-badge-1{background:linear-gradient(135deg,#f59e0b,#fcd34d);color:#fff}.rank-badge-2{background:linear-gradient(135deg,#94a3b8,#cbd5e1);color:#fff}.rank-badge-3{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.equipment-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:16px;cursor:pointer;transition:all .15s;position:relative;display:flex;flex-direction:column}.equipment-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.equipment-card.service-due{border-left:3px solid #F97316}.equipment-card.service-overdue{border-left:3px solid #EF4444}.equipment-card.warranty-expired{border-top:2px solid #EF4444}.schedule-service-btn{display:none;width:100%;height:32px;margin-top:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;align-items:center;justify-content:center;gap:5px}.equipment-card:hover .schedule-service-btn{display:flex}.service-due-banner{padding:12px 16px;background:#fff7ed;border:1px solid #FED7AA;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--text-sm);color:#9a3412}.reminder-impact{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.contact-split-btn{display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--border-default);width:fit-content}.contact-split-main{flex:1;height:30px;padding:0 10px;background:var(--accent);color:#fff;border:none;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap}.contact-split-main:hover{background:var(--accent-hover)}.contact-split-dropdown{width:28px;background:#0f766e;border:none;border-left:1px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}.contact-split-dropdown:hover{background:#0d9488}.reminder-row-overdue{background:#ef44440a!important}.reminder-row-overdue:hover td{background:#ef44440f!important}.dispatch-board{display:flex;height:calc(100vh - 52px);background:var(--surface-0);overflow:hidden}.dispatch-techs{width:200px;min-width:200px;border-right:1px solid var(--border-default);background:var(--surface-1);display:flex;flex-direction:column;overflow:hidden}.dispatch-techs-header{height:56px;padding:0 16px;display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);flex-shrink:0}.dispatch-tech-row{height:72px;padding:0 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--duration-fast);flex-shrink:0}.dispatch-tech-row:hover{background:var(--surface-2)}.dispatch-tech-info{flex:1;min-width:0}.dispatch-tech-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-tech-meta{font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px}.dispatch-tech-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dispatch-tech-status.active{background:#10b981;box-shadow:0 0 0 2px #10b98133}.dispatch-tech-status.idle{background:#94a3b8}.dispatch-tech-status.offline{background:#e2e8f0}.dispatch-timeline{flex:1;overflow:hidden;display:flex;flex-direction:column}.dispatch-time-header{height:56px;background:var(--surface-1);border-bottom:1px solid var(--border-default);display:flex;align-items:flex-end;padding-bottom:10px;overflow:hidden;flex-shrink:0;position:relative}.dispatch-hour-label{position:absolute;font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono);transform:translate(-50%);white-space:nowrap}.dispatch-now-line{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:20}.dispatch-now-line:before{content:"";position:absolute;top:-1px;left:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444}.dispatch-rows{flex:1;overflow-y:auto;overflow-x:hidden;position:relative}.dispatch-row{height:72px;border-bottom:1px solid var(--border-subtle);position:relative;display:flex;align-items:center}.dispatch-row:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,var(--border-subtle) 0px,var(--border-subtle) 1px,transparent 1px,transparent calc(var(--hour-width, 80px)));pointer-events:none;opacity:.6}.dispatch-job-block{position:absolute;height:50px;top:11px;border-radius:8px;padding:7px 10px;cursor:pointer;overflow:hidden;transition:box-shadow var(--duration-fast),filter var(--duration-fast),transform var(--duration-fast) var(--ease-spring);-webkit-user-select:none;user-select:none;z-index:10;border:1px solid rgba(0,0,0,.08);min-width:60px}.dispatch-job-block:hover{box-shadow:var(--shadow-md);filter:brightness(1.05);transform:translateY(-1px);z-index:20}.dispatch-job-block.selected{box-shadow:0 0 0 2px #0f172a,var(--shadow-md);z-index:20}.dispatch-job-block.dragging{opacity:.7;transform:scale(1.02) translateY(-2px);box-shadow:var(--shadow-xl);z-index:100;cursor:grabbing}.dispatch-job-block.scheduled{background:#eff6ff;color:#1e40af}.dispatch-job-block.en-route{background:#fff7ed;color:#c2410c}.dispatch-job-block.in-progress{background:#ecfdf5;color:#065f46}.dispatch-job-block.complete{background:#f0fdf4;color:#166534}.dispatch-job-block.cancelled{background:#f9fafb;color:#6b7280}.dispatch-job-block.overdue{background:#fef2f2;color:#991b1b}[data-theme=dark] .dispatch-job-block.scheduled{background:#2563eb26;color:#93c5fd}[data-theme=dark] .dispatch-job-block.en-route{background:#ea580c26;color:#fdba74}[data-theme=dark] .dispatch-job-block.in-progress{background:#05966926;color:#6ee7b7}[data-theme=dark] .dispatch-job-block.complete{background:#16653426;color:#86efac}[data-theme=dark] .dispatch-job-block.cancelled{background:#6b728026;color:#9ca3af}[data-theme=dark] .dispatch-job-block.overdue{background:#ef444426;color:#fca5a5}[data-theme=dark] .dispatch-job-block.selected{box-shadow:0 0 0 2px #e2e8f0,var(--shadow-md)}.job-block-title{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.job-block-time{font-size:.6875rem;font-family:var(--font-mono);opacity:.75;margin-top:2px;white-space:nowrap}.dispatch-row.drop-target{background:#0d94880a}.dispatch-row.drop-target:after{content:"";position:absolute;inset:4px;border:2px dashed #0D9488;border-radius:8px;pointer-events:none}.dispatch-detail{width:280px;min-width:280px;border-left:1px solid var(--border-default);background:var(--surface-1);display:flex;flex-direction:column;overflow-y:auto}.dispatch-detail-header{padding:16px 16px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.dispatch-detail-body{padding:14px 16px}.dispatch-detail-section{margin-bottom:16px}.dispatch-detail-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.dispatch-detail-value{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4}.dispatch-unassigned{height:72px;border-top:2px dashed var(--border-default);background:var(--surface-2);display:flex;align-items:center;padding:0 12px;gap:8px;overflow-x:auto;flex-shrink:0}.dispatch-unassigned-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.07em}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-1);color:var(--text-primary);border-radius:11px;border-left:3px solid;border-image:linear-gradient(180deg,var(--color-indigo, #6366f1),var(--color-cyan, #06b6d4)) 1;font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow-lg);pointer-events:all;min-width:280px;max-width:380px;animation:toastIn .25s var(--ease-spring)}.toast.removing{animation:toastOut .2s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{to{opacity:0;transform:translate(60%) scale(.95)}}.toast-success .toast-icon{color:var(--color-indigo, #6366f1)}.toast-error .toast-icon{color:var(--status-error-text, #EF4444)}.toast-info .toast-icon{color:var(--color-indigo, #6366f1)}.toast-warning .toast-icon{color:var(--color-amber, #F59E0B)}.toast-icon{font-size:14px;flex-shrink:0}.toast-message{flex:1;line-height:1.4;color:var(--text-primary)}.toast-dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:16px;padding:0 2px}.toast-dismiss:hover{color:var(--text-secondary)}.toast-action{font-size:var(--text-xs);font-weight:600;color:var(--color-indigo, #6366f1);background:none;border:none;cursor:pointer;white-space:nowrap}[data-theme=dark] .toast,.dark .toast{background-color:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-default)}.inline-confirm{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fef2f2;border:1px solid #FCA5A5;border-radius:8px;font-size:var(--text-sm);color:#991b1b;margin-top:8px}.inline-confirm span{flex:1}@media(max-width:1024px){.sidebar{width:64px!important}.sidebar .sidebar-org-name,.sidebar .sidebar-section-label,.sidebar .sidebar-section-badge,.sidebar .sidebar-section-chevron,.sidebar .sidebar-children,.sidebar .sidebar-child-item,.sidebar .location-switcher-text,.sidebar .sidebar-user-info,.sidebar .sidebar-shortcuts-btn{display:none!important}.sidebar .sidebar-section-header{justify-content:center;padding:9px}.main-content{margin-left:64px!important}.page-wrapper{padding:20px 20px 40px}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.layout-with-sidebar,.layout-with-sidebar-wide{grid-template-columns:1fr}.layout-sidebar-right{position:static}.today-grid{grid-template-columns:1fr!important}.hide-tablet{display:none!important}.form-grid-2,.form-grid-3{grid-template-columns:1fr 1fr}.job-detail-body{grid-template-columns:1fr}.job-detail-right{border-left:none;border-top:1px solid var(--border-default)}.dispatch-board{display:none}.dispatch-mobile-msg{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-muted);font-size:var(--text-sm);text-align:center}}@media(max-width:768px){.sidebar{position:fixed!important;left:-240px!important;width:240px!important;height:100vh!important;z-index:var(--z-overlay, 500)!important;transition:left var(--duration-slow, .25s) var(--ease-out, ease)!important;box-shadow:none!important}.sidebar.mobile-open,.sidebar.open{left:0!important;box-shadow:var(--shadow-xl)!important}.sidebar.mobile-open .sidebar-org-name,.sidebar.mobile-open .sidebar-section-label,.sidebar.mobile-open .sidebar-section-badge,.sidebar.mobile-open .sidebar-section-chevron,.sidebar.mobile-open .sidebar-children,.sidebar.mobile-open .sidebar-child-item,.sidebar.mobile-open .location-switcher-text,.sidebar.mobile-open .sidebar-user-info,.sidebar.mobile-open .sidebar-shortcuts-btn{display:revert!important}.sidebar.mobile-open .sidebar-section-header{justify-content:flex-start;padding:9px 16px}.mobile-backdrop,.sidebar-overlay{display:block!important;position:fixed;inset:0;background:#0006;z-index:calc(var(--z-overlay, 500) - 1);animation:overlayIn var(--duration-fast, .15s) ease}.main-content{margin-left:0!important}.page-wrapper{padding:16px 16px 60px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}.search-bar-input{width:100%}.search-bar{flex:1}.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.grid-3,.grid-2{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.metric-card{padding:14px!important}.metric-card-value{font-size:var(--text-2xl)}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:0}.filter-tab{padding:8px 10px;font-size:var(--text-xs);flex-shrink:0}.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px}.data-table .hide-mobile{display:none}.hide-mobile{display:none!important}.form-grid-2,.form-grid-3,.form-grid-auto{grid-template-columns:1fr!important}.modal-overlay{padding:0;align-items:flex-end}.modal{position:fixed;bottom:0;left:0;right:0;border-radius:20px 20px 0 0;max-height:90vh;width:100%;max-width:100%;animation:sheetUp var(--duration-normal, .2s) var(--ease-out, ease)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal:before{content:"";display:block;width:40px;height:4px;background:var(--border-strong);border-radius:2px;margin:10px auto -4px}.dispatch-board{display:none}.dispatch-mobile-message{display:flex!important;align-items:center;justify-content:center;height:calc(100vh - 52px);flex-direction:column;gap:12px;color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:32px}.login-brand-panel{display:none!important}.login-form-panel{width:100%!important;padding:32px 24px!important}}@media(max-width:480px){.grid-4{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:12px 14px}.metric-card-value,.page-title{font-size:var(--text-xl)}.page-wrapper{padding:12px 10px}.btn-xl{height:46px;font-size:var(--text-base)}.metrics-grid{grid-template-columns:1fr!important}.btn-lg{height:40px;font-size:var(--text-sm)}}@media(hover:none){.row-quick-actions,.table-row-actions{opacity:1}.job-row-actions{display:flex!important}.lead-row-actions{opacity:1}.btn{min-height:40px}.btn-sm{min-height:34px}}.portal-root{--portal-brand: var(--accent, #0D9488);--portal-brand-dark: var(--accent-hover, #0F766E);--portal-brand-light: var(--accent-light, #F0FDFA);--portal-bg: var(--surface-0);display:flex;flex-direction:column;height:100vh;overflow:hidden;--portal-card: var(--surface-1);--portal-surface: var(--surface-2);--portal-border: var(--border-default);--portal-text: var(--text-primary);--portal-text-secondary: var(--text-secondary);--portal-text-muted: var(--text-muted);font-family:var(--font-body);background:var(--surface-0);color:var(--text-primary)}.portal-header{height:56px;background:var(--surface-1);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100}.portal-logo{display:flex;align-items:center;gap:10px}.portal-logo-mark{width:28px;height:28px;background:linear-gradient(135deg,var(--accent, #0D9488),#06B6D4);border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-logo-img{height:30px;width:auto;max-width:120px;object-fit:contain;flex-shrink:0}.portal-company-name{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--text-primary)}.portal-company-badge{font-weight:400;color:var(--text-muted);font-size:13px;margin-left:6px}.portal-header-right{display:flex;align-items:center;gap:8px}.portal-icon-btn{width:32px;height:32px;border-radius:var(--radius-md, 8px);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.portal-icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.portal-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent, #0D9488);color:var(--text-on-dark, #fff);font-family:var(--font-display);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .15s}.portal-avatar:hover{box-shadow:0 0 0 2px var(--surface-1),0 0 0 4px var(--accent, #0D9488)}.portal-more-wrapper,.portal-avatar-wrapper{position:relative}.portal-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 15px rgba(15,23,42,.08));padding:6px;z-index:200}.portal-dropdown-profile{width:240px}.portal-dropdown-header{padding:12px 12px 8px}.portal-dropdown-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.portal-dropdown-email{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.portal-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .12s;text-decoration:none;border:none;background:none;width:100%;text-align:left;font-family:var(--font-body)}.portal-dropdown-item:hover{background:var(--surface-2);color:var(--text-primary)}.portal-dropdown-item svg{width:16px;height:16px;flex-shrink:0}.portal-dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 8px}.portal-dropdown-logout{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm);font-weight:500;color:var(--danger, #EF4444);cursor:pointer;transition:background .12s;font-family:var(--font-body)}.portal-dropdown-logout:hover{background:var(--danger-bg, #FEF2F2)}.portal-nav{display:flex;align-items:center;gap:2px;padding:0 24px;background:var(--surface-1);border-bottom:1px solid var(--border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portal-nav::-webkit-scrollbar{display:none}.portal-nav-item{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all .15s;position:relative;white-space:nowrap;font-family:var(--font-body);background:none;border:none;cursor:pointer}.portal-nav-item:hover{color:var(--text-primary);background:var(--surface-2)}.portal-nav-item.active{color:var(--accent, #0D9488);background:var(--accent-light, #F0FDFA);box-shadow:inset 0 -2px 0 var(--accent, #0D9488)}.portal-nav-icon{display:flex;align-items:center}.portal-nav-icon svg{width:16px;height:16px}.portal-nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9999px;font-family:var(--font-mono);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;background:#ef44441f;color:var(--danger, #EF4444);border:1px solid rgba(239,68,68,.2)}.portal-content{flex:1;overflow-y:auto;min-height:0;max-width:1100px;margin:0 auto;padding:28px 32px 80px;width:100%;box-sizing:border-box}.portal-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--surface-1);border-top:1px solid var(--border-subtle);padding:0 8px;align-items:center;justify-content:space-around;z-index:100}.portal-bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;border-radius:var(--radius-md, 8px);color:var(--text-muted);font-size:10px;font-weight:600;text-decoration:none;transition:color .15s;position:relative}.portal-bottom-nav-item.active{color:var(--accent, #0D9488)}.portal-bottom-nav-icon{position:relative;display:flex}.portal-bottom-nav-icon svg{width:22px;height:22px}.portal-bottom-nav-badge{position:absolute;top:-4px;right:-8px;min-width:14px;height:14px;border-radius:9999px;background:var(--danger, #EF4444);color:#fff;font-family:var(--font-mono);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px}@media(max-width:768px){.portal-nav{display:none}.portal-bottom-nav{display:flex}.portal-content{padding:20px 16px 100px}.portal-company-badge{display:none}.portal-header{padding:0 16px}}.portal-greeting{margin-bottom:24px}.portal-greeting-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px}.portal-greeting-sub{font-size:var(--text-sm);color:var(--text-secondary)}.portal-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.portal-status-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:16px;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-decoration:none;display:block;color:inherit}.portal-status-card:hover{border-color:var(--accent-border, #99F6E4);box-shadow:var(--shadow-md, 0 4px 6px rgba(15,23,42,.07));transform:translateY(-1px)}.portal-status-number{font-family:var(--font-mono);font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.04em;line-height:1;margin-bottom:6px;font-variant-numeric:tabular-nums}.portal-status-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.portal-pay-alert{background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #FED7AA;border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:14px;margin-bottom:20px;animation:slideUp .2s var(--ease-out)}.portal-pay-alert-icon{width:40px;height:40px;border-radius:10px;background:#fff7ed;border:1px solid #FED7AA;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.portal-pay-alert-amount{font-size:var(--text-xl);font-weight:800;color:#c2410c;letter-spacing:-.02em;font-family:var(--font-mono)}.portal-pay-alert-label{font-size:var(--text-xs);color:#92400e;margin-bottom:2px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.portal-pay-now-btn{margin-left:auto;height:38px;padding:0 18px;background:#c2410c;color:#fff;border:none;border-radius:9px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.portal-pay-now-btn:hover{background:#9a3412}.portal-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.portal-section-title{font-size:var(--text-base);font-weight:700;color:var(--portal-text);letter-spacing:-.01em}.portal-section-link{font-size:var(--text-sm);color:var(--portal-brand);text-decoration:none;font-weight:500;transition:color .15s}.portal-section-link:hover{color:var(--portal-brand-dark)}.portal-job-card{background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden;text-decoration:none;display:block;color:inherit}.portal-job-card:hover{border-color:var(--portal-brand);box-shadow:0 4px 12px #0d948814}.portal-job-card.in-progress{border-left:3px solid var(--portal-brand)}.portal-job-card.in-progress:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--portal-brand),transparent)}.portal-job-title{font-size:var(--text-base);font-weight:600;color:var(--portal-text);margin-bottom:6px}.portal-job-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.portal-job-meta-item{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--portal-text-secondary)}.portal-invoice-card{background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:16px;margin-bottom:10px;display:flex;align-items:center;gap:14px;transition:border-color .15s}.portal-invoice-card:hover{border-color:var(--portal-border)}.portal-invoice-card.unpaid{border-left:3px solid var(--color-warning)}.portal-invoice-card.overdue{border-left:3px solid var(--color-danger)}.portal-invoice-card.paid{border-left:3px solid var(--color-success)}.portal-invoice-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--portal-text-muted);margin-bottom:3px}.portal-invoice-amount{font-size:var(--text-lg);font-weight:700;color:var(--portal-text);font-family:var(--font-mono);letter-spacing:-.02em}.portal-invoice-actions{margin-left:auto;flex-shrink:0}.portal-pay-btn{height:36px;padding:0 16px;background:var(--portal-brand);color:#fff;border:none;border-radius:9px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .15s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.portal-pay-btn:hover{background:var(--portal-brand-dark);transform:translateY(-1px)}.portal-message-thread{display:flex;flex-direction:column;gap:14px;padding:16px 0;max-height:400px;overflow-y:auto}.portal-bubble{max-width:75%;padding:10px 14px;border-radius:14px;font-size:var(--text-sm);line-height:1.55}.portal-bubble.inbound,.portal-bubble.from-company{background:var(--portal-card, #FFFFFF);border:1px solid var(--portal-border);border-bottom-left-radius:4px;align-self:flex-start;color:var(--portal-text)}.portal-bubble.outbound,.portal-bubble.from-customer{background:var(--portal-brand);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.portal-bubble-time{font-size:.625rem;color:var(--portal-text-muted);margin-top:4px;display:block}.portal-bubble.outbound .portal-bubble-time,.portal-bubble.from-customer .portal-bubble-time{color:#fff9}.portal-compose{border-top:1px solid var(--portal-border);padding:14px 0 0}.portal-compose-input{width:100%;padding:10px 14px;background:var(--portal-bg);border:1.5px solid var(--portal-border);border-radius:10px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--portal-text);resize:none;min-height:44px;max-height:120px;outline:none;transition:border-color .15s}.portal-compose-input:focus{border-color:var(--portal-brand)}.portal-compose-footer{display:flex;justify-content:flex-end;margin-top:8px}.portal-send-btn{height:34px;padding:0 18px;background:var(--portal-brand);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s}.portal-send-btn:hover{background:var(--portal-brand-dark)}.portal-send-btn:disabled{opacity:.5;cursor:not-allowed}.portal-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f0fdfa);padding:20px}.portal-login-card{background:#fff;border:1px solid var(--portal-border, #E2E8F0);border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.portal-login-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;justify-content:center}.portal-login-title{font-size:var(--text-2xl);font-weight:700;color:#0f172a;text-align:center;margin-bottom:8px;letter-spacing:-.02em}.portal-login-subtitle{font-size:var(--text-sm);color:#475569;text-align:center;margin-bottom:28px;line-height:1.5}.portal-magic-sent{text-align:center;padding:20px 0}.portal-magic-icon{width:64px;height:64px;border-radius:32px;background:#f0fdfa;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;animation:bounceIn .4s var(--ease-spring)}.portal-quick-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}.portal-quick-action{background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:20px 16px;text-align:center;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column;align-items:center;gap:8px}.portal-quick-action:hover{border-color:var(--portal-brand);box-shadow:0 4px 12px #0d94881a;transform:translateY(-1px)}.portal-quick-action-icon{font-size:var(--text-2xl)}.portal-quick-action-label{font-weight:600;font-size:var(--text-md);color:var(--portal-text)}.portal-quick-action-sub{font-size:var(--text-xs);color:var(--portal-text-secondary)}.portal-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.portal-link-card{background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.portal-link-card:hover{border-color:var(--portal-brand);box-shadow:0 4px 12px #0d948814}.portal-filter-bar{display:flex;gap:6px;margin-bottom:24px;padding:4px;background:var(--portal-surface);border-radius:10px;border:1px solid var(--portal-border)}.portal-filter-btn{padding:7px 16px;font-size:var(--text-sm);font-weight:500;border:none;border-radius:8px;background:transparent;color:var(--portal-text-secondary);cursor:pointer;transition:all .15s}.portal-filter-btn:hover{color:var(--portal-text)}.portal-filter-btn.active{background:#fff;color:var(--portal-brand);font-weight:600;box-shadow:0 1px 3px #00000014}.portal-empty{text-align:center;padding:60px 24px}.portal-empty-icon{font-size:48px;opacity:.4;margin-bottom:16px}.portal-empty h3{color:var(--portal-text);margin-bottom:8px}.portal-empty p{color:var(--portal-text-secondary);margin:0;font-size:var(--text-base)}.portal-error{background:#fef2f2;border:1px solid #FECACA;border-radius:12px;padding:12px 16px;color:#dc2626;margin-bottom:16px;font-size:var(--text-base)}@media(max-width:768px){.portal-nav{position:fixed;inset:auto 0 0;border-top:1px solid var(--portal-border);border-bottom:none;background:#fff;padding:0;justify-content:space-around;z-index:100;box-shadow:0 -4px 12px #0000000f}.portal-nav-item{flex-direction:column;gap:2px;padding:8px 4px 10px;font-size:.625rem;border-bottom:none;border-top:2px solid transparent;margin-bottom:0;flex:1;justify-content:center;align-items:center;text-align:center}.portal-nav-item.active{color:var(--portal-brand);box-shadow:inset 0 2px 0 var(--portal-brand)}.portal-nav-item .portal-nav-icon{font-size:var(--text-lg)}.portal-content{padding-bottom:80px}.portal-status-grid{grid-template-columns:repeat(3,1fr);gap:8px}.portal-status-number{font-size:1.375rem}.portal-login-card{padding:28px 20px}}.editable-field{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:6px;padding:2px 6px;margin:-2px -6px;transition:background var(--duration-fast);min-width:60px}.editable-field:hover{background:var(--surface-3)}.editable-field:hover .edit-pencil{opacity:1}.edit-pencil{opacity:0;color:var(--text-muted);flex-shrink:0;transition:opacity var(--duration-fast)}.edit-pencil svg{width:12px;height:12px}.editable-field.editing{background:transparent;cursor:default;display:block;padding:0;margin:0}.editable-field.editing .edit-pencil{display:none}.inline-input{background:var(--surface-1);border:1.5px solid var(--accent);border-radius:7px;padding:5px 10px;font-family:var(--font-body);font-size:inherit;color:var(--text-primary);outline:none;width:100%;box-shadow:0 0 0 3px #0d94881f;transition:all var(--duration-fast)}.inline-input:focus{box-shadow:0 0 0 4px #0d948829}.inline-actions{display:flex;align-items:center;gap:4px;margin-top:5px}.inline-save{height:26px;padding:0 10px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--duration-fast)}.inline-save:hover{background:var(--accent-hover)}.inline-cancel{height:26px;padding:0 8px;background:var(--surface-3);color:var(--text-secondary);border:none;border-radius:6px;font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:background var(--duration-fast)}.inline-cancel:hover{background:var(--surface-4)}.inline-hint{font-size:.625rem;color:var(--text-muted);margin-left:4px}.section-edit-btn{opacity:0;display:flex;align-items:center;gap:4px;padding:3px 8px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast);margin-left:auto}.section-edit-btn:hover{background:var(--surface-3);color:var(--text-primary)}.section-edit-btn svg{width:11px;height:11px}.editable-section{position:relative}.editable-section:hover .section-edit-btn{opacity:1}.flow-toggle{width:36px;height:20px;border-radius:10px;background:var(--surface-3);cursor:pointer;position:relative;transition:background .2s;border:none;flex-shrink:0}.flow-toggle.on{background:#0d9488}.flow-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.flow-toggle.on:after{transform:translate(16px)}.feedback-fab{position:fixed;bottom:80px;right:20px;z-index:999;width:40px;height:40px;border-radius:50%;background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all var(--duration-fast);padding:0}.feedback-fab:hover{background:var(--surface-2);color:var(--text-primary);box-shadow:var(--shadow-lg);transform:scale(1.05)}.feedback-fab svg{width:16px;height:16px}.feedback-fab:after{content:"Send Feedback";position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#0f172a;color:#fff;padding:5px 10px;border-radius:6px;font-size:var(--text-xs);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast);font-family:var(--font-body)}.feedback-fab:hover:after{opacity:1}.msg-widget-trigger{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:24px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #6366f159;z-index:1000;transition:transform .15s,box-shadow .15s}.msg-widget-trigger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.msg-widget-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}.msg-widget-backdrop{position:fixed;inset:0;background:#00000026;z-index:999}.msg-widget-box{position:fixed;bottom:72px;right:20px;width:380px;max-height:520px;background:var(--card-bg, var(--surface-1));border:1px solid var(--border-default);border-radius:16px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:1000;overflow:hidden;animation:msg-widget-slide .2s ease-out}@keyframes msg-widget-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-widget-head{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default)}.msg-widget-head h3{margin:0;font-family:var(--font-heading, var(--font-body));font-size:16px;font-weight:700;color:var(--text-primary)}.msg-widget-x{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.msg-widget-x:hover{background:var(--surface-2)}.msg-widget-list{flex:1;overflow-y:auto;max-height:360px}.msg-widget-empty{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.msg-widget-row{padding:12px 20px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;border-bottom:1px solid var(--border-subtle, var(--border-default));transition:background .1s}.msg-widget-row:hover{background:var(--surface-2)}.msg-widget-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.msg-widget-row-info{flex:1;min-width:0}.msg-widget-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.msg-widget-row-name{font-weight:600;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-widget-row-time{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary, var(--text-secondary));flex-shrink:0;margin-left:8px}.msg-widget-row-body{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.msg-widget-src{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;flex-shrink:0;text-transform:uppercase}.msg-widget-src-sms{background:var(--status-success);color:#fff}.msg-widget-src-lead{background:var(--color-amber, #f59e0b);color:#fff}.msg-widget-foot{padding:12px 16px;border-top:1px solid var(--border-default)}.msg-widget-viewall{width:100%;padding:8px;border:none;border-radius:8px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.msg-widget-viewall:hover{opacity:.9}.feedback-modal-type-row{display:flex;gap:8px;flex-wrap:wrap}.feedback-modal-type-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid var(--border-default);border-radius:20px;background:transparent;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.feedback-modal-type-btn:hover{border-color:var(--brand-accent);color:var(--text-primary)}.feedback-modal-type-btn.active{background:#6366f1;border-color:#6366f1;color:#fff;font-weight:600}.feedback-modal-stars{display:flex;gap:4px}.feedback-modal-star{background:none;border:none;cursor:pointer;padding:2px;font-size:22px;color:var(--border-default);transition:color .1s,transform .1s}.feedback-modal-star:hover{transform:scale(1.15)}.feedback-modal-star.active{color:#6366f1}.pb-wrapper{padding:24px}.pb-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.pb-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 4px;line-height:1.2}.pb-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:0}.pb-subtitle strong{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.pb-actions{display:flex;gap:8px}.pb-btn-filter{padding:8px 14px;border-radius:var(--radius-md, 8px);font-size:.75rem;font-weight:500;font-family:var(--font-body, "DM Sans", sans-serif);color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-default);cursor:pointer;transition:border-color .15s}.pb-btn-filter:hover{border-color:var(--border-strong, var(--border-default))}.pb-btn-add{padding:8px 14px;border-radius:var(--radius-md, 8px);font-size:.75rem;font-weight:600;font-family:var(--font-body, "DM Sans", sans-serif);color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9);border:none;cursor:pointer;transition:opacity .15s}.pb-btn-add:hover{opacity:.9}.pb-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:calc(100vh - 180px)}.pb-column{min-width:260px;max-width:260px;flex-shrink:0;background:var(--surface-1);border-radius:var(--radius-xl, 12px);padding:16px;border:1px solid var(--border-default);box-shadow:0 1px 3px #00000008;display:flex;flex-direction:column;transition:background .2s,border-color .2s,box-shadow .2s}.pb-column-drop{border-color:var(--brand-accent, #0d9488);box-shadow:0 0 0 3px #0d948826}.pb-col-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.pb-col-left{display:flex;align-items:center;gap:8px}.pb-col-icon{width:28px;height:28px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pb-col-icon svg{width:14px;height:14px}.pb-col-label{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.pb-col-count{font-size:.6875rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-full, 9999px);font-family:var(--font-mono)}.pb-col-value{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted)}.pb-column[data-stage=leads] .pb-col-icon,.pb-column[data-stage=leads] .pb-col-count{background:var(--color-blue-bg, #eff6ff);color:var(--color-blue, #3b82f6)}.pb-column[data-stage=consultation] .pb-col-icon,.pb-column[data-stage=consultation] .pb-col-count{background:var(--color-purple-bg, #f5f3ff);color:var(--color-purple, #8b5cf6)}.pb-column[data-stage=estimate] .pb-col-icon,.pb-column[data-stage=estimate] .pb-col-count{background:var(--color-amber-bg, #fffbeb);color:var(--color-amber, #f59e0b)}.pb-column[data-stage=job] .pb-col-icon,.pb-column[data-stage=job] .pb-col-count{background:var(--color-teal-bg, #f0fdfa);color:var(--color-teal, #0d9488)}.pb-column[data-stage=invoice] .pb-col-icon,.pb-column[data-stage=invoice] .pb-col-count{background:var(--color-orange-bg, #fff7ed);color:var(--color-orange, #f97316)}.pb-column[data-stage=collected] .pb-col-icon,.pb-column[data-stage=collected] .pb-col-count{background:var(--color-green-bg, #ecfdf5);color:var(--color-green, #10b981)}.pb-col-cards{flex:1;display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:calc(100vh - 300px);overflow-y:auto}.pb-col-cards::-webkit-scrollbar{width:4px}.pb-col-cards::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.pb-col-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.pb-col-empty svg{width:24px;height:24px;margin-bottom:8px;opacity:.4;display:block}.pb-col-empty p{margin:0}.pb-card{background:var(--surface-card, var(--surface-0, #f8fafc));border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 10px);padding:14px;cursor:grab;transition:all .15s ease;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;border-left:3px solid transparent}.pb-card:hover{background:var(--surface-card-hover, var(--surface-2, #f1f5f9));box-shadow:0 4px 12px #0000000f,0 1px 3px #0000000a;transform:translateY(-1px)}.pb-card:active{cursor:grabbing}.pb-card[data-urgency=amber]{border-left:3px solid var(--color-amber, #f59e0b)}.pb-card[data-urgency=red]{border-left:3px solid var(--color-red, #ef4444)}.pb-card-dragging{opacity:.6;transform:scale(1.02);border-color:var(--color-teal, #0D9488)!important;box-shadow:0 4px 16px #0d948826}.pb-card-skeleton{height:100px;background:var(--surface-3, var(--border-default));border-radius:var(--radius-lg, 10px);opacity:.3;animation:pulse 1.5s infinite}.pb-card-top{display:flex;align-items:center;gap:10px}.pb-card-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.pb-card-identity{flex:1;min-width:0}.pb-card-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-word}.pb-card-entity{font-family:var(--font-mono);font-size:.625rem;color:var(--text-muted);margin-top:1px;line-height:1.2}.pb-card-amount{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;flex-shrink:0;letter-spacing:-.02em}.pb-card-amount.paid{color:var(--color-green, #10b981)}.pb-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.pb-tag{font-size:.625rem;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm, 6px)}.pb-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.pb-card-meta{font-size:.625rem;color:var(--text-muted)}.pb-card-meta.urgent-amber{color:var(--color-amber, #f59e0b);font-weight:600}.pb-card-meta.urgent-red{color:var(--color-red, #ef4444);font-weight:600}.pb-card-meta.success{color:var(--color-green, #10b981);font-weight:500}.pb-card-meta.scheduled{color:var(--color-purple, #8b5cf6)}.pb-card-action{font-family:var(--font-body, "DM Sans", sans-serif);font-size:.625rem;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm, 6px);background:transparent;border:1px solid var(--border-strong, var(--border-default));color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.pb-card-action:hover{border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1)}.pb-card-source{display:none}.pb-overdue{color:var(--color-red, #EF4444);font-weight:700}.pb-paid{color:var(--color-green, #10B981);font-weight:700}.detail-wrapper{max-width:960px;margin:0 auto;padding:24px 20px}.detail-breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;color:var(--text-muted);margin-bottom:20px}.detail-breadcrumb-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;padding:0;border:none;background:transparent;cursor:pointer;color:var(--text-muted);flex-shrink:0;transition:background .15s ease,color .15s ease}.detail-breadcrumb-back:hover{background:var(--hover-bg, rgba(0, 0, 0, .05));color:var(--text-primary)}[data-theme=dark] .detail-breadcrumb-back:hover{background:var(--hover-bg, rgba(255, 255, 255, .08))}.detail-breadcrumb a{color:var(--color-teal, #0d9488);text-decoration:none;transition:color .15s}.detail-breadcrumb a:hover{color:var(--color-teal, #0d9488);text-decoration:underline}.detail-breadcrumb .sep{color:var(--text-muted);opacity:.5}.detail-breadcrumb .current{color:var(--text-primary);font-weight:500}.id-trail{display:flex;align-items:center;gap:0;padding:14px 20px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);margin-bottom:24px;flex-wrap:wrap;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.04))}.id-trail-step{display:flex;align-items:center}.id-trail-node{text-align:center;padding:0 4px}.id-trail-id{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s}.id-trail-id.link{color:var(--brand-accent, #0d9488)}.id-trail-id.link:hover{text-decoration:underline}.id-trail-id.current{color:var(--text-primary);background:var(--surface-2);padding:4px 10px;border-radius:6px}.id-trail-id.future{color:var(--text-muted);opacity:.4}.id-trail-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:3px;font-weight:500}.id-trail-arrow{color:var(--text-muted);opacity:.3;margin:0 10px;font-size:14px;padding-bottom:14px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.detail-header-left{flex:1;min-width:0}.detail-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.2}.detail-subtitle{font-size:.8125rem;color:var(--text-secondary)}.detail-subtitle a{color:var(--brand-accent, #0d9488);font-weight:600;text-decoration:none}.detail-subtitle .entity-id{font-family:var(--font-mono);font-weight:500;color:var(--text-muted)}.detail-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-status{padding:5px 14px;border-radius:var(--radius-full, 9999px);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.detail-btn-outlined{padding:7px 14px;border-radius:var(--radius-md, 8px);font-size:.75rem;font-weight:500;font-family:var(--font-body, "DM Sans", sans-serif);background:transparent;border:1px solid var(--border-strong, var(--border-default));color:var(--text-secondary);cursor:pointer;transition:all .15s}.detail-btn-outlined:hover{border-color:var(--brand-accent, #0d9488);color:var(--brand-accent, #0d9488)}.detail-btn-solid{padding:7px 14px;border-radius:var(--radius-md, 8px);font-size:.75rem;font-weight:600;font-family:var(--font-body, "DM Sans", sans-serif);background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;border:none;cursor:pointer;transition:opacity .15s}.detail-btn-solid:hover{opacity:.9}.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.04));transition:background .2s,border-color .2s}.detail-card-title{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.detail-card-title svg{width:16px;height:16px;color:var(--text-muted)}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-info-field.full{grid-column:1 / -1}.detail-info-label{display:block;font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.detail-info-value{font-size:.875rem;color:var(--text-primary);line-height:1.5}.detail-info-value a{color:var(--brand-accent, #0d9488);font-weight:600;text-decoration:none}.detail-edit-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);opacity:0;transition:opacity .15s;margin-left:4px;vertical-align:middle}.detail-info-field:hover .detail-edit-trigger,.detail-info-value:hover>.detail-edit-trigger{opacity:.6}.detail-edit-trigger:hover{opacity:1!important;background:var(--surface-2)}.detail-edit-trigger svg{width:12px;height:12px}.detail-edit-input{font-size:.875rem;padding:4px 8px;border:1px solid var(--brand-accent, #0d9488);border-radius:6px;width:100%;box-sizing:border-box;background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body, "DM Sans", sans-serif);outline:none}.detail-tags-row{display:flex;gap:6px;flex-wrap:wrap}.detail-tag{font-size:.6875rem;font-weight:500;padding:3px 10px;border-radius:6px}.detail-value-highlight{display:flex;align-items:baseline;gap:8px;padding:14px 16px;background:var(--color-teal-bg);border-radius:var(--radius-md, 8px);border:1px solid var(--border-subtle)}.detail-value-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.detail-value-amount{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--color-teal, #0d9488)}.detail-linked-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-2, var(--surface-0));border-radius:var(--radius-md, 8px);text-decoration:none;color:inherit;border:1px solid var(--border-subtle);transition:all .15s;margin-bottom:8px}.detail-linked-row:last-child{margin-bottom:0}.detail-linked-row:hover{border-color:var(--border-default);transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.detail-linked-id{font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.detail-linked-status{font-size:.625rem;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;margin-left:10px}.detail-linked-amount{font-family:var(--font-mono);font-size:.875rem;font-weight:600}.detail-empty{text-align:center;padding:28px 16px;color:var(--text-muted);font-size:.8125rem}.detail-empty p{margin-bottom:12px}.detail-sidebar-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.04));transition:background .2s,border-color .2s}[data-theme=light] .detail-card,[data-theme=light] .detail-sidebar-card{background:var(--surface-1)}.detail-sidebar-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.detail-quick-action{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .15s;font-size:.8125rem;color:var(--text-primary);font-weight:500;border:none;background:none;width:100%;text-align:left;font-family:var(--font-body, "DM Sans", sans-serif)}.detail-quick-action:hover{background:var(--surface-2)}.detail-quick-action-icon{width:28px;height:28px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-quick-action-icon svg{width:14px;height:14px}.detail-timeline-item{display:flex;gap:12px;padding:8px 0}.detail-timeline-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.detail-timeline-content{flex:1}.detail-timeline-text{font-size:.75rem;color:var(--text-secondary);line-height:1.5}.detail-timeline-text strong{font-weight:600;color:var(--text-primary)}.detail-timeline-time{font-size:.625rem;color:var(--text-muted);margin-top:2px}.detail-status-stepper{display:flex;align-items:center;justify-content:center;padding:24px 20px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);margin-bottom:24px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.04))}.detail-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:90px;cursor:pointer;background:none;border:none;padding:0;font-family:var(--font-body, "DM Sans", sans-serif)}.detail-step:disabled{cursor:default}.detail-step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .2s}.detail-step-dot.active{box-shadow:0 0 0 4px #0000000f}.detail-step-label{font-size:.6875rem;font-weight:600}.detail-step-line{width:60px;height:2px;margin-bottom:20px;transition:background .2s}.detail-rec-actions{background:var(--color-blue-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);padding:20px;margin-bottom:24px}.detail-rec-title{font-size:.8125rem;font-weight:700;color:var(--color-blue);margin-bottom:14px;display:flex;align-items:center;gap:8px}.detail-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:768px){.detail-rec-grid{grid-template-columns:1fr}}.detail-rec-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);padding:14px;cursor:pointer;transition:all .15s;text-align:left;font-family:var(--font-body, "DM Sans", sans-serif)}.detail-rec-card:hover{box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.detail-rec-card:disabled{cursor:default;opacity:.7}.detail-rec-card:disabled:hover{box-shadow:none;transform:none}.detail-rec-card-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.detail-rec-card-desc{font-size:.6875rem;color:var(--text-muted);line-height:1.5}.detail-intel-item{padding:10px 0;border-bottom:1px solid var(--border-subtle)}.detail-intel-item:last-child{border-bottom:none}.detail-intel-label{font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.detail-intel-value{font-size:.8125rem;color:var(--text-primary)}.detail-line-items{width:100%;border-collapse:collapse;margin-bottom:20px}.detail-line-items thead th{padding:10px 12px;text-align:left;font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-default)}.detail-line-items thead th:nth-child(2){text-align:center;width:60px}.detail-line-items thead th:nth-child(3),.detail-line-items thead th:nth-child(4){text-align:right;width:110px}.detail-line-items tbody td{padding:14px 12px;font-size:.8125rem;border-bottom:1px solid var(--border-subtle)}.detail-line-items tbody td:first-child{font-weight:500}.detail-line-items tbody td:nth-child(2){text-align:center;color:var(--text-secondary)}.detail-line-items tbody td:nth-child(3){text-align:right;font-family:var(--font-mono);color:var(--text-secondary)}.detail-line-items tbody td:nth-child(4){text-align:right;font-family:var(--font-mono);font-weight:600}.detail-totals{display:flex;justify-content:flex-end}.detail-totals-block{width:240px}.detail-totals-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.8125rem;color:var(--text-secondary)}.detail-totals-row span:last-child{font-family:var(--font-mono)}.detail-totals-row.total{font-size:1rem;font-weight:700;color:var(--text-primary);padding-top:12px;margin-top:4px;border-top:2px solid var(--border-default)}.detail-totals-row.total span:last-child{color:var(--brand-accent, #0d9488);font-family:var(--font-mono)}.detail-acceptance-banner{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:var(--radius-xl, 12px);margin-bottom:20px;border:1px solid var(--border-subtle)}.detail-acceptance-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;font-weight:700}.detail-acceptance-title{font-size:.8125rem;font-weight:600}.detail-acceptance-meta{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.detail-tracking-step{display:flex;align-items:center;gap:10px}.detail-tracking-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;flex-shrink:0}.detail-tracking-line{width:1px;height:12px;margin-left:11px}.detail-tracking-label{font-size:.75rem;font-weight:600}.detail-tracking-meta{font-size:.625rem;color:var(--text-muted)}.detail-convert-cta{width:100%;padding:16px;border-radius:var(--radius-xl, 12px);font-size:.875rem;font-weight:700;cursor:pointer;border:none;font-family:var(--font-body, "DM Sans", sans-serif);background:var(--brand-accent, #0d9488);color:#fff;box-shadow:0 4px 12px #0d94884d;transition:all .15s}.detail-convert-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d948866}.stm-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px;animation:stmFadeIn .15s}.stm-modal{background:var(--surface-1);border-radius:16px;width:100%;max-width:480px;box-shadow:0 24px 48px #00000026;animation:stmSlideUp .2s;max-height:90vh;overflow-y:auto}.stm-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.stm-header-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stm-title{flex:1;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.stm-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center}.stm-close:hover{background:var(--surface-3);color:var(--text-primary)}.stm-body{padding:16px 20px}.stm-prepopulated{background:var(--surface-2);border-radius:10px;padding:12px 14px;margin-bottom:16px}.stm-prepop-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.stm-prepop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stm-field-label{display:block;font-size:.625rem;font-weight:600;color:var(--text-muted);margin-bottom:2px}.stm-field-value{display:block;font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stm-form{display:flex;flex-direction:column;gap:12px}.stm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stm-label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.stm-input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:inherit;font-size:.8125rem;transition:border-color .15s;box-sizing:border-box}.stm-input:focus{outline:none;border-color:var(--brand-accent, #3B82F6);box-shadow:0 0 0 3px #3b82f61a}.stm-line-items{display:flex;flex-direction:column;gap:6px}.stm-line-items-header{display:flex;align-items:center;justify-content:space-between}.stm-add-btn{background:none;border:none;color:var(--brand-accent, #3B82F6);font-size:.75rem;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px}.stm-add-btn:hover{background:#3b82f614}.stm-line-item-row{display:flex;gap:6px;align-items:center}.stm-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;display:flex;align-items:center}.stm-remove-btn:hover{background:var(--surface-3);color:#ef4444}.stm-confirm-body{text-align:center;padding:8px 0}.stm-confirm-text{font-size:.9375rem;color:var(--text-primary);font-weight:600;margin:0 0 4px}.stm-error{margin-top:10px;padding:8px 12px;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.8125rem;font-weight:600;border:1px solid #FECACA}.stm-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-subtle)}.stm-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .1s}.stm-btn-cancel:hover{background:var(--surface-2)}.stm-btn-confirm{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:8px;border:none;color:#fff;font-size:.8125rem;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s}.stm-btn-confirm:hover{filter:brightness(1.1);transform:translateY(-1px)}.stm-btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes stmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes stmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pipeline-strip{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.pipeline-stage{flex:1;padding:12px 14px;border-right:1px solid var(--border-default);cursor:pointer;transition:background var(--duration-fast);text-align:center}.pipeline-stage:last-child{border-right:none}.pipeline-stage:hover,.pipeline-stage.active{background:var(--surface-2)}.pipeline-stage-count{font-size:1.375rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1;margin-bottom:3px}.pipeline-stage-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.csi-wrap{position:relative}.csi-input{width:100%;padding:10px 32px 10px 10px;border-radius:8px;border:1px solid var(--border-default, #E2E8F0);background:var(--surface-1, white);color:var(--text-primary);font-family:inherit;font-size:.875rem;box-sizing:border-box}.csi-input:focus{outline:none;border-color:var(--brand-accent, #3B82F6);box-shadow:0 0 0 3px #3b82f61a}.csi-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px}.csi-clear:hover{background:var(--surface-3, #F1F5F9);color:var(--text-primary)}.csi-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-1, white);border:1px solid var(--border-default, #E2E8F0);border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:200;max-height:240px;overflow-y:auto}.csi-option{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-subtle, #F1F5F9);display:flex;flex-direction:column;gap:1px;transition:background 80ms}.csi-option:last-child{border-bottom:none}.csi-option:hover{background:var(--surface-2, #F8FAFC)}.csi-option-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.csi-option-email{font-size:.75rem;color:var(--text-muted, #94A3B8)}.integ-page-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 4px}.integ-page-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 24px}.integ-section-label{display:flex;align-items:center;gap:8px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px}.integ-section-label:after{content:"";flex:1;height:1px;background:var(--border-subtle, #E2E8F0)}.integ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:28px}.integ-card{background:var(--surface-1, white);border:1px solid var(--border-default, #E2E8F0);border-radius:12px;padding:16px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:10px}.integ-card:hover{border-color:var(--brand-accent, #3B82F6);box-shadow:0 2px 12px #0000000f;transform:translateY(-1px)}.integ-card-top{display:flex;align-items:center;gap:10px}.integ-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:-.02em}.integ-card-info{flex:1;min-width:0}.integ-card-name{font-size:.875rem;font-weight:700;color:var(--text-primary);line-height:1.2}.integ-card-cat{display:inline-block;padding:1px 7px;border-radius:4px;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3, #F1F5F9);color:var(--text-muted, #94A3B8);margin-top:2px}.integ-card-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.integ-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.integ-status{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600}.integ-status-dot{width:7px;height:7px;border-radius:50%}.integ-status-dot.green{background:#10b981}.integ-status-dot.gray{background:#cbd5e1}.integ-status-dot.amber{background:#f59e0b}.integ-status-text.green{color:#059669}.integ-status-text.gray{color:#94a3b8}.integ-status-text.amber{color:#d97706}.integ-btn{padding:5px 14px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:none;transition:filter .1s}.integ-btn:hover{filter:brightness(1.05)}.integ-btn-manage{background:#0d9488;color:#fff}.integ-btn-setup{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default, #E2E8F0)}.integ-btn-configure{background:transparent;color:#d97706;border:1px solid #FDE68A}.integ-card-coming-soon{opacity:.7;cursor:default}.integ-coming-soon-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-3, #E2E8F0);color:var(--text-secondary)}.payment-type-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.payment-type-pill{padding:6px 14px;border-radius:20px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .12s;border:1px solid var(--border-default, #E2E8F0);background:var(--surface-1, white);color:var(--text-secondary, #64748B)}.payment-type-pill:hover{border-color:#0d9488;color:#0d9488}.payment-type-pill.active{background:#0d9488;color:#fff;border-color:#0d9488}.speed-to-lead-alert{padding:10px 16px;background:#fff7ed;border:1px solid #FED7AA;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}.speed-to-lead-alert strong{color:#c2410c}.lead-row-hot{border-left:3px solid #EF4444}.lead-row-warm{border-left:3px solid #F97316}.lead-row-cold{border-left:3px solid #94A3B8}.lead-row-actions{display:flex;align-items:center;gap:2px}.lead-row-actions .btn-ghost.btn-icon{opacity:0;transition:opacity var(--duration-fast)}.lead-row:hover .lead-row-actions .btn-ghost.btn-icon,tr.lead-row:hover .lead-row-actions .btn-ghost.btn-icon{opacity:1}.lead-row-actions .menu-trigger{opacity:1!important}.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:32px;max-width:1100px;margin:0 auto}.settings-nav{position:sticky;top:80px;height:fit-content}.settings-nav-group{margin-bottom:24px}.settings-nav-group-label{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 12px;margin-bottom:8px}.settings-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;border:none;background:none;width:100%}.pricebook-search-bar{position:relative;margin-bottom:20px}.pricebook-search-input{width:100%;height:46px;padding:0 16px 0 44px;background:var(--surface-1);border:1.5px solid var(--border-default);border-radius:10px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.pricebook-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d94881a}.pricebook-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.pricebook-page{max-width:1400px;margin:0 auto}.pricebook-btn-ghost{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);transition:all .15s}.pricebook-btn-ghost:hover{background:var(--surface-2);color:var(--text-primary)}.pricebook-btn-secondary{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--color-indigo, #6366f1);background:var(--surface-1);color:var(--color-indigo, #6366f1);transition:all .15s}.pricebook-btn-secondary:hover{background:var(--color-indigo, #6366f1);color:#fff}.pricebook-pill-count{margin-left:6px;font-size:11px;background:var(--surface-2);padding:1px 6px;border-radius:10px}.pricebook-edit-cat-btn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-secondary);padding:2px 4px}.pricebook-edit-cat-btn:hover{color:var(--text-primary)}.pricebook-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.pricebook-status-active{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #059669)}.pricebook-status-inactive{background:var(--color-danger-bg, #fee2e2);color:var(--color-danger-text, #dc2626)}[data-theme=dark] .pricebook-status-active{background:#05966926;color:#34d399}[data-theme=dark] .pricebook-status-inactive{background:#dc262626;color:#f87171}.pricebook-row-btn{padding:4px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-1);cursor:pointer;font-size:12px;color:var(--text-primary);transition:all .15s}.pricebook-row-btn:hover{background:var(--surface-2)}.pricebook-row-btn-danger{border-color:var(--color-danger-bg, #fecaca);color:var(--color-danger-text, #dc2626)}.pricebook-row-btn-danger:hover{background:var(--color-danger-bg, #fee2e2)}[data-theme=dark] .pricebook-btn-ghost,[data-theme=dark] .pricebook-row-btn{background:var(--surface-1);border-color:var(--border-default)}.product-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:0;overflow:hidden;transition:border-color .15s,box-shadow .15s;cursor:pointer;display:flex;flex-direction:column}.product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.product-card-image{height:140px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:contain;padding:16px}.product-card-image .product-icon{font-size:40px;opacity:.4}.product-card-body{padding:14px;flex:1}.product-card-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.3}.product-card-sku{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted);margin-bottom:8px}.product-card-price{font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.product-card-price-label{font-size:var(--text-xs);color:var(--text-muted);margin-left:4px;font-weight:400}.product-card-footer{padding:10px 14px;border-top:1px solid var(--border-subtle);display:flex;gap:6px}.product-add-btn{flex:1;height:32px;background:#0f172a;color:#fff;border:none;border-radius:7px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:background .15s}.product-add-btn:hover{background:#1e293b}.product-category-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.product-category-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.product-category-pill:hover{border-color:var(--accent);color:var(--text-primary);background:var(--surface-2)}.product-category-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.product-category-pill .pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:700;background:#0000000f;color:var(--text-muted);line-height:1}.product-category-pill.active .pill-count{background:#ffffff40;color:#fff}.prod-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.prod-card-initial{font-family:var(--font-display);font-weight:800;font-size:40px;opacity:.6}.prod-view-btn{flex:1;height:34px;background:transparent;color:var(--brand-accent);border:1.5px solid var(--brand-accent);border-radius:8px;font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.prod-view-btn:hover{background:var(--brand-accent);color:#fff}.product-card-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.3}.product-card-price{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.prod-data-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600}.prod-data-pill-blue{background:#3b82f614;color:#3b82f6}.prod-data-pill-green{background:#05966914;color:#059669}.prod-data-pill-purple{background:#8b5cf614;color:#8b5cf6}[data-theme=dark] .prod-data-pill-blue{background:#3b82f626;color:#60a5fa}[data-theme=dark] .prod-data-pill-green{background:#05966926;color:#34d399}[data-theme=dark] .prod-data-pill-purple{background:#8b5cf626;color:#a78bfa}.prod-page-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.prod-page-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-accent)}.prod-page-btn:disabled{cursor:default}.prod-catalog-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--brand-accent);background:none;border:none;cursor:pointer;transition:opacity .15s}.prod-catalog-link:hover{opacity:.75;text-decoration:underline}.modal-header-icon.icon-indigo{background:#6366f11a;color:#6366f1}[data-theme=dark] .modal-header-icon.icon-indigo{background:#6366f126;color:#818cf8}.modal-toggle-label{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer}.gbb-badge-popular{position:absolute;top:-1px;right:12px;padding:3px 10px;border-radius:0 0 8px 8px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.quick-add-popover{position:absolute;bottom:calc(100% + 8px);right:0;width:300px;background:var(--surface-0);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;animation:fadeInUp .15s ease}.quick-add-header{padding:12px 14px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.quick-add-header h4{margin:0;font-size:var(--text-sm);font-weight:600}.quick-add-search{width:100%;height:36px;padding:0 12px;border:none;border-bottom:1px solid var(--border-subtle);font-family:var(--font-body);font-size:var(--text-sm);background:var(--surface-1);outline:none}.quick-add-search:focus{background:var(--surface-0)}.quick-add-list{max-height:240px;overflow-y:auto;padding:4px 0}.quick-add-job-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.quick-add-job-item:hover{background:var(--surface-2)}.quick-add-job-item .job-label{flex:1;min-width:0}.quick-add-job-item .job-label strong{display:block;font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-add-job-item .job-label span{font-size:var(--text-xs);color:var(--text-muted)}.quick-add-footer{padding:8px 14px;border-top:1px solid var(--border-subtle)}.quick-add-footer button{width:100%;height:34px;border:1px dashed var(--border-default);border-radius:8px;background:transparent;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--accent);cursor:pointer;transition:all .15s}.quick-add-footer button:hover{background:var(--surface-2);border-color:var(--accent)}.gbb-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:14px;overflow:hidden;margin-bottom:16px}.gbb-card-header{padding:14px 16px;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.gbb-tiers{display:grid;grid-template-columns:repeat(3,1fr)}.gbb-tier{padding:16px;border-right:1px solid var(--border-subtle);text-align:center;position:relative}.gbb-tier:last-child{border-right:none}.gbb-tier.best{background:#0d94880a}.gbb-tier-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.gbb-tier.good .gbb-tier-label{color:#6b7280}.gbb-tier.better .gbb-tier-label{color:#3b82f6}.gbb-tier.best .gbb-tier-label{color:#0d9488}.gbb-tier-name{font-size:var(--text-sm);font-weight:600;margin-bottom:4px}.gbb-tier-price{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:10px}.gbb-tier-select{width:100%;height:32px;border-radius:8px;border:none;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s}.gbb-tier.good .gbb-tier-select{background:var(--surface-3);color:var(--text-primary)}.gbb-tier.better .gbb-tier-select{background:#eff6ff;color:#1d4ed8}.gbb-tier.best .gbb-tier-select{background:#0d9488;color:#fff}@media(max-width:640px){.gbb-tiers{grid-template-columns:1fr}.gbb-tier{border-right:none;border-bottom:1px solid var(--border-subtle)}.gbb-tier:last-child{border-bottom:none}}.copy-container:hover .copy-icon{opacity:1!important}.customer-row{position:relative}.customer-row .row-quick-actions{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity var(--duration-fast);z-index:2}.customer-row:hover .row-quick-actions{opacity:1;pointer-events:auto}.row-action-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast);box-shadow:var(--shadow-xs)}.row-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1)}.row-action-btn.call:hover{background:#059669;border-color:#059669}.row-action-btn.message:hover{background:#3b82f6;border-color:#3b82f6}.health-mini{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600}.health-bar{width:40px;height:5px;background:var(--surface-3);border-radius:3px;overflow:hidden}.health-bar-fill{height:100%;border-radius:3px;transition:width .3s}.action-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.action-count-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all var(--duration-fast);border-left:3px solid var(--card-accent, var(--accent))}.action-count-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.action-count-card.dimmed{opacity:.4;pointer-events:none}.action-count-number{font-family:var(--font-mono);font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-.02em}.action-count-label{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;color:var(--text-primary)}.action-count-sublabel{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:-.01em;color:var(--text-secondary);margin-top:1px}.today-job-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-subtle, var(--border));cursor:pointer;transition:background var(--duration-fast)}.today-job-row:last-child{border-bottom:none}.today-job-row:hover{background:var(--surface-2, var(--bg-secondary));margin:0 -16px;padding:8px 16px;border-radius:6px}.today-job-time{font-size:var(--text-xs);font-weight:600;color:var(--accent);min-width:52px;text-align:right;flex-shrink:0}.today-job-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-job-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}@media(max-width:768px){.action-count-grid{grid-template-columns:repeat(2,1fr)}.customer-row .row-quick-actions{opacity:1;pointer-events:auto;position:static;transform:none}}.job-detail-topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--surface-1);border-bottom:1px solid var(--border-subtle);flex-shrink:0;z-index:40}.job-detail-topbar-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.job-detail-topbar-spacer{flex:1}.job-detail-body{display:grid;grid-template-columns:1fr .55fr;gap:0;flex:1;overflow:hidden;min-height:0}.job-detail-left{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.job-detail-left::-webkit-scrollbar{width:4px}.job-detail-left::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.job-detail-right{border-left:1px solid var(--border-default);background:var(--surface-1);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.job-detail-right::-webkit-scrollbar{width:3px}.job-detail-right::-webkit-scrollbar-thumb{background:var(--border-subtle)}.job-status-progression{display:flex;flex-direction:column;gap:3px;padding:16px;border-bottom:1px solid var(--border-subtle)}.job-status-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background var(--duration-fast);border:1px solid transparent;font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.job-status-step:hover{background:var(--surface-2)}.job-status-step.current{background:var(--surface-2);border-color:var(--border-default);color:var(--text-primary);font-weight:600}.job-status-step.completed{color:var(--text-muted)}.job-status-step.completed .step-dot{background:#10b981}.job-status-step.current .step-dot{background:#0d9488;box-shadow:0 0 0 3px #0d948833;animation:pulse-dot 2s infinite}.job-status-step.upcoming .step-dot{background:var(--border-default)}.step-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.step-check{width:16px;height:16px;border-radius:50%;background:#10b981;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:9px;font-weight:700}.job-primary-action{padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.job-primary-btn{width:100%;height:48px;background:#0f172a;color:#fff;border:none;border-radius:12px;font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--duration-fast),transform var(--duration-fast);letter-spacing:-.01em}.job-primary-btn:hover{background:#1e293b;transform:translateY(-1px)}.job-primary-btn.teal{background:#0d9488}.job-primary-btn.teal:hover{background:#0f766e}.job-primary-btn.green{background:#059669}.job-primary-btn.green:hover{background:#047857}.job-primary-btn svg{width:18px;height:18px}.job-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.job-secondary-btn{height:36px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background var(--duration-fast)}.job-secondary-btn:hover{background:var(--surface-3)}.job-secondary-btn svg{width:14px;height:14px;color:var(--text-secondary)}.job-panel-section{padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.job-panel-section:last-child{border-bottom:none}.job-panel-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.job-panel-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:var(--text-sm)}.job-panel-row:last-child{margin-bottom:0}.job-panel-row-key{color:var(--text-secondary);flex-shrink:0}.job-panel-row-val{color:var(--text-primary);font-weight:500;text-align:right;word-break:break-word}.job-panel-line-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);gap:8px}.job-panel-line-item:last-child{border-bottom:none}.job-panel-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.job-section-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px}.job-section-header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.job-section-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:7px}.job-section-body{padding:14px 16px}.job-customer-card{display:flex;align-items:center;gap:12px}.job-customer-info{flex:1;min-width:0}.job-customer-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:2px}.job-customer-contact{display:flex;gap:8px;margin-top:6px}.job-timeline-compact{display:flex;flex-direction:column;gap:0;position:relative;padding-left:20px}.job-timeline-compact:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--border-subtle)}.job-timeline-item{position:relative;padding:5px 0 5px 14px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.job-timeline-item:before{content:"";position:absolute;left:-15px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--border-default);border:2px solid var(--surface-1)}.job-timeline-item.important:before{background:#0d9488}.job-timeline-item.grouped{color:var(--text-muted);font-style:italic}.job-timeline-date{font-family:var(--font-mono);font-size:.625rem;color:var(--text-muted);margin-top:1px}.job-delete-btn{width:100%;height:34px;background:none;border:1px solid #FCA5A5;border-radius:8px;color:#dc2626;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast);display:flex;align-items:center;justify-content:center;gap:6px}.job-delete-btn:hover{background:#fef2f2}.job-delete-btn svg{width:13px;height:13px}@media(max-width:900px){.job-detail-body{grid-template-columns:1fr}.job-detail-right{border-left:none;border-top:1px solid var(--border-default);max-height:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.customer-hover-trigger{position:relative;cursor:pointer}.customer-hover-card{position:absolute;z-index:1000;top:calc(100% + 6px);left:0;width:300px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-xl);padding:16px;animation:hoverCardIn .15s var(--ease-out) forwards}.customer-hover-card:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:var(--surface-1);border-left:1px solid var(--border-default);border-top:1px solid var(--border-default);transform:rotate(45deg)}.hover-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.hover-card-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700}.hover-card-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.hover-card-email{font-size:var(--text-xs);color:var(--text-secondary)}.hover-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-top:1px solid var(--border-subtle)}.hover-card-stat-label{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.hover-card-stat-value{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.hover-card-actions{display:flex;gap:6px;padding-top:10px;border-top:1px solid var(--border-subtle)}.hover-card-action{flex:1;padding:6px;border-radius:6px;border:1px solid var(--border-default);background:none;cursor:pointer;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);text-align:center;transition:background var(--duration-fast),color var(--duration-fast)}.hover-card-action:hover{background:var(--surface-3);color:var(--text-primary)}.progress-bar{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width var(--duration-deliberate, .5s) var(--ease-out)}.progress-bar-fill.green{background:#10b981}.progress-bar-fill.orange{background:#f97316}.progress-bar-fill.red{background:#ef4444}.health-ring{display:inline-flex;align-items:center;justify-content:center;position:relative}.health-ring svg{transform:rotate(-90deg)}.health-ring-bg{fill:none;stroke:var(--surface-3)}.health-ring-fill{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset var(--duration-deliberate, .5s) var(--ease-out)}.health-ring-fill.high{stroke:#10b981}.health-ring-fill.medium{stroke:#f97316}.health-ring-fill.low{stroke:#ef4444}.health-ring-label{position:absolute;font-size:var(--text-xs);font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.step-progress{display:flex;align-items:center;gap:0}.step-node{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0;transition:all var(--duration-normal) var(--ease-spring, ease)}.step-node.done{background:#10b981;color:#fff}.step-node.current{background:var(--accent);color:#fff;box-shadow:0 0 0 4px #0d948826}.step-node.upcoming{background:var(--surface-3);color:var(--text-muted)}.step-line{flex:1;height:2px;background:var(--surface-3);transition:background var(--duration-normal) var(--ease-out)}.step-line.done{background:#10b981}.tooltip-anchor{position:relative;display:inline-flex}.outstanding-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:12px;margin-bottom:20px;color:#fff}.outstanding-banner-amount{font-size:1.625rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.03em;color:#fff}.outstanding-banner-label{font-size:var(--text-xs);color:#fff9;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.collect-btn{height:28px;padding:0 12px;background:#059669;color:#fff;border:none;border-radius:7px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.collect-btn:hover{background:#047857}.aging-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.6875rem;font-weight:600;white-space:nowrap;line-height:1.4}.invoice-line-items-table{width:100%;border-collapse:collapse}.invoice-line-items-table th{padding:8px 0;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--border-default);text-align:left}.invoice-line-items-table th:last-child{text-align:right}.invoice-line-items-table td{padding:11px 0;border-bottom:1px solid var(--border-subtle);vertical-align:top;font-size:var(--text-sm)}.invoice-line-items-table td:last-child{text-align:right;font-family:var(--font-mono)}.invoice-line-items-table tr:last-child td{border-bottom:none}.invoice-totals-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:var(--text-sm);color:var(--text-secondary)}.invoice-totals-row.total{padding:12px 0 0;border-top:2px solid var(--border-default);margin-top:4px;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.invoice-totals-amount{font-family:var(--font-mono)}.inv-due-date-cell{display:inline-flex;align-items:center}.inv-due-date-display{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary)}.inv-due-date-display.overdue{color:var(--status-error)}.inv-due-date-edit{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,background .1s ease,color .1s ease}.inv-due-date-display:hover .inv-due-date-edit{opacity:1}.inv-due-date-edit:hover{background:#6366f114;color:var(--brand-accent, #6366f1)}.inv-due-date-editing{display:inline-flex;align-items:center;gap:4px}.inv-due-date-input{height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--border-color, var(--border));background:var(--surface-1);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.inv-due-date-input:focus{border-color:var(--brand-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.inv-due-date-save,.inv-due-date-cancel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;cursor:pointer;transition:background .1s ease}.inv-due-date-save{background:#10b9811a;color:var(--success-color, #10B981)}.inv-due-date-save:hover{background:#10b98133}.inv-due-date-save:disabled{opacity:.5;cursor:not-allowed}.inv-due-date-cancel{background:#ef444414;color:var(--error-color, #ef4444)}.inv-due-date-cancel:hover{background:#ef444426}[data-theme=dark] .inv-due-date-input{background:var(--surface-2, rgba(255, 255, 255, .04))}[data-theme=dark] .inv-due-date-input:focus{border-color:var(--color-teal, #06b6d4);box-shadow:0 0 0 3px #06b6d426}.inv-terms-cell{display:inline-flex;align-items:center}.inv-terms-display{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--text-primary)}.inv-terms-edit{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,background .1s ease,color .1s ease}.inv-terms-display:hover .inv-terms-edit{opacity:1}.inv-terms-edit:hover{background:#6366f114;color:var(--brand-accent, #6366f1)}.inv-terms-editing{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.inv-terms-select{height:30px;padding:0 28px 0 8px;border-radius:6px;border:1px solid var(--border-color, var(--border));background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.inv-terms-select:focus{border-color:var(--brand-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.inv-terms-custom-input{height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--border-color, var(--border));background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;width:140px;transition:border-color .15s ease,box-shadow .15s ease}.inv-terms-custom-input:focus{border-color:var(--brand-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.inv-terms-save,.inv-terms-cancel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;cursor:pointer;transition:background .1s ease}.inv-terms-save{background:#10b9811a;color:var(--success-color, #10B981)}.inv-terms-save:hover{background:#10b98133}.inv-terms-save:disabled{opacity:.5;cursor:not-allowed}.inv-terms-cancel{background:#ef444414;color:var(--error-color, #ef4444)}.inv-terms-cancel:hover{background:#ef444426}[data-theme=dark] .inv-terms-select,[data-theme=dark] .inv-terms-custom-input{background:var(--surface-2, rgba(255, 255, 255, .04))}[data-theme=dark] .inv-terms-select:focus,[data-theme=dark] .inv-terms-custom-input:focus{border-color:var(--color-teal, #06b6d4);box-shadow:0 0 0 3px #06b6d426}.payment-history-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.payment-history-item:last-child{border-bottom:none}.payment-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);margin-top:5px;flex-shrink:0}.payment-history-amount{font-family:var(--font-mono);font-weight:700;color:var(--color-success-text)}.payment-history-meta{font-size:var(--text-xs);color:var(--text-muted)}.estimate-tier-card{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;margin:16px 0}.estimate-tier{padding:20px 16px;border-right:1px solid var(--border-default);text-align:center;position:relative;transition:background .15s}.estimate-tier:last-child{border-right:none}.estimate-tier.recommended{background:#0d94880a}.estimate-tier-badge{position:absolute;top:-1px;left:50%;transform:translate(-50%);background:var(--brand-accent);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:0 0 6px 6px}.estimate-tier-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--text-muted)}.estimate-tier.good .estimate-tier-label{color:#6b7280}.estimate-tier.better .estimate-tier-label{color:var(--color-info)}.estimate-tier.best .estimate-tier-label{color:var(--brand-accent)}.estimate-tier-price{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);font-family:var(--font-mono);margin-bottom:12px}.estimate-tier-select-btn{width:100%;height:34px;border-radius:8px;border:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s}.estimate-tier.good .estimate-tier-select-btn{background:var(--surface-3);color:var(--text-primary)}.estimate-tier.good .estimate-tier-select-btn:hover{background:var(--surface-4)}.estimate-tier.better .estimate-tier-select-btn{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.estimate-tier.best .estimate-tier-select-btn{background:var(--brand-accent);color:#fff}.estimate-tier.best .estimate-tier-select-btn:hover{background:var(--brand-accent-hover)}.rate-display{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.payment-success-overlay{position:fixed;inset:0;background:#fff;z-index:calc(var(--z-modal, 10000) + 100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:fadeIn .3s ease}.payment-success-check{width:80px;height:80px;border-radius:40px;background:#059669;display:flex;align-items:center;justify-content:center;animation:bounceIn .5s var(--ease-spring, cubic-bezier(.68, -.55, .27, 1.55))}.payment-success-check svg{width:40px;height:40px;color:#fff}.payment-success-amount{font-size:2.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.04em;font-family:var(--font-mono)}.payment-hero{padding:20px;border-radius:10px;margin-bottom:16px}.payment-hero.paid{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #A7F3D0}.payment-hero.unpaid{background:var(--surface-raised);border:1px solid var(--border-default)}.payment-hero.partial{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #FED7AA}.qb-sync-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.qb-sync-dot.synced{background:#10b981}.qb-sync-dot.not-synced{background:#f59e0b}.qb-sync-dot.not-connected{background:#94a3b8}.qb-connect-card{background:#fff;border:1px solid var(--border-default);border-radius:16px;padding:40px;text-align:center;max-width:480px;margin:40px auto}.qb-logo-area{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.qb-logo-box{width:56px;height:56px;border-radius:14px;background:#2ca01c;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:-.05em}.qb-connect-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em}.qb-connect-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:28px;line-height:1.6}.qb-connect-benefits{text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}.qb-benefit-item{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--text-secondary)}.qb-benefit-check{width:20px;height:20px;border-radius:10px;background:var(--color-success-bg);flex-shrink:0;display:flex;align-items:center;justify-content:center}.qb-connect-btn{width:100%;height:48px;background:#2ca01c;color:#fff;border:none;border-radius:12px;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:background .15s}.qb-connect-btn:hover{background:#228b16}.qb-connected-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:12px;margin-bottom:24px}.qb-connected-badge{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--color-success-text)}.qb-connected-company{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.qb-connected-since{font-size:var(--text-xs);color:var(--text-secondary)}.qb-disconnect-btn-area{margin-left:auto}.qb-sync-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.qb-stat-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:10px;padding:16px;text-align:center}.qb-stat-number{font-size:var(--text-2xl);font-weight:800;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.03em;margin-bottom:4px}.qb-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.qb-sync-actions{display:flex;gap:10px;flex-wrap:wrap}.qb-badge-synced{color:#2ca01c;width:16px;height:16px}.qb-badge-unsynced{color:#f97316;width:16px;height:16px;opacity:.6;cursor:pointer;transition:opacity .15s}.qb-badge-unsynced:hover{opacity:1}.goodleap-sandbox-banner{background:var(--color-amber-bg, #fffbeb);border:1px solid var(--color-amber-border, #fde68a);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:var(--text-sm);color:var(--color-amber-text, #92400e)}.goodleap-sandbox-banner svg{width:16px;height:16px;flex-shrink:0}.goodleap-loan-card{background:#fff;border:1px solid var(--border-default);border-radius:14px;padding:20px;position:relative;transition:border-color .15s,box-shadow .15s}.goodleap-loan-card:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-sm)}.goodleap-loan-card.featured{border-color:var(--brand-accent);box-shadow:0 0 0 3px #0d94881a}.goodleap-loan-apr{font-size:var(--text-3xl);font-weight:800;color:var(--text-primary);letter-spacing:-.04em;font-family:var(--font-mono);margin-bottom:4px}.goodleap-loan-term{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:16px}.goodleap-monthly{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border-subtle, var(--border-default));font-size:var(--text-sm)}.goodleap-monthly-amount{font-weight:700;font-family:var(--font-mono);color:var(--color-success-text)}.biz-health-card{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;padding:28px 32px;display:flex;align-items:center;gap:32px;margin-bottom:24px;color:#fff;position:relative;overflow:hidden}.biz-health-card:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(13,148,136,.2) 0%,transparent 70%);pointer-events:none}.biz-health-score-area{flex-shrink:0;text-align:center}.biz-health-score{font-size:3.5rem;font-weight:800;letter-spacing:-.05em;line-height:1;font-family:var(--font-mono);margin-bottom:6px}.biz-health-score.excellent{color:#6ee7b7}.biz-health-score.good{color:#fcd34d}.biz-health-score.needs-work{color:#fca5a5}.biz-health-label{font-size:var(--text-xs);color:#ffffff80;text-transform:uppercase;letter-spacing:.08em}.biz-health-metrics{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.biz-health-metric{text-align:center}.biz-health-metric-value{font-size:var(--text-xl);font-weight:700;color:#fff;font-family:var(--font-mono);letter-spacing:-.02em;margin-bottom:4px}.biz-health-metric-label{font-size:.6875rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.07em}.biz-health-trend{font-size:var(--text-xs);margin-top:3px}.biz-health-trend.up{color:#6ee7b7}.biz-health-trend.down{color:#fca5a5}.date-range-selector{display:flex;align-items:center;gap:8px}.date-range-pills{display:flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}.date-range-pill{height:28px;padding:0 12px;border-radius:7px;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.date-range-pill.active{background:var(--surface-1);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-xs)}.tech-leaderboard{border-radius:12px;overflow:hidden}.tech-leaderboard-row{display:grid;grid-template-columns:36px 1fr 100px 100px 80px 80px;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background .15s}.tech-leaderboard-row:hover{background:var(--surface-2)}.rank-number{font-size:var(--text-sm);font-weight:800;font-family:var(--font-mono);text-align:center;color:var(--text-muted)}.rank-number.rank-1{color:#f59e0b;font-size:var(--text-base)}.rank-number.rank-2{color:#94a3b8}.rank-number.rank-3{color:#b45309}.rank-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:#fff;font-weight:700}.rank-badge.rank-1{background:linear-gradient(135deg,#f59e0b,#d97706)}.rank-badge.rank-2{background:linear-gradient(135deg,#94a3b8,#64748b)}.rank-badge.rank-3{background:linear-gradient(135deg,#b45309,#92400e)}.insight-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:18px;border-left:3px solid var(--border-default)}.insight-card.positive{border-left-color:#10b981}.insight-card.warning{border-left-color:#f97316}.insight-card.negative{border-left-color:#ef4444}.insight-headline{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.01em}.insight-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:10px}.insight-action{font-size:var(--text-xs);color:var(--brand-accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.territory-insight{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:10px;padding:14px 16px;margin-top:16px;font-size:var(--text-sm)}.territory-insight-title{font-weight:700;color:var(--color-info-text);margin-bottom:4px}.dispatch-stats-bar{display:flex;gap:0;align-items:stretch;background:var(--card-bg, var(--surface-1));border-radius:12px;border:1px solid var(--border-default);overflow:hidden;margin:12px 12px 0;flex-shrink:0}.dispatch-stat{flex:1;padding:14px 18px;border-right:1px solid var(--border-subtle);color:var(--text-primary)}.dispatch-stat:last-child{border-right:none}.dispatch-stat-value{font-size:var(--text-2xl);font-weight:800;font-family:var(--font-mono);letter-spacing:-.04em;line-height:1;margin-bottom:4px;color:var(--text-primary)}.dispatch-stat-value.danger{color:#ef4444}.dispatch-stat-value.warning{color:#d97706}.dispatch-stat-value.success{color:#059669}.dispatch-stat-label{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}[data-theme=dark] .dispatch-stats-bar{background:#0f172a;border-color:#ffffff14}[data-theme=dark] .dispatch-stat{color:#fff;border-right-color:#ffffff14}[data-theme=dark] .dispatch-stat-value{color:#fff}[data-theme=dark] .dispatch-stat-value.danger{color:#fca5a5}[data-theme=dark] .dispatch-stat-value.warning{color:#fcd34d}[data-theme=dark] .dispatch-stat-value.success{color:#6ee7b7}[data-theme=dark] .dispatch-stat-label{color:#fff6}.dispatch-right-panel{width:280px;min-width:280px;border-left:1px solid var(--border-default);background:var(--surface-1);display:flex;flex-direction:column;overflow:hidden}.dispatch-right-panel .dispatch-detail{width:auto;min-width:0;border-left:none;flex:1;overflow-y:auto}.unassigned-queue{flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--border-default);overflow:hidden}.unassigned-queue-header{padding:12px 14px;background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);display:flex;align-items:center;gap:8px}.unassigned-queue-title{font-size:var(--text-sm);font-weight:700;color:var(--color-warning-text);flex:1}.unassigned-queue-count{width:22px;height:22px;border-radius:11px;background:var(--color-warning);color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.unassigned-job-chip{padding:10px 12px;border-bottom:1px solid var(--border-subtle);cursor:grab;transition:background .15s}.unassigned-job-chip:hover{background:var(--surface-2)}.unassigned-job-chip:active{cursor:grabbing}.unassigned-job-chip.dragging{opacity:.5}.unassigned-chip-customer{font-size:var(--text-xs);font-weight:700;color:var(--text-primary)}.unassigned-chip-type{font-size:.6875rem;color:var(--text-secondary);margin-top:1px}.unassigned-chip-time{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono);margin-top:4px}.dispatch-tech-count{width:18px;height:18px;border-radius:9px;background:var(--surface-3);color:var(--text-secondary);font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.dispatch-tech-revenue{font-size:.6875rem;color:#10b981;font-family:var(--font-mono);font-weight:600}.route-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:100px;font-size:.625rem;color:var(--color-info-text);font-weight:500;line-height:1.4}.route-chip svg{width:10px;height:10px;flex-shrink:0}@keyframes shimmerBar{0%,to{opacity:1}50%{opacity:.85}}[data-theme=dark] .dispatch-job-block.dispatched{background:#78350f;color:#fcd34d;border-color:#fcd34d33}[data-theme=dark] .dispatch-job-block.on_the_way{background:#1e3a8a;color:#93c5fd;border-color:#93c5fd33}[data-theme=dark] .dispatch-job-block.in_progress{background:#064e3b;color:#6ee7b7;border-color:#6ee7b733;animation:shimmerBar 3s ease infinite}.equipment-status-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.equipment-status-chip{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:100px;font-size:var(--text-xs);font-weight:600;border:1.5px solid;cursor:pointer;transition:all .15s}.equipment-status-chip.all{background:var(--surface-2);border-color:var(--border-default);color:var(--text-secondary)}.equipment-status-chip.all.active{background:#0f172a;border-color:#0f172a;color:#fff}.equipment-status-chip.overdue{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.equipment-status-chip.overdue.active{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.equipment-status-chip.due_soon{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.equipment-status-chip.due_soon.active{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.equipment-status-chip.healthy{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.equipment-status-chip.healthy.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.status-chip-count{min-width:18px;height:18px;border-radius:9px;background:#00000026;padding:0 4px;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:800;font-family:var(--font-mono)}.equip-age-bar-wrap{margin-top:10px}.equipment-age-bar{height:5px;background:var(--surface-3);border-radius:3px;overflow:hidden;margin-bottom:4px}.equipment-age-fill{height:100%;border-radius:3px;transition:width .6s var(--ease-out)}.equipment-age-fill.healthy{background:#10b981}.equipment-age-fill.aging{background:#f59e0b}.equipment-age-fill.old{background:#ef4444}.equipment-age-text{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--text-muted)}.equip-service-timeline{position:relative;padding-left:24px}.equip-service-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:0;width:1px;background:var(--border-default)}.equip-service-entry{position:relative;padding-bottom:18px}.equip-service-entry:last-child{padding-bottom:0}.equip-service-dot{position:absolute;left:-20px;top:2px;width:10px;height:10px;border-radius:5px;border:2px solid var(--surface-1);background:var(--brand-accent)}.equip-service-dot.maintenance{background:#3b82f6}.equip-service-dot.repair{background:#f97316}.equip-service-dot.replacement{background:#ef4444}.equip-service-dot.inspection{background:#10b981}.equip-service-date{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:2px}.equip-service-description{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.equip-service-tech{font-size:.6875rem;color:var(--text-secondary);margin-top:2px}.filter-revenue-banner{background:linear-gradient(135deg,#0f172a,#1e3a2f);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:20px;margin-bottom:24px;color:#fff;position:relative;overflow:hidden}.filter-revenue-banner:after{content:"$";position:absolute;right:20px;top:-10px;font-size:8rem;font-weight:900;color:#ffffff0a;font-family:var(--font-mono);line-height:1;pointer-events:none}.filter-revenue-amount{font-size:2.25rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.04em;color:#6ee7b7;margin-bottom:4px}.filter-revenue-label{font-size:var(--text-xs);color:#ffffff80;text-transform:uppercase;letter-spacing:.08em}.filter-revenue-actions{margin-left:auto;display:flex;flex-direction:column;gap:8px}.split-btn{display:inline-flex;align-items:stretch;border-radius:8px;overflow:hidden;border:1px solid var(--border-default)}.split-btn-primary{height:30px;padding:0 12px;background:var(--brand-accent);color:#fff;border:none;border-right:1px solid rgba(255,255,255,.2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;transition:background .15s}.split-btn-primary:hover{background:var(--brand-accent-hover, #0F766E)}.split-btn-arrow{width:28px;background:var(--brand-accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.split-btn-arrow:hover{background:var(--brand-accent-hover, #0F766E)}.split-btn-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:150px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);animation:dropdownIn .15s var(--ease-spring)}.split-btn-option{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s;font-family:var(--font-body)}.split-btn-option:last-child{border-bottom:none}.split-btn-option:hover{background:var(--surface-2);color:var(--text-primary)}.filter-bulk-bar{position:sticky;bottom:0;background:#0f172a;border-top:1px solid rgba(255,255,255,.1);padding:12px 20px;display:flex;align-items:center;gap:12px;animation:slideUp .2s var(--ease-spring);z-index:var(--z-sticky)}.filter-bulk-count{font-size:var(--text-sm);color:#fff;font-weight:600}.bulk-sms-btn{height:36px;padding:0 16px;background:var(--brand-accent);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}.bulk-schedule-btn{height:36px;padding:0 16px;background:#ffffff1a;color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer}.customer-profile-header{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:24px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:16px;margin-bottom:20px}.customer-profile-identity{display:flex;flex-direction:column;gap:6px}.customer-profile-name{font-size:var(--text-2xl);font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin:0}.customer-profile-contact{display:flex;flex-direction:column}.profile-contact-row{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-secondary);padding:5px 0;border-bottom:1px solid var(--border-subtle)}.profile-contact-row:last-child{border-bottom:none}.profile-contact-row svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.contact-value{color:var(--text-primary);font-weight:500}@media(max-width:640px){.customer-profile-header{grid-template-columns:1fr}}:root,[data-theme=light]{--color-bg: #f0f2f8;--color-surface: #ffffff;--color-surface-alt: #f5f7fc;--color-surface-raised: #ffffff;--color-border: #dde1ef;--color-border-subtle: #edf0f8;--color-text-primary: #0d0f1a;--color-text-secondary: #4a5068;--color-text-muted: #7b80a0;--color-text-faint: #b0b5cc;--color-accent: #5457e8;--color-accent-cyan: #0cb8d6;--color-accent-orange: #e86820;--color-accent-red: #e03c3c;--color-accent-green: #18a66e;--color-stat-overdue: #e86820;--color-stat-unassigned: #e8a020;--color-stat-leads: #5457e8;--color-stat-equipment: #7c3aed;--color-sidebar-bg: #1a1c28;--color-sidebar-text: #c8cbdc;--color-sidebar-active: #ffffff;--color-sidebar-border: #2a2d3a}[data-theme=dark]{--color-bg: #0e0f14;--color-surface: #16181f;--color-surface-alt: #1e2029;--color-surface-raised: #22242e;--color-border: #2a2d3a;--color-border-subtle: #22242e;--color-text-primary: #e8eaf2;--color-text-secondary: #9196b3;--color-text-muted: #555a78;--color-text-faint: #333650;--color-accent: #818cf8;--color-accent-cyan: #22d3ee;--color-accent-orange: #fb923c;--color-accent-red: #f87171;--color-accent-green: #34d399;--color-stat-overdue: #fb923c;--color-stat-unassigned: #fbbf24;--color-stat-leads: #818cf8;--color-stat-equipment: #a78bfa;--color-sidebar-bg: #0e0f14;--color-sidebar-text: #9196b3;--color-sidebar-active: #ffffff;--color-sidebar-border: #1e2029}[data-theme=light] .card,[data-theme=light] .metric-card,[data-theme=light] .metric-card-today,[data-theme=light] .action-count-card{box-shadow:0 1px 3px #0d0f1a0f,0 4px 12px #0d0f1a0a}[data-theme=light] .dashboard-welcome-hero{background:linear-gradient(135deg,#1a1c28,#1e2540 60%,#0f2040)}[data-theme=light] .action-count-number{color:var(--color-text-primary)}[data-theme=light] .klair-bar,[data-theme=light] .ai-bar{background:#1a1c28;border-bottom:1px solid #2a2d3a}.list-breadcrumb{font-size:12px;color:var(--text-muted);margin-bottom:16px;display:flex;align-items:center;gap:6px}.list-breadcrumb a{color:var(--brand-accent);text-decoration:none}.list-breadcrumb a:hover{text-decoration:underline}.list-breadcrumb-sep{color:var(--text-muted);opacity:.5}.list-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.list-page-header-left{display:flex;align-items:baseline;gap:12px}.list-page-header-right{display:flex;align-items:center;gap:8px}.list-page-title{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.list-page-count{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);background:var(--surface-2);padding:2px 10px;border-radius:var(--radius-full)}.list-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-family:var(--font-body);font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s;box-shadow:0 2px 8px #6366f140}.list-btn-primary:hover{opacity:.9}.list-btn-primary:disabled{opacity:.5;cursor:not-allowed}.list-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.list-btn-secondary:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.list-toolbar{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.list-search-box{flex:1;min-width:220px;max-width:360px;display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:0 12px;height:36px;transition:border-color .15s}.list-search-box:focus-within{border-color:var(--brand-accent)}.list-search-icon{color:var(--text-muted);flex-shrink:0}.list-search-box input{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:13px;color:var(--text-primary);outline:none}.list-search-box input::placeholder{color:var(--text-muted)}.list-filters{display:flex;gap:4px;flex-wrap:wrap}.list-filter-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;white-space:nowrap}.list-filter-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.list-filter-btn.active{border-color:var(--brand-accent);color:var(--brand-accent);background:var(--color-teal-bg);font-weight:600}.list-filter-count{font-family:var(--font-mono);font-size:11px;font-weight:600;opacity:.7}.list-stats-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.list-stat-pill{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .15s}.list-stat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.list-stat-count{font-family:var(--font-mono);font-weight:600;font-size:13px}.list-stat-attention{border-color:var(--color-danger);background:var(--color-danger-bg);cursor:pointer}.list-stat-attention:hover{box-shadow:0 0 0 2px var(--color-danger-bg)}.list-stat-attention .list-stat-count{color:var(--color-danger-text)}.list-stat-attention.active{box-shadow:0 0 0 2px var(--color-danger)}.list-table-wrapper{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.list-data-table{width:100%;border-collapse:collapse}.list-data-table thead th{padding:10px 14px;font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;background:var(--surface-2);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.list-data-table thead th:first-child{padding-left:16px}.list-data-table thead th:last-child{padding-right:16px}.sort-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sort-th:hover{color:var(--brand-accent)}.sort-th.active{color:var(--color-indigo, #6366f1)}.sort-icon{display:inline-flex;margin-left:4px;opacity:0;font-size:10px;transition:opacity .1s}.sort-th:hover .sort-icon{opacity:.4}.sort-th.active .sort-icon{opacity:1}.list-data-row{cursor:pointer;transition:background-color .1s;border-bottom:1px solid var(--border-subtle)}.list-data-row:last-child{border-bottom:none}.list-data-row:hover{background:var(--surface-2)}.list-data-row td{padding:11px 14px;font-size:13px;color:var(--text-primary);vertical-align:middle}.list-data-row td:first-child{padding-left:16px}.list-data-row td:last-child{padding-right:16px}.list-row-urgency-high{background:var(--color-danger-bg)!important}.list-row-urgency-high:hover{background:color-mix(in srgb,var(--color-danger-bg) 60%,var(--surface-2))!important}.list-row-urgency-med{background:var(--color-amber-bg)!important}.list-row-urgency-med:hover{background:color-mix(in srgb,var(--color-amber-bg) 60%,var(--surface-2))!important}.list-col-checkbox{width:40px}.list-col-checkbox input[type=checkbox]{cursor:pointer}.list-col-id{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--brand-accent);white-space:nowrap}.list-col-name{font-weight:600;color:var(--text-primary)}.list-data-row:hover .list-col-name{color:var(--brand-accent)}.list-col-phone{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);white-space:nowrap}.list-col-date{font-size:12px;color:var(--text-muted);white-space:nowrap}.list-source-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap}.source-google{background:var(--color-info-bg);color:var(--color-info-text)}.source-yelp{background:var(--color-danger-bg);color:var(--color-danger-text)}.source-referral{background:var(--color-purple-bg);color:var(--color-purple-text)}.source-vapi{background:var(--color-teal-bg);color:var(--color-teal-text)}.source-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.list-interest-pills{display:flex;gap:4px;flex-wrap:wrap}.list-interest-pill{font-size:10px;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-default);white-space:nowrap}.list-urgency{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm)}.list-urgency-ok{color:var(--text-muted)}.list-urgency-warn{color:var(--color-amber-text);background:var(--color-amber-bg)}.list-urgency-critical{color:var(--color-danger-text);background:var(--color-danger-bg)}.list-quick-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.list-data-row:hover .list-quick-actions{opacity:1}.list-quick-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;white-space:nowrap}.list-quick-action-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.list-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--border-default);background:var(--surface-2)}.list-pagination-info{font-size:12px;color:var(--text-muted)}.list-pagination-buttons{display:flex;gap:4px}.list-pagination-btn{padding:5px 10px;font-family:var(--font-body);font-size:12px;font-weight:500;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s}.list-pagination-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.list-pagination-btn.active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.list-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.list-empty-state{text-align:center;padding:60px 20px}.list-empty-icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text-muted)}.list-empty-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.list-empty-description{font-size:13px;color:var(--text-muted);max-width:360px;margin:0 auto 20px;line-height:1.5}.list-context-menu{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:9999;min-width:200px;overflow:hidden}.list-context-item{display:block;width:100%;padding:10px 16px;text-align:left;border:none;background:none;cursor:pointer;font-family:var(--font-body);font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);text-decoration:none;transition:background .1s}.list-context-item:last-child{border-bottom:none}.list-context-item:hover{background:var(--surface-2)}.list-context-success{color:var(--color-success-text);font-weight:600}.list-context-success:hover{background:var(--color-success-bg)}.list-context-muted{color:var(--text-muted)}.list-context-danger{color:var(--color-danger-text)}.list-context-danger:hover{background:var(--color-danger-bg)}@media(max-width:768px){.list-page-title{font-size:22px}.list-hide-mobile{display:none!important}.list-toolbar{flex-direction:column}.list-search-box{max-width:100%}.list-filters,.list-stats-bar{overflow-x:auto;flex-wrap:nowrap}.list-stat-pill{flex-shrink:0}.list-data-table thead th{font-size:10px;padding:8px 10px}.list-data-row td{padding:10px;font-size:12px}.list-data-row td:first-child{padding-left:12px}.list-quick-actions{opacity:1}.list-page-header{flex-direction:column;align-items:flex-start}.list-page-header-right{width:100%}.list-page-header-right .list-btn-primary{flex:1;justify-content:center}.list-pagination{flex-direction:column;gap:8px}.list-tab-bar{overflow-x:auto}.list-tab-btn{padding:8px 12px;font-size:12px}}.list-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--border-default);margin-bottom:16px;overflow-x:auto}.list-tab-btn{position:relative;padding:10px 18px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;white-space:nowrap;transition:color .15s;border-bottom:2px solid transparent;margin-bottom:-2px}.list-tab-btn:hover{color:var(--text-primary)}.list-tab-btn.active{color:var(--brand-accent);font-weight:600;border-bottom-color:var(--brand-accent)}.list-tab-count{font-family:var(--font-mono);font-size:11px;margin-left:6px;padding:1px 7px;border-radius:var(--radius-full);background:var(--surface-2);font-weight:600}.list-tab-btn.active .list-tab-count{background:var(--color-teal-bg);color:var(--color-teal-text)}.ctx-tabs{display:flex;gap:4px;padding:3px;background:var(--surface-2, var(--bg-secondary));border-radius:10px;margin-bottom:20px;overflow-x:auto;width:fit-content}.ctx-tab{padding:7px 16px;border-radius:7px;border:none;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;white-space:nowrap;transition:all .15s ease}.ctx-tab:hover:not(.active){color:var(--text-secondary);background:var(--surface-3, rgba(99,102,241,.06))}.ctx-tab.active{background:linear-gradient(135deg,var(--brand-accent, #6366f1),var(--color-teal, #06b6d4));color:#fff;font-weight:600;box-shadow:0 1px 4px #6366f140}[data-theme=dark] .ctx-tabs{background:var(--surface-2)}[data-theme=dark] .ctx-tab.active{box-shadow:0 1px 6px #6366f159}@media(max-width:640px){.ctx-tabs{width:100%}.ctx-tab{padding:7px 12px;font-size:12px}}.list-row-today{background:var(--color-teal-bg)!important}.list-row-today:hover{background:color-mix(in srgb,var(--color-teal-bg) 60%,var(--surface-2))!important}.list-tech-avatar{display:inline-flex;align-items:center;gap:6px}.list-tech-circle{width:24px;height:24px;border-radius:50%;background:var(--color-purple-bg);color:var(--color-purple-text);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-tech-name{font-size:12px;color:var(--text-secondary)}.list-linked-id{font-family:var(--font-mono);font-size:11px;color:var(--brand-accent);cursor:pointer;padding:2px 8px;border-radius:var(--radius-sm);background:var(--color-teal-bg);transition:all .15s}.list-linked-id:hover{text-decoration:underline}.list-today-marker{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--color-teal-text);background:var(--color-teal-bg);padding:2px 8px;border-radius:var(--radius-full);margin-left:6px}.list-datetime-block{display:inline-flex;flex-direction:column;gap:1px}.list-datetime-date{font-size:12px;color:var(--text-secondary)}.list-datetime-time{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-primary)}.list-pipeline-value{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-success-text);background:var(--color-success-bg);padding:4px 14px;border-radius:var(--radius-full)}.list-pipeline-label{font-family:var(--font-body);font-weight:500;font-size:11px;color:var(--text-muted)}.list-col-amount{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary);text-align:right;white-space:nowrap}.list-col-secondary{color:var(--text-secondary);font-size:12px}.list-tier-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:600}.list-tier-premium{background:var(--color-purple-bg);color:var(--color-purple-text)}.list-tier-standard{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.list-row-accepted{background:var(--color-success-bg)!important}.list-row-accepted:hover{background:color-mix(in srgb,var(--color-success-bg) 60%,var(--surface-2))!important}.list-row-expired{background:var(--color-amber-bg)!important}.list-row-expired:hover{background:color-mix(in srgb,var(--color-amber-bg) 60%,var(--surface-2))!important}.list-expiry-expired{color:var(--color-danger-text)!important;font-weight:600}.list-today-count{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-teal-text);background:var(--color-teal-bg);padding:4px 14px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:6px}.list-today-count-label{font-family:var(--font-body);font-weight:500;font-size:11px;color:var(--text-muted)}.list-outstanding-pill{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-danger-text);background:var(--color-danger-bg);padding:4px 14px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:6px}.list-outstanding-label{font-family:var(--font-body);font-weight:500;font-size:11px;color:var(--text-muted)}.list-balance-block{display:flex;flex-direction:column;gap:1px;text-align:right}.list-balance-total{font-family:var(--font-mono);font-size:13px;font-weight:600}.list-balance-paid{font-family:var(--font-mono);font-size:10px;color:var(--color-success-text)}.list-balance-due{font-family:var(--font-mono);font-size:10px;color:var(--color-danger-text);font-weight:600}.list-col-date-overdue{color:var(--color-danger-text)!important;font-weight:600}.list-col-date-paid{color:var(--color-success-text)!important}.list-quick-action-btn-accent{color:var(--brand-accent)!important;border-color:var(--brand-accent)!important}.list-customer-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-purple-bg);color:var(--color-purple-text);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-name-cell{display:flex;align-items:center;gap:10px}.list-name-info{min-width:0}.list-name-primary{font-weight:600;font-size:13px}.list-name-city{font-size:11px;color:var(--text-muted);margin-top:1px}.list-equip-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.list-equip-active{background:var(--color-teal-bg);color:var(--color-teal-text)}.list-equip-none{background:var(--color-neutral-bg, var(--surface-2));color:var(--text-muted)}.list-sort-group{display:flex;gap:4px;align-items:center}.list-sort-label{font-size:11px;color:var(--text-muted);font-weight:500;margin-right:4px}.list-sort-btn{padding:4px 10px;font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .15s}.list-sort-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.list-sort-btn.active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.list-col-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:inline-block}@media(max-width:768px){.list-hide-mobile-inline{display:none}}.equip-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.equip-page-header-left{display:flex;flex-direction:column;gap:8px}.equip-title-row{display:flex;align-items:baseline;gap:12px}.equip-alert-pills{display:flex;gap:8px;flex-wrap:wrap}.equip-alert-pill{font-family:var(--font-mono);font-size:13px;font-weight:600;padding:5px 16px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:8px}.equip-pill-label{font-family:var(--font-body);font-weight:500;font-size:11px}.equip-pill-healthy{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid rgba(16,185,129,.2)}.equip-pill-filter-due{color:var(--color-amber-text);background:var(--color-amber-bg);border:1px solid rgba(245,158,11,.2)}.equip-pill-warranty-expired{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid rgba(239,68,68,.2)}.equip-product-cell{display:flex;align-items:center;gap:10px}.equip-product-icon{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.equip-icon-wh{background:linear-gradient(135deg,#6366f11a,#818cf81a);color:#6366f1}.equip-icon-ro{background:linear-gradient(135deg,#0ea5e91a,#06b6d41a);color:#0ea5e9}.equip-icon-st{background:linear-gradient(135deg,#8b5cf61a,#a78bfa1a);color:#8b5cf6}.equip-icon-default{background:var(--surface-2);color:var(--text-muted)}[data-theme=dark] .equip-icon-wh{background:linear-gradient(135deg,#6366f133,#818cf833)}[data-theme=dark] .equip-icon-ro{background:linear-gradient(135deg,#0ea5e933,#06b6d433)}[data-theme=dark] .equip-icon-st{background:linear-gradient(135deg,#8b5cf633,#a78bfa33)}.equip-product-info{min-width:0}.equip-product-name{font-weight:600;font-size:13px}.equip-product-type{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:1px}.equip-col-serial{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;letter-spacing:.02em}.equip-col-customer{font-size:13px;font-weight:500;color:var(--brand-accent);cursor:pointer}.equip-col-customer:hover{text-decoration:underline}.equip-warranty-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;font-size:11px;font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.equip-warranty-active{background:var(--color-success-bg);color:var(--color-success-text)}.equip-warranty-expiring{background:var(--color-amber-bg);color:var(--color-amber-text)}.equip-warranty-expired{background:var(--color-danger-bg);color:var(--color-danger-text)}.equip-warranty-unknown{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.equip-filter-cell{display:flex;flex-direction:column;gap:2px}.equip-filter-date{font-size:12px;font-weight:500}.equip-filter-ok{color:var(--text-muted)}.equip-filter-soon{color:var(--color-amber-text);font-weight:600}.equip-filter-overdue{color:var(--color-danger-text);font-weight:700}.equip-filter-countdown{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);width:fit-content}.equip-countdown-ok{background:var(--color-success-bg);color:var(--color-success-text)}.equip-countdown-soon{background:var(--color-amber-bg);color:var(--color-amber-text)}.equip-countdown-overdue{background:var(--color-danger-bg);color:var(--color-danger-text)}.equip-row-critical{background:#fee2e2!important}.equip-row-critical:hover{background:#fecaca!important}.equip-row-attention{background:#fef3c7!important}.equip-row-attention:hover{background:#fde68a!important}.equip-row-healthy{background:#d1fae5!important}.equip-row-healthy:hover{background:#a7f3d0!important}[data-theme=dark] .equip-row-critical{background:#ef444426!important}[data-theme=dark] .equip-row-critical:hover{background:#ef444438!important}[data-theme=dark] .equip-row-attention{background:#f59e0b26!important}[data-theme=dark] .equip-row-attention:hover{background:#f59e0b38!important}[data-theme=dark] .equip-row-healthy{background:#10b9811f!important}[data-theme=dark] .equip-row-healthy:hover{background:#10b9812e!important}@media(max-width:768px){.equip-page-header{flex-direction:column}.equip-alert-pills{overflow-x:auto;flex-wrap:nowrap}.equip-alert-pill{flex-shrink:0;font-size:12px}}.settings-layout{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:start;max-width:1100px;margin:0 auto}.settings-nav{background:var(--surface-1, var(--bg-card));border:1px solid var(--border-default, var(--border));border-radius:var(--radius-lg, 14px);overflow:hidden;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;position:sticky;top:80px}.settings-nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:13px 16px;border:none;border-left:3px solid transparent;background:transparent;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:all .15s;border-bottom:1px solid var(--border-subtle, var(--border))}.settings-nav-item:last-child{border-bottom:none}.settings-nav-item:hover{background:var(--surface-2, var(--bg-secondary))}.settings-nav-item.active{background:var(--brand-accent-light, #eef2ff);border-left-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1);font-weight:700}[data-theme=dark] .settings-nav-item.active{background:#6366f11f}[data-theme=dark] .settings-nav{background:var(--surface-1);border-color:var(--border-default)}.stg-card{background:var(--surface-1, var(--bg-card));border:1px solid var(--border-default, var(--border));border-radius:var(--radius-lg, 14px);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;margin-bottom:16px;overflow:hidden}.stg-card-header{padding:18px 24px;border-bottom:1px solid var(--border-subtle, var(--border))}.stg-card-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 3px}.stg-card-desc{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);margin:0}.stg-card-body{padding:20px 24px}[data-theme=dark] .stg-card{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .stg-card-header{border-bottom-color:var(--border-subtle)}.stg-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stg-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.stg-form-grid-addr{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.stg-form-group{display:flex;flex-direction:column;gap:5px}.stg-form-label{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.stg-form-input{font-family:var(--font-body);font-size:14px;padding:9px 12px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm, 6px);background:var(--surface-1, var(--bg-card));color:var(--text-primary);transition:border-color .15s;width:100%}.stg-form-input:focus{outline:none;border-color:var(--brand-accent, #6366f1)}.stg-form-input-mono{font-family:var(--font-mono);font-size:13px;padding:9px 12px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm, 6px);background:var(--surface-1, var(--bg-card));color:var(--text-primary);width:100%;transition:border-color .15s}.stg-form-input-mono:focus{outline:none;border-color:var(--brand-accent, #6366f1)}[data-theme=dark] .stg-form-input,[data-theme=dark] .stg-form-input-mono{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .stg-form-input:focus,[data-theme=dark] .stg-form-input-mono:focus{background:var(--surface-1);border-color:var(--brand-accent, #6366f1)}.stg-toggle{position:relative;display:inline-flex;align-items:center;width:44px;height:24px;border-radius:12px;padding:0;border:none;cursor:pointer;flex-shrink:0;background:var(--surface-3, rgba(107, 114, 128, .2));transition:background .2s ease}.stg-toggle:after{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.stg-toggle-on,.stg-toggle.on{background:var(--brand-accent, #6366f1)}.stg-toggle-on:after,.stg-toggle.on:after{transform:translate(20px)}[data-theme=dark] .stg-toggle{background:var(--surface-3, rgba(255, 255, 255, .1))}[data-theme=dark] .stg-toggle-on,[data-theme=dark] .stg-toggle.on{background:var(--brand-accent, #6366f1)}.stg-icon-pill{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;color:#fff}.stg-icon-pill-amber{background:linear-gradient(135deg,#f59e0b,#d97706)}.stg-icon-pill-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.stg-icon-pill-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stg-icon-pill-teal{background:linear-gradient(135deg,#14b8a6,#0d9488)}.stg-icon-pill-gray{background:linear-gradient(135deg,#6b7280,#4b5563)}.stg-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-subtle, var(--border));gap:16px}.stg-row:last-child{border-bottom:none}.stg-row-info{flex:1;min-width:0}.stg-row-label{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.stg-row-desc{font-family:var(--font-body);font-size:12px;color:var(--text-muted);line-height:1.4}.stg-card-header-row{display:flex;align-items:center;gap:12px}.stg-card-header-text{flex:1}.stg-input-with-suffix{display:flex;align-items:center;gap:6px}.stg-input-suffix{font-family:var(--font-body);font-size:12px;color:var(--text-muted);white-space:nowrap}.stg-textarea{font-family:var(--font-body);font-size:14px;padding:10px 12px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm, 6px);line-height:1.5;background:var(--surface-1, var(--bg-card));color:var(--text-primary);transition:border-color .15s;width:100%;resize:vertical}.stg-textarea:focus{outline:none;border-color:var(--brand-accent, #6366f1)}[data-theme=dark] .stg-textarea{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .stg-textarea:focus{background:var(--surface-1);border-color:var(--brand-accent, #6366f1)}.stg-select{font-family:var(--font-body);font-size:14px;padding:9px 32px 9px 12px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm, 6px);width:100%;appearance:none;background:var(--surface-1, var(--bg-card));color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color .15s}.stg-select:focus{outline:none;border-color:var(--brand-accent, #6366f1)}[data-theme=dark] .stg-select{background-color:var(--surface-2);border-color:var(--border-default)}.stg-preview{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:var(--surface-2, var(--bg-secondary));font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary);margin-top:6px}.stg-char-count{text-align:right;font-family:var(--font-body);font-size:11px;color:var(--text-muted);margin-top:4px}.stg-ghost-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.stg-ghost-link:hover{color:var(--color-teal, #0d9488)}.stg-save-footer{margin-top:8px;padding-top:20px;border-top:1px solid var(--border-subtle, var(--border));display:flex;justify-content:flex-end}.stg-logo-area{display:flex;align-items:center;gap:24px}.stg-logo-preview{width:100px;height:100px;border:2px dashed var(--border-default, var(--border));border-radius:var(--radius-md, 10px);display:flex;align-items:center;justify-content:center;background:var(--surface-2, var(--bg-secondary));overflow:hidden;color:var(--text-muted);font-size:13px;font-weight:500}.stg-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.stg-logo-hint{font-family:var(--font-body);font-size:11px;color:var(--text-muted);margin-top:6px}.stg-team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stg-team-tabs{display:flex;gap:4px}.stg-team-tab{font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 14px;border-radius:var(--radius-sm, 6px);border:none;cursor:pointer;transition:all .15s;background:transparent;color:var(--text-secondary)}.stg-team-tab.active{background:var(--brand-accent, #6366f1);color:#fff}.stg-team-tab:hover:not(.active){background:var(--surface-2, var(--bg-secondary))}.stg-btn-add-user{font-family:var(--font-body);font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--radius-sm, 6px);border:none;background:var(--brand-accent, #6366f1);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.stg-btn-add-user:hover{opacity:.9}.stg-status-filter{display:flex;gap:4px;margin-bottom:12px}.stg-status-btn{font-family:var(--font-body);font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--border-default, var(--border));background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.stg-status-btn.active{background:var(--brand-accent-light, #eef2ff);border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1)}[data-theme=dark] .stg-status-btn.active{background:#6366f11f}.stg-users-table{width:100%;border-collapse:collapse}.stg-users-table th{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-default, var(--border))}.stg-users-table td{padding:12px;border-bottom:1px solid var(--border-subtle, var(--border));font-family:var(--font-body);font-size:13px;vertical-align:middle;color:var(--text-primary)}.stg-users-table tr:hover td{background:var(--surface-2, var(--bg-secondary))}.stg-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-accent, #6366f1);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:12px;font-weight:700;margin-right:10px;vertical-align:middle}.stg-user-name{font-family:var(--font-body);font-weight:600;color:var(--text-primary)}.stg-user-email{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);margin-left:10px}.stg-user-inactive{opacity:.55}.stg-last-active{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.stg-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.stg-btn-edit{font-family:var(--font-body);font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-default, var(--border));background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.stg-btn-edit:hover{border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1)}.stg-role-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-family:var(--font-body);font-size:11px;font-weight:600;text-transform:uppercase}.stg-roles-list{display:flex;flex-direction:column;gap:8px}.stg-role-card{border:1px solid var(--border-default, var(--border));border-radius:var(--radius-md, 10px);background:var(--surface-1, var(--bg-card));cursor:pointer;transition:all .2s;overflow:hidden}.stg-role-card:hover{border-color:var(--brand-accent, #6366f1);box-shadow:0 4px 16px #6366f114}.stg-role-card.expanded{border-color:var(--brand-accent, #6366f1)}.stg-role-summary{display:flex;align-items:center;padding:14px 18px;gap:14px}.stg-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stg-role-card-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary);flex:1;min-width:0}.stg-role-card-desc{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);flex:2;min-width:0}.stg-role-card-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);min-width:60px;text-align:right;flex-shrink:0}.stg-role-chevron{width:20px;height:20px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.stg-role-card.expanded .stg-role-chevron{transform:rotate(180deg)}.stg-role-detail{display:none;padding:0 18px 18px;border-top:1px solid var(--border-subtle, var(--border))}.stg-role-card.expanded .stg-role-detail{display:block}.stg-perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:14px}.stg-perm-category{padding:12px 0;border-bottom:1px solid var(--border-subtle, var(--border))}.stg-perm-category:nth-last-child(-n+2){border-bottom:none}.stg-perm-cat-name{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.stg-perm-item{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12.5px;color:var(--text-primary);padding:2px 0}.stg-perm-check{color:var(--color-success);font-weight:700;font-size:14px}.stg-perm-denied{color:var(--text-muted);font-size:13px}.stg-perm-item.denied{color:var(--text-muted)}[data-theme=dark] .stg-role-card{background:var(--surface-1);border-color:var(--border-default)}@media(max-width:768px){.stg-role-summary{flex-wrap:wrap;gap:8px}.stg-role-card-desc{flex-basis:100%;order:3}.stg-perm-grid{grid-template-columns:1fr}}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow-x:auto;border-radius:var(--radius-md, 10px)}.settings-nav-item{border-left:none;border-bottom:2px solid transparent;padding:10px 14px;white-space:nowrap;font-size:12px}.settings-nav-item.active{border-bottom-color:var(--brand-accent, #6366f1);border-left:none}.stg-form-grid-2,.stg-form-grid-3,.stg-form-grid-addr,.stg-roles-grid{grid-template-columns:1fr}}.stg-pill-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;padding:4px;background:var(--surface-2, var(--bg-secondary));border-radius:10px}.stg-pill-tab{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;border:none;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:500;background:transparent;color:var(--text-muted);transition:all .12s}.stg-pill-tab.active{background:var(--surface-1, var(--bg-card));color:var(--text-primary);font-weight:700;box-shadow:0 1px 3px #00000014}.stg-pill-tab:hover:not(.active){color:var(--text-secondary)}[data-theme=dark] .stg-pill-tab.active{box-shadow:0 1px 3px #0000004d}.settings-section-card-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-subtle);background:var(--surface-0);border-radius:0 0 var(--radius-md, 12px) var(--radius-md, 12px)}.settings-expand-panel{margin-top:16px;padding:20px;background:var(--surface-3);border-radius:12px}.auto-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auto-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;padding:4px 10px;background:var(--surface-3);border-radius:6px}.auto-var-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.auto-var-chip{font-size:10px;height:22px}.settings-loading{padding:60px;text-align:center;color:var(--text-muted);font-family:var(--font-body);font-size:14px}.settings-header-row{display:flex;justify-content:space-between;align-items:center;width:100%}.settings-title-icon{vertical-align:-2px;margin-right:4px}.settings-processor-block{padding:16px;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-0);margin-bottom:14px}.settings-processor-block:last-child{margin-bottom:0}[data-theme=dark] .settings-processor-block{background:var(--surface-2)}.settings-processor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.settings-processor-name{font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.settings-processor-badge{font-size:10px;font-weight:700;padding:2px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.05em}.settings-badge-primary{background:#6366f11a;color:var(--brand-accent, #6366f1)}.settings-badge-fallback{background:var(--surface-3, rgba(107, 114, 128, .1));color:var(--text-muted)}.settings-processor-status-row{display:flex;align-items:center;gap:8px}.settings-badge-live{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;background:#10b9811a;color:var(--success-color, #10B981);text-transform:uppercase;letter-spacing:.05em}.settings-badge-sandbox{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;background:var(--color-amber-bg, rgba(245, 158, 11, .12));color:var(--color-amber-text, #d97706);text-transform:uppercase;letter-spacing:.05em}.settings-badge-disabled{font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;background:var(--surface-3, rgba(107, 114, 128, .1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.settings-badge-operational{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:#10b9810f;color:var(--success-color, #10B981)}.settings-processor-details{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:12px}.settings-processor-field{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.settings-processor-field-label{color:var(--text-muted)}.settings-processor-field-value{color:var(--text-primary);font-weight:600}.settings-mono{font-family:var(--font-mono)}.settings-test-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;cursor:pointer;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;transition:all .15s ease}.settings-test-btn:hover{background:var(--surface-3);color:var(--text-primary)}.settings-test-btn:disabled{opacity:.6;cursor:not-allowed}.settings-processor-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.settings-row-inline{display:flex;align-items:center;gap:8px}.settings-row-label-sm{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary)}.settings-processor-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:var(--color-amber-bg, rgba(245, 158, 11, .08));border:1px solid rgba(245,158,11,.15);font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--color-amber-text, #d97706)}.settings-gl-pill{display:inline-flex;align-items:center;padding:4px 14px;border-radius:16px;background:linear-gradient(135deg,#6b4fbb,#e8833a);color:#fff;font-family:var(--font-display);font-weight:800;font-size:14px;letter-spacing:-.01em}.settings-gl-reg{font-size:7px;font-weight:400;margin-left:1px;vertical-align:super}.settings-gl-pill-sm{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#6b4fbb,#e8833a);color:#fff;font-size:9px;font-weight:800}.settings-external-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-teal, #0d9488);text-decoration:none}.settings-external-link:hover{text-decoration:underline}.settings-row-controls{display:flex;align-items:center;gap:10px}.settings-inline-input-group{display:flex;align-items:center;gap:6px}.settings-input-xs{width:70px;height:36px;text-align:center;padding:0 8px;font-size:14px}.settings-input-suffix{font-family:var(--font-body);font-size:12px;color:var(--text-muted);white-space:nowrap}.settings-select-sm{width:200px;height:40px;padding:0 32px 0 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:14px}.settings-method-label{display:flex;align-items:flex-start;gap:10px}.settings-method-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-3, rgba(99, 102, 241, .06));color:var(--text-secondary);flex-shrink:0}.settings-info-block{padding:14px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-0);margin-bottom:14px}[data-theme=dark] .settings-info-block{background:var(--surface-2)}.settings-info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.settings-info-row+.settings-info-row{border-top:1px solid var(--border-subtle)}.settings-info-label{color:var(--text-muted)}.settings-info-value{font-weight:600;color:var(--text-primary)}.settings-link-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.settings-teal-link{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-teal, #0d9488);text-decoration:none}.settings-teal-link:hover{text-decoration:underline}.settings-ghost-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;transition:all .15s ease}.settings-ghost-btn:hover{background:var(--surface-3);color:var(--text-primary)}.stl-metrics-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.stl-metric-card{padding:12px;background:var(--surface-3);border-radius:10px;text-align:center}.stl-metric-value{font-size:18px;font-weight:700;color:var(--text-primary)}.stl-metric-label{font-size:10px;text-transform:uppercase;color:var(--text-secondary);margin-top:2px}.stl-tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stl-tier-input{display:flex;align-items:center;gap:8px}.stl-tier-unit{font-size:12px;color:var(--text-muted)}.stl-role-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:50%}.stl-rank-badge{width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.stl-rank-badge.gold{background:var(--color-amber-bg, #FEF3C7);color:var(--color-amber-text, #92400E)}.col-accent{color:var(--accent);font-weight:600}@media(max-width:768px){.stl-metrics-row{grid-template-columns:repeat(3,1fr)}.stl-tier-grid{grid-template-columns:repeat(2,1fr)}.stl-role-chips{max-width:100%;justify-content:flex-start}}.stg-notif-table{width:100%;border-collapse:collapse}.stg-notif-table th{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 24px;text-align:left;border-bottom:1px solid var(--border-default, var(--border))}.stg-notif-table td{padding:12px 24px;border-bottom:1px solid var(--border-subtle, var(--border));font-family:var(--font-body);font-size:13px;color:var(--text-primary)}.stg-notif-table tr:hover td{background:var(--surface-2, var(--bg-secondary))}.stg-notif-event{font-family:var(--font-body);font-weight:500;color:var(--text-primary)}.stg-notif-select{font-family:var(--font-body);font-size:12px;padding:5px 10px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-sm, 6px);background:var(--surface-1, var(--bg-card));color:var(--text-primary)}[data-theme=dark] .stg-notif-select{background:var(--surface-2);border-color:var(--border-default)}.stg-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.stg-stat-card{padding:14px 16px;background:var(--surface-1, var(--bg-card));border:1px solid var(--border-default, var(--border));border-radius:var(--radius-md, 10px);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.stg-stat-label{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stg-stat-value{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text-primary)}[data-theme=dark] .stg-stat-card{background:var(--surface-1);border-color:var(--border-default)}.stg-source-row{display:flex;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid var(--border-subtle, var(--border))}.stg-source-row:last-child{border-bottom:none}.stg-source-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;flex-shrink:0}.stg-source-name{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-primary)}.stg-source-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-family:var(--font-body);font-size:11px;font-weight:600;background:var(--color-success-bg);color:var(--color-success-text)}.stg-status-row{display:flex;align-items:center;gap:6px}.stg-status-dot-green{width:8px;height:8px;border-radius:50%;background:var(--color-success)}.stg-status-label-green{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-success-text)}.stg-help-text{font-family:var(--font-body);font-size:11px;color:var(--text-muted);margin-top:12px}.stg-product-table{width:100%;border-collapse:collapse}.stg-product-table th{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 16px;text-align:left;border-bottom:1px solid var(--border-default, var(--border))}.stg-product-table td{padding:12px 16px;border-bottom:1px solid var(--border-subtle, var(--border));font-family:var(--font-body);font-size:13px;color:var(--text-primary)}.stg-product-table tr{cursor:pointer;transition:background .15s}.stg-product-table tr:hover td{background:var(--surface-2, var(--bg-secondary))}.stg-product-price{font-family:var(--font-mono);font-weight:600}.stg-product-cat{font-family:var(--font-body);font-size:11px;padding:2px 8px;border-radius:10px;background:var(--surface-2, var(--bg-secondary));color:var(--text-secondary);font-weight:500}.stg-warning-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-sm, 6px);background:var(--color-amber-bg);border:1px solid rgba(245,158,11,.3);font-family:var(--font-body);font-size:12px;color:var(--color-amber-text);margin-bottom:20px}.stg-detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-default, var(--border));margin-bottom:20px}.stg-detail-tab{padding:10px 18px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;position:relative;transition:color .15s}.stg-detail-tab.active{color:var(--brand-accent, #6366f1);font-weight:700}.stg-detail-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--brand-accent, #6366f1);border-radius:1px}.stg-detail-tab:hover:not(.active){color:var(--text-primary)}.stg-product-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.stg-product-header-left{display:flex;align-items:center;gap:16px}.stg-product-hero-img{width:72px;height:72px;border-radius:var(--radius-md, 10px);background:var(--surface-2, var(--bg-secondary));border:1px solid var(--border-default, var(--border));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.stg-product-hero-img img{width:100%;height:100%;object-fit:cover}.pd-avatar-wrap{width:72px;height:72px;border-radius:50%;background:var(--surface-2, var(--bg-secondary));border:2px solid var(--border-default, var(--border));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;cursor:pointer}.pd-avatar-img{width:100%;height:100%;object-fit:cover}.pd-avatar-letter{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--brand-accent)}.pd-avatar-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;color:#fff;border-radius:50%}.pd-avatar-wrap:hover .pd-avatar-overlay{opacity:1}.pd-avatar-input{display:none}.tech-profile-header-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:16px;padding:32px;margin-bottom:24px;position:relative;overflow:hidden}.tech-profile-header-row{display:flex;align-items:center;gap:24px}.tech-profile-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,var(--brand-accent),#06b6d4);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:32px;font-weight:700;color:#fff;flex-shrink:0}.tech-profile-header-info{flex:1;min-width:0}.tech-profile-name-row{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}.tech-profile-name{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--text-primary);margin:0}.tech-profile-role-badge{text-transform:uppercase;letter-spacing:.05em}.tech-profile-status-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.tech-profile-meta-row{display:flex;align-items:center;gap:20px;color:var(--text-secondary);font-size:13px;flex-wrap:wrap}.tech-profile-meta-item{display:flex;align-items:center;gap:6px}.tech-profile-header-actions{display:flex;gap:8px;flex-shrink:0}.tech-profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.tech-profile-tabs{margin-bottom:24px}.tech-profile-overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.tech-profile-overview-left,.tech-profile-overview-right{display:flex;flex-direction:column;gap:24px}.tech-profile-chart-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px}.tech-profile-chart-wrap{height:300px;margin-top:20px}.tech-profile-jobs-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.tech-profile-section-header{padding:20px 24px 12px}.tech-profile-view-all{font-size:12px;color:var(--brand-accent);font-weight:600;background:none;border:none;cursor:pointer;text-decoration:none}.tech-profile-view-all:hover{text-decoration:underline}.tech-profile-right{text-align:right}.tech-profile-revenue{font-weight:600}.tech-profile-earnings{font-weight:700;color:var(--status-success)}.tech-profile-job-customer{font-weight:500}.tech-profile-empty-cell{text-align:center;padding:40px;color:var(--text-secondary)}.tech-profile-commission-total{font-size:13px;font-weight:600;font-family:var(--font-mono)}.tech-profile-status-summary{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px}.tech-profile-summary-title{margin-bottom:16px}.tech-profile-status-list{display:flex;flex-direction:column;gap:14px}.tech-profile-status-row{display:flex;justify-content:space-between;align-items:center}.tech-profile-status-label{color:var(--text-secondary);font-size:13px}.tech-profile-status-value{font-weight:700}.tech-profile-status-value-sm{font-size:13px}.tech-profile-ai-card{background:var(--surface-1);border:1px solid var(--brand-accent);border-radius:12px;padding:24px}[data-theme=dark] .tech-profile-ai-card{background:#0d94880f}.tech-profile-ai-title{color:var(--brand-accent);display:flex;align-items:center;gap:8px}.tech-profile-ai-text{font-size:13px;color:var(--text-secondary);margin-top:12px;line-height:1.5}.tech-profile-ai-btn{margin-top:16px;width:100%;padding:8px 16px;border-radius:8px;border:1.5px solid var(--brand-accent);background:transparent;color:var(--brand-accent);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.tech-profile-ai-btn:hover{background:var(--brand-accent);color:#fff}.tech-profile-ai-refresh{font-size:12px;font-weight:600;color:var(--brand-accent);background:none;border:none;cursor:pointer;font-family:var(--font-body)}.tech-profile-ai-refresh:hover{text-decoration:underline}.tech-profile-stat-tile{flex:1;text-align:center;padding:10px 6px;background:var(--surface-2);border-radius:8px}.tech-profile-insights-loading{text-align:center;padding:24px 0;color:var(--text-secondary)}.tech-profile-insights-loading p{margin-top:8px;font-size:13px}.tech-profile-insights-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.tech-profile-insight-item{font-size:13px;line-height:1.5;padding:8px 12px;border-left:3px solid var(--border-default);background:var(--surface-2);border-radius:0 6px 6px 0;color:var(--text-primary)}.tech-profile-insights-footer{margin-top:12px;font-size:11px;color:var(--text-tertiary);text-align:center;font-style:italic}.tech-profile-actions-wrap{position:relative}.tech-profile-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;z-index:100;background:var(--surface-1);border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;animation:scaleIn .12s ease-out}.tech-profile-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;font-family:var(--font-body);font-size:14px;color:var(--text-primary);cursor:pointer;border-radius:6px;transition:background .1s;text-align:left}.tech-profile-dropdown-item:hover{background:var(--surface-2)}.tech-profile-dropdown-item:disabled{opacity:.4;cursor:default}.tech-profile-dropdown-item:disabled:hover{background:none}.tech-profile-dropdown-danger{color:var(--status-error)}.tech-profile-dropdown-danger:hover{background:#dc26260f}.tech-profile-dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 8px}.tech-profile-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.tech-profile-stat-card{padding:14px;border-radius:10px;border-left:3px solid transparent;background:var(--surface-2)}.tech-profile-stat-blue{border-left-color:#3b82f6}.tech-profile-stat-amber{border-left-color:#f59e0b}.tech-profile-stat-green{border-left-color:#10b981}.tech-profile-stat-number{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--text-primary)}.tech-profile-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px;font-weight:500}.tech-profile-insights-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.tech-profile-insight-item{padding:12px 14px;border-left:3px solid var(--color-amber);background:var(--surface-2);border-radius:0 8px 8px 0;font-size:13px;line-height:1.55;color:var(--text-primary)}.tech-profile-insights-footer{text-align:center;font-size:11px;color:var(--text-muted);font-weight:500;letter-spacing:.02em}.tech-profile-insights-loading{text-align:center;padding:40px 0;color:var(--text-secondary)}.tech-profile-insights-loading p{margin-top:12px;font-size:13px}.tech-profile-insights-empty{text-align:center;padding:40px 0;color:var(--text-secondary);font-size:13px}@media(max-width:1024px){.tech-profile-overview-grid{grid-template-columns:1fr}.tech-profile-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.tech-profile-header-row{flex-direction:column;text-align:center}.tech-profile-meta-row,.tech-profile-header-actions{justify-content:center}.tech-profile-metrics{grid-template-columns:1fr 1fr}}.unsub-embedded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;margin-top:8px}.unsub-embedded-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.unsub-embedded-subtitle{font-family:var(--font-body);font-size:12px;color:var(--text-muted);margin:4px 0 0}.unsub-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.unsub-stat-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.unsub-stat-clickable:hover{border-color:var(--brand-accent)}.unsub-stat-active{border-color:#6366f1!important;box-shadow:0 0 0 2px #6366f126}[data-theme=dark] .unsub-stat-active{border-color:#818cf8!important;box-shadow:0 0 0 2px #818cf826}.unsub-stat-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.unsub-stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.unsub-stat-label{font-family:var(--font-body);font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.unsub-stat-value{font-family:var(--font-mono);font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:4px}.unsub-stat-sub{font-family:var(--font-body);font-size:12px;color:var(--text-muted)}.unsub-compliance-note{background:var(--color-info-bg);border:1px solid var(--color-info-border, var(--border-default));border-radius:12px;padding:14px 18px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px;font-family:var(--font-body);font-size:13px;color:var(--color-info-text, var(--text-secondary));line-height:1.6}.unsub-list-header{display:flex;flex-direction:column;gap:12px}.unsub-list-title-row{display:flex;justify-content:space-between;align-items:center}.unsub-filter-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;background:#6366f11a;color:#6366f1;vertical-align:middle}[data-theme=dark] .unsub-filter-badge{background:#818cf826;color:#818cf8}.unsub-search-wrap{position:relative}.unsub-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none}.unsub-search-input{padding-left:32px;height:34px}.unsub-empty{padding:48px 24px;text-align:center;color:var(--text-muted)}.unsub-empty-icon{width:32px;height:32px;margin:0 auto 12px;opacity:.3}.unsub-contact-name{font-family:var(--font-body);font-weight:600;color:var(--text-primary);font-size:13px}.unsub-contact-value{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.unsub-reason{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.unsub-date{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.unsub-resub-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.unsub-resub-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent);background:var(--surface-2)}@media(max-width:768px){.unsub-stats-grid{grid-template-columns:repeat(2,1fr)}}.stg-product-detail-name{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.stg-product-detail-meta{font-family:var(--font-body);font-size:13px;color:var(--text-secondary)}.stg-product-detail-price{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--text-primary);text-align:right}.stg-product-detail-price-label{font-family:var(--font-body);font-size:11px;color:var(--text-muted);text-align:right;margin-top:2px}.stg-specs-table{width:100%;border-collapse:collapse}.stg-specs-table th{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 16px;text-align:left;border-bottom:1px solid var(--border-default, var(--border))}.stg-specs-table td{padding:10px 16px;border-bottom:1px solid var(--border-subtle, var(--border));font-family:var(--font-body);font-size:13px}.stg-specs-table tr:hover td{background:var(--surface-2, var(--bg-secondary))}.stg-spec-cat{font-family:var(--font-body);font-size:11px;padding:2px 8px;border-radius:10px;background:var(--surface-2, var(--bg-secondary));color:var(--text-secondary);font-weight:500}.stg-spec-name{font-weight:600;color:var(--text-primary)}.stg-spec-value{font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.stg-cert-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--border-default, var(--border));border-radius:var(--radius-md, 10px);margin-bottom:8px;background:var(--surface-1, var(--bg-card))}.stg-cert-icon{width:36px;height:36px;border-radius:8px;background:var(--color-success-bg);color:var(--color-success-text);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;flex-shrink:0}.stg-cert-name{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary)}.stg-cert-body{font-family:var(--font-body);font-size:12px;color:var(--text-secondary)}[data-theme=dark] .stg-cert-card{background:var(--surface-1);border-color:var(--border-default)}.stg-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stg-image-card{border:1px solid var(--border-default, var(--border));border-radius:var(--radius-md, 10px);overflow:hidden;background:var(--surface-2, var(--bg-secondary));aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative}.stg-image-card img{width:100%;height:100%;object-fit:cover}.stg-image-type-label{position:absolute;bottom:6px;left:6px;font-family:var(--font-body);font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#0009;color:#fff;text-transform:uppercase}.stg-image-add{border:2px dashed var(--border-default, var(--border));background:transparent;cursor:pointer;color:var(--text-muted);font-size:24px;transition:border-color .15s}.stg-image-add:hover{border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1)}.pd-field{margin-bottom:18px}.pd-field-label{display:block;font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.pd-field-value{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary)}.pd-btn-ghost{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px solid var(--border-default, var(--border));background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.pd-btn-ghost:hover{border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1);background:#6366f10f}.pd-btn-ghost-accent{border-color:var(--brand-accent, #6366f1);color:var(--brand-accent, #6366f1)}.pd-btn-ghost-accent:hover{background:var(--brand-accent, #6366f1);color:#fff}.pd-btn-ghost:disabled{opacity:.35;cursor:not-allowed}.pd-header-add{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px dashed var(--border-default, var(--border));background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.pd-header-add:hover{border-color:var(--brand-accent, #6366f1);border-style:solid;color:var(--brand-accent, #6366f1);background:#6366f10a}.pd-row-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);transition:all .15s;opacity:0}tr:hover .pd-row-action,.pd-row-action:focus-visible{opacity:1}.pd-row-action:hover{background:var(--surface-2, var(--bg-secondary));color:var(--text-primary)}.pd-row-action-danger:hover{background:#fef2f2;color:#dc2626}[data-theme=dark] .pd-row-action-danger:hover{background:#2d1111;color:#fca5a5}.pd-delete-trigger{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:500;padding:6px 14px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.pd-delete-trigger:hover{color:#dc2626;border-color:#dc2626;background:#fef2f2}[data-theme=dark] .pd-delete-trigger:hover{background:#2d1111;border-color:#7f1d1d;color:#fca5a5}.pd-delete-panel{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;max-width:400px}[data-theme=dark] .pd-delete-panel{background:#1c1111;border-color:#7f1d1d}.pd-delete-confirm{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 16px;border-radius:6px;border:1px solid #dc2626;background:#dc2626;color:#fff;cursor:pointer;transition:all .15s}.pd-delete-confirm:disabled{opacity:.35;cursor:not-allowed}.pd-delete-confirm:not(:disabled):hover{background:#b91c1c}.pd-img-delete{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:6px;border:none;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.stg-image-card:hover .pd-img-delete{opacity:1}.pd-img-delete:hover{background:#dc2626}.stg-page{display:flex;flex-direction:column;gap:20px}.stg-icon-pill-green,.stg-icon-pill-emerald{background:linear-gradient(135deg,#10b981,#059669)}.stg-processor-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-subtle, var(--border));gap:12px;flex-wrap:wrap}.stg-processor-row:last-child{border-bottom:none}.stg-processor-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stg-processor-right{display:flex;align-items:center;gap:10px}.stg-processor-name{font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--text-primary)}.stg-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.stg-badge-indigo{background:#6366f11a;color:var(--brand-accent, #6366f1)}.stg-badge-gray{background:var(--surface-3, rgba(107, 114, 128, .12));color:var(--text-muted)}.stg-badge-purple{background:#8b5cf61a;color:var(--color-purple, #8b5cf6)}.stg-badge-live{background:#10b9811a;color:var(--success-color, #10B981)}.stg-badge-sandbox{background:var(--color-amber-bg, rgba(245, 158, 11, .12));color:var(--color-amber-text, #d97706)}.stg-badge-operational{background:#10b98114;color:var(--success-color, #10B981)}.stg-badge-disabled{background:var(--surface-3, rgba(107, 114, 128, .12));color:var(--text-muted)}.stg-test-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--border-default, var(--border));background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:12px;font-weight:600;transition:background .15s ease,color .15s ease}.stg-test-btn:hover:not(:disabled){background:var(--surface-3, rgba(99, 102, 241, .06));color:var(--text-primary)}.stg-test-btn:disabled{opacity:.5;cursor:not-allowed}.stg-lock-icon{display:inline-flex;align-items:center;color:var(--text-muted);cursor:help}.stg-gl-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;background:linear-gradient(135deg,var(--gl-purple, #6B4FBB),var(--gl-orange, #E8833A));color:#fff;font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:-.01em;line-height:1.3}.stg-gl-reg{font-size:7px;font-weight:400;margin-left:1px;vertical-align:super}.stg-gl-pill-sm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--gl-purple, #6B4FBB),var(--gl-orange, #E8833A));color:#fff;font-family:var(--font-display);font-weight:800;font-size:11px}.stg-external-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--color-teal, #0d9488);text-decoration:none;transition:color .1s ease}.stg-external-link:hover{color:var(--brand-accent, #6366f1)}.stg-sub-row{display:flex;align-items:center;gap:10px;padding:10px 0 14px 24px;border-bottom:1px solid var(--border-subtle, var(--border))}.stg-sub-label{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-primary)}.stg-sub-desc{flex:1;font-family:var(--font-body);font-size:12px;color:var(--text-muted)}.stg-setting-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-subtle, var(--border));gap:16px}.stg-setting-row-last{border-bottom:none}.stg-setting-info{flex:1;min-width:0}.stg-setting-label{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary)}.stg-setting-desc{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);margin-top:2px}.stg-setting-controls{display:flex;align-items:center;gap:10px}.stg-inline-input{display:flex;align-items:center;gap:4px}.stg-input-xs{width:64px;height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--border-default, var(--border));background:var(--surface-1);color:var(--text-primary);font-size:13px;outline:none;text-align:center;transition:border-color .15s ease}.stg-input-xs:focus{border-color:var(--brand-accent, #6366f1)}.stg-mono{font-family:var(--font-mono)}.stg-input-suffix{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.stg-late-fee-note{padding:0 0 12px;font-family:var(--font-body);font-size:11px;line-height:1.4}.stg-late-fee-legal{color:var(--color-amber, #d97706)}.stg-late-fee-warning{color:var(--color-danger, #ef4444);font-weight:600}.stg-method-row{display:flex;align-items:flex-start;gap:10px}.stg-method-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;flex-shrink:0}.stg-method-icon-indigo{background:#6366f11a;color:var(--brand-accent, #6366f1)}.stg-method-icon-blue{background:#3b82f61a;color:var(--fin-sent, #3B82F6)}.stg-method-icon-gray{background:var(--surface-3, rgba(107, 114, 128, .12));color:var(--text-secondary)}.stg-method-icon-green{background:#10b9811a;color:var(--success-color, #10B981)}.stg-info-grid{padding:14px 16px;border-radius:8px;border:1px solid var(--border-default, var(--border));background:var(--surface-0, var(--surface-1));margin-bottom:14px}.stg-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.stg-info-row+.stg-info-row{border-top:1px solid var(--border-subtle, var(--border))}.stg-info-label{color:var(--text-muted);font-family:var(--font-body)}.stg-info-value{color:var(--text-primary);font-weight:600;font-family:var(--font-body)}.stg-link-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.stg-teal-link{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-teal, #0d9488);text-decoration:none;transition:color .1s ease}.stg-teal-link:hover{color:var(--brand-accent, #6366f1)}.stg-ghost-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-default, var(--border));background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.stg-ghost-btn:hover{background:var(--surface-3, rgba(99, 102, 241, .06));color:var(--text-primary)}.stg-statement-picker{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 14px;background:var(--surface-2, var(--bg-secondary));border-radius:var(--radius-sm, 8px)}.stg-select-sm{width:auto;padding:6px 28px 6px 10px;font-size:13px}.stg-btn-sm{padding:6px 14px;font-size:12px}.stg-save-bar{display:flex;justify-content:flex-end;padding:16px 0;position:sticky;bottom:0;z-index:10}[data-theme=dark] .stg-info-grid{background:var(--surface-2, rgba(255, 255, 255, .04))}[data-theme=dark] .stg-input-xs{background:var(--surface-2, rgba(255, 255, 255, .04));border-color:var(--border-default)}@media(max-width:768px){.stg-stat-strip{grid-template-columns:1fr}.stg-image-grid{grid-template-columns:repeat(2,1fr)}.stg-product-header{flex-direction:column;gap:12px}.stg-perm-grid{grid-template-columns:1fr}.stg-processor-row{flex-direction:column;align-items:flex-start}.stg-setting-row{flex-direction:column;align-items:flex-start;gap:10px}.stg-link-row{flex-direction:column;align-items:flex-start}}.dispatch-header-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0;flex-shrink:0}.dispatch-header-left{display:flex;align-items:center;gap:12px}.dispatch-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0}.dispatch-techs-scroll{flex:1;overflow-y:auto}.dispatch-tech-stats-col{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.dispatch-route-chip-gap{margin-top:3px}.dispatch-stat-teal{color:#0d9488}.dispatch-stat-muted{color:var(--text-secondary)}[data-theme=dark] .dispatch-stat-teal{color:#5eead4}[data-theme=dark] .dispatch-stat-muted{color:#ffffff80}.dispatch-rows-scroll{flex:1;overflow-y:auto;position:relative}.unassigned-queue-icon{width:14px;height:14px;color:var(--color-warning-text);flex-shrink:0}.unassigned-queue-scroll{overflow-y:auto;max-height:220px}.dispatch-detail-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dispatch-detail-customer-name{font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.dispatch-detail-customer-link{border-bottom:1px dashed var(--border-default)}.dispatch-detail-job-number{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-secondary);margin-top:2px}.dispatch-detail-tech-row{display:flex;align-items:center;gap:7px}.dispatch-detail-actions{display:flex;flex-direction:column;gap:6px;margin-top:16px}.dispatch-detail-open-btn{width:100%;justify-content:center}.dispatch-tech-item{cursor:pointer;-webkit-user-select:none;user-select:none}.dispatch-tech-selected{background:#6366f114;border:2px solid var(--color-indigo, #6366f1);box-shadow:0 0 0 3px #6366f133;border-bottom:2px solid var(--color-indigo, #6366f1)}[data-theme=dark] .dispatch-tech-selected{background:#6366f126}.dispatch-job-dimmed{opacity:.3;pointer-events:none}.dispatch-job-highlighted{border-left:3px solid #6366f1}.dispatch-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.25);border-radius:100px;font-size:var(--text-xs);font-weight:500;white-space:nowrap}[data-theme=dark] .dispatch-filter-pill{background:#6366f126;color:#a5b4fc;border-color:#6366f14d}.dispatch-filter-pill-clear{background:none;border:none;color:inherit;font-size:1rem;line-height:1;cursor:pointer;padding:0 2px;opacity:.7}.dispatch-filter-pill-clear:hover{opacity:1}.ts-period-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:100px;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-secondary);font-weight:500}.ts-filter-row{margin-left:auto;display:flex;gap:8px}.ts-filter-select{width:180px}.ts-filter-status{width:140px}.ts-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.ts-stat-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:18px 20px}.ts-stat-value{font-size:var(--text-2xl);font-weight:800;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.04em;line-height:1;margin-bottom:4px}.ts-stat-value.ts-stat-overtime{color:var(--color-warning)}.ts-stat-value.ts-stat-pending{color:var(--color-info)}.ts-stat-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.ts-clock-bar{margin-bottom:24px;border-left:4px solid var(--border-default)}.ts-clock-bar-active{border-left-color:var(--color-success);background:var(--color-success-bg)}.ts-clock-bar-inner{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.ts-clock-bar-left{display:flex;align-items:center;gap:14px}.ts-clock-avatar{border-radius:12px}.ts-clock-status-text{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.ts-clock-shift-text{font-size:var(--text-xs);color:var(--text-secondary)}.ts-clock-bar-actions{display:flex;gap:8px}.ts-card-avatar{border-radius:10px}.ts-daily-header{font-weight:700;color:var(--text-muted);border-bottom:2px solid var(--border-default)}.ts-row-flagged{background:var(--color-amber-bg)!important;border-radius:6px}[data-theme=dark] .timesheet-employee-card{background:var(--surface-1)}@media(max-width:768px){.ts-stats-row{grid-template-columns:1fr}.ts-clock-bar-inner{flex-direction:column;gap:12px;align-items:flex-start}.ts-clock-bar-actions{width:100%}.ts-filter-row{flex-direction:column;width:100%}.ts-filter-select,.ts-filter-status{width:100%}}.inv-page{padding:24px;max-width:1400px;margin:0 auto}.inv-count-teal{background:var(--color-teal-bg);color:var(--color-teal-text)}[data-theme=dark] .inv-count-teal{background:#0d948826;color:var(--color-teal)}.inv-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.inv-stat-card{background:var(--surface-1);padding:20px;border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.inv-stat-label{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.inv-stat-value{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.inv-stat-danger{color:var(--color-danger)}.inv-stat-success{color:var(--color-success)}.inv-filter-low.active{border-color:var(--color-warning);color:var(--color-warning-text);background:var(--color-warning-bg)}.inv-error-banner{padding:14px 18px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);color:var(--color-danger-text);font-family:var(--font-body);font-size:13px;margin-bottom:16px}[data-theme=dark] .inv-error-banner{background:#ef44441a;border-color:#ef444440;color:#fca5a5}.inv-table-scroll{overflow-x:auto}.inv-th-sortable{cursor:pointer}.inv-th-center{text-align:center}.inv-cell-name{font-family:var(--font-body);font-weight:600;color:var(--text-primary)}.inv-cell-sku{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.inv-cell-category{color:var(--text-secondary)}.inv-cell-stock{font-family:var(--font-mono);font-weight:700;text-align:center}.inv-stock-amber{color:var(--color-amber-text)}.inv-stock-red{color:var(--color-danger)}.inv-cell-min{font-family:var(--font-mono);text-align:center;color:var(--text-muted)}.inv-row-low{background:var(--color-amber-bg)!important}.inv-row-low:hover{background:color-mix(in srgb,var(--color-amber-bg) 60%,var(--surface-2))!important}[data-theme=dark] .inv-row-low{background:#f59e0b0f!important}.inv-row-out{background:var(--color-danger-bg)!important}.inv-row-out:hover{background:color-mix(in srgb,var(--color-danger-bg) 60%,var(--surface-2))!important}[data-theme=dark] .inv-row-out{background:#ef44440f!important}.inv-actions{display:flex;gap:6px}.inv-btn-adjust{padding:5px 12px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--color-info-text);background:var(--color-info-bg);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.inv-btn-adjust:hover{opacity:.8}.inv-btn-edit{padding:5px 12px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-2);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.inv-btn-edit:hover{opacity:.8}.inv-page-indicator{padding:5px 14px;font-family:var(--font-body);font-size:12px;color:var(--text-muted)}@media(max-width:768px){.inv-page{padding:16px}.inv-stats-grid{grid-template-columns:1fr 1fr}}.up-page{padding:24px;max-width:1400px;margin:0 auto}.up-badge-purple{font-family:var(--font-mono);font-size:12px;padding:2px 10px;border-radius:99px;background:#8b5cf626;color:var(--color-purple)}.up-search-form{display:flex;gap:8px;align-items:center}.up-select{padding:0 12px;height:36px;font-family:var(--font-body);font-size:13px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;appearance:auto}.up-th-center{text-align:center!important}.up-th-right{text-align:right!important}.up-td-center{text-align:center}.up-cell-name{font-family:var(--font-body);font-weight:600;color:var(--text-primary);cursor:pointer}.up-cell-name:hover{color:var(--brand-accent)}.up-cell-muted{font-size:13px;color:var(--text-muted)}.up-col-count{font-family:var(--font-mono);text-align:center;font-weight:600}.up-col-ltv{font-family:var(--font-mono);color:var(--color-success);font-weight:700;text-align:right}@media(max-width:768px){.up-page{padding:16px}.up-search-form{flex-direction:column;width:100%}.up-search-form .list-search-box{max-width:none;width:100%}}.match-page{padding:24px;max-width:1200px;margin:0 auto}.match-count-amber{font-family:var(--font-mono);font-size:12px;padding:2px 10px;border-radius:99px;background:#f59e0b26;color:var(--color-warning)}.match-cards{display:flex;flex-direction:column;gap:12px}.match-card{display:flex;align-items:stretch;gap:0;border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);overflow:hidden;margin-bottom:12px;background:var(--surface-1)}.match-card:hover{box-shadow:var(--shadow-md)}.match-side{flex:1;padding:16px 20px}.match-side-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-weight:600}.match-side-name{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:2px}.match-side-detail{font-size:12px;color:var(--text-secondary)}.match-side-stats{font-size:12px;color:var(--text-muted);margin-top:6px}.match-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;min-width:120px;border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);background:var(--surface-0)}.match-score{font-family:var(--font-mono);font-size:20px;font-weight:700}.match-score.high{color:var(--color-success)}.match-score.medium{color:var(--color-warning)}.match-score.low{color:var(--color-danger)}.match-score-label{font-size:10px;color:var(--text-muted)}.match-actions{display:flex;gap:6px;margin-top:6px}.match-btn-accept{padding:6px 14px;font-family:var(--font-body);font-size:12px;font-weight:600;color:#fff;background:var(--color-success);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.match-btn-accept:hover{opacity:.85}.match-btn-accept:disabled{opacity:.4;cursor:not-allowed}.match-btn-dismiss{padding:6px 14px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.match-btn-dismiss:hover{opacity:.85}.match-btn-dismiss:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.match-page{padding:16px}.match-card{flex-direction:column}.match-center{border-left:none;border-right:none;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:row;min-width:auto}}.cs-page{padding:24px;max-width:1400px;margin:0 auto}.cs-count-teal{font-family:var(--font-mono);font-size:12px;padding:2px 10px;border-radius:99px;background:#0d948826;color:var(--color-teal, #0D9488)}.cs-cards{display:flex;flex-direction:column;gap:12px}.opp-card{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:16px 20px;margin-bottom:12px;background:var(--surface-1);cursor:pointer;transition:box-shadow .15s}.opp-card:hover{box-shadow:var(--shadow-sm)}.opp-card-left{flex:1}.opp-card-name{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:2px}.opp-card-detail{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.opp-confidence{display:inline-block;font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:99px;background:#8b5cf626;color:var(--color-purple)}.opp-card-right{text-align:right;flex-shrink:0;margin-left:20px}.opp-value{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--color-success)}.opp-value-type{font-size:10px;color:var(--text-muted);margin:4px 0}.opp-btn-proposal{margin-top:8px;padding:7px 16px;font-family:var(--font-body);font-size:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s;box-shadow:0 2px 8px #6366f133}.opp-btn-proposal:hover{opacity:.9}.cs-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}.cs-page-info{font-family:var(--font-body);font-size:12px;color:var(--text-muted);padding:0 12px}@media(max-width:768px){.cs-page{padding:16px}.opp-card{flex-direction:column;align-items:flex-start}.opp-card-right{text-align:left;margin-left:0;margin-top:12px}}.dispatch-avatar-sm{width:32px;height:32px;font-size:.75rem}.dispatch-avatar-xs{width:24px;height:24px;font-size:.65rem}.dispatch-page-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default);background:var(--surface-1)}.dispatch-page-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary)}.dispatch-page-badge{font-family:var(--font-mono);font-size:12px;padding:2px 10px;border-radius:99px;background:#f59e0b26;color:var(--color-warning);margin-left:10px}.dispatch-unassigned-scroll{overflow-y:auto;max-height:220px}.dispatch-empty-detail{padding:40px 16px}.ts-period-label{font-size:13px;color:var(--text-secondary);margin-left:12px}.ts-col-time{font-family:var(--font-mono);font-size:12px}.ts-col-hours{font-family:var(--font-mono)}.ts-hours-overtime{color:var(--color-warning);font-weight:700}.ts-col-job{font-family:var(--font-mono);font-size:12px;color:var(--color-teal, #0D9488);cursor:pointer}.ts-col-job:hover{text-decoration:underline}.ts-missing{color:var(--color-danger)}[data-theme=dark] .btn-accent,.dark .btn-accent{background-color:#0d9488!important;color:#fff!important;border-color:#0d9488!important}[data-theme=dark] .btn-accent:hover:not(:disabled),.dark .btn-accent:hover:not(:disabled){background-color:#0f766e!important;border-color:#0f766e!important}[data-theme=dark] .gh-icon-btn,.dark .gh-icon-btn{background-color:var(--surface-2)!important;border:1px solid var(--border-default)!important;color:var(--text-secondary)!important}[data-theme=dark] .gh-icon-btn:hover,.dark .gh-icon-btn:hover{background-color:var(--surface-3)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important}[data-theme=dark] .toast,.dark .toast,[data-theme=dark] .toast-success,.dark .toast-success,[data-theme=dark] .toast-error,.dark .toast-error,[data-theme=dark] .toast-info,.dark .toast-info,[data-theme=dark] .toast-warning,.dark .toast-warning{background-color:var(--surface-1)!important;color:var(--text-primary)!important}@media(max-width:1280px){.nav-item{font-size:13px!important;padding:10px 12px!important}.nav-item,.sidebar a{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}}@media(max-width:1024px){.nav-item{font-size:12px!important;padding:8px 10px!important}}.tabs-header,.card>div[style*=borderBottom]{flex-wrap:wrap!important}@media(max-width:1280px){.tab{padding:12px 16px!important;font-size:14px!important}}@media(max-width:1024px){.tab{padding:10px 12px!important;font-size:13px!important}}.settings-page .card>div[style*=borderBottom]{flex-wrap:wrap!important;gap:4px}.settings-page .card>div[style*=borderBottom] button{white-space:nowrap;min-width:auto}@media(max-width:1280px){.settings-page .card>div[style*=borderBottom] button{padding:12px 16px!important;font-size:14px!important}}@media(max-width:1024px){.settings-page .card>div[style*=borderBottom] button{padding:10px 12px!important;font-size:13px!important}}.invoices-page .card>div[style*=borderBottom]{flex-wrap:wrap!important;gap:4px;min-height:54px}.invoices-page .card>div[style*=borderBottom] button{white-space:nowrap;position:relative;z-index:1}.invoices-page .card>div[style*="backgroundColor: rgb(249, 250, 251)"],.invoices-page .card>div[style*="backgroundColor:#f9fafb"]{flex-wrap:wrap!important;gap:4px;margin-top:0!important;position:relative;z-index:0}.invoices-page .card>div[style*=backgroundColor] button{margin-top:0!important}@media(max-width:1280px){.invoices-page .card>div[style*=borderBottom] button{padding:12px 16px!important;font-size:14px!important}}@media(max-width:1024px){.invoices-page .card>div[style*=borderBottom] button{padding:10px 12px!important;font-size:13px!important}}.card-header>div[style*="display: flex"]{flex-wrap:wrap!important;gap:8px!important}.search-bar>div[style*="display: flex"]{flex-wrap:wrap!important}@media(max-width:1280px){.card-header>div[style*="display: flex"]>div{gap:2px!important}.card-header>div[style*="display: flex"] button{padding:6px 10px!important;font-size:13px!important}}@media(max-width:1024px){.card-header>div[style*="display: flex"]>div{gap:2px!important}.card-header>div[style*="display: flex"] button{padding:4px 8px!important;font-size:12px!important}}.view-buttons{flex-wrap:wrap!important}.scheduler-page .toolbar{flex-wrap:wrap!important;gap:8px!important}@media(max-width:1280px){.view-buttons button{padding:6px 10px!important;font-size:13px!important}.scheduler-page .toolbar button{padding:4px 8px!important;font-size:12px!important}}@media(max-width:1024px){.view-buttons button{padding:4px 8px!important;font-size:12px!important}}.page-header>div[style*="display: flex"]{flex-wrap:wrap!important;gap:8px!important}@media(max-width:1280px){.page-header h1{font-size:24px!important}.page-header .page-subtitle{font-size:13px!important}.page-header button{padding:8px 16px!important;font-size:14px!important}}@media(max-width:1024px){.page-header{flex-direction:column!important;align-items:flex-start!important}.page-header h1{font-size:20px!important}.page-header .page-subtitle{font-size:12px!important}}@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:12px!important}.stat-value{font-size:20px!important}.stat-label{font-size:12px!important}}@media(max-width:1280px){table{font-size:13px!important}th,td{padding:10px 8px!important}.badge{font-size:11px!important;padding:3px 8px!important}}@media(max-width:1024px){table{font-size:12px!important}th,td{padding:8px 6px!important}.badge{font-size:10px!important;padding:2px 6px!important}}@media(max-width:1280px){.card,.card-header{padding:16px!important}}@media(max-width:1024px){.card{padding:12px!important}.card-header{padding:12px!important;flex-direction:column!important;align-items:flex-start!important}.card-title{font-size:16px!important;margin-bottom:8px!important}}@media(max-width:1280px){div[style*=gridTemplateColumns],div[style*=grid-template-columns]{grid-template-columns:1fr!important}}@media(max-width:1024px){.form-group label{font-size:13px!important}.form-group input,.form-group select,.form-group textarea{font-size:14px!important;padding:8px 12px!important}}@media(max-width:1024px){.search-bar{flex-direction:column!important;gap:12px!important}.search-input{width:100%!important}}button{flex-shrink:0;white-space:nowrap;min-width:fit-content;position:relative}div[style*="display: flex"]:has(>button){flex-wrap:wrap;gap:8px}button+button{margin-left:4px}[style*="display: flex"]>button,[style*="display:flex"]>button{flex-shrink:0!important;min-width:fit-content!important}.toolbar button,.card-header button,.page-header button{flex-shrink:0!important;min-width:fit-content!important;margin:2px!important}.fc-toolbar-chunk{display:flex!important;flex-wrap:wrap!important;gap:4px!important}.fc-button-group{display:flex!important;flex-wrap:nowrap!important;gap:2px!important}.fc-button{margin:0!important;padding:4px 8px!important;font-size:13px!important}.fc-toolbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:space-between!important}.fc-toolbar-title{margin:0 8px!important;flex-shrink:0!important}@media(max-width:1440px){.calendar-day{min-height:80px!important}.calendar-event{font-size:11px!important;padding:2px 4px!important}.fc-button{padding:3px 6px!important;font-size:12px!important}}@media(max-width:1280px){.calendar-day{min-height:60px!important}.calendar-event{font-size:10px!important;padding:2px 3px!important}.fc-button{padding:2px 5px!important;font-size:11px!important}.fc-toolbar-title{font-size:16px!important}}@media(max-width:1024px){.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}.calendar-day{min-height:50px!important}.calendar-event{font-size:9px!important;padding:1px 2px!important}.fc-toolbar{flex-direction:column!important;align-items:flex-start!important}.fc-button{padding:2px 4px!important;font-size:10px!important}.fc-toolbar-title{font-size:14px!important}}@media(max-width:1280px){.modal-content{max-width:90vw!important}}@media(max-width:1024px){.modal-content{max-width:95vw!important;margin:10px!important}.modal-header h2{font-size:18px!important}}@media(max-width:1280px){.settings-page div[style*="gridTemplateColumns: '1fr 1fr'"],.settings-page div[style*="gridTemplateColumns: '2fr 1fr 1fr'"]{grid-template-columns:1fr!important}}@media(max-width:1280px){.invoice-line-items{overflow-x:auto!important}}@media(max-width:1440px){body,.app-container{overflow-x:hidden!important}}@media(max-width:1024px){.sidebar:not(.mobile-open){width:56px}.sidebar:not(.mobile-open) .sidebar-label,.sidebar:not(.mobile-open) .sidebar-section-label,.sidebar:not(.mobile-open) .sidebar-org-name,.sidebar:not(.mobile-open) .sidebar-logo-text,.sidebar:not(.mobile-open) .sidebar-user-info,.sidebar:not(.mobile-open) .sidebar-section-badge,.sidebar:not(.mobile-open) .sidebar-section-chevron,.sidebar:not(.mobile-open) .location-switcher-text,.sidebar:not(.mobile-open) .sidebar-shortcuts-btn{display:none}.main-content{margin-left:56px}}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .25s ease;position:fixed;z-index:200;height:100vh;width:260px}.sidebar.mobile-open{transform:translate(0);width:260px}.main-content{margin-left:0!important;width:100%!important}.page-container{padding:16px!important}.kpi-grid,.dashboard-kpi-row,.today-fires-row{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.detail-layout,.two-col-layout,.job-detail-layout,.form-row{flex-direction:column!important;grid-template-columns:1fr!important}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-container,.modal-content,.pb-modal-container,.fin-modal-container{position:relative!important;inset:auto 0 0!important;max-width:100vw!important;width:100%!important;border-radius:16px 16px 0 0!important;max-height:90vh!important;overflow-y:auto!important;margin:0!important}.data-table-wrap,.table-container,.invoice-line-items{overflow-x:auto;-webkit-overflow-scrolling:touch}.pipeline-columns,.kanban-columns{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.stg-card,.fin-card,.seg-card-grid,.etpl-card-grid{grid-template-columns:1fr!important}.ctx-tabs,.filter-tabs,.tech-filter-pills{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ctx-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar,.tech-filter-pills::-webkit-scrollbar{display:none}button:not(.pb-modal-toggle):not(.gh-hamburger),.btn,.sidebar-section-header,.sidebar-child-item a{min-height:44px}h1,.page-title{font-size:1.4rem!important}h2,.section-title{font-size:1.1rem!important}.calendar-toolbar{flex-wrap:wrap;gap:8px}.calendar-title{font-size:1rem!important;order:-1;width:100%}.cal-glance{display:none}.calendar-main-container,.estimate-detail-grid,.invoice-detail-grid{grid-template-columns:1fr!important}.settings-page .card>div[style*=borderBottom]{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.gs-trigger{max-width:180px!important}.gs-trigger kbd,.gh-avatar-btn span{display:none}.gh-quickadd-dropdown{position:fixed!important;left:12px!important;right:12px!important;width:auto!important}}[data-theme=dark]{color-scheme:dark}[data-theme=dark] *{border-color:#374151!important}[data-theme=dark] div:where(:not(.sidebar div):not(.sidebar)),[data-theme=dark] section:where(:not(.sidebar section)),[data-theme=dark] article,[data-theme=dark] main,[data-theme=dark] footer,[data-theme=dark] form:where(:not(.sidebar form)),[data-theme=dark] fieldset,[data-theme=dark] ul:where(:not(.sidebar ul):not(.sidebar-nav ul)),[data-theme=dark] ol:where(:not(.sidebar ol)),[data-theme=dark] li:where(:not(.sidebar li):not(.sidebar-nav li)),[data-theme=dark] details,[data-theme=dark] summary{background-color:transparent}[data-theme=dark] body,[data-theme=dark] #root{background-color:#0a0f1a!important;color:#e5e7eb!important}[data-theme=dark] .app-layout,[data-theme=dark] .main-content,[data-theme=dark] .page-content,[data-theme=dark] .content-wrapper,[data-theme=dark] .content-area,[data-theme=dark] [class*=page-],[data-theme=dark] [class*=Page]{background-color:#0a0f1a!important}[data-theme=dark] [class*=card]:where(:not(.sidebar [class*=card])),[data-theme=dark] [class*=Card]:where(:not(.sidebar [class*=Card])),[data-theme=dark] [class*=panel]:where(:not(.sidebar [class*=panel])),[data-theme=dark] [class*=Panel],[data-theme=dark] [class*=modal],[data-theme=dark] [class*=Modal],[data-theme=dark] [class*=detail],[data-theme=dark] [class*=Detail],[data-theme=dark] [class*=item]:where(:not(.sidebar [class*=item])),[data-theme=dark] [class*=box]:where(:not(.sidebar [class*=box])),[data-theme=dark] [class*=Box],[data-theme=dark] [class*=widget],[data-theme=dark] [class*=Widget],[data-theme=dark] [class*=section]:where(:not(.sidebar [class*=section])),[data-theme=dark] [class*=container]:where(:not([class*=app]):not([class*=root]):not(.sidebar [class*=container]):not(.toast-container)){background-color:#1a2332!important}[data-theme=dark] table{background-color:#1a2332!important}[data-theme=dark] thead,[data-theme=dark] th{background-color:#111827!important;color:#e5e7eb!important}[data-theme=dark] tbody tr{background-color:#1a2332!important}[data-theme=dark] tbody tr:nth-child(2n){background-color:#1f2937!important}[data-theme=dark] tbody tr:hover{background-color:#243247!important}[data-theme=dark] td{color:#e5e7eb!important}[data-theme=dark] input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not(.sidebar input)),[data-theme=dark] select:where(:not(.sidebar select)),[data-theme=dark] textarea:where(:not(.sidebar textarea)),[data-theme=dark] .form-control{background-color:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}[data-theme=dark] [class*=dropdown],[data-theme=dark] [class*=Dropdown],[data-theme=dark] [class*=popover],[data-theme=dark] [class*=Popover],[data-theme=dark] [class*=tooltip],[data-theme=dark] [class*=menu]:where(:not([class*=sidebar]):not([class*=Sidebar])){background-color:#1a2332!important}[data-theme=dark] [class*=tab]:where(:not(.sidebar [class*=tab])),[data-theme=dark] [class*=Tab]:where(:not(.sidebar [class*=Tab])){background-color:transparent!important}[data-theme=dark] h1:where(:not(.sidebar h1)),[data-theme=dark] h2:where(:not(.sidebar h2)),[data-theme=dark] h3:where(:not(.sidebar h3)),[data-theme=dark] h4:where(:not(.sidebar h4)),[data-theme=dark] h5:where(:not(.sidebar h5)),[data-theme=dark] h6:where(:not(.sidebar h6)){color:#f3f4f6!important}[data-theme=dark] p:where(:not(.sidebar p)),[data-theme=dark] span:where(:not([class*=badge]):not([class*=status]):not([class*=tag]):not(.sidebar span)),[data-theme=dark] label:where(:not(.sidebar label)),[data-theme=dark] legend,[data-theme=dark] dt,[data-theme=dark] dd{color:#e5e7eb!important}[data-theme=dark] small:where(:not(.sidebar small)),[data-theme=dark] .text-muted,[data-theme=dark] [class*=muted],[data-theme=dark] [class*=hint],[data-theme=dark] [class*=subtitle]{color:#9ca3af!important}[data-theme=dark] a:where(:not([class*=btn]):not([class*=badge]):not(button):not(.sidebar a)){color:#60a5fa!important}[data-theme=dark] [class*=overlay],[data-theme=dark] [class*=Overlay],[data-theme=dark] [class*=backdrop],[data-theme=dark] [class*=Backdrop]{background-color:#000000bf!important}[data-theme=dark] .fc,[data-theme=dark] .fc-theme-standard,[data-theme=dark] .fc-view,[data-theme=dark] .fc-scrollgrid,[data-theme=dark] .fc-daygrid,[data-theme=dark] .fc-timegrid,[data-theme=dark] .fc-col-header,[data-theme=dark] .fc-daygrid-body,[data-theme=dark] .fc-timegrid-body,[data-theme=dark] .fc-scrollgrid-section,[data-theme=dark] .fc-scrollgrid-sync-table{background-color:#0a0f1a!important}[data-theme=dark] .fc-scrollgrid,[data-theme=dark] .fc td,[data-theme=dark] .fc th,[data-theme=dark] .fc-scrollgrid-sync-inner{border-color:#374151!important}[data-theme=dark] .fc-col-header-cell,[data-theme=dark] .fc-timegrid-slot,[data-theme=dark] .fc-daygrid-day{background-color:#0a0f1a!important}[data-theme=dark] .fc-day-today{background-color:#1a2332!important}[data-theme=dark] .fc-col-header-cell-cushion,[data-theme=dark] .fc-timegrid-slot-label-cushion,[data-theme=dark] .fc-daygrid-day-number{color:#e5e7eb!important}[data-theme=dark] .fc-button{background-color:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}[data-theme=dark] .fc-button-active,[data-theme=dark] .fc-button:hover{background-color:#2563eb!important;color:#fff!important}[data-theme=dark] .fc-toolbar-title{color:#f3f4f6!important}[data-theme=dark] .fc-header-toolbar{background-color:transparent!important}[data-theme=dark] .btn-secondary,[data-theme=dark] .btn.btn-secondary,[data-theme=dark] .tag,[data-theme=dark] .pill,[data-theme=dark] .chip{background-color:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}[data-theme=dark] .modal,[data-theme=dark] .modal-content,[data-theme=dark] .modal-body,[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer,[data-theme=dark] [class*=modal],[data-theme=dark] [class*=Modal],[data-theme=dark] [class*=dialog],[data-theme=dark] [class*=Dialog],[data-theme=dark] [class*=popup],[data-theme=dark] [class*=Popup],[data-theme=dark] [class*=overlay]>div,[data-theme=dark] [class*=Overlay]>div,[data-theme=dark] [role=dialog],[data-theme=dark] [role=dialog]>div{background-color:#1a2332!important}[data-theme=dark] [class*=overlay],[data-theme=dark] [class*=Overlay],[data-theme=dark] [class*=backdrop],[data-theme=dark] [class*=Backdrop],[data-theme=dark] .modal-backdrop{background-color:#000000bf!important}[data-theme=dark] [class*=modal] div,[data-theme=dark] [class*=Modal] div,[data-theme=dark] [class*=dialog] div,[data-theme=dark] [class*=Dialog] div,[data-theme=dark] [role=dialog] div{background-color:#1a2332!important}[data-theme=dark] [class*=modal] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] [class*=Modal] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] [class*=modal] select,[data-theme=dark] [class*=Modal] select,[data-theme=dark] [class*=modal] textarea,[data-theme=dark] [class*=Modal] textarea,[data-theme=dark] [role=dialog] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] [role=dialog] select,[data-theme=dark] [role=dialog] textarea{background-color:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}[data-theme=dark] [class*=modal] label,[data-theme=dark] [class*=Modal] label,[data-theme=dark] [class*=modal] h1,[data-theme=dark] [class*=modal] h2,[data-theme=dark] [class*=modal] h3,[data-theme=dark] [class*=Modal] h1,[data-theme=dark] [class*=Modal] h2,[data-theme=dark] [class*=Modal] h3,[data-theme=dark] [class*=modal] p,[data-theme=dark] [class*=Modal] p{color:#f3f4f6!important}[data-theme=dark] .btn-outline,[data-theme=dark] .btn-secondary,[data-theme=dark] .btn-light,[data-theme=dark] .btn-default,[data-theme=dark] [class*=btn-outline],[data-theme=dark] [class*=btn-secondary],[data-theme=dark] [class*=btn-light],[data-theme=dark] [class*=filter-btn]:where(:not(.active)),[data-theme=dark] [class*=filter-tab]:where(:not(.active)),[data-theme=dark] [class*=type-btn]:where(:not(.active)),[data-theme=dark] [class*=tab-btn]:where(:not(.active)),[data-theme=dark] button.btn:where(:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-accent):not(.active)){background-color:#1f2937!important;color:#e5e7eb!important;border-color:#374151!important}[data-theme=dark] .btn.active,[data-theme=dark] [class*=filter].active,[data-theme=dark] [class*=tab].active:where(:not(.sidebar .active)),[data-theme=dark] .filter-tab.active,[data-theme=dark] .filter-btn.active{color:#fff!important}[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .btn-outline:hover,[data-theme=dark] .btn-light:hover,[data-theme=dark] button.btn:where(:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning)):hover{background-color:#374151!important;color:#f3f4f6!important;border-color:#4b5563!important}[data-theme=dark] .sidebar,[data-theme=dark] .sidebar *,[data-theme=dark] aside.sidebar,[data-theme=dark] aside.sidebar *,[data-theme=dark] .sidebar div,[data-theme=dark] .sidebar span,[data-theme=dark] .sidebar a,[data-theme=dark] .sidebar li,[data-theme=dark] .sidebar ul,[data-theme=dark] .sidebar nav,[data-theme=dark] .sidebar h1,[data-theme=dark] .sidebar h2,[data-theme=dark] .sidebar h3,[data-theme=dark] .sidebar p,[data-theme=dark] .sidebar small,[data-theme=dark] .sidebar label,[data-theme=dark] .sidebar button,[data-theme=dark] .sidebar .nav-item,[data-theme=dark] .sidebar .nav-section-header,[data-theme=dark] .sidebar .nav-subheader,[data-theme=dark] .sidebar .sidebar-header,[data-theme=dark] .sidebar .sidebar-nav,[data-theme=dark] .sidebar .sidebar-footer,[data-theme=dark] .sidebar .user-info,[data-theme=dark] .sidebar .tagline{background-color:unset!important;color:unset!important;border-color:unset!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-light)}.app{display:flex;height:100vh;overflow:clip;background:var(--surface-0)}.sidebar{width:240px;min-height:100vh;background:#0f172a;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:50;transition:width .25s var(--ease-spring);border-right:1px solid rgba(255,255,255,.06);flex-shrink:0}.sidebar.collapsed{width:64px}.sidebar-logo{height:64px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.sidebar-logo-badge{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#0d9488,#0f766e);box-shadow:0 2px 8px #0d948866;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;flex-shrink:0}.sidebar-org-name{font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .2s}.sidebar.collapsed .sidebar-org-name{opacity:0;pointer-events:none;width:0}.location-switcher{margin:8px 10px;padding:7px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);border-radius:8px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:background .15s;overflow:hidden;min-width:0;flex-shrink:0}.location-switcher:hover{background:#ffffff17}.location-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.location-switcher-text{font-size:.8125rem;color:#cbd5e1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;transition:opacity .2s}.sidebar.collapsed .location-switcher-text,.sidebar.collapsed .location-chevron{opacity:0;width:0}.sidebar.collapsed .location-switcher{justify-content:center;padding:7px}.location-chevron{color:#475569;width:12px;height:12px;flex-shrink:0;transition:transform .2s}.location-switcher.open .location-chevron{transform:rotate(180deg)}.location-pill{cursor:default;pointer-events:none;opacity:.85}.location-pill:hover{background:#ffffff0d}.location-dropdown{position:absolute;left:10px;right:10px;top:calc(100% + 4px);background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0000004d;z-index:100;animation:scaleIn var(--duration-fast, .12s) var(--ease-spring)}.location-option{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:.8125rem;color:#cbd5e1;cursor:pointer;transition:background .1s;border:none;background:none;width:100%;text-align:left}.location-option:hover{background:#ffffff0f}.location-option.active{color:#fff;background:#ffffff14}.location-option-name{flex:1;font-weight:500}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-header{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;border-radius:0;transition:all .15s;color:#ffffff80;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;text-decoration:none;border:none;background:none;width:100%;text-align:left;border-left:3px solid transparent}.sidebar-section-header:hover{color:#fffc;background:#ffffff0a}.sidebar-section-header.active{color:#fff;border-left-color:var(--brand-accent, #0D9488);background:#0d948814}a.sidebar-section-header{text-decoration:none}.sidebar-section-icon{width:18px;height:18px;flex-shrink:0}.sidebar-section-label{flex:1}.sidebar-section-badge{min-width:18px;height:18px;border-radius:9px;background:var(--brand-accent, #0D9488);color:#fff;font-size:.625rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;font-family:var(--font-mono, monospace)}.sidebar-section-badge.urgent{background:var(--color-danger, #EF4444)}.sidebar-section-chevron{width:14px;height:14px;transition:transform .2s var(--ease-spring);opacity:.4}.sidebar-section-chevron.open{transform:rotate(90deg)}.sidebar-children{overflow:hidden;transition:max-height .2s var(--ease-spring)}.sidebar-child-item{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 36px;color:#ffffff73;font-size:.8125rem;font-weight:500;cursor:pointer;border-left:3px solid transparent;transition:all .12s;text-decoration:none}.sidebar-child-item:hover{color:#fffc;background:#ffffff0a}.sidebar-child-item.active{color:#fff;border-left-color:var(--brand-accent, #0D9488);background:#0d94881a;font-weight:600}.sidebar-child-icon{width:14px;height:14px;flex-shrink:0}.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.sidebar-shortcuts-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;margin-bottom:8px;background:#ffffff0f;border:none;border-radius:8px;color:#64748b;font-size:var(--text-xs, .75rem);cursor:pointer;transition:background .15s,color .15s}.sidebar-shortcuts-btn:hover{background:#ffffff1a;color:#94a3b8}.sidebar-profile-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #0006;overflow:hidden;z-index:1000}.sidebar-profile-option{display:block;width:100%;padding:10px 14px;color:#cbd5e1;text-decoration:none;font-size:var(--text-sm, .875rem);border:none;background:none;text-align:left;cursor:pointer;transition:background .15s,color .15s;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-profile-option:last-child{border-bottom:none}.sidebar-profile-option:hover{background:#ffffff0f;color:#fff}.sidebar-profile-option.logout{color:#ef4444;border-bottom:none}.sidebar-profile-option.logout:hover{background:#ef44441a;color:#ef4444}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;transition:background .15s}.sidebar-user:hover{background:#ffffff0f}.sidebar-user-avatar{width:32px;height:32px;border-radius:16px;background:var(--brand-accent, #0D9488);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-name{font-size:var(--text-sm, .875rem);font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--text-xs, .75rem);color:#fff6;text-transform:capitalize}.sidebar-user-info{flex:1;min-width:0;overflow:hidden;transition:opacity .2s,width .2s}.sidebar.collapsed .sidebar-user-info{opacity:0;width:0}.sidebar-toggle{position:absolute;right:-11px;top:50%;transform:translateY(-50%);width:22px;height:22px;background:var(--surface-1, #FFFFFF);border:1px solid var(--border-default, #E2E8F0);border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:60;box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s;color:var(--text-secondary, #475569)}.sidebar-toggle:hover{background:var(--surface-3, #E2E8F0);box-shadow:var(--shadow-md)}.sidebar-toggle svg{width:11px;height:11px;transition:transform .2s}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.close-mobile-menu,.mobile-backdrop{display:none}.main-content{margin-left:240px;flex:1;overflow-y:auto;background:var(--surface-0);min-width:0;transition:margin-left .25s var(--ease-spring)}.main-content.sidebar-collapsed{margin-left:64px}@media(min-width:769px){.sidebar-toggle{display:flex}.sidebar.collapsed .sidebar-section-header{justify-content:center;padding:9px}.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .sidebar-section-badge,.sidebar.collapsed .sidebar-section-chevron,.sidebar.collapsed .sidebar-children,.sidebar.collapsed .sidebar-child-item{display:none}.sidebar.collapsed .sidebar-footer{padding:10px 6px}.sidebar.collapsed .sidebar-nav{padding:8px 4px}.sidebar.collapsed .sidebar-shortcuts-btn{display:none}}.header,.contextual-header{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border-default);padding:0 32px;height:64px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:12px}.header-title{font-size:20px;font-family:var(--font-heading);font-weight:700;color:var(--color-text-primary);margin:0}.header-subtitle{font-size:14px;color:var(--color-text-secondary);font-weight:500}.header-right{display:flex;align-items:center;gap:12px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-parent{color:var(--color-primary);text-decoration:none;font-weight:500}.breadcrumb-parent:hover{text-decoration:underline}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-primary);font-weight:600}.page-content{padding:32px;flex:1;max-width:100%}.main-content.full-bleed-page{overflow:hidden}.page-content.full-bleed-page{padding:0;height:100vh;overflow:hidden}.btn{padding:8px 16px;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s;font-size:14px;font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn-primary:hover{background-color:#4f46e5;border-color:#4f46e5;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn-primary:disabled{background-color:#94a3b8;border-color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-highlight-bg);border-color:#4f46e5}.btn-secondary:disabled{color:#94a3b8;border-color:#94a3b8;cursor:not-allowed;background-color:transparent}.btn-danger,.btn-destructive{background-color:var(--color-danger);color:#fff;border:1px solid var(--color-danger)}.btn-danger:hover,.btn-destructive:hover{background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid transparent;padding:8px 12px}.btn-ghost:hover{background-color:var(--color-bg-surface);color:var(--color-text-primary)}.btn-lg{padding:12px 24px;font-size:16px}.btn-success{background-color:var(--color-success);color:#fff;border:1px solid var(--color-success)}.btn-success:hover{background-color:#047857;border-color:#047857}.card,.card-standard{background-color:var(--bg-card, #FFFFFF);border:1px solid var(--border-color, #E5E7EB);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow, 0 2px 8px rgba(99, 102, 241, .08));transition:box-shadow .3s ease,transform .3s ease}.card:hover,.card-standard:hover{box-shadow:var(--card-shadow-hover, 0 8px 30px rgba(99, 102, 241, .08));transform:translateY(-2px)}.card-metric{background-color:var(--bg-card, #FFFFFF);border:1px solid var(--border-color, #E5E7EB);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow, 0 2px 8px rgba(99, 102, 241, .08));border-left:4px solid #6366F1;transition:box-shadow .3s ease,transform .3s ease}.card-metric:hover{box-shadow:var(--card-shadow-hover, 0 8px 30px rgba(99, 102, 241, .08));transform:translateY(-2px)}.card-metric.primary{border-left-color:#6366f1}.card-metric.cyan{border-left-color:#22d3ee}.card-metric.success{border-left-color:#059669}.card-metric.warning{border-left-color:#d97706}.card-highlight{background-color:var(--color-highlight-bg, #EEF2FF);border:1px solid var(--color-highlight-border, #C7D2FE);border-radius:18px;padding:24px;margin-bottom:24px;transition:background-color .2s ease}.card-highlight:hover{background-color:var(--color-highlight-bg, #E0E7FF)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:18px;font-family:var(--font-heading);font-weight:700;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card{background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-primary);transition:box-shadow .3s,transform .3s}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.stat-card.success{border-left-color:var(--color-success)}.stat-card.warning{border-left-color:var(--color-warning)}.stat-card.danger{border-left-color:var(--color-danger)}.stat-card.cyan{border-left-color:var(--color-cyan)}.stat-label{font-size:16px;color:var(--text-primary);margin-bottom:12px;font-weight:600;line-height:1.3}.stat-value{font-size:36px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.stat-change{font-size:14px;color:var(--text-secondary);font-weight:500}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background-color:var(--bg-secondary)}th{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}td{padding:16px;border-top:1px solid var(--border-color);color:var(--text-primary)}tbody tr{transition:background-color .15s ease,box-shadow .15s ease;cursor:pointer}tbody tr:hover{background-color:var(--bg-secondary, #f9fafb);box-shadow:0 1px 3px #0000000d}tr:hover{background-color:var(--bg-secondary)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-success,.badge-active{background-color:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.25)}.badge-warning{background-color:#f59e0b26;color:#d97706;border:1px solid rgba(245,158,11,.25)}.badge-danger,.badge-overdue{background-color:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.badge-info,.badge-neutral{background-color:#3b82f626;color:#2563eb;border:1px solid rgba(59,130,246,.25)}.badge-secondary{background-color:#6b728026;color:var(--text-secondary, #64748B);border:1px solid rgba(107,114,128,.2)}.badge-orange{background-color:#f59e0b26;color:#d97706;border:1px solid rgba(245,158,11,.25)}.badge-purple{background-color:#8b5cf626;color:#7c3aed;border:1px solid rgba(139,92,246,.25)}.badge-dark{background-color:#3b82f626;color:#2563eb;border:1px solid rgba(59,130,246,.25)}[data-theme=dark] .badge-success,[data-theme=dark] .badge-active{color:#34d399}[data-theme=dark] .badge-warning{color:#fbbf24}[data-theme=dark] .badge-danger,[data-theme=dark] .badge-overdue{color:#f87171}[data-theme=dark] .badge-info,[data-theme=dark] .badge-neutral,[data-theme=dark] .badge-dark{color:#60a5fa}[data-theme=dark] .badge-purple{color:#a78bfa}[data-theme=dark] .badge-secondary{color:#9ca3af}.empty-state{text-align:center;padding:64px 32px;color:var(--text-secondary)}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:20px;margin-bottom:8px;color:var(--text-primary)}.search-bar{display:flex;gap:12px;margin-bottom:24px}.search-input{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:var(--border-radius-sm);font-size:14px;font-family:var(--font-body);background-color:var(--bg-card, #fff);color:var(--text-primary, #111827)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.actions{display:flex;gap:8px}@media(max-width:768px){.sidebar{width:56px}.sidebar-header h1,.tagline,.nav-item span:not(.icon),.user-name,.user-role{display:none}.main-content{margin-left:56px}.nav-item{justify-content:center;padding:0;height:36px}.user-info{justify-content:center}.stats-grid{grid-template-columns:1fr}}.customer-profile{padding:0}.profile-header{margin-bottom:24px}.profile-header-content{display:flex;align-items:center;gap:20px;padding:24px}.profile-avatar{flex-shrink:0}.avatar-circle{width:80px;height:80px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:700;font-family:var(--font-heading);letter-spacing:1px}.profile-info{flex:1}.profile-name{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.profile-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-actions{display:flex;gap:8px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-section{background:var(--bg-secondary, #f9fafb);padding:20px;border-radius:8px;border:1px solid var(--border-color, #e5e7eb)}.info-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-color, #e5e7eb)}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:var(--text-secondary);font-size:14px}.info-value{font-weight:500;color:var(--text-primary);font-size:14px}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.equipment-card{background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:20px;transition:box-shadow .2s}.equipment-card:hover{box-shadow:var(--shadow-lg)}.equipment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-color, #e5e7eb)}.equipment-header h4{font-size:16px;font-weight:600;color:var(--text-primary)}.equipment-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;font-size:14px}.detail-row span:first-child{color:var(--text-secondary);font-weight:500}.detail-row span:last-child{color:var(--text-primary);font-weight:500}.tabs-container{margin-top:24px}.tabs-header{display:flex;border-bottom:2px solid var(--border-color, #e5e7eb);gap:4px;padding:0 20px;background:var(--bg-card, white);border-radius:8px 8px 0 0}.tab{padding:16px 24px;border:none;background:none;font-size:15px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;text-transform:capitalize}.tab:hover{color:var(--primary-color);background:var(--bg-secondary, #f9fafb)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{padding:24px;background:var(--bg-card, white);border-radius:0 0 8px 8px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{background-color:var(--bg-secondary)}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}@media(max-width:1200px){.dashboard-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-metrics-grid{grid-template-columns:1fr}}.metric-card{background:var(--bg-card, #FFFFFF);border-radius:18px;padding:24px;box-shadow:var(--card-shadow, 0 2px 8px rgba(99, 102, 241, .08));border:1px solid var(--border-color, #E5E7EB);border-left:4px solid #6366F1;display:flex;align-items:flex-start;gap:16px;transition:all .3s ease;position:relative}.metric-card:hover{box-shadow:var(--card-shadow-hover, 0 8px 30px rgba(99, 102, 241, .08));transform:translateY(-2px)}.metric-icon{font-size:36px;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #F9FAFB);border-radius:12px}.metric-content{flex:1;min-width:0}.metric-value{font-size:32px;font-weight:700;font-family:var(--font-heading);color:var(--text-primary, #111827);line-height:1.2;margin-bottom:6px}.metric-label{font-size:14px;font-weight:600;color:var(--text-secondary, #6B7280);margin-bottom:4px;letter-spacing:.01em}.metric-subtitle{font-size:13px;color:var(--text-muted, #9CA3AF);font-weight:400;line-height:1.5}.ai-assistant-bubble{background:linear-gradient(135deg,#f3e8ff,#ede9fe);border:1px solid #E9D5FF;border-radius:16px;padding:28px 32px;margin-bottom:32px;display:flex;align-items:flex-start;gap:20px;box-shadow:0 2px 8px #7c3aed14;transition:all .3s}.ai-assistant-bubble:hover{box-shadow:0 4px 16px #7c3aed1f;transform:translateY(-2px)}.ai-assistant-icon{font-size:48px;flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:16px;box-shadow:0 2px 8px #7c3aed1a}.ai-assistant-content{flex:1}.ai-assistant-content h3{font-size:20px;font-weight:700;color:#5b21b6;margin:0 0 12px;font-family:var(--font-heading)}.ai-assistant-content p{font-size:14px;color:#6b21a8;line-height:1.6;margin:0 0 20px}.ai-assistant-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7c3aed4d}.ai-assistant-cta:hover{background:linear-gradient(135deg,#6d28d9,#7e22ce);box-shadow:0 4px 12px #7c3aed66;transform:translateY(-1px)}.ai-assistant-cta:active{transform:translateY(0)}.ai-assistant-cta svg{transition:transform .2s}.ai-assistant-cta:hover svg{transform:translate(2px)}@media(max-width:768px){.ai-assistant-bubble{flex-direction:column;padding:24px;text-align:center}.ai-assistant-icon{margin:0 auto}.sidebar{position:fixed;left:-280px;top:0;width:280px;height:100vh;transition:left .3s ease;z-index:200;background:#0f172a}.sidebar.mobile-open{left:0;background:#0f172a}.sidebar.mobile-open .sidebar-header h1,.sidebar.mobile-open .tagline,.sidebar.mobile-open .nav-item span:not(.icon),.sidebar.mobile-open .user-name,.sidebar.mobile-open .user-role{display:block}.sidebar.mobile-open .nav-item{justify-content:flex-start;height:40px;padding:0 12px;font-size:.875rem}.sidebar.mobile-open .nav-item .icon{margin-right:0}.sidebar.mobile-open .user-info{justify-content:flex-start}.close-mobile-menu{display:block;position:absolute;top:16px;right:16px;background:#fff3;border:none;color:#fff;font-size:24px;width:32px;height:32px;border-radius:50%;cursor:pointer;z-index:10;transition:background .2s}.close-mobile-menu:hover{background:#ffffff4d}.mobile-backdrop{position:fixed;inset:0;background:#00000080;z-index:199;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{margin-left:0;width:100%}.profile-header-content{flex-direction:column;align-items:center;text-align:center;padding:16px}.profile-info{display:flex;flex-direction:column;align-items:center;width:100%}.profile-name{font-size:24px}.profile-meta{justify-content:center}.profile-actions{width:100%;flex-wrap:wrap;justify-content:center;gap:8px}.profile-actions button,.profile-actions a{flex:1 1 45%;min-width:120px;max-width:180px}.tabs-header{overflow-x:auto;overflow-y:hidden;display:flex;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding:0 16px;scrollbar-width:none}.tabs-header::-webkit-scrollbar{display:none}.tab{flex-shrink:0;white-space:nowrap;min-width:fit-content;padding:12px 20px}.info-section{padding:20px 16px}.overview-grid,.equipment-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px}.stat-card{padding:16px}.stat-value{font-size:24px}}@media(min-width:769px){.close-mobile-menu{display:none}}@media print{.sidebar,.global-header,.header,.btn,.menu-trigger,.card-header button,.search-bar,.filter-buttons,.action-buttons,.modal-overlay,.ai-widget{display:none!important}.main-content{margin-left:0!important;width:100%!important}.page-content{padding:0!important}.card{box-shadow:none!important;border:1px solid #000!important;page-break-inside:avoid;margin-bottom:20px}.card-header{border-bottom:2px solid #000!important;background:#f5f5f5!important}table{font-size:11px!important;border-collapse:collapse;width:100%}th{background:#f0f0f0!important;border:1px solid #000!important;padding:8px!important;font-weight:700}td{border:1px solid #ccc!important;padding:6px!important}.badge{border:1px solid #000!important;padding:2px 6px!important}a{color:#000!important;text-decoration:underline}h1,h2,h3{page-break-after:avoid}@page{margin:1cm}.print-url:after{content:" (" attr(href) ")";font-size:10px;color:#666}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px;display:inline-block}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.documents-page{padding:0}.documents-page .page-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.upload-zone{border:2px dashed var(--border-color, #d1d5db);border-radius:16px;padding:40px 24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-card, #fff);margin-bottom:20px}.upload-zone:hover{border-color:var(--primary, #2563eb);background:#f0f4ff}.upload-zone.drag-active{border-color:var(--primary, #2563eb);background:#dbeafe;border-style:solid}.upload-zone.uploading{pointer-events:none;border-color:var(--primary, #2563eb);background:#f0f4ff}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{font-size:40px}.upload-prompt strong{font-size:16px;color:var(--text-primary, #111827)}.upload-hint{font-size:13px;color:var(--text-secondary, #6b7280)}.upload-processing{display:flex;align-items:center;gap:16px;justify-content:center}.upload-processing-text{text-align:left;display:flex;flex-direction:column;gap:4px}.upload-processing-text strong{font-size:15px;color:var(--text-primary, #111827)}.upload-processing-text span{font-size:13px;color:var(--text-secondary, #6b7280)}.ai-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary, #2563eb);border-radius:50%;animation:spin .7s linear infinite}.ai-result-card{background:var(--bg-card, #fff);border-radius:16px;padding:20px 24px;box-shadow:0 2px 8px #0000000f;margin-bottom:20px;border-left:4px solid var(--primary, #2563eb)}.ai-result-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ai-result-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-transform:capitalize}.ai-confidence{font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px}.confidence-high{background:#ecfdf5;color:#059669}.confidence-med{background:#fffbeb;color:#b45309}.confidence-low{background:#fef2f2;color:#dc2626}.ai-result-header .btn-icon{margin-left:auto;background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary)}.ai-result-header .btn-icon:hover{color:var(--text-primary)}.ai-result-title{font-size:18px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:6px}.ai-result-summary{font-size:14px;color:var(--text-secondary, #4b5563);line-height:1.5;margin-bottom:16px}.ai-match-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:#ecfdf5;margin-bottom:16px}.ai-match-card.ai-no-match{background:#fffbeb}.ai-match-icon{font-size:18px}.ai-match-label{font-size:13px;color:#065f46;font-weight:500}.ai-match-customer{display:flex;flex-direction:column;gap:2px;padding:8px 14px;background:var(--bg-card);border-radius:8px;text-decoration:none;color:inherit;border:1px solid #d1fae5;transition:border-color .15s}.ai-match-customer:hover{border-color:#10b981}.ai-match-customer strong{font-size:14px;color:var(--text-primary)}.ai-match-customer span{font-size:12px;color:var(--text-secondary)}.btn-link-inline{background:none;border:none;color:var(--primary, #2563eb);cursor:pointer;font-size:13px;font-weight:500;text-decoration:underline;padding:0}.ai-extracted{padding:14px 16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:12px}.ai-extracted-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.ai-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.ai-data-item{display:flex;flex-direction:column;gap:2px}.ai-data-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:capitalize}.ai-data-item span:last-child{font-size:13px;color:var(--text-primary)}.ai-actions-list{padding:14px 16px;background:#fffbeb;border-radius:12px}.ai-action-item{font-size:13px;color:#92400e;padding:4px 0}.docs-filters{display:flex;gap:12px;margin-bottom:16px}.docs-search{flex:1}.docs-search .input{width:100%}.docs-type-filter select{text-transform:capitalize}.docs-table-container{background:var(--bg-card, #fff);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.docs-table{width:100%;border-collapse:collapse;font-size:14px}.docs-table thead th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.docs-table tbody td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.docs-table tbody tr:hover{background:var(--bg-secondary)}.docs-table tbody tr:last-child td{border-bottom:none}.doc-name-cell{display:flex;align-items:center;gap:10px}.doc-type-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:#fff}.doc-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.doc-filename{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.doc-type-badge{font-size:12px;font-weight:600;text-transform:capitalize}.doc-customer-link{color:var(--primary, #2563eb);text-decoration:none;font-weight:500}.doc-customer-link:hover{text-decoration:underline}.doc-summary{font-size:13px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px}.ai-confidence-sm{font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;margin-left:6px}.doc-date,.doc-size{font-size:13px;color:var(--text-secondary);white-space:nowrap}.doc-actions{display:flex;gap:4px}.doc-actions .btn-icon{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:6px}.doc-actions .btn-icon:hover{background:var(--bg-secondary)}.btn-small{font-size:12px}.modal-lg{max-width:900px;width:95vw}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.preview-header h3{font-size:16px;margin:0}.preview-body{padding:0;min-height:400px;display:flex;align-items:center;justify-content:center}.preview-image{max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:0 auto}.preview-pdf{width:100%;height:70vh;border:none}.preview-no-preview{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px;text-align:center}.preview-no-preview p{color:var(--text-secondary)}.preview-ai-summary{padding:12px 20px;background:var(--bg-secondary);border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.empty-state{text-align:center;padding:64px 32px;color:var(--text-secondary, #6b7280)}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.6;line-height:1}.empty-state-title{font-size:20px;font-weight:700;margin-bottom:8px;color:var(--text-primary, #111827);font-family:var(--font-heading)}.empty-state-description{font-size:15px;color:var(--text-secondary, #6b7280);margin-bottom:24px;max-width:420px;margin-left:auto;margin-right:auto;line-height:1.5}.skeleton-cell{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-table{padding:16px}.skeleton-header-row{display:flex;gap:16px;padding:12px 16px;border-bottom:2px solid #f3f4f6;margin-bottom:8px}.skeleton-header-cell{height:12px;flex:1;opacity:.7}.skeleton-row{display:flex;gap:16px;padding:14px 16px;border-bottom:1px solid #f9fafb}.skeleton-row .skeleton-cell{flex:1}.skeleton-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.skeleton-card{background:var(--bg-card, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:18px;padding:24px;border-left:4px solid var(--border-color, #e5e7eb)}.skeleton-chart{background:var(--bg-card, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:18px;padding:24px;min-height:300px;display:flex;flex-direction:column}.skeleton-chart-bars{flex:1;display:flex;align-items:flex-end;gap:12px;padding-top:24px}.skeleton-bar{flex:1;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px 4px 0 0;min-height:20px}.skeleton-profile{padding:24px}.skeleton-profile-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.skeleton-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;flex-shrink:0}.skeleton-profile-info{flex:1}.error-boundary{padding:60px 20px;text-align:center;max-width:600px;margin:0 auto}.error-boundary-icon{font-size:64px;margin-bottom:20px}.error-boundary h2{font-size:24px;font-weight:700;margin-bottom:12px;color:var(--text-primary, #1f2937);font-family:var(--font-heading)}.error-boundary p{font-size:16px;color:var(--text-secondary, #6b7280);margin-bottom:24px;line-height:1.5}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.error-details{margin-top:24px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;text-align:left;font-family:monospace;font-size:13px;color:#dc2626;word-break:break-word;white-space:pre-wrap}.help-tip{display:inline-flex;position:relative;cursor:help;margin-left:6px;vertical-align:middle}.help-tip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e5e7eb;color:var(--text-secondary);font-size:10px;font-weight:700;line-height:1}.help-tip:hover .help-tip-icon{background:#6366f1;color:#fff}.help-tip-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;width:240px;z-index:1000;box-shadow:0 4px 12px #0003;pointer-events:none}.help-tip-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-primary)}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;color:var(--text-secondary, #6b7280);gap:16px}.page-loading p{font-size:14px;font-weight:500;color:var(--text-secondary, #6b7280)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-default, #e5e7eb);border-top-color:var(--color-primary, #6366f1);border-radius:50%;animation:spin .7s linear infinite}.loading-spinner-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #6b7280)}.loading-spinner-inline .spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border-default, #e5e7eb);border-top-color:var(--color-primary, #6366f1);border-radius:50%;animation:spin .7s linear infinite}.error-state{text-align:center;padding:64px 32px}.error-state-icon{font-size:48px;margin-bottom:16px}.error-state-title{font-size:18px;font-weight:700;color:var(--text-primary, #111827);margin-bottom:8px}.error-state-message{font-size:14px;color:var(--text-secondary, #6b7280);margin-bottom:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header-left{display:flex;flex-direction:column;gap:4px}.page-header-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:24px;font-weight:700;color:var(--text-primary, #111827);margin:0}.page-header-subtitle{font-size:14px;color:var(--text-secondary, #6b7280);margin:0}.page-header-actions{display:flex;gap:8px;align-items:center}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.sidebar-open{transform:translate(0)}.main-content{margin-left:0!important}.page-content{padding:16px!important}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{justify-content:flex-end}.stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}.card{padding:16px!important}.empty-state{padding:40px 16px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr!important}.page-header-title{font-size:20px}}@media(max-width:768px){.portal-table .col-hide-mobile{display:none}.portal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.portal-grid,.dashboard-metrics-grid{grid-template-columns:1fr!important}}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--bg-secondary, #151921);color:var(--text-primary, #e5e7eb);border-color:var(--border-color, #2d3548)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted, #6b7280)}[data-theme=dark] .skeleton,[data-theme=dark] .skeleton-cell,[data-theme=dark] .skeleton-bar,[data-theme=dark] .skeleton-avatar{background:linear-gradient(90deg,#1a1f2e 25%,#252b3d,#1a1f2e 75%);background-size:200% 100%}[data-theme=dark] .skeleton-header-row{border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .skeleton-row{border-bottom-color:var(--border-color, #1a1f2e)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .help-tip-icon{background:#2d3548;color:var(--text-secondary)}[data-theme=dark] .error-details{background:#1a1520;border-color:#5b2d3e;color:#f87171}[data-theme=dark] table thead th{background:var(--bg-secondary, #151921);color:var(--text-secondary, #9ca3af);border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] table tbody td{border-bottom-color:var(--border-color, #2d3548);color:var(--text-primary, #e5e7eb)}[data-theme=dark] table tbody tr:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .dropdown-menu,[data-theme=dark] .popover,[data-theme=dark] [class*=dropdown]{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .upload-zone{background:var(--bg-secondary, #151921);border-color:var(--border-color, #2d3548)}[data-theme=dark] .upload-zone:hover{background:var(--bg-card, #1a1f2e)}[data-theme=dark] .page-header-title,[data-theme=dark] .page-title,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .page-header-subtitle,[data-theme=dark] .page-subtitle,[data-theme=dark] .section-description{color:var(--text-secondary, #9ca3af)}[data-theme=dark] .card,[data-theme=dark] .card-standard{background:var(--bg-card, #1a1f2e)!important;border-color:var(--border-color, #2d3548)!important}[data-theme=dark] .filter-bar,[data-theme=dark] .tab-bar{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .card a:not(.btn){color:#818cf8}[data-theme=dark] .ai-match-customer strong{color:var(--text-primary)}[data-theme=dark] .ai-data-item span:last-child{color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:0}.page-header-left{flex:1}.page-title{font-size:32px;font-family:var(--font-heading, "Outfit", sans-serif);font-weight:600;color:var(--text-primary);margin:0 0 4px}.page-subtitle{font-size:14px;color:var(--text-secondary);font-weight:400;margin:0}.page-header-right{display:flex;align-items:center;gap:12px}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.breadcrumb-link{color:#6366f1;text-decoration:none;font-weight:500}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{color:#d1d5db}.breadcrumb-current{color:var(--text-primary);font-weight:600}.card{background:var(--bg-card);border-radius:18px;box-shadow:0 2px 8px #6366f114;padding:24px;margin-bottom:24px;border:1px solid var(--border);transition:box-shadow .3s ease,transform .3s ease}.card:hover{box-shadow:0 8px 30px #6366f11f;transform:translateY(-2px)}.card-no-hover{background:var(--bg-card);border-radius:18px;box-shadow:0 2px 8px #6366f114;padding:24px;margin-bottom:24px;border:1px solid var(--border)}.card-metric{background:var(--bg-card);border-radius:18px;box-shadow:0 2px 8px #6366f114;padding:24px;margin-bottom:24px;border:1px solid var(--border);border-left:4px solid #6366F1;transition:box-shadow .3s ease,transform .3s ease}.card-metric:hover{box-shadow:0 8px 30px #6366f11f;transform:translateY(-2px)}.card-metric.success{border-left-color:#10b981}.card-metric.warning{border-left-color:#f59e0b}.card-metric.danger{border-left-color:#dc2626}.card-metric.info{border-left-color:#6366f1}.card-highlight{background:#eef2ff;border-radius:18px;padding:24px;margin-bottom:24px;border:1px solid #C7D2FE;transition:background-color .2s ease}.card-highlight:hover{background:#e0e7ff}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.card-title{font-size:18px;font-family:var(--font-heading, "Outfit", sans-serif);font-weight:600;color:var(--text-primary);margin:0}.card-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.card-actions{display:flex;gap:8px}.btn{height:40px;padding:0 20px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;border:none;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);text-decoration:none}.btn-primary{background:#6366f1;color:#fff;border:1px solid #6366F1}.btn-primary:hover{background:#4f46e5;border-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:transparent;color:#6366f1;border:1px solid #6366F1}.btn-secondary:hover{background:#eef2ff;border-color:#4f46e5}.btn-secondary:disabled{color:#94a3b8;border-color:#94a3b8;cursor:not-allowed;background:transparent}.btn-danger{background:#dc2626;color:#fff;border:1px solid #DC2626}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.btn-danger:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{background:#f3f4f6;color:var(--text-primary)}.btn-sm{height:32px;padding:0 16px;font-size:13px}.btn-lg{height:48px;padding:0 28px;font-size:16px}.btn-icon{width:40px;height:40px;padding:0;border-radius:6px}.btn-icon.btn-sm{width:32px;height:32px}.btn-group{display:flex;gap:8px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.5}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#f3f4f6;color:var(--text-primary)}.badge-secondary{background:#dbeafe;color:#1e40af}.badge-purple{background:#f3e8ff;color:#6b21a8}.data-table{width:100%;border-collapse:collapse;background:var(--bg-card)}.data-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border)}.data-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.data-table td{padding:16px;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background:var(--bg-secondary);cursor:pointer}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background:#f3f4f6}.data-table-striped tbody tr:nth-child(2n){background:var(--bg-secondary)}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:var(--text-primary)}.form-label-required:after{content:" *";color:#dc2626}.form-input,.form-select,.form-textarea{width:100%;height:40px;padding:0 12px;border:1px solid #D1D5DB;border-radius:6px;font-size:14px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);color:var(--text-primary);background:var(--bg-card);transition:border-color .2s,box-shadow .2s}.form-textarea{height:auto;min-height:100px;padding:12px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-helper{font-size:13px;color:var(--text-secondary);margin-top:6px}.form-error{font-size:13px;color:#dc2626;margin-top:6px}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626}.search-input{height:40px;padding:0 12px 0 40px;border:1px solid #D1D5DB;border-radius:6px;font-size:14px;background:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:20px}.search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:600px;max-width:90vw;max-height:90vh;overflow-y:auto;z-index:1001;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-large{width:900px}.modal-small{width:400px}.modal-header{padding:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:20px;font-family:var(--font-heading, "Outfit", sans-serif);font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:background .2s}.modal-close:hover{background:#f3f4f6;color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{padding:20px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{font-size:48px;margin-bottom:20px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-message{font-size:14px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.loading-spinner{border:3px solid #F3F4F6;border-top:3px solid #6366F1;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:40px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner-sm{width:20px;height:20px;border-width:2px}.loading-spinner-lg{width:60px;height:60px;border-width:4px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-text{margin-top:16px;color:var(--text-secondary);font-size:14px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-primary{color:#6366f1}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-danger{color:#dc2626}.text-muted{color:var(--text-secondary)}.required{color:#dc2626;font-weight:600;margin-left:2px}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626;background-color:#fef2f2}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.error-message{display:block;color:#dc2626;font-size:13px;margin-top:6px;font-weight:500;animation:slideInError .2s ease}@keyframes slideInError{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-input.success,.form-select.success,.form-textarea.success{border-color:#10b981;background-color:#ecfdf5}.form-input.success:focus,.form-select.success:focus,.form-textarea.success:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.alert{padding:14px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500;display:flex;align-items:flex-start;gap:12px;line-height:1.5}.alert-warning{background:#fef3c7;border:1px solid #F59E0B;color:#92400e}.alert-error{background:#fee2e2;border:1px solid #DC2626;color:#991b1b}.alert-success{background:#d1fae5;border:1px solid #10B981;color:#065f46}.alert-info{background:#dbeafe;border:1px solid #3B82F6;color:#1e40af}.alert button{margin-left:auto;padding:4px 12px;border-radius:4px;border:none;background:#0000001a;color:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s}.alert button:hover{background:#0003}.form-section{margin-top:32px;margin-bottom:24px}.form-section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px;padding-bottom:8px;border-bottom:2px solid var(--border)}.form-section-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.inline-error{color:#dc2626;font-size:12px;font-weight:500;margin-top:4px}.duplicate-warning{background:#fef3c7;border:1px solid #F59E0B;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:slideInWarning .3s ease}@keyframes slideInWarning{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.duplicate-warning-text{color:#92400e;font-size:14px;font-weight:500;flex:1}.duplicate-warning button{padding:6px 14px;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s;white-space:nowrap}.duplicate-warning button:hover{background:#d97706}.validation-summary{background:#fee2e2;border:1px solid #DC2626;border-radius:8px;padding:16px;margin-bottom:24px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.validation-summary-title{color:#991b1b;font-weight:600;font-size:14px;margin-bottom:8px}.validation-summary-list{list-style:none;padding:0;margin:0}.validation-summary-list li{color:#991b1b;font-size:13px;padding:4px 0 4px 20px;position:relative}.validation-summary-list li:before{content:"•";position:absolute;left:8px;font-weight:600}.char-counter{font-size:12px;color:var(--text-secondary);text-align:right;margin-top:4px}.char-counter.warning{color:#f59e0b}.char-counter.error{color:#dc2626}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header-right{width:100%;justify-content:flex-start}.card,.card-metric,.card-highlight{padding:16px}.modal{width:95vw;max-height:95vh}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}.alert{flex-direction:column}.duplicate-warning{flex-direction:column;align-items:flex-start}.duplicate-warning button{width:100%}}[data-theme=dark] .page-title,[data-theme=dark] .card-title,[data-theme=dark] .modal-title,[data-theme=dark] .form-label,[data-theme=dark] .form-section-title,[data-theme=dark] .breadcrumb-current,[data-theme=dark] .empty-state-title{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .page-subtitle,[data-theme=dark] .card-subtitle,[data-theme=dark] .breadcrumbs,[data-theme=dark] .form-helper,[data-theme=dark] .char-counter,[data-theme=dark] .empty-state-message,[data-theme=dark] .loading-text{color:var(--text-secondary, #9ca3af)}[data-theme=dark] .card,[data-theme=dark] .card-no-hover,[data-theme=dark] .card-metric{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548);box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.3))}[data-theme=dark] .card-highlight{background:var(--color-highlight-bg, #1e1b4b);border-color:var(--color-highlight-border, #4338ca)}[data-theme=dark] .card-header{border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .data-table{background:var(--bg-card, #1a1f2e)}[data-theme=dark] .data-table thead{background:var(--bg-secondary, #151921);border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .data-table th{color:var(--text-secondary, #9ca3af)}[data-theme=dark] .data-table td{border-bottom-color:var(--border-color, #2d3548);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .data-table tbody tr:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .data-table th.sortable:hover{background:#252b3d}[data-theme=dark] .data-table-striped tbody tr:nth-child(2n){background:var(--bg-secondary, #151921)}[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .form-textarea{background:var(--bg-secondary, #151921);color:var(--text-primary, #e5e7eb);border-color:var(--border-color, #2d3548)}[data-theme=dark] .form-input:disabled,[data-theme=dark] .form-select:disabled,[data-theme=dark] .form-textarea:disabled{background:#0f1117;color:var(--text-secondary)}[data-theme=dark] .search-input{background-color:var(--bg-secondary, #151921);border-color:var(--border-color, #2d3548)}[data-theme=dark] .modal{background:var(--bg-card, #1a1f2e);border:1px solid var(--border-color, #2d3548)}[data-theme=dark] .modal-header{border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .modal-footer{border-top-color:var(--border-color, #2d3548)}[data-theme=dark] .modal-close:hover{background:#2d3548;color:#e5e7eb}[data-theme=dark] .btn-ghost:hover{background:var(--bg-secondary, #151921);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .btn-secondary{background:var(--bg-secondary, #151921);color:var(--text-primary, #e5e7eb);border-color:var(--border-color, #2d3548)}[data-theme=dark] .form-section-title{border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .loading-spinner{border-color:var(--border-color, #2d3548);border-top-color:#6366f1}.campaign-perf-bar{height:4px;background:var(--surface-3);border-radius:2px;margin-top:8px;overflow:hidden}.campaign-perf-fill{height:100%;border-radius:2px;background:var(--brand-accent);transition:width .6s var(--ease-out, ease-out)}.campaign-perf-fill.good{background:#10b981}.campaign-perf-fill.ok{background:#f59e0b}.campaign-perf-fill.poor{background:#ef4444}.satisfaction-btn{width:60px;height:60px;border-radius:12px;border:2px solid var(--border-default);background:var(--surface-1);cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.satisfaction-btn:hover{border-color:var(--brand-accent);background:var(--brand-accent-light);transform:scale(1.08)}.satisfaction-btn.selected{border-color:var(--brand-accent);background:var(--brand-accent-light);box-shadow:0 0 0 3px #6366f126}@media(max-width:768px){html,body{overflow-x:hidden;width:100%}*{box-sizing:border-box}}@media(max-width:768px){body{font-size:14px;line-height:1.5}p,span,div,label,input,select,textarea{font-size:14px!important;min-font-size:14px}h1{font-size:24px!important}h2{font-size:20px!important}h3{font-size:18px!important}h4{font-size:16px!important}}@media(max-width:375px){h1{font-size:22px!important}h2{font-size:18px!important}h3{font-size:16px!important}}@media(max-width:768px){button,a[role=button],input[type=button],input[type=submit],.btn,.fc-button{min-height:44px!important;min-width:44px;padding:12px 16px!important;font-size:14px!important;font-weight:600;margin:4px!important}a{min-height:44px;display:inline-flex;align-items:center;padding:8px 4px}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px;margin:8px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],select,textarea{min-height:44px!important;font-size:16px!important;padding:12px 16px!important}}@media(max-width:768px){.sidebar{position:fixed;left:-280px;top:0;height:100vh;width:280px;z-index:1000;transition:left .3s ease;background:var(--bg-card);box-shadow:2px 0 8px #0003}.sidebar.open{left:0}.mobile-menu-toggle{display:block!important;position:fixed;top:16px;left:16px;z-index:1001;background:var(--accent);color:#fff;border:none;width:44px;height:44px;border-radius:8px;font-size:20px}.main-content{margin-left:0!important;padding:72px 16px 16px!important}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:999}}@media(max-width:768px){.login-page{padding:16px}.login-container{padding:32px 24px!important;max-width:100%!important;margin:0}.login-header{margin-bottom:24px}.login-form input{font-size:16px!important}}@media(max-width:375px){.login-container{padding:24px 16px!important}.login-header{gap:12px}}@media(max-width:768px){.dashboard{padding:16px!important}.dashboard-metrics-grid,.flow-metrics-grid{grid-template-columns:1fr!important;gap:12px!important}.metric-card,.flow-metric-card{padding:16px!important}.metric-value{font-size:28px!important}.metric-icon{font-size:36px!important}.analytics-widgets-grid,.charts-grid{grid-template-columns:1fr!important;gap:16px!important}.chart-header{flex-direction:column!important;align-items:flex-start!important}.date-range-selector{width:100%!important}.date-range-selector button{flex:1;padding:10px 8px!important}.time-metrics{grid-template-columns:1fr 1fr!important}.channel-breakdown{grid-template-columns:1fr!important}.top-flow-item{flex-wrap:wrap}.top-flow-stats{width:100%}}@media(max-width:375px){.dashboard{padding:12px!important}.metric-value{font-size:24px!important}.time-metrics{grid-template-columns:1fr!important}.stat-badge{font-size:11px!important;padding:3px 8px!important}}@media(min-width:769px){.jobs-table-view{display:block!important}.jobs-card-view{display:none!important}}@media(max-width:768px){.jobs-table-view{display:none!important}.jobs-card-view{display:block!important}.job-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 4px #0000000d}.job-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.job-card-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.job-card-id{font-size:12px;color:var(--text-secondary);font-family:monospace}.job-card-status{flex-shrink:0}.job-card-body{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.job-card-field{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.job-card-field:last-child{border-bottom:none}.job-card-label{font-size:13px;color:var(--text-secondary);font-weight:600}.job-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right}.job-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.job-card-actions button{flex:1}.jobs-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.jobs-search{width:100%!important}.jobs-filter-group{display:flex;flex-wrap:wrap;gap:8px}.jobs-filter-group button,.jobs-filter-group select{flex:1;min-width:120px}}@media(max-width:375px){.job-card{padding:12px}.job-card-actions{flex-direction:column}.job-card-actions button{width:100%}}@media(max-width:768px){.scheduler-page{padding:16px!important}.scheduler-controls{flex-direction:column!important;padding:16px!important;gap:12px!important}.control-group{width:100%;flex-direction:column;align-items:stretch}.control-group label{margin-bottom:8px}.form-select{width:100%!important}.view-buttons{width:100%!important;justify-content:stretch}.btn-view{flex:1;padding:12px 8px!important}.scheduler-calendar{padding:12px!important;overflow-x:auto;-webkit-overflow-scrolling:touch}.fc{font-size:13px}.fc .fc-toolbar{flex-direction:column!important;gap:12px!important;padding:8px!important}.fc .fc-toolbar-chunk{width:100%!important;display:flex;justify-content:center;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:18px!important;margin:8px 0!important}.fc .fc-button{min-height:44px!important;padding:10px 14px!important;font-size:13px!important}.fc-button-group{display:flex;gap:4px}.fc .fc-col-header-cell{padding:8px 4px!important;font-size:12px!important}.fc .fc-daygrid-day-number{font-size:14px!important;padding:8px!important}.fc-event{padding:8px!important;min-height:44px!important;margin-bottom:4px!important}.scheduler-event-content{font-size:12px!important}.event-title{font-size:13px!important}.fc-event{cursor:pointer;touch-action:none}.fc-timegrid-slot{height:3em!important}.fc-timegrid-slot-label{font-size:11px!important}.scheduler-legend{flex-direction:column!important;gap:8px!important;padding:12px!important}.scheduler-stats{grid-template-columns:1fr 1fr!important;gap:12px!important}.stat-card{padding:16px 12px!important}.stat-value{font-size:24px!important}.stat-label{font-size:12px!important}}@media(max-width:375px){.scheduler-calendar{padding:8px!important}.fc .fc-toolbar-title{font-size:16px!important}.fc .fc-button{padding:8px 10px!important;font-size:12px!important}.fc-event{padding:6px!important;min-height:44px!important}.scheduler-event-content{font-size:11px!important}.event-title{font-size:12px!important}.scheduler-stats{grid-template-columns:1fr!important}}@media(max-width:768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}table{min-width:600px;font-size:13px!important}th,td{padding:10px 8px!important;white-space:nowrap}.badge{font-size:11px!important;padding:4px 8px!important}}@media(max-width:768px){.form-grid,div[style*=grid-template-columns],div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-size:14px!important;font-weight:600}.form-row{flex-direction:column!important;gap:16px!important}.form-actions{display:flex;flex-direction:column;gap:12px;width:100%}.form-actions button{width:100%!important}}@media(max-width:768px){.modal{padding:0!important}.modal-content{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;border-radius:0!important;overflow-y:auto}.modal-header{padding:16px!important;position:sticky;top:0;background:var(--bg-card);z-index:10;border-bottom:1px solid var(--border)}.modal-body{padding:16px!important}.modal-footer{padding:16px!important;position:sticky;bottom:0;background:var(--bg-card);border-top:1px solid var(--border)}.modal-footer button{width:100%!important;margin-bottom:8px}}@media(max-width:768px){.card{padding:16px!important;margin-bottom:16px;border-radius:12px}.card-header{padding:16px!important;flex-direction:column!important;align-items:flex-start!important;gap:12px}.card-title{font-size:18px!important}.card-actions{width:100%;display:flex;gap:8px;flex-wrap:wrap}.card-actions button{flex:1;min-width:120px}}@media(max-width:375px){.card,.card-header{padding:12px!important}.card-title{font-size:16px!important}}@media(max-width:768px){.search-bar{flex-direction:column!important;gap:12px!important}.search-input{width:100%!important}.search-input input{width:100%;font-size:16px!important}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px;width:100%}.filter-buttons button{flex:1;min-width:100px}}@media(max-width:768px){.page-header{flex-direction:column!important;align-items:flex-start!important;padding:16px!important;gap:16px}.page-header h1{font-size:24px!important;margin:0!important}.page-subtitle{font-size:14px!important;margin:4px 0 0!important}.page-actions{width:100%;display:flex;gap:8px;flex-wrap:wrap}.page-actions button{flex:1;min-width:120px}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.stat-card{padding:16px 12px!important}.stat-value{font-size:24px!important}.stat-label{font-size:12px!important}}@media(max-width:375px){.stats-grid{grid-template-columns:1fr!important}}@media(max-width:768px){.mobile-hidden{display:none!important}.mobile-only{display:block!important}.mobile-full-width{width:100%!important}.mobile-stack{flex-direction:column!important}}@media(min-width:769px){.mobile-only{display:none!important}}@media(max-width:768px){.loading-state{padding:40px 20px!important}.spinner{width:32px;height:32px}.empty-state{padding:40px 20px!important;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-size:18px!important;margin-bottom:8px}.empty-state-message{font-size:14px!important;color:var(--text-secondary)}}@media(max-width:768px){button:focus,a:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--accent)!important;outline-offset:2px}button:active,a:active{transform:scale(.98);opacity:.8}}@media(max-width:768px)and (orientation:landscape){.page-header,.card,.modal-header,.modal-body{padding-top:12px!important;padding-bottom:12px!important}.scheduler-controls{padding:12px!important}.fc .fc-toolbar{padding:8px!important}}@supports (padding: env(safe-area-inset-top)){@media(max-width:768px){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-menu-toggle{top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left))}.sidebar{padding-top:env(safe-area-inset-top)}}}@media print{.sidebar,.mobile-menu-toggle,.page-actions,.card-actions,.job-card-actions,button{display:none!important}body{font-size:12pt}.card{page-break-inside:avoid}}@media(max-width:768px){.klair-flows-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 16px!important;margin-bottom:16px;gap:4px!important;border-bottom:2px solid var(--border);scrollbar-width:none}.klair-flows-tabs::-webkit-scrollbar{display:none}.tab-button{flex-shrink:0;padding:12px 16px!important;font-size:13px!important;white-space:nowrap}.tab-icon{font-size:16px}.tab-content{padding:0 16px!important}.stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;margin-bottom:16px!important}.stat-card{padding:12px!important}.stat-label{font-size:11px!important;margin-bottom:4px}.stat-value{font-size:20px!important}.card-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important}.card-title{font-size:18px!important;margin:0!important}.card-header .btn{width:100%}.search-bar{flex-direction:column!important;gap:12px!important;padding:16px!important;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.search-bar>div{width:100%}.search-bar input{width:100%!important;font-size:16px!important}.search-bar button{font-size:12px!important;padding:8px 12px!important;min-height:44px!important}.search-bar>div[style*="display: flex"]{flex-wrap:wrap;gap:8px}.table-container table{display:none!important}.flow-card,.segment-card,.campaign-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}.flow-card-header,.segment-card-header,.campaign-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.flow-card-title,.segment-card-title,.campaign-card-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px;flex:1}.flow-card-status,.segment-card-status,.campaign-card-status{flex-shrink:0;margin-left:8px}.flow-card-body,.segment-card-body,.campaign-card-body{display:grid;gap:8px;margin-bottom:12px}.flow-card-field,.segment-card-field,.campaign-card-field{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.flow-card-label,.segment-card-label,.campaign-card-label{font-size:12px;color:var(--text-secondary);font-weight:600}.flow-card-value,.segment-card-value,.campaign-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right}.flow-card-actions,.segment-card-actions,.campaign-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.flow-card-actions button,.segment-card-actions button,.campaign-card-actions button{flex:1;font-size:13px!important;padding:10px 12px!important;min-height:44px!important}.empty-state{padding:40px 20px!important}.empty-state div[style*="fontSize: '64px'"]{font-size:48px!important}.empty-state h3{font-size:18px!important}.empty-state p{font-size:14px!important}.template-grid{grid-template-columns:1fr!important;gap:12px!important}.template-card{padding:16px!important;border-radius:12px}.template-card h4{font-size:16px!important}.template-card p{font-size:13px!important;min-height:auto!important}.template-trigger{font-size:11px!important;padding:4px 10px!important}.modal-overlay{padding:0!important}.modal-content{max-width:100vw!important;max-height:100vh!important;height:100vh!important;margin:0!important;border-radius:0!important;overflow-y:auto}.modal-header{padding:16px!important;position:sticky;top:0;background:var(--bg-card);z-index:10;border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px!important}.modal-close{min-width:44px!important;min-height:44px!important;font-size:28px!important}.modal-body{padding:16px!important}.modal-footer{padding:16px!important;position:sticky;bottom:0;background:var(--bg-card);border-top:1px solid var(--border);flex-direction:column!important;gap:8px!important}.modal-footer button{width:100%!important;margin:0!important}.form-group{margin-bottom:16px}.form-group label{font-size:14px!important;font-weight:600;margin-bottom:8px;display:block}.form-control{width:100%;font-size:16px!important;padding:12px!important;min-height:44px!important}textarea.form-control{min-height:80px!important}.modal-body div[style*=grid-template-columns],.modal-body div[style*=gridTemplateColumns]{grid-template-columns:1fr!important;gap:12px!important}input[type=date],input[type=time]{font-size:16px!important;padding:12px!important;min-height:44px!important}}@media(max-width:375px){.stats-grid{grid-template-columns:1fr!important}.tab-button{padding:10px 12px!important;font-size:12px!important}.flow-card,.segment-card,.campaign-card{padding:12px}.flow-card-actions,.segment-card-actions,.campaign-card-actions{flex-direction:column}.flow-card-actions button,.segment-card-actions button,.campaign-card-actions button{width:100%}.template-card{padding:12px!important}}@media(min-width:768px)and (max-width:1024px){.template-grid{grid-template-columns:repeat(2,1fr)!important}.stats-grid{grid-template-columns:repeat(4,1fr)!important}.table-container table{display:table!important}}@media(min-width:769px){.customers-table-view{display:block!important}.customers-card-view{display:none!important}}@media(max-width:768px){.customers-page{padding:16px!important}.customers-page .table-container table{display:none!important}.customers-page .card-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important}.customers-page .card-title{font-size:18px!important;margin:0!important}.customers-page .card-header button{width:100%!important}.customers-page .search-bar{flex-direction:column!important;gap:12px!important;padding:16px!important;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.customers-page .search-input{width:100%!important}.customers-page .search-input input{width:100%!important;font-size:16px!important;min-height:44px!important}.customers-page .search-bar>div{width:100%}.customers-page .search-bar>div[style*="display: flex"]{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.customers-page .search-bar>div button,.customers-page .search-bar>div .btn{width:100%!important;text-align:center;min-height:44px!important}.customers-page div[style*="flexWrap: 'wrap'"] button{flex:1;min-width:100px;min-height:44px!important}.customer-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;cursor:pointer;transition:transform .2s,box-shadow .2s}.customer-card:active{transform:scale(.98);box-shadow:0 4px 6px #0000001a}.customer-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.customer-card-name{font-size:16px;font-weight:700;color:#1e40af;margin:0 0 4px;flex:1}.customer-card-id{font-size:11px;color:var(--text-secondary);font-family:monospace}.customer-card-status{flex-shrink:0;margin-left:8px}.customer-card-body{display:grid;gap:8px;margin-bottom:12px}.customer-card-field{display:flex;justify-content:space-between;align-items:start;padding:6px 0;gap:12px}.customer-card-label{font-size:12px;color:var(--text-secondary);font-weight:600;flex-shrink:0;min-width:80px}.customer-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right;flex:1;word-break:break-word}.customer-card-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.customer-card-tags .badge{font-size:10px!important;padding:3px 6px!important}.customer-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.customer-card-actions button{flex:1;font-size:13px!important;padding:10px 12px!important;min-height:44px!important;white-space:nowrap}.customers-page div[style*="borderTop: '1px solid #e5e7eb'"]{flex-direction:column!important;gap:12px!important;padding:12px 16px!important}.customers-page div[style*="borderTop: '1px solid #e5e7eb'"]>div{width:100%!important;justify-content:center!important}.customers-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:first-child{flex-direction:row!important;justify-content:space-between!important}.customers-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:last-child{display:flex!important;justify-content:space-between!important;width:100%!important}.customers-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:last-child button{min-width:100px;min-height:44px!important}.customers-page .empty-state{padding:40px 20px!important}.customers-page .empty-state div[style*="fontSize: '64px'"]{font-size:48px!important}}@media(max-width:375px){.customers-page{padding:12px!important}.customer-card{padding:12px}.customer-card-name{font-size:15px}.customer-card-actions{flex-direction:column}.customer-card-actions button{width:100%}}@media(max-width:768px){.customer-profile{padding:16px!important}.customer-profile>div[style*="display: flex"][style*="justifyContent: 'space-between'"]{flex-direction:column!important;gap:12px!important}.customer-profile h1{font-size:22px!important}.customer-profile>div[style*="display: flex"][style*="justifyContent: 'space-between'"]>div[style*="display: flex"]{width:100%!important;flex-direction:column!important;gap:8px!important}.customer-profile>div[style*="display: flex"][style*="justifyContent: 'space-between'"]>div[style*="display: flex"] button{width:100%!important}.customer-profile div[style*=borderBottom]{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex!important;gap:4px!important}.customer-profile div[style*=borderBottom]::-webkit-scrollbar{display:none}.customer-profile div[style*=borderBottom] button{flex-shrink:0;padding:12px 16px!important;font-size:13px!important;white-space:nowrap}.customer-profile .stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.customer-profile .stat-card{padding:12px!important}.customer-profile .stat-value{font-size:20px!important}.customer-profile .stat-label{font-size:11px!important}.customer-profile div[style*=gridTemplateColumns][style*="1fr 1fr"]{grid-template-columns:1fr!important;gap:16px!important}.customer-profile .equipment-item{padding:12px!important}.customer-profile .table-container table{display:none!important}.customer-profile div[style*="display: grid"][style*="gridTemplateColumns: 'repeat(auto-fill"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.customer-profile div[style*="display: flex"][style*="padding: '12px'"]{flex-wrap:wrap}}@media(max-width:375px){.customer-profile .stats-grid{grid-template-columns:1fr!important}}@media(min-width:769px){.equipment-table-view{display:block!important}.equipment-card-view{display:none!important}}@media(max-width:768px){.equipment-page{padding:16px!important}.equipment-page .stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.equipment-page .stat-card{padding:12px!important}.equipment-page .stat-value{font-size:20px!important}.equipment-page .stat-label{font-size:11px!important}.equipment-page .card-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important}.equipment-page .card-title{font-size:18px!important;margin:0!important}.equipment-page .card-header button{width:100%!important}.equipment-page .search-bar{flex-direction:column!important;gap:12px!important;padding:16px!important;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.equipment-page .search-bar>div:first-child{flex-wrap:wrap!important}.equipment-page .search-bar>div:first-child button{flex:1;min-width:80px;min-height:44px!important}.equipment-page .search-bar>div:last-child{flex-direction:column!important;gap:12px!important}.equipment-page .search-bar>div:last-child>div{width:100%!important}.equipment-page .search-bar select{width:100%!important;min-height:44px!important;font-size:16px!important}.equipment-page .search-input{width:100%!important;min-width:auto!important}.equipment-page .search-input input{width:100%!important;font-size:16px!important}.equipment-page .table-container table{display:none!important}.equipment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;cursor:pointer;transition:transform .2s,box-shadow .2s}.equipment-card:active{transform:scale(.98);box-shadow:0 4px 6px #0000001a}.equipment-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.equipment-card-title{flex:1}.equipment-card-type{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.equipment-card-customer{font-size:13px;color:#1e40af;font-weight:600}.equipment-card-location{font-size:11px;color:var(--text-secondary)}.equipment-card-status{flex-shrink:0;margin-left:8px}.equipment-card-body{display:grid;gap:8px;margin-bottom:12px}.equipment-card-field{display:flex;justify-content:space-between;align-items:start;padding:6px 0;gap:12px}.equipment-card-label{font-size:12px;color:var(--text-secondary);font-weight:600;flex-shrink:0;min-width:100px}.equipment-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right;flex:1;word-break:break-word}.equipment-card-tag{display:inline-block;font-size:12px;font-weight:600;color:#6366f1;background:#eef2ff;padding:4px 10px;border-radius:6px}.equipment-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.equipment-card-actions button{flex:1;font-size:13px!important;padding:10px 12px!important;min-height:44px!important;white-space:nowrap}.equipment-page div[style*="borderTop: '1px solid #e5e7eb'"]{flex-direction:column!important;gap:12px!important;padding:12px 16px!important}.equipment-page div[style*="borderTop: '1px solid #e5e7eb'"]>div{width:100%!important;justify-content:center!important;text-align:center}.equipment-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:last-child{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important}.equipment-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:last-child button{min-width:100px;min-height:44px!important}.equipment-page div[style*="borderTop: '1px solid #e5e7eb'"]>div:last-child span{display:none}.equipment-page .empty-state{padding:40px 20px!important}}@media(max-width:375px){.equipment-page{padding:12px!important}.equipment-page .stats-grid{grid-template-columns:1fr!important}.equipment-card{padding:12px}.equipment-card-actions{flex-direction:column}.equipment-card-actions button{width:100%}}@media(max-width:768px){.equipment-detail{padding:16px!important}.equipment-detail>div[style*="display: flex"][style*="justifyContent: 'space-between'"]{flex-direction:column!important;gap:12px!important}.equipment-detail h1{font-size:22px!important}.equipment-detail>div[style*="display: flex"][style*="justifyContent: 'space-between'"]>div[style*="display: flex"]{width:100%!important;flex-direction:column!important;gap:8px!important}.equipment-detail>div[style*="display: flex"][style*="justifyContent: 'space-between'"]>div[style*="display: flex"] button{width:100%!important}.equipment-detail div[style*=gridTemplateColumns][style*="2fr 1fr"],.equipment-detail div[style*=gridTemplateColumns][style*="1fr 1fr"]{grid-template-columns:1fr!important;gap:16px!important}.equipment-detail .card{padding:16px!important}.equipment-detail .table-container table{display:none!important}.service-history-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.service-history-card-header{display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.service-history-card-body{display:grid;gap:6px}.service-history-field{display:flex;justify-content:space-between;font-size:13px}.service-history-label{color:var(--text-secondary);font-weight:600}.service-history-value{color:var(--text-primary);font-weight:500;text-align:right}}@media(max-width:375px){.equipment-detail{padding:12px!important}}@media(max-width:768px){.invoices-page{padding:16px!important}.invoices-page .page-header{flex-direction:column!important;align-items:stretch!important;gap:16px!important;margin-bottom:20px!important}.invoices-page .page-header h1{font-size:24px!important;margin-bottom:4px!important}.invoices-page .page-subtitle{font-size:14px!important;color:var(--text-secondary)}.invoices-page .page-header>div:last-child{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important}.invoices-page .page-header button{width:100%!important;min-height:44px!important;font-size:16px!important}.invoices-page .stats-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;margin-bottom:20px!important}.invoices-page .stat-card{padding:16px!important;min-height:auto!important}.invoices-page .stat-label{font-size:12px!important;margin-bottom:4px!important}.invoices-page .stat-value{font-size:20px!important;margin-bottom:2px!important}.invoices-page .stat-change{font-size:11px!important}.invoices-page>.card{border-radius:12px!important;overflow:hidden}.invoices-page .card>div:first-child{padding:0 16px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.invoices-page .card>div:first-child::-webkit-scrollbar{display:none}.invoices-page .tab{padding:14px 20px!important;font-size:15px!important;white-space:nowrap;min-height:44px!important}.invoices-page .card>div:nth-child(2){padding:0 16px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.invoices-page .card>div:nth-child(2)::-webkit-scrollbar{display:none}.invoices-page .sub-tab{padding:10px 14px!important;font-size:13px!important;white-space:nowrap;min-height:40px!important}.invoices-page .table-container table{display:none!important}.mobile-invoice-list,.mobile-estimate-list{display:block!important;padding:16px}.invoice-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;transition:transform .2s,box-shadow .2s}.invoice-card:active{transform:scale(.98);box-shadow:0 4px 6px #0000001a}.invoice-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.invoice-card-number{font-size:16px;font-weight:700;color:#2563eb;margin-bottom:4px;cursor:pointer}.invoice-card-customer{font-size:14px;color:var(--text-secondary);font-weight:500}.invoice-card-body{display:grid;gap:8px;margin-bottom:12px}.invoice-card-field{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:12px}.invoice-card-label{font-size:12px;color:var(--text-secondary);font-weight:600;flex-shrink:0;min-width:80px}.invoice-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right;flex:1}.invoice-card-actions{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.invoice-card-actions button{width:100%!important;min-height:44px!important;font-size:14px!important;padding:10px 16px!important}.estimate-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;transition:transform .2s,box-shadow .2s}.estimate-card:active{transform:scale(.98);box-shadow:0 4px 6px #0000001a}.estimate-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.estimate-card-number{font-size:16px;font-weight:700;color:#2563eb;margin-bottom:4px;cursor:pointer}.estimate-card-customer{font-size:14px;color:var(--text-secondary);font-weight:500}.estimate-card-customer a{color:#0f172a!important;text-decoration:none!important}.estimate-card-body{display:grid;gap:8px;margin-bottom:12px}.estimate-card-field{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:12px}.estimate-card-label{font-size:12px;color:var(--text-secondary);font-weight:600;flex-shrink:0;min-width:70px}.estimate-card-value{font-size:14px;color:var(--text-primary);font-weight:500;text-align:right;flex:1}.estimate-card-actions{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.estimate-card-actions button{width:100%!important;min-height:44px!important;font-size:14px!important;padding:10px 16px!important}.invoice-card .badge,.estimate-card .badge,.invoices-page .badge{font-size:12px!important;padding:6px 12px!important;border-radius:12px;font-weight:600}.invoices-page .card>div:last-child{flex-direction:column!important;gap:12px!important;padding:16px!important}.invoices-page .card>div:last-child>div:first-child{order:3;justify-content:center!important}.invoices-page .card>div:last-child>div:nth-child(2){order:1;text-align:center;font-size:13px!important}.invoices-page .card>div:last-child>div:last-child{order:2;justify-content:space-between!important;width:100%}.invoices-page .card>div:last-child button{min-height:40px!important;padding:8px 16px!important;font-size:14px!important}.invoices-page .card>div:last-child span{font-size:14px!important}.invoices-page .empty-state{padding:40px 20px!important;text-align:center}.invoices-page .empty-state h3{font-size:18px!important;margin-bottom:8px!important}.invoices-page .empty-state p{font-size:14px!important;color:var(--text-secondary);margin-bottom:16px!important}.invoices-page .empty-state button{min-height:44px!important;padding:12px 24px!important;font-size:16px!important}}@media(max-width:375px){.invoices-page{padding:12px!important}.invoices-page .stats-grid{grid-template-columns:1fr!important;gap:10px!important}.invoices-page .stat-card{padding:14px!important}.invoices-page .stat-value{font-size:18px!important}.invoice-card,.estimate-card{padding:14px!important;margin-bottom:10px!important}.invoice-card-number,.estimate-card-number{font-size:15px!important}.invoice-card-customer,.estimate-card-customer{font-size:13px!important}.invoice-card-label,.estimate-card-label{font-size:11px!important;min-width:70px}.invoice-card-value,.estimate-card-value{font-size:13px!important}.mobile-invoice-list,.mobile-estimate-list{padding:12px!important}}@media(min-width:769px)and (max-width:1024px){.invoices-page .stats-grid{grid-template-columns:repeat(4,1fr)!important;gap:16px!important}.invoices-page .table-container{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.invoices-page table{min-width:900px!important;font-size:14px!important}.invoices-page th,.invoices-page td{padding:12px!important;font-size:14px!important}.mobile-invoice-list,.mobile-estimate-list{display:none!important}}@media(min-width:1025px){.mobile-invoice-list,.mobile-estimate-list{display:none!important}}@media(max-width:768px){.filter-reminders-page{padding:16px!important}.filter-reminders-page .page-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:20px!important}.filter-reminders-page .page-header h1{font-size:24px!important;margin-bottom:4px!important}.filter-reminders-page .page-subtitle{font-size:14px!important;color:var(--text-secondary);margin-bottom:8px}.filter-reminders-page .page-header>div:last-child{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important}.filter-reminders-page .page-header button,.filter-reminders-page .page-header a{width:100%!important;min-height:44px!important;font-size:14px!important;justify-content:center}.filter-reminders-page .stats-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:16px!important}.filter-reminders-page .stats-grid>div:nth-child(5){grid-column:1 / -1}.filter-reminders-page .stat-card{padding:12px!important;min-height:auto!important}.filter-reminders-page .stat-label{font-size:11px!important;margin-bottom:4px!important}.filter-reminders-page .stat-value{font-size:20px!important}.filter-reminders-page>.card{border-radius:12px!important;margin-bottom:16px}.filter-reminders-page .card>div:first-child{padding:12px 16px!important}.filter-reminders-page .card>div:first-child>div:first-child{display:flex;flex-wrap:wrap;gap:6px!important;margin-bottom:12px}.filter-reminders-page .card>div:first-child>div:first-child button{flex:1;min-width:85px;min-height:40px!important;font-size:13px!important;padding:8px 10px!important}.filter-reminders-page .card>div:first-child>div:last-child{display:flex;gap:6px!important;width:100%}.filter-reminders-page .card>div:first-child>div:last-child button{flex:1;min-height:40px!important;font-size:13px!important}.filter-reminders-page .table-container table{display:none!important}.mobile-reminder-cards{display:block!important;padding:16px}.reminder-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;transition:transform .2s,box-shadow .2s}.reminder-card:active{transform:scale(.98);box-shadow:0 4px 6px #0000001a}.reminder-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.reminder-card-customer{font-size:16px!important;font-weight:700;color:#6366f1;text-decoration:none;margin-bottom:4px;display:block}.reminder-card-phone{font-size:13px!important;color:var(--text-secondary);margin-top:2px}.reminder-card-header .badge{font-size:11px!important;padding:6px 10px!important;white-space:nowrap;flex-shrink:0}.reminder-card-body{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.reminder-card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.reminder-card-label{font-size:12px!important;color:var(--text-secondary);font-weight:600;min-width:90px;flex-shrink:0}.reminder-card-value{font-size:14px!important;color:var(--text-primary);font-weight:500;text-align:right;flex:1}.reminder-card-value .badge{font-size:11px!important;padding:4px 8px!important}.reminder-card-actions{display:flex;gap:6px;padding-top:12px;border-top:1px solid #f3f4f6}.reminder-card-actions button{flex:1;min-height:44px!important;font-size:13px!important;padding:10px 12px!important;font-weight:600}.filter-reminders-page .empty-state{padding:40px 20px!important}.filter-reminders-page .empty-state-icon{font-size:48px!important}.filter-reminders-page .empty-state h3{font-size:18px!important;margin:12px 0 8px}.filter-reminders-page .empty-state p{font-size:14px!important;color:var(--text-secondary);margin-bottom:16px}.filter-reminders-page .empty-state button{min-height:44px!important;font-size:14px!important}}@media(min-width:768px)and (max-width:1023px){.filter-reminders-page{padding:20px!important}.filter-reminders-page .stats-grid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.filter-reminders-page .stats-grid>div:nth-child(4),.filter-reminders-page .stats-grid>div:nth-child(5){grid-column:span 1}.filter-reminders-page table{font-size:13px!important}.filter-reminders-page th,.filter-reminders-page td{padding:10px 12px!important}.mobile-reminder-cards{display:none!important}}@media(min-width:1024px){.mobile-reminder-cards{display:none!important}}@media(max-width:768px){.reports-page{padding:16px!important}.reports-header{margin-bottom:20px!important}.reports-header h1{font-size:24px!important;margin-bottom:6px!important}.reports-header p{font-size:14px!important}.global-controls{flex-direction:column!important;align-items:stretch!important;padding:16px!important;gap:16px!important}.date-range-controls{width:100%}.date-inputs{flex-direction:column!important;gap:12px!important}.input-group{width:100%}.input-group label{font-size:13px!important;margin-bottom:6px}.input-group input,.input-group select{width:100%!important;min-width:auto!important;min-height:44px!important;font-size:16px!important;padding:12px 14px!important}.quick-date-buttons{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.quick-date-buttons button{width:100%;min-height:44px!important;font-size:13px!important;padding:10px 12px!important;white-space:nowrap}.btn-export-all{width:100%!important;min-height:48px!important;font-size:15px!important;padding:12px 20px!important}.reports-grid{gap:16px!important}.report-card{padding:16px!important;border-radius:12px!important}.report-card-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:16px!important}.report-card-header h3{font-size:18px!important;margin-bottom:4px}.report-card-header p{font-size:13px!important}.report-controls{width:100%;justify-content:space-between!important;flex-wrap:wrap}.chart-type-selector{flex:1;min-width:140px}.chart-type-selector button{padding:8px 12px!important;font-size:16px!important;min-height:40px!important}.btn-export{flex:1;min-width:120px;min-height:44px!important;font-size:13px!important;padding:10px 16px!important}.report-filters{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:16px!important}.filter-group{width:100%}.filter-group label{font-size:12px!important;margin-bottom:6px}.filter-group select,.filter-group input{width:100%!important;min-width:auto!important;min-height:44px!important;font-size:16px!important;padding:12px 14px!important}.alert-badge{font-size:13px!important;padding:8px 12px!important}.report-chart{margin-bottom:20px!important;padding:0!important;overflow-x:hidden}.recharts-responsive-container{margin:0 -8px}.recharts-legend-wrapper{position:static!important;margin-top:12px!important;padding-top:12px;border-top:1px solid #f3f4f6}.recharts-legend-item{margin:4px 8px!important;font-size:12px!important}.recharts-tooltip-wrapper{z-index:100}.recharts-default-tooltip{padding:12px!important;font-size:13px!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important}.report-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.report-table table{min-width:500px;font-size:13px!important}.report-table th{padding:10px 12px!important;font-size:12px!important;white-space:nowrap}.report-table td{padding:10px 12px!important;font-size:13px!important}.report-table .badge,.report-table .source-badge,.report-table .rating-badge,.report-table .status-badge,.report-table .rate-badge{font-size:11px!important;padding:4px 8px!important;white-space:nowrap}.report-loading,.report-error,.report-empty{padding:40px 20px!important}.loading-spinner{width:36px!important;height:36px!important}.error-icon,.empty-icon{font-size:40px!important}.report-loading p,.report-error p,.report-empty p{font-size:14px!important}.report-error small,.report-empty small{font-size:12px!important}}@media(min-width:768px)and (max-width:1023px){.reports-page{padding:20px!important}.global-controls{flex-direction:row!important;align-items:flex-end!important;gap:20px!important}.date-range-controls{flex:1}.date-inputs{flex-direction:row!important;flex-wrap:wrap;gap:12px}.input-group{flex:1;min-width:140px}.quick-date-buttons{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}.btn-export-all{width:auto!important;min-width:160px}.reports-grid{display:grid;grid-template-columns:1fr;gap:20px}.report-chart{padding:8px 0!important}.report-table table{font-size:14px!important}.report-table th,.report-table td{padding:12px 14px!important}}@media(min-width:1024px){.reports-page{padding:24px}.reports-grid{display:grid;grid-template-columns:1fr;gap:24px}}.modal-content{background:var(--surface-1);border-radius:16px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.3)),0 0 0 1px #0000000d;max-width:720px;width:100%;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;animation:scaleIn var(--duration-normal, .2s) var(--ease-spring, cubic-bezier(.34,1.56,.64,1))}.alert{padding:10px 16px;border-radius:8px;font-size:var(--text-sm, 14px)}.alert-error{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-bg)}.alert-success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-bg)}.form-row{display:flex;gap:14px;margin-bottom:0}.form-group input,.form-group select,.form-group textarea{width:100%;height:40px;padding:0 12px;font-family:var(--font-body, inherit);font-size:14px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default, #e2e8f0);border-radius:var(--radius-md, 8px);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{height:auto;padding:9px 12px;resize:vertical;min-height:80px;line-height:var(--leading-relaxed, 1.6)}.form-group select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.form-group label{display:block;margin-bottom:5px;font-weight:var(--weight-medium, 500);font-size:var(--text-sm, 14px);color:var(--text-primary)}.form-input{width:100%;height:40px;padding:0 12px;font-family:var(--font-body, inherit);font-size:14px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default, #e2e8f0);border-radius:var(--radius-md, 8px);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f11a}.form-input.error{border-color:var(--color-danger)}.form-input.error:focus{box-shadow:0 0 0 3px #ef44441a;border-color:var(--color-danger)}.form-select{width:100%;height:40px;padding:0 32px 0 12px;font-family:var(--font-body, inherit);font-size:14px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default, #e2e8f0);border-radius:var(--radius-md, 8px);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.form-select:focus{border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f11a}.error-message{font-size:12px;color:var(--color-danger);margin-top:4px;display:block}.required{color:var(--color-danger)}.duplicate-warning{padding:10px 16px;margin-bottom:16px;border-radius:var(--radius-md, 8px);background:var(--color-warning-bg);border:1px solid var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--text-sm, 14px);display:flex;align-items:center;justify-content:space-between;gap:12px}.duplicate-warning button{background:none;border:1px solid var(--color-warning);color:var(--color-warning-text);padding:4px 12px;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:var(--text-xs, 12px);font-weight:var(--weight-medium, 500);white-space:nowrap}@media(max-width:640px){.modal-content{max-width:100%;max-height:calc(100vh - 24px)}.form-row{flex-direction:column;gap:0}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.gh{height:52px;background:var(--surface-1);border-bottom:1px solid var(--border-subtle);box-shadow:0 1px 0 var(--border-subtle);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:100}.gh-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.gh-breadcrumb{display:flex;align-items:center;gap:6px}.gh-breadcrumb-section{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.gh-breadcrumb-page{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary)}.gh-center{flex:1;display:flex;justify-content:center;min-width:0;max-width:320px;margin:0 auto}.gh-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.gh-icon-btn{position:relative;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-colors)}.gh-icon-btn:hover{background:var(--surface-3);color:var(--text-primary)}.gh-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.gh-avatar-btn{border:none;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;border-radius:50%;transition:box-shadow var(--duration-fast) var(--ease-default)}.gh-avatar-btn:hover{box-shadow:0 0 0 2px var(--border-default)}.gh-hamburger{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-colors)}.gh-hamburger:hover{background:var(--surface-3)}.gh-overlay{position:fixed;inset:0;z-index:499}.gh-notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;animation:scaleIn var(--duration-fast) var(--ease-spring)}.gh-notif-header{padding:14px 16px 10px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.gh-notif-action{background:none;border:none;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);font-family:var(--font-body);cursor:pointer;padding:4px 8px;border-radius:6px;transition:var(--transition-colors)}.gh-notif-action:hover{background:var(--surface-3);color:var(--text-primary)}.gh-notif-list{max-height:360px;overflow-y:auto}.gh-notif-empty{padding:32px 16px;text-align:center;color:var(--text-muted)}.gh-notif-item{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.gh-notif-item:hover{background:var(--surface-3)}.gh-notif-item:last-child{border-bottom:none}.gh-notif-unread{background:var(--surface-2)}.gh-notif-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px}.gh-notif-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);line-height:1.4}.gh-notif-msg{font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gh-notif-time{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.gh-notif-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px}.gh-notif-footer{padding:8px 16px;border-top:1px solid var(--border-subtle)}.gh-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:230px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;animation:scaleIn var(--duration-fast) var(--ease-spring)}.gh-profile-header{padding:14px 14px 12px}.gh-profile-divider{height:1px;background:var(--border-subtle)}.gh-profile-item{display:block;width:100%;text-align:left;padding:9px 14px;background:none;border:none;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.gh-profile-item:hover{background:var(--surface-2)}.gh-profile-logout{color:var(--color-badge-danger-text)!important}.gh-profile-logout:hover{background:var(--color-badge-danger-bg)!important}.theme-toggle-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:6px}.theme-toggle-buttons{display:flex;gap:3px;background:var(--surface-3);padding:3px;border-radius:8px}.theme-toggle-buttons button{flex:1;padding:5px 0;text-align:center;font-size:15px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:var(--transition-colors);line-height:1;color:inherit}.theme-toggle-buttons button:hover{background:var(--surface-2)}.theme-toggle-buttons button.active{background:var(--surface-1);box-shadow:var(--shadow-xs)}@media(max-width:768px){.gh{padding:0 12px;gap:8px}.gh-hamburger{display:flex}.gh-breadcrumb{display:none}.gh-center{flex:1;max-width:none;margin:0}.gh-right .btn-primary{padding:0 8px;width:32px;height:32px;font-size:0;gap:0}.gh-right .btn-primary svg{flex-shrink:0}.gh-notif-dropdown{position:fixed;top:56px;right:12px;left:12px;width:auto}.gh-profile-dropdown{position:fixed;top:56px;right:12px;width:230px}}.modal-header-row{display:flex;align-items:center;gap:10px}.modal-header-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header-icon.icon-teal{background:#0d94881a;color:var(--brand-accent)}[data-theme=dark] .modal-header-icon.icon-teal{background:#0d948826;color:#2dd4bf}.modal-header-icon.icon-blue{background:#3b82f61a;color:#3b82f6}[data-theme=dark] .modal-header-icon.icon-blue{background:#3b82f626;color:#60a5fa}.modal-header-icon.icon-purple{background:#8b5cf61a;color:var(--color-purple)}[data-theme=dark] .modal-header-icon.icon-purple{background:#8b5cf626;color:#a78bfa}.modal-header-icon.icon-amber{background:#f59e0b1a;color:#f59e0b}[data-theme=dark] .modal-header-icon.icon-amber{background:#f59e0b1f;color:#fbbf24}.modal-header-icon.icon-green{background:#10b9811a;color:#10b981}[data-theme=dark] .modal-header-icon.icon-green{background:#10b98126;color:#34d399}.modal-header-icon.icon-orange{background:#f973161a;color:#f97316}[data-theme=dark] .modal-header-icon.icon-orange{background:#f9731626;color:#fb923c}.modal-section-card{background:var(--surface-2);border-radius:10px;padding:14px 16px;margin-bottom:16px;border:1px solid transparent}[data-theme=dark] .modal-section-card{border-color:#ffffff0a}.modal-section-card>.form-section-label{margin-bottom:12px}.btn-gradient{display:inline-flex;align-items:center;gap:6px;padding:8px 22px;border-radius:8px;border:none;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.btn-gradient:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.btn-gradient:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-gradient-teal{background:var(--brand-accent);box-shadow:0 2px 10px #0d94884d}.btn-gradient-teal:hover:not(:disabled){box-shadow:0 4px 14px #0d948859}.modal-close svg{width:18px;height:18px}.modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-container{background:var(--surface-0, #ffffff);border-radius:16px;box-shadow:0 20px 60px #00000026;z-index:1001}[data-theme=dark] .modal-container{background:var(--surface-1, #1e1e2e);box-shadow:0 20px 60px #0006}.clm-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:clmFadeIn .15s ease-out}.clm-modal{background:var(--surface-1);border-radius:16px;width:100%;max-width:520px;box-shadow:0 24px 48px #00000026,0 0 0 1px #0000000a;animation:clmSlideUp .2s cubic-bezier(.34,1.56,.64,1);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.clm-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.clm-header-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#8b5cf61a;color:var(--color-purple)}[data-theme=dark] .clm-header-icon{background:#8b5cf626;color:#a78bfa}.clm-title{flex:1;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.clm-close{width:30px;height:30px;border-radius:7px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s;flex-shrink:0}.clm-close:hover{background:var(--surface-3);color:var(--text-primary)}.clm-body{padding:16px 20px;overflow-y:auto;flex:1}.clm-body::-webkit-scrollbar{width:6px}.clm-body::-webkit-scrollbar-track{background:transparent}.clm-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.clm-section{background:var(--surface-2);border-radius:10px;padding:14px 16px;margin-bottom:16px;border:1px solid transparent}[data-theme=dark] .clm-section{border-color:#ffffff0a}.clm-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.clm-section-label-suffix{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7}.clm-form{display:flex;flex-direction:column;gap:10px}.clm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clm-form-row-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.clm-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary)}.clm-label .required{color:var(--color-danger);margin-left:2px}.clm-input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.clm-input::placeholder{color:var(--text-muted)}.clm-input:focus{border-color:var(--color-purple);border-left:3px solid var(--color-purple);box-shadow:0 0 0 3px #8b5cf614}[data-theme=dark] .clm-input:focus{border-color:#a78bfa;border-left:3px solid #A78BFA;box-shadow:0 0 0 3px #a78bfa1a}.clm-input.accent-left{border-left:3px solid var(--color-purple)}[data-theme=dark] .clm-input.accent-left{border-left-color:#a78bfa}.clm-input.clm-select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.clm-input.clm-textarea{resize:vertical;min-height:60px;line-height:1.5;padding:9px 12px}.clm-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.clm-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.clm-btn-cancel:hover{background:var(--surface-2)}.clm-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 22px;border-radius:8px;border:none;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.clm-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.clm-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes clmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes clmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.clm-modal{max-width:100%;max-height:calc(100vh - 24px)}.clm-form-row,.clm-form-row-3{grid-template-columns:1fr}.clm-footer{flex-direction:column-reverse}.clm-footer button{width:100%;justify-content:center}}.csm-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:csmFadeIn .15s ease-out}.csm-modal{background:var(--surface-1);border-radius:16px;width:100%;max-width:520px;box-shadow:0 24px 48px #00000026,0 0 0 1px #0000000a;animation:csmSlideUp .2s cubic-bezier(.34,1.56,.64,1);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.csm-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.csm-header-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#0d94881a;color:var(--brand-accent)}[data-theme=dark] .csm-header-icon{background:#0d948826;color:#2dd4bf}.csm-title{flex:1;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.csm-close{width:30px;height:30px;border-radius:7px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s;flex-shrink:0}.csm-close:hover{background:var(--surface-3);color:var(--text-primary)}.csm-body{padding:16px 20px;overflow-y:auto;flex:1}.csm-body::-webkit-scrollbar{width:6px}.csm-body::-webkit-scrollbar-track{background:transparent}.csm-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.csm-section{background:var(--surface-2);border-radius:10px;padding:14px 16px;margin-bottom:16px;border:1px solid transparent}[data-theme=dark] .csm-section{border-color:#ffffff0a}.csm-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.csm-form{display:flex;flex-direction:column;gap:10px}.csm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.csm-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary)}.csm-label .required{color:var(--color-danger);margin-left:2px}.csm-input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.csm-input::placeholder{color:var(--text-muted)}.csm-input:focus{border-color:var(--brand-accent);border-left:3px solid var(--brand-accent);box-shadow:0 0 0 3px #0d948814}[data-theme=dark] .csm-input:focus{border-color:#2dd4bf;border-left:3px solid #2DD4BF;box-shadow:0 0 0 3px #2dd4bf1a}.csm-input.accent-left{border-left:3px solid var(--brand-accent)}[data-theme=dark] .csm-input.accent-left{border-left-color:#2dd4bf}.csm-input.csm-select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.csm-input.csm-textarea{resize:vertical;min-height:60px;line-height:1.5;padding:9px 12px}.csm-lead-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--brand-accent-light);border:1px solid var(--brand-accent-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-primary);margin-top:6px}.csm-lead-chip-id{font-family:var(--font-mono);font-size:11px;color:var(--brand-accent)}.csm-lead-chip-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center}.csm-lead-chip-dismiss:hover{color:var(--color-danger)}.csm-search-results{position:absolute;top:100%;left:0;right:0;background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;z-index:10;margin-top:4px}.csm-search-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;transition:background .1s}.csm-search-item:hover{background:var(--surface-2)}.csm-search-item-name{font-weight:600;color:var(--text-primary)}.csm-search-item-detail{font-size:11px;color:var(--text-muted)}.csm-error{padding:8px 12px;border-radius:8px;background:var(--color-danger-bg, #FEF2F2);color:var(--color-danger, #DC2626);font-size:13px;font-weight:600;border:1px solid rgba(239,68,68,.2);margin-top:12px}.csm-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.csm-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.csm-btn-cancel:hover{background:var(--surface-2)}.csm-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 22px;border-radius:8px;border:none;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;background:var(--brand-accent);box-shadow:0 2px 10px #0d94884d;transition:filter .15s,transform .1s}.csm-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #0d948859}.csm-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes csmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes csmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.csm-modal{max-width:100%;max-height:calc(100vh - 24px)}.csm-form-row{grid-template-columns:1fr}.csm-footer{flex-direction:column-reverse}.csm-footer button{width:100%;justify-content:center}}.ebm-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:ebmFadeIn .15s ease-out}.ebm-modal{background:var(--surface-1);border-radius:16px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 48px #00000026,0 0 0 1px #0000000a;animation:ebmSlideUp .2s cubic-bezier(.34,1.56,.64,1)}.ebm-header{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.ebm-header-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ebm-header-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f59e0b1a;color:#f59e0b}[data-theme=dark] .ebm-header-icon{background:#f59e0b1f;color:#fbbf24}.ebm-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.ebm-close{width:30px;height:30px;border-radius:7px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s;flex-shrink:0;margin-top:2px}.ebm-close:hover{background:var(--surface-3);color:var(--text-primary)}.ebm-steps{display:flex;gap:8px}.ebm-step{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-weight:500;font-size:13px;font-family:var(--font-body)}.ebm-step-active{color:var(--brand-accent)}.ebm-step-current{font-weight:700}.ebm-step-number{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--text-muted);transition:background .2s,color .2s}.ebm-step-number-active{background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff}.ebm-body{flex:1;overflow:auto;padding:24px}.ebm-body::-webkit-scrollbar{width:6px}.ebm-body::-webkit-scrollbar-track{background:transparent}.ebm-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.ebm-footer{padding:14px 20px;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.ebm-btn-back{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.ebm-btn-back:hover{background:var(--surface-2)}.ebm-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 22px;border-radius:8px;border:none;color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.ebm-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.ebm-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--surface-3);box-shadow:none;color:var(--text-muted)}@keyframes ebmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes ebmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.ebm-modal{max-width:100%;max-height:calc(100vh - 24px)}.ebm-steps{flex-wrap:wrap}.ebm-footer{flex-direction:column-reverse;gap:8px}.ebm-footer>div{width:100%}.ebm-btn-primary,.ebm-btn-back{width:100%;justify-content:center}}.ebm-channel-btn{flex:1;padding:16px;border-radius:10px;cursor:pointer;text-align:center;border:2px solid var(--border-default);background:var(--surface-2);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.ebm-channel-btn:hover{border-color:var(--border-strong);background:var(--surface-3)}.ebm-channel-btn--active{background:var(--surface-1);border:2px solid var(--color-indigo, #6366f1);color:var(--color-indigo, #6366f1)}.ebm-channel-btn--active:hover{background:var(--surface-1);border-color:var(--color-indigo, #6366f1)}.ebm-channel-label{font-weight:700;font-size:14px;font-family:var(--font-body)}.ebm-channel-btn--active .ebm-channel-label{color:var(--color-indigo, #6366f1)}.ebm-channel-desc{font-size:12px;color:var(--text-muted);margin-top:4px;font-family:var(--font-body)}.inv-job-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:220px;overflow-y:auto;padding:2px}.inv-job-grid::-webkit-scrollbar{width:4px}.inv-job-grid::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.inv-job-card{padding:10px 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.inv-job-card:hover{background:var(--surface-2);border-color:var(--border-strong)}.inv-job-card-selected{border-color:var(--brand-accent);border-width:2px;background:var(--brand-accent-light);padding:9px 11px}.inv-job-card-selected:hover{background:var(--brand-accent-light)}.inv-job-check{position:absolute;top:8px;right:8px;color:var(--brand-accent)}.inv-job-number{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--brand-accent);letter-spacing:.02em;margin-bottom:2px}.inv-job-title{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.inv-job-meta{display:flex;align-items:center;gap:8px}.inv-job-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:var(--surface-2);color:var(--text-muted)}.inv-job-status-completed{background:var(--color-success-bg);color:var(--color-success-text, #059669)}.inv-job-status-in-progress,.inv-job-status-in_progress{background:var(--color-info-bg);color:var(--color-info-text, #2563EB)}.inv-job-status-scheduled{background:var(--color-amber-bg);color:var(--color-amber-text, #D97706)}.inv-job-status-draft{background:var(--surface-3);color:var(--text-muted)}@media(max-width:640px){.inv-job-grid{grid-template-columns:1fr}}.login-dev-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-default);width:100%}.login-dev-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:10px;text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--weight-medium)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-0);padding:24px}.auth-card{width:100%;max-width:400px;text-align:center}.auth-logo-mark{width:44px;height:44px;background:linear-gradient(135deg,#0d9488,#059669);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#fff;letter-spacing:-.04em;margin:0 auto 28px;box-shadow:0 0 20px #0d948840}.auth-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.2}.auth-subtitle{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 28px}.auth-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-relaxed);margin:0 0 28px}.auth-email-highlight{color:var(--text-primary);font-weight:600}.auth-success-icon{width:56px;height:56px;border-radius:50%;background:var(--status-success-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--status-success)}.auth-success-icon svg{width:28px;height:28px}.auth-error-icon{width:56px;height:56px;border-radius:50%;background:var(--status-danger-bg, rgba(239, 68, 68, .1));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--status-danger, #ef4444)}.auth-error-icon svg{width:28px;height:28px}.auth-error-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--status-danger-bg, rgba(239, 68, 68, .08));border:1px solid var(--status-danger-border, rgba(239, 68, 68, .2));border-radius:var(--border-radius-md, 8px);color:var(--status-danger, #ef4444);font-size:var(--text-sm);text-align:left;margin-bottom:20px}.auth-error-banner svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.auth-form{text-align:left}.auth-field{margin-bottom:20px}.auth-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:6px}.auth-input{display:block;width:100%;height:42px;padding:0 14px;border:1px solid var(--border-default);border-radius:var(--border-radius-md, 8px);background:var(--surface-0);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-body);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.auth-input-wrap{position:relative}.auth-input-has-toggle{padding-right:44px}.auth-eye-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:6px;transition:color .15s,background .15s;padding:0}.auth-eye-toggle:hover{color:var(--text-secondary);background:var(--surface-2)}.auth-eye-toggle svg{width:18px;height:18px}.auth-strength-bar-wrap{display:flex;align-items:center;gap:10px;margin-top:8px}.auth-strength-track{flex:1;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.auth-strength-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.auth-strength-label{font-size:11px;font-weight:600;white-space:nowrap}.auth-strength-weak{background:#ef4444;color:#ef4444}.auth-strength-fair{background:#f59e0b;color:#f59e0b}.auth-strength-good{background:#0ea5e9;color:#0ea5e9}.auth-strength-strong{background:#10b981;color:#10b981}.auth-btn-full{width:100%;height:42px;justify-content:center;font-size:var(--text-sm);text-decoration:none}.auth-footer-link{margin-top:20px;text-align:center}.auth-link{font-size:var(--text-sm);color:var(--accent);text-decoration:none;font-weight:500;transition:opacity .15s}.auth-link:hover{opacity:.8}[data-theme=dark] .auth-input{background:var(--surface-1, #1e293b);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}[data-theme=dark] .auth-eye-toggle:hover{background:var(--surface-3)}.profile-avatar-img{border-radius:50%;object-fit:cover}.profile-avatar-initials{background:var(--brand-gradient, linear-gradient(135deg, #6366f1, #06b6d4))}.profile-avatar-wrap{position:relative;width:80px;height:80px;border-radius:50%;cursor:pointer;flex-shrink:0;overflow:hidden}.profile-avatar-wrap .avatar,.profile-avatar-wrap .profile-avatar-img{width:80px;height:80px;font-size:var(--text-3xl, 1.875rem)}.profile-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.profile-avatar-wrap:hover .profile-avatar-overlay{opacity:1}.profile-avatar-overlay svg{color:#fff;width:20px;height:20px}.profile-avatar-input{display:none}.profile-avatar-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.profile-avatar-actions .btn{font-size:var(--text-sm, .875rem);padding:4px 12px;height:28px}.profile-avatar-remove{background:none;border:none;color:var(--color-danger, #EF4444);font-size:var(--text-sm, .875rem);cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-sm, 6px);transition:background .15s}.profile-avatar-remove:hover{background:#ef44441a}.profile-avatar-error{color:var(--color-danger, #EF4444);font-size:var(--text-xs, .75rem);margin-top:4px}.sidebar-user-avatar .profile-avatar-img{width:32px;height:32px;border-radius:50%}[data-theme=dark] .profile-avatar-remove:hover{background:#ef444426}.dashboard{padding:28px 32px;max-width:1600px;margin:0 auto}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.dashboard-kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px #0000000a;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;overflow:hidden;position:relative}.dashboard-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.dashboard-kpi-accent{position:absolute;top:0;left:0;right:0;height:3px}.dashboard-kpi-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dashboard-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}.dashboard-kpi-label{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.dashboard-kpi-value{font-family:var(--font-mono);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1}.dashboard-kpi-trend{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;margin-top:6px}.dashboard-kpi-trend.up{color:var(--color-success)}.dashboard-kpi-trend.down{color:var(--color-danger)}.dashboard-kpi-trend.neutral{color:var(--text-secondary)}.dashboard-pipeline{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000a}.dashboard-pipeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dashboard-pipeline-title{font-family:var(--font-display);font-size:15px;font-weight:700}.dashboard-pipeline-bar{display:flex;height:32px;border-radius:8px;overflow:hidden}.dashboard-pipeline-segment{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:700;color:#fff;cursor:pointer;min-width:40px;transition:filter .15s ease}.dashboard-pipeline-segment:hover{filter:brightness(1.1)}.dashboard-pipeline-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.dashboard-pipeline-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer}.dashboard-pipeline-dot{width:10px;height:10px;border-radius:3px}.dashboard-pipeline-count{font-family:var(--font-mono);font-weight:700;color:var(--text-primary)}.dashboard-pipeline-empty{text-align:center;padding:16px;font-size:13px;color:var(--text-secondary)}.dashboard-sparkline-container{height:120px;background:linear-gradient(180deg,rgba(99,102,241,.04) 0%,transparent 100%);border-radius:8px;overflow:hidden;display:flex;align-items:flex-end;padding:0 4px}.dashboard-sparkline-bar{flex:1;margin:0 1px;border-radius:3px 3px 0 0;background:var(--brand-accent);opacity:.7;min-height:4px;transition:opacity .15s ease}.dashboard-sparkline-bar:hover,.dashboard-sparkline-bar:last-child{opacity:1}.dashboard-sparkline-summary{display:flex;gap:24px;margin-top:12px}.dashboard-sparkline-stat{font-size:12px;color:var(--text-secondary)}.dashboard-sparkline-stat strong{font-family:var(--font-mono);color:var(--text-primary);font-weight:700}.dashboard-sparkline-empty{text-align:center;padding:32px 16px;font-size:13px;color:var(--text-secondary)}.dashboard-insight-card{padding:14px 16px 14px 20px;border-radius:10px;background:var(--surface-2, var(--bg-secondary));margin-bottom:8px;cursor:pointer;position:relative;transition:background .15s ease}.dashboard-insight-card:hover{background:var(--bg-secondary)}.dashboard-insight-border{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px}.dashboard-insight-title{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:4px}.dashboard-insight-meta{font-family:var(--font-body);font-size:11px;color:var(--text-secondary);margin-bottom:8px}.dashboard-insight-cta{font-family:var(--font-body);font-size:11px;font-weight:700;color:var(--brand-accent);text-decoration:none}.dashboard-insight-cta:hover{text-decoration:underline}.dashboard-insight-empty{text-align:center;padding:20px;font-size:13px;color:var(--text-secondary);font-style:italic}.dashboard-grid{display:grid;grid-template-columns:3fr 340px;gap:20px;align-items:start}.dashboard-col-left,.dashboard-col-right{display:flex;flex-direction:column;gap:16px;min-width:0}.dashboard .dashboard-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 3px #0000000a;overflow:hidden}.dashboard-card-header{padding:14px 20px;display:flex;justify-content:space-between;align-items:center}.dashboard-card-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.dashboard-card-subtitle{font-family:var(--font-body);font-size:11px;color:var(--text-secondary);margin:2px 0 0}.dashboard-card-body{padding:0 20px 16px}.dashboard-card-body-sm{padding:0 16px 12px}.dashboard-rcard-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.dashboard-rcard-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-primary);margin:0}.dashboard .dashboard-card-briefing{border-left:3px solid var(--brand-accent)}.dashboard-briefing-text{font-family:var(--font-body);font-size:13.5px;line-height:1.7;color:var(--text-secondary);max-height:200px;overflow-y:auto}.dashboard-briefing-empty{font-size:13px;color:var(--text-secondary);font-style:italic}.dashboard-speed-to-lead{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--color-danger);border-radius:14px;margin-bottom:20px;box-shadow:0 1px 3px #0000000a}.dashboard-speed-header{padding:14px 20px;display:flex;justify-content:space-between;align-items:center}.dashboard-speed-header-left{display:flex;align-items:center;gap:10px}.dashboard-speed-title{font-family:var(--font-display);font-size:15px;font-weight:700;margin:0}.dashboard-speed-grid{padding:0 20px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.dashboard-speed-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px}.dashboard-speed-item-urgent{background:var(--color-badge-danger-bg);border:1px solid var(--color-danger-border)}.dashboard-speed-item-normal{background:var(--surface-2);border:1px solid var(--border-subtle)}.dashboard-speed-name{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--text-primary)}.dashboard-speed-meta{font-family:var(--font-body);font-size:11px;color:var(--text-secondary);margin-top:2px}.dashboard-speed-call{padding:5px 12px;border-radius:6px;border:none;background:var(--color-success-hover);color:#fff;font-family:var(--font-body);font-weight:700;font-size:12px;cursor:pointer;transition:opacity .15s ease}.dashboard-speed-call:hover{opacity:.9}.dashboard-job-row{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s ease}.dashboard-job-row:hover{background:var(--bg-secondary)}.dashboard-job-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dashboard-job-dot.active{animation:pulse-dot 2s infinite}.dashboard-job-name{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-job-meta{font-family:var(--font-body);font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-tech-avatar{width:26px;height:26px;border-radius:50%;background:var(--brand-accent);color:#fff;font-family:var(--font-display);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-job-time{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);white-space:nowrap;width:52px;text-align:right;flex-shrink:0}.dashboard-schedule-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s ease}.dashboard-schedule-row:hover{background:var(--bg-secondary)}.dashboard-schedule-row:last-child{border-bottom:none}.dashboard-schedule-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dashboard-schedule-time{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);width:52px;flex-shrink:0}.dashboard-schedule-name{font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-schedule-avatar{width:22px;height:22px;border-radius:50%;background:var(--brand-accent);color:#fff;font-family:var(--font-display);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-team-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dashboard-team-avatar-wrap{position:relative}.dashboard-team-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-accent);color:#fff;font-family:var(--font-display);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.dashboard-team-status{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;border:2px solid var(--bg-card, #fff)}.dashboard-team-name{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-team-detail{font-family:var(--font-body);font-size:11px;color:var(--text-secondary)}.dashboard-draft-item{padding:10px 12px;background:var(--surface-2, var(--bg-secondary));border-radius:10px;margin-bottom:6px}.dashboard-draft-to{font-family:var(--font-body);font-size:11px;color:var(--text-secondary);margin-bottom:3px}.dashboard-draft-text{font-family:var(--font-body);font-size:13px;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-draft-actions{display:flex;gap:8px;margin-top:8px}.dashboard-activity-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-subtle);cursor:pointer}.dashboard-activity-item:last-child{border-bottom:none}.dashboard-activity-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}.dashboard-activity-text{font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--text-primary);line-height:1.4}.dashboard-activity-time{font-family:var(--font-body);font-size:10.5px;color:var(--text-muted, var(--text-secondary));margin-top:1px}.dashboard-reviews-inner{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .15s ease}.dashboard-reviews-inner:hover{background:var(--bg-secondary)}.dashboard-reviews-score{font-family:var(--font-mono);font-size:24px;font-weight:800;color:var(--color-amber)}.dashboard-reviews-label{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--text-primary)}.dashboard-reviews-meta{font-family:var(--font-body);font-size:11px;color:var(--text-secondary)}.dashboard-view-all{display:block;text-align:center;padding:10px 20px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;border:none;background:none;width:100%;border-top:1px solid var(--border-subtle);transition:color .15s ease,background .15s ease}.dashboard-view-all:hover{color:var(--brand-accent);background:var(--bg-secondary)}.dashboard .dashboard-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:10px;font-family:var(--font-body);font-size:11px;font-weight:600;white-space:nowrap}.dashboard .dashboard-badge-danger{background:var(--color-danger-bg);color:var(--color-danger-hover)}.dashboard .dashboard-badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.dashboard .dashboard-badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.dashboard .dashboard-badge-amber{background:var(--color-amber-bg);color:var(--color-amber-text)}.dashboard .dashboard-badge-accent{background:var(--color-success-bg);color:var(--brand-accent)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-skeleton-cell{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--surface-2) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease infinite;border-radius:6px}.dashboard-animate-fade-in{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-empty{text-align:center;padding:24px;color:var(--text-secondary);font-size:13px}@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.dashboard{padding:16px}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-speed-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}.tc-container{display:flex;flex-direction:column;gap:16px;width:100%}.tc-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md)}.tc-header-label{font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:var(--text-secondary)}.tc-header-amount{font-family:DM Mono,monospace;font-size:18px;font-weight:600;color:var(--text-primary)}.tc-iframe-wrapper{position:relative;width:100%;min-height:400px;border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-0)}.tc-iframe{width:100%;height:400px;border:none;display:block}.tc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;min-height:200px}.tc-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--accent, #0D9488);border-radius:50%;animation:tc-spin .8s linear infinite}@keyframes tc-spin{to{transform:rotate(360deg)}}.tc-loading-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-muted)}.tc-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);text-align:center}.tc-error-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-danger);color:#fff;border-radius:var(--radius-full);font-size:20px;font-weight:700}.tc-error-message{font-family:DM Sans,sans-serif;font-size:14px;color:var(--color-danger-text);line-height:1.5}.tc-error-retry{padding:8px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;color:var(--color-danger);background:transparent;border:1px solid var(--color-danger-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s}.tc-error-retry:hover{background:var(--color-danger);color:#fff}.tc-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);text-align:center}.tc-success-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-success);color:#fff;border-radius:var(--radius-full);font-size:20px}.tc-success-message{font-family:DM Sans,sans-serif;font-size:14px;color:var(--color-success-text);font-weight:500}.tc-success-detail{font-family:DM Mono,monospace;font-size:13px;color:var(--color-success-text);opacity:.8}.tc-secure-badge{display:flex;align-items:center;gap:6px;padding:6px 0;font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-muted)}.tc-secure-badge svg{width:14px;height:14px;color:var(--color-success)}[data-theme=dark] .tc-error,.dark .tc-error{background:#ef444414;border-color:#ef444433}[data-theme=dark] .tc-error-message,.dark .tc-error-message{color:#fca5a5}[data-theme=dark] .tc-error-retry,.dark .tc-error-retry{color:#fca5a5;border-color:#ef44444d}[data-theme=dark] .tc-error-retry:hover,.dark .tc-error-retry:hover{background:var(--color-danger);color:#fff}[data-theme=dark] .tc-success,.dark .tc-success{background:#10b98114;border-color:#10b98133}[data-theme=dark] .tc-success-message,.dark .tc-success-message,[data-theme=dark] .tc-success-detail,.dark .tc-success-detail{color:#6ee7b7}[data-theme=dark] .tc-iframe-wrapper,.dark .tc-iframe-wrapper{background:#fff}.lat-wrap{display:flex;flex-direction:column;gap:12px}.lat-loading{display:flex;align-items:center;gap:8px;justify-content:center;padding:24px 0;color:var(--text-secondary);font-size:var(--text-sm)}.lat-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 12px;color:var(--text-tertiary);text-align:center}.lat-empty svg{opacity:.35}.lat-empty p{margin:0;font-size:var(--text-sm)}.lat-optout-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--color-red);font-size:var(--text-xs);font-weight:500}.lat-timeline{display:flex;flex-direction:column}.lat-event{display:flex;gap:10px;min-height:44px}.lat-dot-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:24px}.lat-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.lat-line{width:2px;flex:1;min-height:12px;background:var(--border-subtle);margin:4px 0}.lat-content{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:14px}.lat-detail{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4;word-break:break-word}.lat-time{font-size:11px;color:var(--text-tertiary);font-family:DM Mono,monospace;white-space:nowrap;flex-shrink:0;line-height:22px;cursor:default}.ld-loading{text-align:center;padding-top:60px}.ld-loading .spinner{margin:0 auto 16px}.ld-loading p{color:var(--text-muted)}.ld-stepper-step{display:flex;align-items:center}.ld-step-dot.past{background:var(--color-green);color:#fff}.ld-step-dot.active-cold{background:var(--text-muted);color:#fff}.ld-step-dot.active-warm{background:var(--color-amber);color:#fff}.ld-step-dot.active-hot{background:var(--color-red);color:#fff}.ld-step-dot.active-converted{background:var(--color-green);color:#fff}.ld-step-dot.future{background:var(--surface-3);color:var(--text-muted)}.ld-step-label.past{color:var(--color-green)}.ld-step-label.active-cold{color:var(--text-muted);font-weight:700}.ld-step-label.active-warm{color:var(--color-amber);font-weight:700}.ld-step-label.active-hot{color:var(--color-red);font-weight:700}.ld-step-label.active-converted{color:var(--color-green);font-weight:700}.ld-step-label.future{color:var(--text-muted)}.ld-step-line.past{background:var(--color-green)}.ld-status-badge.cold{background:var(--surface-3);color:var(--text-muted)}.ld-status-badge.warm{background:var(--color-amber-bg);color:var(--color-amber)}.ld-status-badge.hot{background:var(--color-red-bg, var(--color-amber-bg));color:var(--color-red)}.ld-status-badge.converted{background:var(--color-green-bg);color:var(--color-green)}.ld-status-badge.lost{background:var(--surface-3);color:var(--text-muted)}.ld-btn-lost{border-color:var(--color-red);color:var(--color-red)}.ld-lost-banner{text-align:center;padding:16px;margin-bottom:24px;background:var(--surface-2);border-radius:var(--radius-xl, 12px);border:1px solid var(--border-default)}.ld-lost-banner .detail-tag{background:var(--surface-3);color:var(--text-muted)}.ld-lost-banner .detail-btn-outlined{margin-left:12px}.ld-mono{font-family:var(--font-mono);font-size:.8125rem}.ld-caller-id{font-style:italic;color:var(--text-secondary)}.ld-tag-auto{margin-left:6px;background:var(--surface-3);color:var(--text-muted);font-size:.5625rem}.ld-tag-interest{background:var(--color-teal-bg);color:var(--color-teal-text)}.ld-tag-status{background:var(--color-blue-bg);color:var(--color-blue-text)}.ld-address-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}.ld-address-actions{grid-column:1 / -1;display:flex;gap:8px}.ld-card-accent-green{border-left:3px solid var(--color-green)}.ld-consult-link{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--brand-accent, #0d9488);text-decoration:none;font-weight:600}.ld-chevron{width:16px;height:16px;color:var(--text-muted)}.ld-notes-input-row{display:flex;gap:10px}.ld-notes-input-row.has-notes{margin-bottom:16px}.ld-notes-textarea{min-height:60px;resize:vertical;flex:1}.ld-notes-btn{align-self:flex-end}.ld-notes-panel,.ld-consult-notes-panel,.ld-transcript-panel{padding:14px 16px;background:var(--surface-2);border-radius:var(--radius-md, 8px);font-size:.8125rem;line-height:1.6;color:var(--text-secondary);border:1px solid var(--border-subtle)}.ld-notes-panel{white-space:pre-wrap}.ld-consult-notes-panel{margin-top:16px}.ld-transcript-panel{margin-top:8px;font-size:.75rem;max-height:200px;overflow-y:auto}.ld-action-icon.blue{background:var(--color-blue-bg);color:var(--color-blue)}.ld-action-icon.teal{background:var(--color-teal-bg);color:var(--color-teal)}.ld-action-icon.orange{background:var(--color-orange-bg);color:var(--color-orange)}.ld-action-icon.purple{background:var(--color-purple-bg);color:var(--color-purple)}.ld-action-icon.green{background:var(--color-green-bg);color:var(--color-green)}.ld-urgency-tag.high{background:var(--color-red-bg, var(--color-amber-bg));color:var(--color-red)}.ld-urgency-tag.normal{background:var(--color-amber-bg);color:var(--color-amber-text)}.ld-ai-notes{font-size:.75rem;color:var(--text-secondary);line-height:1.5}.ld-recording-wrap{margin-top:8px}.ld-recording-audio{width:100%;height:32px;margin-top:4px}.ld-transcript-wrap{margin-top:8px}.ld-transcript-btn{width:100%;font-size:.6875rem}.ld-no-call{text-align:center;padding:20px 12px;color:var(--text-muted);font-size:.75rem}.ld-no-call .lucide{width:20px;height:20px;opacity:.3;margin-bottom:8px}.ld-no-call-title{font-weight:500;color:var(--text-secondary);margin-bottom:4px}.ld-rec-icon{width:16px;height:16px}.customer-merge-results{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.customer-merge-card{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--border);border-radius:var(--border-radius-sm);background:var(--bg-card);cursor:pointer;transition:all .2s}.customer-merge-card:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translate(4px);box-shadow:0 2px 8px #0000001a}.customer-merge-info{flex:1}.customer-merge-arrow{font-size:24px;color:var(--primary-color);font-weight:700;margin-left:16px}.confidence-badge{display:inline-block;padding:2px 8px;background:#dcfce7;color:#166534;border-radius:12px;font-size:12px;font-weight:600}.match-reason-badge{display:inline-block;padding:4px 12px;background:#e0e7ff;color:#3730a3;border-radius:var(--border-radius-sm);font-size:13px;font-weight:500}.comparison-modal .modal-body{max-height:calc(90vh - 160px)}.comparison-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.comparison-column{flex:1}.comparison-vs{font-size:20px;font-weight:700;color:var(--text-secondary);padding:0 8px}.customer-card{padding:16px;border-radius:var(--border-radius-sm);border:2px solid}.customer-card.primary{background:#dcfce7;border-color:#059669}.customer-card.secondary{background:#fee2e2;border-color:#dc2626}.card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;color:inherit}.customer-card.primary .card-label{color:#065f46}.customer-card.secondary .card-label{color:#991b1b}.card-name{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.card-contact{font-size:13px;color:var(--text-primary);margin-bottom:2px}.field-selection-section{margin:24px 0}.field-comparison{margin-bottom:20px}.field-label{display:block;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:8px}.field-options{display:flex;flex-direction:column;gap:8px;margin-left:8px}.field-radio{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s}.field-radio:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.field-radio input[type=radio]{margin-top:2px;cursor:pointer}.field-radio input[type=radio]:checked~.field-value{font-weight:600;color:var(--primary-color)}.field-value{flex:1;font-size:14px;color:var(--text-primary)}.field-source{font-size:12px;color:var(--text-secondary);font-style:italic}.field-info{margin-top:8px;margin-left:24px;font-size:13px;color:var(--text-secondary);font-style:italic}.field-auto-selected{padding:12px;background:var(--bg-light);border:1px solid var(--border);border-radius:var(--border-radius-sm);font-size:14px;color:var(--text-primary);margin-left:8px}.merge-preview{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius-sm)}.merge-preview ul{margin:0 0 16px 20px;color:var(--text-primary);font-size:14px;line-height:1.8}.warning-box{display:flex;align-items:center;gap:8px;padding:12px;background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--border-radius-sm);color:#92400e;font-size:14px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:768px){.comparison-header{flex-direction:column}.comparison-vs{transform:rotate(90deg);padding:8px 0}.field-options{margin-left:0}.customer-merge-card{flex-direction:column;align-items:flex-start}.customer-merge-arrow{margin-left:0;margin-top:8px;transform:rotate(90deg)}}.sp-page{padding:var(--page-padding);background:var(--surface-0);min-height:100vh}.sp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.sp-header-left{display:flex;align-items:center;gap:12px}.sp-title{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--text-primary);margin:0}.sp-sub-count{display:inline-flex;align-items:center;gap:4px;background:#0d94881a;color:var(--brand-accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;padding:4px 10px;border-radius:20px}[data-theme=dark] .sp-sub-count{background:#0d948826;color:#2dd4bf}.sp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.sp-stat{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:4px}.sp-stat-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.sp-stat-value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.sp-stat-value.sp-stat-currency{color:var(--brand-accent)}.sp-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}.sp-tier{background:var(--surface-1);border:1px solid var(--border-default);border-radius:16px;overflow:visible;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.sp-tier:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.sp-tier-head{padding:20px 24px;color:#fff;position:relative;border-radius:16px 16px 0 0}.sp-tier-head--basic{background:linear-gradient(135deg,#059669,#10b981)}.sp-tier-head--standard{background:linear-gradient(135deg,#4f46e5,#6366f1)}.sp-tier-head--premium{background:linear-gradient(135deg,#6b4fbb,#e8833a)}.sp-tier-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;margin:0 0 4px}.sp-tier-price-range{font-family:var(--font-mono);font-size:var(--text-sm);opacity:.9}.sp-tier-popular{position:absolute;top:12px;right:12px;background:#fff3;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:20px}.sp-tier-body{padding:20px 24px;flex:1;display:flex;flex-direction:column}.sp-tier-subs{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);margin-bottom:16px;display:flex;align-items:center;gap:6px}.sp-tier-subs-count{font-family:var(--font-mono);color:var(--text-primary);font-weight:700}.sp-tier-features{list-style:none;padding:0;margin:0 0 20px;flex:1}.sp-tier-feature{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:10px;line-height:1.4}.sp-tier-check{flex-shrink:0;font-weight:700;font-size:var(--text-sm)}.sp-tier-check--basic{color:#059669}.sp-tier-check--standard{color:#6366f1}.sp-tier-check--premium{color:#e8833a}.sp-tier-cta{width:100%}.sp-table-wrap{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;overflow:visible;box-shadow:var(--shadow-sm)}.sp-table-head{padding:20px 24px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.sp-table-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.sp-table-count{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);background:var(--surface-2);padding:4px 10px;border-radius:20px}.sp-table{width:100%;border-collapse:collapse}.sp-table thead th{text-align:left;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:12px 24px;border-bottom:1px solid var(--border-subtle);background:var(--surface-2)}.sp-table tbody tr{transition:background .1s;cursor:pointer}.sp-table tbody tr:hover{background:var(--surface-2)}.sp-table tbody td{padding:14px 24px;font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.sp-table tbody tr:last-child td{border-bottom:none}.sp-customer-link{color:var(--brand-accent);font-weight:600;text-decoration:none;cursor:pointer}.sp-customer-link:hover{text-decoration:underline}.sp-amount{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.sp-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:capitalize}.sp-badge--active{background:var(--color-success-bg);color:var(--color-success)}.sp-badge--paused{background:var(--color-amber-bg);color:var(--color-amber)}.sp-badge--cancelled,.sp-badge--past-due{background:var(--color-danger-bg);color:var(--color-danger)}.sp-actions-wrap{position:relative}.sp-actions-btn{background:none;border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;cursor:pointer;font-size:var(--text-xs);color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.sp-actions-btn:hover{background:var(--surface-2)}.sp-actions-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:200;min-width:130px;overflow:hidden}.sp-actions-menu--up{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.sp-actions-item{display:block;width:100%;background:none;border:none;text-align:left;padding:8px 14px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.sp-actions-item:hover{background:var(--surface-2);color:var(--text-primary)}.sp-actions-item--danger{color:var(--color-danger)}.sp-actions-item--danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.sp-enroll-step-indicator{display:flex;align-items:center;gap:0;margin-bottom:24px}.sp-enroll-step{display:flex;align-items:center;gap:8px;flex:1;position:relative}.sp-enroll-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;background:var(--surface-3);color:var(--text-muted);transition:background .2s,color .2s}.sp-enroll-step--active .sp-enroll-step-dot{background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff}.sp-enroll-step--done .sp-enroll-step-dot{background:var(--color-success);color:#fff}.sp-enroll-step-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.sp-enroll-step--active .sp-enroll-step-label{color:var(--text-primary)}.sp-enroll-step-line{flex:1;height:2px;background:var(--surface-3);margin:0 8px}.sp-enroll-step--done+.sp-enroll-step-line,.sp-enroll-step-line--done{background:var(--color-success)}.sp-tier-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;color:#fff;font-size:var(--text-sm);font-weight:700;margin-bottom:16px}.sp-tier-pill--basic{background:linear-gradient(135deg,#059669,#10b981)}.sp-tier-pill--standard{background:linear-gradient(135deg,#4f46e5,#6366f1)}.sp-tier-pill--premium{background:linear-gradient(135deg,#6b4fbb,#e8833a)}.sp-freq-pills{display:flex;gap:0;background:var(--surface-2);border-radius:8px;padding:3px;margin-bottom:16px}.sp-freq-pill{flex:1;background:none;border:none;padding:8px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:background .15s,color .15s;text-align:center}.sp-freq-pill--active{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sp-freq-savings{font-size:11px;font-weight:700;color:var(--color-success);text-align:center;margin-top:-8px;margin-bottom:12px}.sp-price-display{text-align:center;margin-bottom:20px}.sp-price-big{font-family:var(--font-mono);font-size:2.5rem;font-weight:800;color:var(--text-primary)}.sp-price-period{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.sp-feature-list{list-style:none;padding:0;margin:0 0 20px}.sp-feature-list li{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:var(--text-sm);color:var(--text-secondary)}.sp-search-wrap{position:relative}.sp-search-results{position:absolute;top:100%;left:0;right:0;background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:200px;overflow-y:auto;margin-top:4px}.sp-search-item{display:flex;flex-direction:column;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-subtle)}.sp-search-item:last-child{border-bottom:none}.sp-search-item:hover{background:var(--surface-2)}.sp-search-name{font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.sp-search-meta{font-size:var(--text-xs);color:var(--text-muted)}.sp-selected-customer{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);padding:10px 14px;border-radius:8px;margin-bottom:16px}.sp-selected-name{font-weight:600;color:var(--text-primary);font-size:var(--text-sm)}.sp-selected-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);padding:2px 6px;border-radius:4px}.sp-selected-clear:hover{color:var(--color-danger);background:var(--color-danger-bg)}.sp-terms-box{max-height:180px;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-default);border-radius:8px;padding:14px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.sp-terms-check{display:flex;align-items:flex-start;gap:8px;margin-bottom:20px}.sp-terms-check input[type=checkbox]{margin-top:2px;accent-color:var(--brand-accent)}.sp-terms-check label{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;line-height:1.4}.sp-summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.sp-summary-row:last-child{border-bottom:none}.sp-summary-label{color:var(--text-muted)}.sp-summary-value{font-weight:600;color:var(--text-primary)}.sp-success-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.sp-success-check{width:64px;height:64px;border-radius:50%;background:var(--color-success-bg);color:var(--color-success);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px}.sp-success-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 8px}.sp-success-sub{font-size:var(--text-sm);color:var(--text-secondary)}.sp-feature-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sp-feature-pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:20px;padding:5px 12px;font-size:var(--text-xs);color:var(--text-primary)}.sp-feature-pill-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:14px;line-height:1}.sp-feature-pill-remove:hover{color:var(--color-danger)}.sp-feature-add-row{display:flex;gap:8px;margin-bottom:8px}.sp-feature-add-row input{flex:1}.sp-tier-selector{display:flex;gap:0;background:var(--surface-2);border-radius:8px;padding:3px;margin-bottom:16px}.sp-tier-selector-btn{flex:1;background:none;border:none;padding:8px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:background .15s,color .15s;text-align:center}.sp-tier-selector-btn--active{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sp-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.sp-toggle-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.sp-toggle{width:44px;height:24px;background:var(--surface-3);border:none;border-radius:12px;position:relative;cursor:pointer;transition:background .15s}.sp-toggle--on{background:var(--color-success)}.sp-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.sp-toggle--on:after{transform:translate(20px)}.sp-empty{padding:48px 24px;text-align:center}.sp-pay-note{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-muted);margin-top:12px}@media(max-width:900px){.sp-stats{grid-template-columns:repeat(2,1fr)}.sp-tiers{grid-template-columns:1fr}}@media(max-width:600px){.sp-stats{grid-template-columns:1fr}.sp-header{flex-direction:column;align-items:flex-start;gap:12px}}.sp-enroll-dropdown-wrap{position:relative}.sp-enroll-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.sp-enroll-dropdown-item{display:block;width:100%;padding:10px 14px;font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background .15s}.sp-enroll-dropdown-item:hover{background:var(--surface-2)}.sp-enroll-dropdown-item+.sp-enroll-dropdown-item{border-top:1px solid var(--border-light)}.sp-cancel-reasons{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.sp-cancel-reason{padding:8px 16px;border-radius:20px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s}.sp-cancel-reason:hover{border-color:var(--color-amber);background:var(--color-amber-bg)}.sp-cancel-reason--selected{border-color:var(--color-amber);background:var(--color-amber-bg);color:var(--color-amber-text);font-weight:600}.sp-cancel-offer{padding:16px;border-radius:10px;background:var(--color-success-bg);border:1px solid var(--color-success-border);margin:12px 0}.sp-cancel-offer-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-success-text);margin-bottom:8px}.sp-cancel-offer-price{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--color-success)}.sp-cancel-offer-original{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);text-decoration:line-through;margin-left:8px}.sp-cancel-offer-note{font-size:var(--text-sm);color:var(--text-secondary);margin-top:8px}.sp-cancel-offer-actions{display:flex;gap:12px;margin-top:16px;align-items:center}.sp-cancel-btn-accept{padding:8px 22px;border-radius:8px;border:none;background:var(--color-success);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:filter .15s}.sp-cancel-btn-accept:hover{filter:brightness(1.1)}.sp-cancel-btn-decline{background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-decoration:underline}.sp-cancel-warning{padding:12px 16px;border-radius:8px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);font-size:var(--text-sm);line-height:1.5;margin:12px 0}.sp-cancel-confirm-check{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:var(--text-sm);color:var(--text-primary)}.sp-cancel-confirm-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-danger)}.sp-cancel-btn-danger{padding:8px 22px;border-radius:8px;border:none;background:var(--color-danger);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:filter .15s}.sp-cancel-btn-danger:hover{filter:brightness(1.1)}.sp-cancel-btn-danger:disabled{opacity:.5;cursor:not-allowed}.sp-cancel-other-textarea{width:100%;min-height:60px;padding:8px 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);resize:vertical;margin-top:8px}.sp-manage-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:sp-manage-fade .2s ease-out}@keyframes sp-manage-fade{0%{opacity:0}to{opacity:1}}.sp-manage-modal{background:var(--surface-0, #fff);border-radius:16px;width:100%;max-width:460px;margin:16px;padding:28px;box-shadow:0 20px 60px #00000026;animation:sp-manage-scale .2s ease-out}@keyframes sp-manage-scale{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .sp-manage-modal{background:var(--surface-1, #1e1e2e);box-shadow:0 20px 60px #0006}.sp-manage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sp-manage-header-left{display:flex;align-items:center;gap:10px}.sp-manage-icon-pill{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#6366f11a;color:#6366f1}[data-theme=dark] .sp-manage-icon-pill{background:#6366f126;color:#818cf8}.sp-manage-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.sp-manage-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s}.sp-manage-close:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .sp-manage-close:hover{background:#ffffff0f}.sp-manage-section{background:var(--surface-2, #f9fafb);border-radius:10px;padding:18px;margin-bottom:20px;border:1px solid transparent}[data-theme=dark] .sp-manage-section{background:#ffffff08;border-color:#ffffff0a}.sp-manage-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.sp-manage-row+.sp-manage-row{border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .05));margin-top:6px;padding-top:12px}[data-theme=dark] .sp-manage-row+.sp-manage-row{border-top-color:#ffffff0a}.sp-manage-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.sp-manage-value{font-size:13px;font-weight:600;color:var(--text-primary)}.sp-manage-mono{font-family:var(--font-mono)}.sp-manage-status{display:inline-flex;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}.sp-manage-status--active{background:var(--color-success-bg);color:var(--color-success)}.sp-manage-status--paused{background:var(--color-amber-bg);color:var(--color-amber)}.sp-manage-status--cancelled,.sp-manage-status--past-due{background:var(--color-danger-bg);color:var(--color-danger)}.sp-manage-date-section{margin-bottom:16px}.sp-manage-date-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.sp-manage-date-row{display:flex;gap:8px;align-items:center}.sp-manage-date-input{flex:1;padding:8px 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.sp-manage-date-save{padding:8px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.sp-manage-date-save:disabled{opacity:.5;cursor:not-allowed}.sp-manage-date-cancel{padding:8px 12px;border:1px solid var(--border-default);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.sp-manage-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.sp-manage-btn{flex:1;min-width:0;padding:10px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}.sp-manage-btn:hover{filter:brightness(1.1)}.sp-manage-btn:disabled{opacity:.5;cursor:not-allowed}.sp-manage-btn--amber{background:var(--color-amber-bg, #FFF7ED);color:var(--color-amber, #D97706)}.sp-manage-btn--green{background:var(--color-success-bg, #D1FAE5);color:var(--color-success, #059669)}.sp-manage-btn--outline{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.sp-manage-done{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;border-radius:10px;border:none;color:#fff;font-family:var(--font-body);font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.sp-manage-done:hover{filter:brightness(1.1);transform:translateY(-1px)}.sp-manage-card-section{margin-bottom:16px}.sp-manage-card-form{display:flex;flex-direction:column;gap:12px}.sp-manage-card-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-manage-card-field{display:flex;flex-direction:column;gap:4px}.sp-manage-card-field-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.sp-manage-card-input{padding:8px 12px;border:1px solid var(--border-default);border-radius:8px;font-size:14px;font-family:var(--font-mono);color:var(--text-primary);background:var(--surface-1);outline:none;transition:border-color .15s,box-shadow .15s}.sp-manage-card-input--name{font-family:var(--font-body)}.sp-manage-card-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.sp-manage-card-input::placeholder{color:var(--text-muted);font-family:var(--font-body)}[data-theme=dark] .sp-manage-card-input{background:var(--surface-2, #1e293b);border-color:var(--border-default, #334155)}[data-theme=dark] .sp-manage-card-input:focus{border-color:#818cf8;box-shadow:0 0 0 2px #818cf826}.sp-manage-card-btns{display:flex;gap:8px;margin-top:4px}.sp-manage-cancel-btn{display:block;width:100%;margin-top:12px;padding:10px;border:none;border-radius:8px;background:transparent;color:var(--color-danger, #dc2626);font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s}.sp-manage-cancel-btn:hover{background:var(--color-danger-bg, #fef2f2)}[data-theme=dark] .sp-manage-cancel-btn:hover{background:#ef444414}.csp-container{padding:0}.csp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.csp-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.csp-count{font-size:12px;font-weight:600;color:var(--text-muted)}.csp-table{width:100%;border-collapse:collapse;font-size:13px}.csp-table thead th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.csp-table tbody tr{border-bottom:1px solid var(--border-subtle, var(--border));cursor:pointer;transition:background .15s}.csp-table tbody tr:hover{background:var(--surface-2, var(--bg-secondary))}.csp-table td{padding:12px 14px;color:var(--text-primary);vertical-align:middle}.csp-plan-name{font-weight:600;font-size:14px}.csp-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:capitalize}.csp-badge--active{background:var(--color-success-bg);color:var(--color-success)}.csp-badge--paused{background:var(--color-amber-bg);color:var(--color-amber)}.csp-badge--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.csp-price{font-family:var(--font-mono);font-weight:600;font-size:14px}.csp-frequency{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:2px}.csp-date{font-size:13px;color:var(--text-secondary)}.csp-card-info{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.csp-actions-btn{background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.csp-actions-btn:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong, var(--border))}.csp-empty{text-align:center;padding:48px 24px}.csp-empty-icon{width:48px;height:48px;border-radius:12px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-muted)}.csp-empty-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.csp-empty-text{font-size:13px;color:var(--text-muted);margin:0}.csp-skeleton-row{display:flex;gap:16px;padding:14px;border-bottom:1px solid var(--border-subtle, var(--border))}.csp-skeleton-cell{height:14px;border-radius:4px;background:var(--surface-2);animation:csp-pulse 1.5s ease-in-out infinite}@keyframes csp-pulse{0%,to{opacity:.4}50%{opacity:.8}}.csp-mobile-cards{display:none}.csp-mobile-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:12px;cursor:pointer;transition:background .15s}.csp-mobile-card:hover{background:var(--surface-2)}.csp-mobile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.csp-mobile-card-detail{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);padding:3px 0}.csp-mobile-card-label{font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:var(--text-muted)}@media(max-width:768px){.csp-desktop-table{display:none}.csp-mobile-cards{display:block}}@media(min-width:769px){.csp-desktop-table{display:block}.csp-mobile-cards{display:none}}.csp-plan-detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.csp-plan-detail-row+.csp-plan-detail-row{border-top:1px solid var(--border-subtle, var(--border))}.csp-plan-detail-label{color:var(--text-muted);font-size:12px;font-weight:500}.csp-plan-detail-value{color:var(--text-primary);font-weight:600;font-size:13px}.csp-action-cards{display:flex;flex-direction:column;gap:10px;margin-top:20px}.csp-action-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s}.csp-action-card:hover{background:var(--surface-2);border-color:var(--border-strong, var(--border))}.csp-action-card.expanded{cursor:default;border-color:var(--accent, #6366f1);background:var(--surface-1)}.csp-action-card.danger{border-color:var(--color-danger-bg)}.csp-action-card.danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.csp-action-card-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-2);color:var(--text-secondary)}.csp-action-card.danger .csp-action-card-icon{background:var(--color-danger-bg);color:var(--color-danger)}.csp-action-card-text{flex:1;min-width:0;overflow:hidden}.csp-action-card-title{font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csp-action-card.danger .csp-action-card-title{color:var(--color-danger)}.csp-action-card-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.csp-action-card-chevron{color:var(--text-muted);flex-shrink:0}.csp-inline-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle, var(--border));overflow:hidden;max-width:100%}.csp-inline-form-row{display:flex;gap:10px;margin-bottom:10px}.csp-inline-form-row.full{flex-direction:column}.csp-inline-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:var(--font-body);background:var(--surface-0);color:var(--text-primary);transition:border-color .15s;max-width:100%;box-sizing:border-box}.csp-inline-input:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f11a}.csp-inline-input::placeholder{color:var(--text-muted)}.csp-inline-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.csp-inline-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.csp-btn-save{padding:8px 16px;border-radius:8px;min-width:0;font-size:13px;font-weight:700;border:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:all .15s}.csp-btn-save:hover{box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.csp-btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.csp-btn-cancel{padding:8px 16px;border-radius:8px;min-width:0;font-size:13px;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.csp-btn-cancel:hover{background:var(--surface-2)}.csp-confirm-text{font-size:13px;color:var(--text-secondary);margin:12px 0;line-height:1.5}.csp-btn-pause{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:700;border:none;cursor:pointer;color:#fff;background:var(--color-amber, #f59e0b);transition:all .15s}.csp-btn-pause:hover{opacity:.9}.csp-btn-pause:disabled{opacity:.5;cursor:not-allowed}.csp-btn-resume{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:700;border:none;cursor:pointer;color:#fff;background:var(--color-success, #22c55e);transition:all .15s}.csp-btn-resume:hover{opacity:.9}.csp-btn-resume:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .csp-action-card{background:var(--surface-1);border-color:#ffffff0f}[data-theme=dark] .csp-action-card:hover{background:var(--surface-2);border-color:#ffffff1a}[data-theme=dark] .csp-action-card.expanded{border-color:var(--accent, #6366f1)}[data-theme=dark] .csp-action-card-icon{background:#ffffff0f}[data-theme=dark] .csp-inline-input{background:var(--surface-0);border-color:#ffffff14}[data-theme=dark] .csp-inline-input:focus{border-color:var(--accent, #6366f1)}[data-theme=dark] .csp-mobile-card{background:var(--surface-1);border-color:#ffffff0f}[data-theme=dark] .csp-skeleton-cell{background:#ffffff0f}.customer-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #6366f1),var(--brand-accent, #0D9488));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:24px;font-weight:700;flex-shrink:0}.customer-profile .card{box-shadow:var(--shadow-sm)}.customer-profile .tabs-header{display:flex;gap:0;border-bottom:1px solid var(--border-default);overflow-x:auto}.customer-profile .tab{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:12px 20px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.customer-profile .tab:hover{color:var(--accent)}.customer-profile .tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:var(--weight-semibold)}.customer-profile .tabs-container{padding:0}.customer-profile .tab-content{background:var(--surface-1);border-radius:0 0 12px 12px;box-shadow:var(--shadow-sm);padding:var(--card-padding)}.customer-profile .cp-activity-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-1);border-radius:8px;border:1px solid var(--border-default);font-size:var(--text-sm);transition:box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.customer-profile .cp-activity-item:hover{box-shadow:var(--shadow-xs);background:var(--surface-2)}.customer-profile .equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.customer-profile .equipment-card{border:1px solid var(--border-default);border-radius:12px;padding:20px;background:var(--surface-1);transition:box-shadow var(--duration-normal) var(--ease-default)}.customer-profile .equipment-card:hover{box-shadow:var(--shadow-md)}.customer-profile .equipment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.customer-profile .equipment-header h4{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold)}.customer-profile .equipment-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.customer-profile .equipment-details .detail-row:last-child{border-bottom:none}.customer-profile .equipment-details .detail-row>span:first-child{color:var(--text-secondary);font-weight:var(--weight-medium)}.cp-delete-link{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:var(--text-sm);text-decoration:underline;padding:4px 8px;transition:color var(--duration-fast) var(--ease-default)}.cp-delete-link:hover{color:var(--text-secondary)}.cp-delete-modal{width:min(100%,400px);max-width:400px;padding:28px}.cp-delete-modal__icon{width:52px;height:52px;margin:0 auto 20px;border-radius:9999px;background:var(--color-danger-bg);color:var(--color-danger);display:flex;align-items:center;justify-content:center}.cp-delete-modal__title{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text-primary);text-align:center}.cp-delete-modal__body{margin:12px 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;text-align:center}.cp-delete-modal__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.cp-delete-modal__stat{padding:10px;background:var(--surface-2);border-radius:10px;text-align:center}.cp-delete-modal__stat-value{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.cp-delete-modal__stat-label{margin-top:4px;font-size:var(--text-xs);color:var(--text-secondary)}.cp-delete-modal__checkbox{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:var(--text-sm);color:var(--text-primary);line-height:1.5;cursor:pointer}.cp-delete-modal__checkbox input{margin-top:2px;accent-color:var(--color-danger)}.cp-delete-modal__confirm{margin-top:16px}.cp-delete-modal__confirm-label{display:block;margin-bottom:6px;font-size:var(--text-xs);color:var(--text-secondary)}.cp-delete-modal__input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:var(--text-sm);box-sizing:border-box}.cp-delete-modal__input:focus{outline:none;border-color:var(--color-danger);box-shadow:var(--shadow-focus-danger)}.cp-delete-modal__actions{display:flex;gap:10px;margin-top:24px}.cp-delete-modal__button{flex:1}.customer-profile .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.customer-profile .loading-text{color:var(--text-secondary);font-size:var(--text-sm)}.balance-alert-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:12px 0 0;background:var(--color-amber-bg, #FFFBEB);border:1px solid var(--color-amber-bg, #FFFBEB);border-left:3px solid var(--color-amber, #F59E0B);border-radius:var(--radius-md, 8px);font-size:13px;color:var(--color-amber-text, #92400E)}.balance-alert-amount{font-family:var(--font-mono, "DM Mono", monospace);font-weight:700;color:var(--color-amber-text, #92400E)}.cp-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.cp-snapshot-card{padding:18px 16px;min-height:80px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.cp-snapshot-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cp-snapshot-clickable{cursor:pointer}.cp-snapshot-clickable:hover{box-shadow:var(--shadow-sm);background:var(--surface-3)}.cp-snapshot-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cp-snapshot-value{font-family:var(--font-mono, "DM Mono", monospace);font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}@media(max-width:640px){.cp-snapshot-grid{grid-template-columns:repeat(2,1fr)}}.cp-nav-bar{position:sticky;top:52px;z-index:50;display:flex;align-items:center;gap:0;background:var(--surface-1);border-bottom:1px solid var(--border);padding:0 16px;margin:0 -16px 16px}.cp-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;border-right:1px solid var(--border);cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;padding:14px 16px 14px 0;margin-right:4px;white-space:nowrap;transition:color .15s ease}.cp-back-btn:hover{color:var(--text-primary)}.cp-tabs{display:flex;gap:0;overflow-x:auto;flex:1}.cp-tab{font-family:var(--font-body);font-size:13px;font-weight:500;padding:14px 18px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease,border-color .15s ease}.cp-tab:hover{color:var(--text-primary)}.cp-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.cp-tab-count{font-size:.7rem;background:var(--surface-3);color:var(--text-secondary);border-radius:9999px;padding:1px 7px;font-weight:var(--weight-semibold);line-height:1.4}.cp-tab.active .cp-tab-count{background:var(--accent);color:#fff}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer;width:100%;transition:background var(--duration-fast) var(--ease-default)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled,.input-disabled{opacity:.4;cursor:not-allowed}.gl-wrap{--gl-green: #00A651;--gl-green-50: #e6f7ee;--gl-green-100: #c3ebd5;--gl-green-200: #8fd9b1;--gl-green-700: #008741;--gl-green-gradient: linear-gradient(135deg, #00A651 0%, #00C853 100%);--gl-purple: #6B4FBB;--gl-orange: #E8833A;--gl-brand-gradient: linear-gradient(135deg, #6B4FBB, #E8833A);--gl-amber-50: #fffbeb;--gl-amber-100: #fef3c7;--gl-amber-600: #d97706;--gl-amber-700: #b45309;--gl-red-50: #fef2f2;--gl-red-100: #fee2e2;--gl-red-600: #dc2626;--gl-radius: 12px;--gl-radius-sm: 8px;--gl-radius-lg: 16px;--gl-radius-pill: 20px;--gl-transition: .25s cubic-bezier(.4, 0, .2, 1);background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius);overflow:hidden;margin-top:24px}[data-theme=dark] .gl-wrap{--gl-green-50: rgba(0, 166, 81, .08);--gl-green-100: rgba(0, 166, 81, .14);--gl-green-200: rgba(0, 166, 81, .22);--gl-amber-50: rgba(217, 119, 6, .08);--gl-amber-100: rgba(217, 119, 6, .14);--gl-red-50: rgba(220, 38, 38, .08);--gl-red-100: rgba(220, 38, 38, .14)}.gl-collapse-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--gl-transition)}.gl-collapse-trigger[data-expanded=true]{border-bottom:1px solid var(--border, #e5e7eb);background:linear-gradient(135deg,#6b4fbb0a,#e8833a0a)}.gl-collapse-left{display:flex;align-items:center;gap:10px}.gl-collapse-left h2{margin:0;font-family:var(--font-display, "Outfit", sans-serif);font-size:var(--text-md, 16px);font-weight:700;color:var(--text-primary, #111827)}.gl-collapse-arrow{font-size:var(--text-base, 14px);color:var(--text-secondary, #6b7280);transition:transform var(--gl-transition)}.gl-collapse-arrow[data-open=true]{transform:rotate(180deg)}.gl-logo-pill{display:inline-flex;align-items:center;padding:5px 14px;background:var(--gl-brand-gradient);border-radius:var(--gl-radius-pill);color:#fff;font-family:var(--font-display, "Outfit", sans-serif);font-weight:800;font-size:15px;letter-spacing:-.01em;white-space:nowrap;line-height:1.3}.gl-logo-reg{font-size:8px;font-weight:400;margin-left:1px;vertical-align:super}.gl-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--gl-radius-pill);font-size:var(--text-xs, 12px);font-weight:700;white-space:nowrap}.gl-badge-connected{background:var(--gl-green-100);color:var(--gl-green-700)}.gl-badge-sandbox{background:var(--gl-amber-50);color:var(--gl-amber-700);border:1px solid var(--gl-amber-600)}.gl-body{padding:24px}.gl-loading{padding:32px;text-align:center;color:var(--text-secondary, #6b7280)}.gl-financing-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.gl-company-info{text-align:right;font-size:var(--text-sm, 13px);color:var(--text-secondary, #6b7280);line-height:1.5}.gl-company-name{font-family:var(--font-display, "Outfit", sans-serif);font-weight:700;font-size:var(--text-base, 14px);color:var(--text-primary, #111827)}.gl-section-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:var(--text-base, 14px);font-weight:700;color:var(--text-primary, #111827);margin:20px 0 12px}.gl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:4px}.gl-form-field{display:flex;flex-direction:column;gap:4px}.gl-form-field.gl-full-width{grid-column:1 / -1}.gl-form-label{font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.04em}.gl-form-input{width:100%;padding:9px 12px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:var(--text-sm, 13px);color:var(--text-primary, #111827);background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius-sm);outline:none;transition:border-color var(--gl-transition),box-shadow var(--gl-transition)}.gl-form-input:focus{border-color:var(--gl-green);box-shadow:0 0 0 3px #00a6511a}.gl-amount-input-wrap{position:relative;display:flex;align-items:center}.gl-amount-prefix{position:absolute;left:12px;font-family:var(--font-mono, "DM Mono", monospace);font-weight:700;font-size:var(--text-base, 14px);color:var(--text-secondary, #6b7280);pointer-events:none}.gl-amount-input{padding-left:28px;font-family:var(--font-mono, "DM Mono", monospace);font-weight:700;font-size:var(--text-base, 14px)}.gl-plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.gl-plan-tile{position:relative;padding:16px 14px;border-radius:var(--gl-radius);border:2px solid var(--border, #e5e7eb);background:var(--bg-card, #fff);text-align:center;cursor:pointer;transition:all var(--gl-transition);display:flex;flex-direction:column;align-items:center;gap:4px}.gl-plan-tile:hover{border-color:var(--gl-green-200);box-shadow:0 0 16px #00a65114}.gl-plan-selected{border-color:var(--gl-green);background:var(--gl-green-50);box-shadow:0 0 20px #00a6511f}.gl-plan-custom.gl-plan-selected{border-color:var(--gl-purple);background:#6b4fbb0d;box-shadow:0 0 20px #6b4fbb1a}[data-theme=dark] .gl-plan-custom.gl-plan-selected{background:#6b4fbb14}.gl-plan-tier{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 10px;border-radius:var(--gl-radius-pill);background:var(--gl-green-100);color:var(--gl-green-700)}.gl-plan-tier-custom{background:#6b4fbb1a;color:var(--gl-purple)}.gl-plan-name{font-family:var(--font-display, "Outfit", sans-serif);font-size:var(--text-sm, 13px);font-weight:700;color:var(--text-primary, #111827)}.gl-plan-apr{font-size:var(--text-sm, 13px);color:var(--text-secondary, #6b7280)}.gl-plan-term{font-family:var(--font-mono, "DM Mono", monospace);font-size:11px;color:var(--text-secondary, #6b7280)}.gl-plan-payment{font-family:var(--font-mono, "DM Mono", monospace);font-size:18px;font-weight:800;color:var(--gl-green);margin-top:4px}.gl-plan-selected .gl-plan-payment{color:var(--gl-green-700)}.gl-plan-custom.gl-plan-selected .gl-plan-payment{color:var(--gl-purple)}.gl-dealer-pill{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--gl-radius-pill);background:var(--gl-amber-100);color:var(--gl-amber-700);margin-top:4px}.gl-dealer-zero{background:var(--gl-green-100);color:var(--gl-green-700)}.gl-custom-selector{width:100%;margin-top:8px}.gl-custom-select{font-size:11px;padding:6px 8px}.gl-payment-summary{padding:14px 18px;background:var(--gl-green-50);border:1px solid var(--gl-green-200);border-radius:var(--gl-radius-sm);margin-bottom:16px}.gl-payment-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm, 13px);color:var(--text-primary, #111827);padding:4px 0}.gl-payment-big{font-size:20px;font-weight:800;color:var(--gl-green-700)}.gl-payment-dealer{border-top:1px solid var(--gl-green-200);margin-top:6px;padding-top:8px;color:var(--gl-amber-700);font-size:var(--text-xs, 12px)}.gl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:var(--text-sm, 13px);font-weight:700;border:none;border-radius:var(--gl-radius-sm);cursor:pointer;transition:all var(--gl-transition);white-space:nowrap}.gl-btn:disabled{opacity:.5;cursor:not-allowed}.gl-btn-primary{background:var(--gl-green-gradient);color:#fff;box-shadow:0 2px 8px #00a65133}.gl-btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #00a6514d;transform:translateY(-1px)}.gl-btn-secondary{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827);border:1px solid var(--border, #e5e7eb)}[data-theme=dark] .gl-btn-secondary{background:#374151;color:#e5e7eb}.gl-btn-outline{background:transparent;color:var(--gl-green);border:1px solid var(--gl-green)}.gl-btn-sm{padding:6px 14px;font-size:var(--text-xs, 12px)}.gl-btn-row{display:flex;gap:10px;margin-bottom:16px}.gl-mono{font-family:var(--font-mono, "DM Mono", monospace)}.gl-disclosure-block{padding:12px 16px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius-sm)}[data-theme=dark] .gl-disclosure-block{background:#ffffff08}.gl-disclosure-text{font-size:11px;line-height:1.6;color:var(--text-secondary, #6b7280);margin:0}.gl-autopay-note{margin-top:6px;font-style:italic}.gl-not-connected{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--gl-amber-50);border:1px solid var(--gl-amber-600);border-radius:var(--gl-radius)}.gl-not-connected-title{font-weight:700;font-size:var(--text-base, 14px);color:var(--gl-amber-700)}.gl-not-connected-text{font-size:var(--text-sm, 13px);color:var(--gl-amber-700);opacity:.8;margin-top:2px}.gl-resend-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#eff6ff;border:1px solid #93c5fd;border-radius:var(--gl-radius-sm);margin-bottom:16px;font-size:var(--text-sm, 13px);font-weight:600;color:#1e40af}[data-theme=dark] .gl-resend-banner{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}.gl-deal-summary{padding:18px 20px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius);margin-bottom:16px}[data-theme=dark] .gl-deal-summary{background:#ffffff08}.gl-deal-summary-link{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.gl-deal-summary-link:hover{border-color:var(--color-teal, #14b8a6);transform:translateY(-1px);box-shadow:0 2px 8px #14b8a61f}.gl-deal-summary-link .gl-deal-nav-icon{color:var(--text-muted, #9ca3af);opacity:0;transition:opacity .15s;flex-shrink:0}.gl-deal-summary-link:hover .gl-deal-nav-icon{opacity:1}.gl-deal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.gl-deal-top-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.gl-deal-customer{font-family:var(--font-display, "Outfit", sans-serif);font-size:var(--text-lg, 18px);font-weight:700;color:var(--text-primary, #111827)}.gl-deal-amount{font-family:var(--font-mono, "DM Mono", monospace);font-size:var(--text-md, 16px);font-weight:700;color:var(--text-primary, #111827);margin-top:2px}.gl-deal-term{font-weight:400;font-size:var(--text-sm, 13px);color:var(--text-secondary, #6b7280)}.gl-deal-monthly{font-family:var(--font-mono, "DM Mono", monospace);font-size:var(--text-sm, 13px);color:var(--gl-green);font-weight:700;margin-top:6px}.gl-deal-plan{font-size:var(--text-xs, 12px);color:var(--text-secondary, #6b7280);margin-top:4px}.gl-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--gl-radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.gl-status-badge[data-status=draft]{background:#f3f4f6;color:#374151}.gl-status-badge[data-status=sent]{background:#dbeafe;color:#1e40af}.gl-status-badge[data-status=pending]{background:var(--gl-amber-100);color:var(--gl-amber-700)}.gl-status-badge[data-status=approved]{background:var(--gl-green-100);color:var(--gl-green-700)}.gl-status-badge[data-status=funded]{background:var(--gl-green-200);color:var(--gl-green-700)}.gl-status-badge[data-status=denied]{background:var(--gl-red-100);color:var(--gl-red-600)}.gl-status-badge[data-status=docs_signed]{background:#c7d2fe;color:#3730a3}.gl-status-badge[data-status=docs_sent]{background:#e0e7ff;color:#3730a3}.gl-relink-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;margin-bottom:12px;background:var(--gl-amber-50);border:1px solid var(--gl-amber-100);border-radius:6px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:12px;line-height:1.5;color:var(--gl-amber-700)}.gl-relink-warning-icon{flex-shrink:0;margin-top:1px;color:var(--gl-amber-600)}[data-theme=dark] .gl-relink-warning{background:#d9770614;border-color:#d9770633}.gl-link-block{margin-bottom:16px}.gl-link-row{display:flex;gap:8px}.gl-link-input{flex:1;font-family:var(--font-mono, "DM Mono", monospace);font-size:11px;color:var(--text-secondary, #6b7280);background:var(--bg-secondary, #f9fafb)}.gl-reminder-wrap{position:relative;display:inline-block}.gl-reminder-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);background:transparent;border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.gl-reminder-btn:hover:not(:disabled){border-color:var(--color-teal, #14b8a6);color:var(--text-primary, #111827)}.gl-reminder-btn:disabled{opacity:.6;cursor:not-allowed}.gl-reminder-cooldown{font-family:var(--font-mono, "DM Mono", monospace);font-size:11px;color:var(--text-muted, #9ca3af)}.gl-reminder-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:20;min-width:280px;padding:14px 16px;background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:var(--gl-radius-sm);box-shadow:0 4px 16px #0000001f;animation:gl-pop-in .15s ease-out}@keyframes gl-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gl-reminder-popover-text{font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;color:var(--text-primary, #111827);margin-bottom:12px;line-height:1.5}.gl-reminder-popover-actions{display:flex;gap:8px;justify-content:flex-end}.gl-reminder-popover-confirm{padding:5px 14px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:12px;font-weight:600;color:#fff;background:var(--accent, #6366f1);border:none;border-radius:6px;cursor:pointer}.gl-reminder-popover-confirm:hover{filter:brightness(1.05)}.gl-reminder-popover-cancel{padding:5px 14px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280);background:transparent;border:1px solid var(--border, #e5e7eb);border-radius:6px;cursor:pointer}[data-theme=dark] .gl-reminder-popover{box-shadow:0 4px 16px #0006}.gl-milestone-block{margin-bottom:16px}.gl-milestone-list{display:flex;flex-direction:column;gap:0}.gl-milestone-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border, #e5e7eb);font-size:var(--text-sm, 13px);color:var(--text-secondary, #6b7280)}.gl-milestone-item:last-child{border-bottom:none}.gl-milestone-done{color:var(--text-primary, #111827)}.gl-milestone-check{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;border:2px solid var(--border, #e5e7eb);color:transparent;flex-shrink:0}.gl-milestone-done .gl-milestone-check{background:var(--gl-green);border-color:var(--gl-green);color:#fff}.gl-milestone-label{font-weight:500}.gl-milestone-done .gl-milestone-label{font-weight:600}.gl-activity-block{margin-bottom:16px}.gl-activity-list{display:flex;flex-direction:column;gap:0;padding-left:8px;border-left:2px solid var(--border, #e5e7eb)}.gl-activity-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0 8px 14px;position:relative}.gl-activity-dot{width:10px;height:10px;border-radius:50%;background:var(--border, #e5e7eb);flex-shrink:0;margin-top:4px;position:absolute;left:-7px}.gl-activity-dot-sent{background:#3b82f6}.gl-activity-dot-approved{background:var(--gl-green)}.gl-activity-dot-denied{background:var(--gl-red-600)}.gl-activity-text{font-size:var(--text-sm, 13px);color:var(--text-primary, #111827);font-weight:500;padding-left:8px}.gl-activity-time{font-size:11px;color:var(--text-secondary, #6b7280);padding-left:8px}@media(max-width:700px){.gl-body{padding:16px}.gl-plans-grid{grid-template-columns:1fr 1fr}.gl-form-grid{grid-template-columns:1fr}.gl-financing-header{flex-direction:column}.gl-company-info{text-align:left}.gl-deal-top{flex-direction:column}.gl-plan-payment{font-size:15px}}@media(max-width:480px){.gl-plans-grid{grid-template-columns:1fr}}.job-detail-page{padding:24px 32px;max-width:1600px;margin:0 auto;background:var(--surface-0);min-height:100vh;animation:fadeIn var(--duration-normal) var(--ease-out)}.jd-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.jd-header-left{display:flex;align-items:center;gap:14px}.jd-header-left h1{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}.jd-header-actions{display:flex;gap:8px;align-items:center}.jd-panels{display:grid;grid-template-columns:35% 1fr;gap:24px;align-items:start}@media(max-width:1024px){.jd-panels{grid-template-columns:1fr}}.jd-left{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}@media(max-width:1024px){.jd-left{position:static}}.jd-timeline-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.jd-timeline-title{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.jd-timeline{position:relative;padding-left:28px}.jd-timeline:before{content:"";position:absolute;left:15px;top:4px;bottom:4px;width:1px;background:var(--border-subtle)}.jd-tl-item{position:relative;padding-bottom:18px}.jd-tl-item:last-child{padding-bottom:0}.jd-tl-dot{position:absolute;left:-17px;top:4px;width:10px;height:10px;border-radius:50%;z-index:1}.jd-tl-dot.completed{background:var(--status-success)}.jd-tl-dot.current{background:var(--accent);animation:pulse-dot 2s ease-in-out infinite}.jd-tl-dot.future{background:var(--surface-4)}.jd-tl-content{display:flex;flex-direction:column;gap:2px}.jd-tl-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--leading-snug)}.jd-tl-meta{font-size:var(--text-xs);color:var(--text-secondary);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.jd-tl-thumbnails{display:flex;gap:4px;margin-top:4px}.jd-tl-thumb{width:32px;height:32px;border-radius:4px;object-fit:cover;border:1px solid var(--border-default);cursor:pointer;transition:transform var(--duration-fast) var(--ease-default)}.jd-tl-thumb:hover{transform:scale(1.1)}.jd-customer-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;box-shadow:none}.jd-customer-card h3{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 14px}.jd-cust-name{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:10px}.jd-cust-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:var(--text-sm);color:var(--text-primary)}.jd-cust-row a{color:var(--text-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.jd-cust-row a:hover{color:var(--accent)}.jd-cust-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.jd-health-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:var(--weight-bold);margin-top:8px}.jd-health-badge.good{background:var(--status-success-bg);color:#065f46}.jd-health-badge.fair{background:var(--status-warning-bg);color:#92400e}.jd-health-badge.poor{background:var(--status-error-bg);color:#991b1b}.jd-cust-link{display:inline-block;margin-top:10px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.jd-cust-link:hover{color:var(--accent)}.jd-right{display:flex;flex-direction:column;gap:20px}.jd-status-strip{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;box-shadow:var(--shadow-xs)}.jd-status-strip .jd-status-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-right:4px;white-space:nowrap}.jd-status-btn{padding:6px 14px;border-radius:8px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;border:1px solid var(--border-default);background:var(--surface-2);color:var(--text-primary);white-space:nowrap;transition:var(--transition-colors),box-shadow var(--duration-fast) var(--ease-default)}.jd-status-btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.jd-status-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.jd-status-btn:disabled{opacity:.5;cursor:default}.jd-ctx-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-default)}.jd-ctx-card h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.jd-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-base)}.jd-info-row:last-child{border-bottom:none}.jd-info-label{color:var(--text-secondary);font-weight:var(--weight-medium);font-size:var(--text-sm)}.jd-info-val{font-weight:var(--weight-semibold);color:var(--text-primary)}.jd-action-btn{width:100%;padding:14px;height:44px;border-radius:10px;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-bold);cursor:pointer;border:none;transition:var(--transition-colors),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-instant) var(--ease-default);display:flex;align-items:center;justify-content:center;gap:8px}.jd-action-btn:active{transform:translateY(1px)}.jd-action-btn.primary{background:var(--primary);color:#fff}.jd-action-btn.primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm)}.jd-action-btn.blue{background:var(--accent);color:#fff}.jd-action-btn.blue:hover{background:var(--accent-hover);box-shadow:var(--shadow-sm)}.jd-action-btn.outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.jd-action-btn.outline:hover{background:var(--accent-light)}.jd-action-btn.danger{background:transparent;color:var(--status-error);border:1px solid #FCA5A5;font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:10px;height:auto}.jd-action-btn.danger:hover{background:var(--status-error-bg)}.jd-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:16px}.jd-metric{background:var(--surface-2);border-radius:10px;padding:12px;text-align:center}.jd-metric-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:4px}.jd-metric-value{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary)}.jd-metric-value.teal{color:var(--accent)}.jd-metric-value.blue{color:var(--metric-blue)}.jd-metric-value.green{color:var(--status-success)}.jd-metric-value.red{color:var(--status-error)}.jd-line-items-preview{font-size:var(--text-sm)}.jd-li-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.jd-li-row:last-child{border-bottom:none}.jd-li-desc{color:var(--text-primary);flex:1}.jd-li-qty{color:var(--text-secondary);margin:0 12px;white-space:nowrap}.jd-li-total{font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap}.jd-li-grand{display:flex;justify-content:space-between;padding:10px 16px;margin-top:4px;border-top:2px solid var(--border-default);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--text-primary)}.jd-li-body{padding:0}.jd-li-table{width:100%}.jd-li-col-center{text-align:center}.jd-li-col-right{text-align:right}.jd-li-col-qty{width:60px}.jd-li-col-price{width:90px}.jd-li-col-tax{width:60px}.jd-li-col-total{width:90px}.jd-li-col-actions{width:60px}.jd-li-total-cell{font-weight:var(--weight-semibold);font-family:var(--font-mono)}.jd-li-tax-cell{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.jd-li-tax-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}.jd-li-tax-toggle input{opacity:0;width:0;height:0;position:absolute}.jd-li-tax-slider{width:28px;height:16px;border-radius:8px;background:var(--border-color, #cbd5e1);position:relative;transition:background .2s}.jd-li-tax-slider:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #0003}.jd-li-tax-toggle input:checked+.jd-li-tax-slider{background:var(--brand-accent, #6366f1)}.jd-li-tax-toggle input:checked+.jd-li-tax-slider:after{transform:translate(12px)}.jd-li-tax-rate-wrap{display:inline-flex;align-items:center;gap:1px;margin-top:4px}.jd-li-inline-tax{width:72px;min-width:72px;text-align:right;font-family:var(--font-mono);font-size:13px;padding:4px 6px}.jd-li-tax-pct{font-size:11px;color:var(--text-muted);margin-left:4px}.jd-li-tax-line{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);margin-top:1px}.jd-li-hover-actions{display:flex;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .15s ease}.jd-li-row-hover:hover .jd-li-hover-actions{opacity:1}.jd-li-edit-trigger,.jd-li-delete-trigger{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:background .1s ease,color .1s ease}.jd-li-edit-trigger{color:var(--text-muted)}.jd-li-edit-trigger:hover{background:#6366f114;color:var(--brand-accent, #6366f1)}.jd-li-delete-trigger{color:var(--text-muted)}.jd-li-delete-trigger:hover{background:#ef444414;color:var(--error-color, #ef4444)}.jd-li-editing-row{background:var(--surface-2, rgba(99, 102, 241, .03))}.jd-li-inline-input{width:100%;height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--border-color, var(--border));background:var(--surface-1);color:var(--text-primary);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.jd-li-inline-input:focus{border-color:var(--brand-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.jd-li-inline-num{width:60px;text-align:center;font-family:var(--font-mono)}.jd-li-inline-price{width:80px;text-align:right;font-family:var(--font-mono)}.jd-li-price-wrap{display:flex;align-items:center;justify-content:flex-end;gap:2px}.jd-li-price-prefix{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.jd-li-inline-actions{display:flex;align-items:center;justify-content:center;gap:4px}.jd-li-action-save,.jd-li-action-cancel{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;cursor:pointer;transition:background .1s ease}.jd-li-action-save{background:#10b9811a;color:var(--success-color, #10B981)}.jd-li-action-save:hover{background:#10b98133}.jd-li-action-cancel{background:#ef444414;color:var(--error-color, #ef4444)}.jd-li-action-cancel:hover{background:#ef444426}.jd-li-add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--color-teal, #0d9488);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:color .1s ease,background .1s ease;width:100%;border-top:1px solid var(--border-color, var(--border))}.jd-li-add-btn:hover{background:#0d94880d;color:var(--brand-accent, #6366f1)}.jd-li-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-family:var(--font-body);font-size:13px}[data-theme=dark] .jd-li-editing-row{background:#ffffff08}[data-theme=dark] .jd-li-inline-input{background:var(--surface-2, rgba(255, 255, 255, .04))}[data-theme=dark] .jd-li-inline-input:focus{border-color:var(--color-teal, #06b6d4);box-shadow:0 0 0 3px #06b6d426}.jd-invoice-card{background:var(--surface-2);border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center}.jd-invoice-info{display:flex;flex-direction:column;gap:2px}.jd-invoice-number{font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-primary)}.jd-invoice-status{display:inline-block;padding:2px 8px;border-radius:20px;font-size:var(--text-xs);font-weight:var(--weight-bold)}.jd-bottom-section{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.jd-bottom-section h3{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 12px}.jd-sms-thread{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:200px;overflow-y:auto;padding:8px;background:var(--surface-2);border-radius:8px}.jd-sms-bubble{max-width:80%;padding:8px 12px;font-size:var(--text-xs);line-height:var(--leading-normal);word-break:break-word}.jd-sms-bubble.outbound{align-self:flex-end;background:var(--accent);color:#fff;border-radius:12px 12px 4px}.jd-sms-bubble.inbound{align-self:flex-start;background:var(--surface-2);color:var(--text-primary);border-radius:4px 12px 12px}.jd-sms-bubble .sms-time{font-size:var(--text-xs);opacity:.7;margin-top:2px}.jd-sms-input-row{display:flex;gap:8px;align-items:flex-end}.jd-sms-input{flex:1;padding:8px 14px;border:1px solid var(--border-default);border-radius:20px;font-family:var(--font-body);font-size:var(--text-sm);resize:none;min-height:36px;max-height:80px;line-height:var(--leading-normal);background:var(--surface-1);color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.jd-sms-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.jd-sms-send{padding:8px 16px;border-radius:20px;border:none;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-default)}.jd-sms-send:hover:not(:disabled){background:var(--accent-hover)}.jd-sms-send:disabled{opacity:.5;cursor:default}.jd-quick-templates{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.jd-quick-tpl{font-family:var(--font-body);font-size:var(--text-xs);padding:4px 10px;border-radius:20px;border:1px solid var(--border-default);background:var(--surface-2);cursor:pointer;color:var(--text-secondary);transition:var(--transition-colors)}.jd-quick-tpl:hover{border-color:var(--accent);color:var(--accent)}.jd-notes-area{width:100%;padding:12px;border:1px solid var(--border-default);border-radius:10px;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);resize:vertical;background:var(--surface-2);color:var(--text-primary);min-height:80px;outline:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.jd-notes-area:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.jd-sig-status{display:flex;gap:12px;flex-wrap:wrap}.jd-sig-item{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);padding:6px 12px;background:var(--surface-2);border-radius:8px;border:1px solid var(--border-default);transition:var(--transition-colors)}.jd-sig-item.captured{border-color:var(--accent);background:var(--accent-light)}.jd-photos-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.jd-photos-strip img{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--border-default);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring)}.jd-photos-strip img:hover{transform:scale(1.08)}.jd-ai-card{border-top:3px solid var(--accent)}.job-info-card,.job-photos-card,.job-notes-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin-bottom:0}.job-info-card h2,.job-photos-card h2,.job-notes-card h2{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.info-item .info-value{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--weight-medium)}.customer-link{color:var(--accent);text-decoration:none;font-weight:var(--weight-semibold)}.customer-link:hover{color:var(--accent-hover);text-decoration:underline}.phone-link,.email-link{color:var(--text-primary);text-decoration:none}.phone-link:hover,.email-link:hover{color:var(--accent)}.notes-textarea{width:100%;padding:12px;border:1px solid var(--border-default);border-radius:10px;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);resize:vertical;background:var(--surface-2);color:var(--text-primary)}.notes-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.saving-indicator{margin-top:6px;font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.photo-item{background:var(--surface-2);border:1px solid var(--border-default);border-radius:10px;overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default);position:relative}.photo-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.photo-thumbnail{width:100%;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:var(--surface-3)}.photo-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-default)}.photo-item:hover .photo-thumbnail img{transform:scale(1.04)}.photo-meta{padding:10px}.photo-workorder{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--accent);margin-bottom:2px}.photo-date{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:2px}.photo-customer{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary)}.btn-delete-photo{position:absolute;top:6px;right:6px;background:#fffffff2;border:1px solid var(--border-default);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-base);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.photo-item:hover .btn-delete-photo{opacity:1}.btn-delete-photo:hover{background:var(--status-error-bg);border-color:var(--status-error)}.photo-lightbox{position:fixed;inset:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;padding:40px}.lightbox-content{max-width:90vw;max-height:90vh;position:relative}.lightbox-content img{max-width:100%;max-height:80vh;border-radius:10px;box-shadow:var(--shadow-xl)}.lightbox-close{position:absolute;top:-40px;right:0;background:var(--surface-1);border:none;border-radius:50%;width:36px;height:36px;font-size:22px;cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.lightbox-close:hover{background:var(--status-error-bg);color:var(--status-error)}.lightbox-meta{display:flex;gap:14px;justify-content:center;margin-top:12px;color:#fff;font-size:var(--text-sm)}[data-theme=dark] .jd-sms-bubble.inbound{background:var(--surface-3);color:var(--text-primary)}[data-theme=dark] .jd-sms-bubble.outbound{background:#0f766e}[data-theme=dark] .jd-tl-dot.current{background:#14b8a6}[data-theme=dark] .jd-ai-card{border-top-color:#14b8a6}[data-theme=dark] .photo-workorder{color:#2dd4bf}.job-detail-right .card{border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.job-detail-right .card .card-header{padding:14px 16px 8px}.job-detail-right .card .card-body{padding:0 16px 14px}.job-detail-right .card .card-actions{flex-wrap:wrap;gap:4px}.job-detail-right .card .card-actions .btn{font-size:11px;padding:4px 8px}.job-detail-right .grid-cols-4{grid-template-columns:1fr 1fr;gap:6px}.job-detail-right .card-metric{padding:8px 10px}.job-detail-right .card-metric .metric-label{font-size:10px}.job-detail-right .card-metric .metric-value{font-size:13px}.job-detail-right .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.job-detail-right .table-container table{font-size:11px;min-width:0}.job-detail-right .table-container th,.job-detail-right .table-container td{padding:4px 6px;white-space:nowrap}.job-detail-right form[style] .form-group{min-width:0}.jd-confirm-msg{margin:0 0 12px;font-size:var(--text-base)}.jd-confirm-detail{padding:12px;background:var(--bg-secondary);border-radius:8px;font-size:var(--text-base)}.detail-status.status-completed{background:var(--color-green-bg);color:var(--color-green)}.detail-status.status-in-progress{background:var(--color-teal-bg);color:var(--color-teal)}.detail-status.status-cancelled{background:var(--surface-3);color:var(--text-muted)}.detail-status.status-default{background:var(--color-blue-bg);color:var(--color-blue)}.detail-btn-solid.btn-green{background:var(--color-green)}.jd-consult-card{background:var(--surface-1, white);border-radius:12px;padding:20px 24px;margin-bottom:16px;border:1px solid var(--border-default, #E2E8F0)}.jd-consult-card-top{display:flex;justify-content:space-between;align-items:flex-start}.jd-consult-card-name{font-size:18px;font-weight:700;color:var(--text-primary, #0F172A);margin-bottom:4px}.jd-consult-card-name a{color:inherit;text-decoration:none}.jd-consult-card-contacts{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.jd-consult-card-phone{color:var(--status-success, #0D9488);font-size:14px;font-weight:500;text-decoration:none}.jd-consult-card-email,.jd-consult-card-addr{color:var(--text-secondary, #64748B);font-size:14px;text-decoration:none}.jd-consult-card-addr a{color:inherit;text-decoration:none}.jd-consult-card-source{display:inline-block;margin-top:10px;padding:3px 10px;background:var(--status-success-bg, #F0FDFA);color:var(--status-success, #0D9488);border-radius:20px;font-size:12px;font-weight:600}.jd-consult-card .lucide{vertical-align:-2px;margin-right:4px}.jd-flow-steps{display:flex;align-items:center;gap:0}.jd-flow-step{display:flex;align-items:center}.jd-flow-step.has-line{flex:1}.jd-flow-step-inner{display:flex;align-items:center;gap:8px}.jd-flow-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);background:var(--surface-2);color:var(--text-secondary);border:1.5px solid var(--border-default)}.jd-flow-dot.done{background:var(--status-success);color:#fff;border:none}.jd-flow-step-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap}.jd-flow-step-label.done{color:var(--status-success)}.jd-flow-line{flex:1;height:2px;margin:0 10px;background:var(--border-default)}.jd-flow-line.done{background:var(--status-success)}.jd-converted-banner{padding:12px 18px;background:var(--status-success-bg);border-radius:10px;border:1px solid var(--status-success);display:flex;align-items:center;gap:8px;margin-top:12px}.jd-converted-banner span{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--status-success)}.jd-call-section{border-top:1px solid var(--border-subtle)}.jd-call-title{color:var(--metric-purple);margin:0 0 8px}.jd-call-audio{width:100%;margin-bottom:12px}.jd-call-transcript{background:var(--bg-secondary);padding:12px;border-radius:8px;font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;max-height:200px;overflow:auto}.jd-build-estimate-btn{padding:6px 14px;background:var(--color-teal, #0D9488);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.jd-estimate-desc{font-size:var(--text-sm);color:var(--text-secondary)}.jd-stepper-step{display:flex;align-items:center}.detail-step-dot.past{background:var(--color-green);color:#fff}.detail-step-dot.active{background:var(--color-teal);color:#fff}.detail-step-dot.future{background:var(--surface-3);color:var(--text-muted)}.detail-step-label.past{color:var(--color-green)}.detail-step-label.active{color:var(--color-teal);font-weight:700}.detail-step-label.future{color:var(--text-muted)}.detail-step-line.past{background:var(--color-green)}.jd-info-row.stacked{flex-direction:column;align-items:flex-start;gap:6px}.jd-info-row.stacked-tight{flex-direction:column;align-items:flex-start;gap:4px}.jd-tags-wrap{display:flex;gap:4px;flex-wrap:wrap}.jd-caller-val{font-size:var(--text-sm)}.jd-caller-link{color:var(--text-secondary);text-decoration:none}.jd-caller-vapi{margin-left:6px;font-size:10px;color:var(--text-secondary)}.jd-consult-notes-card{background:var(--surface-1, white);border-radius:12px;border:1px solid var(--border-default, #E2E8F0);padding:20px 24px;margin-bottom:16px}.jd-consult-notes-title{font-weight:700;font-size:15px;color:#0f172a;margin-bottom:16px}.jd-consult-notes-log{margin-bottom:16px}.jd-consult-note-entry{padding:12px 14px;background:#f8fafc;border-radius:8px;margin-bottom:8px;border-left:3px solid var(--color-teal, #0D9488)}.jd-consult-note-ts{font-size:11px;color:#94a3b8;margin-bottom:4px;font-weight:500}.jd-consult-note-text{font-size:14px;color:#0f172a;line-height:1.6;white-space:pre-wrap}.jd-consult-notes-empty{color:#94a3b8;font-size:14px;font-style:italic;text-align:center;padding:16px 0;margin-bottom:16px}.jd-consult-note-input-row{display:flex;gap:8px}.jd-consult-note-textarea{flex:1;padding:10px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;resize:none;font-family:inherit;box-sizing:border-box}.jd-consult-note-add-btn{padding:0 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;align-self:stretch}.jd-consult-note-add-btn.enabled{background:var(--color-teal, #0D9488);color:#fff;cursor:pointer}.jd-consult-note-add-btn.disabled{background:#e2e8f0;color:#94a3b8;cursor:default}.jd-consult-followup-row{margin-top:12px;display:flex;align-items:center;gap:8px}.jd-consult-followup-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.jd-consult-followup-input{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:var(--text-sm)}.jd-notes-section-label{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.jd-notes-block{margin-bottom:12px}.jd-photo-upload-label{padding:6px 14px;background:var(--color-teal, #0D9488);color:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.jd-hidden-input{display:none}.jd-photos-error{text-align:center;color:var(--text-secondary)}.jd-photos-error-retry{margin-top:8px}.jd-photos-empty-dropzone{display:block;border:2px dashed var(--border-default);border-radius:10px;padding:32px;text-align:center;cursor:pointer;color:var(--text-muted);font-size:14px}.jd-photos-empty-icon{font-size:32px;margin-bottom:8px}.jd-photos-empty-sub{font-size:12px;margin-top:4px}.jd-photos-grid-sm{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.jd-upload-label-cursor{cursor:pointer}.jd-photos-empty-standard{padding:24px;text-align:center;background:var(--bg-secondary);border-radius:8px;border:2px dashed var(--border)}.jd-photos-empty-title{font-size:var(--text-base);font-weight:600;color:var(--text-secondary)}.jd-photos-empty-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.jd-timeline-details{padding:0}.jd-timeline-summary{padding:12px 16px;cursor:pointer;font-size:var(--text-sm);font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.jd-timeline-event-count{font-size:var(--text-xs);color:var(--accent)}.jd-timeline-body{padding:14px 16px;border-top:1px solid var(--border-subtle)}.jd-timeline-grouped-badge{font-size:10px;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--text-secondary);font-weight:600}.jd-timeline-expand-btn{margin-top:8px;width:100%;justify-content:center}.jd-comms-header-actions{display:flex;gap:6px;align-items:center}.jd-comms-call-btn{padding:6px 14px;background:var(--color-teal, #0D9488);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.jd-comms-sms-btn{padding:6px 14px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.jd-comms-refresh-btn{width:28px;padding:0;justify-content:center}.jd-comms-loading{color:var(--text-secondary);font-size:var(--text-xs);text-align:center;padding:12px}.jd-comms-empty{color:var(--text-secondary);font-size:var(--text-xs);text-align:center;padding:16px}.jd-sms-bubble.call-bubble{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.jd-sms-bubble.call-bubble.outbound{align-self:flex-end}.jd-sms-bubble.call-bubble.inbound{align-self:flex-start}.jd-call-prefix{margin-right:4px}.jd-sms-time-right{text-align:right}.jd-sms-time-left{text-align:left}.jd-delete-wrap{padding-bottom:8px}.jd-rp-customer-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.jd-rp-avatar{background:var(--brand-accent);color:#fff;flex-shrink:0;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.jd-rp-customer-info{min-width:0}.jd-rp-customer-name{font-weight:600;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jd-rp-customer-name a{color:inherit;text-decoration:none}.jd-rp-customer-addr{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jd-rp-contact-btns{display:flex;gap:6px;flex-wrap:wrap}.jd-rp-contact-link{text-decoration:none;height:26px;font-size:var(--text-xs)}.jd-rp-status-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.jd-rp-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.jd-rp-action-btn{padding:10px 0;border-radius:8px;font-size:13px;font-weight:500;width:100%;cursor:pointer;background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px}.jd-rp-action-btn.teal{font-weight:700;background:var(--color-teal, #0D9488);border:none;color:#fff}.jd-rp-action-btn.accent{font-weight:600;background:var(--brand-accent);border:none;color:#fff}.jd-rp-action-btn.full-width{grid-column:1 / -1}.jd-rp-address-link{color:var(--accent);text-decoration:none}.jd-rp-li-desc{color:var(--text-primary);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jd-rp-li-qty{color:var(--text-secondary);font-size:var(--text-xs);margin-right:8px}.jd-rp-li-amount{font-family:var(--font-mono);font-weight:600;flex-shrink:0}.jd-rp-li-empty{color:var(--text-muted);font-size:var(--text-sm)}.jd-rp-total-mono{font-family:var(--font-mono)}.jd-rp-billing-paid{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-success-bg);border-radius:8px;border:1px solid var(--color-success-border)}.jd-rp-billing-paid-icon{font-size:16px}.jd-rp-billing-paid-text{font-size:var(--text-sm);font-weight:600;color:var(--color-success-text)}.jd-rp-billing-unpaid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.jd-rp-billing-link{font-size:var(--text-sm);color:var(--accent);text-decoration:none}.jd-rp-billing-amount{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:8px}.jd-rp-billing-reminder-btn{height:40px;font-size:var(--text-sm)}.jd-rp-billing-qb{margin-top:8px;font-size:var(--text-xs);color:var(--status-success)}.jd-rp-billing-create-btn{width:100%;justify-content:center}.jd-rp-cancelled{border-left:3px solid var(--status-error)}.jd-rp-cancelled-text{font-size:var(--text-sm);color:var(--status-error);margin:0}.jd-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.jd-modal-box{background:var(--card-bg, white);border-radius:12px;padding:24px;width:360px;max-width:90vw}.jd-modal-title{margin:0 0 16px;font-size:var(--text-lg);font-weight:700}.jd-modal-form{display:flex;flex-direction:column;gap:12px}.jd-modal-label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:4px}.jd-modal-input-full{width:100%;box-sizing:border-box}.jd-modal-actions{display:flex;gap:8px;margin-top:8px}.jd-modal-actions .btn{flex:1}.jd-profit-loader{padding:16px}.jd-profit-bar-track{height:8px;background:var(--border-default);border-radius:4px;margin-bottom:16px;overflow:hidden}.jd-profit-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.jd-profit-costs-section{margin-bottom:12px}.jd-profit-costs-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:6px}.jd-profit-badge-cap{text-transform:capitalize}.jd-profit-cell-xs{font-size:var(--text-xs)}.jd-profit-cell-xs-bold{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.jd-profit-delete-btn{background:none;border:none;color:var(--status-error);cursor:pointer;font-size:var(--text-sm);padding:2px 6px}.jd-profit-add-form{padding:12px;background:var(--surface-2);border-radius:8px;border:1px solid var(--border-default)}.jd-profit-add-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;align-items:end}.jd-profit-form-group{margin:0}.jd-profit-form-label{font-size:var(--text-xs)}.jd-profit-form-select{padding:6px;font-size:var(--text-xs);width:100%}.jd-profit-form-input{padding:6px;font-size:var(--text-xs)}.jd-profit-form-actions{display:flex;gap:6px}.jd-ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.jd-ai-header h3{margin:0}.jd-ai-count{font-size:var(--text-xs);color:var(--text-secondary)}.jd-ai-item{border:1px solid var(--border-default);border-radius:8px;padding:10px;margin-top:6px;cursor:pointer;transition:var(--transition-colors)}.jd-ai-item.expanded{background:var(--surface-2)}.jd-ai-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.jd-ai-item-body{flex:1}.jd-ai-question{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:3px}.jd-ai-meta{display:flex;gap:6px;font-size:10px;color:var(--text-secondary);flex-wrap:wrap}.jd-ai-type-badge{font-size:10px;padding:1px 5px}.jd-ai-helpful{color:var(--status-success)}.jd-ai-not-helpful{color:var(--status-error)}.jd-ai-toggle{color:var(--text-secondary);font-size:var(--text-xs)}.jd-ai-answer{margin-top:8px;padding:8px 10px;background:var(--surface-2);border-radius:6px;font-size:var(--text-xs);line-height:var(--leading-relaxed);white-space:pre-wrap}.jd-sig-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.jd-sig-header h3{margin:0}.jd-sig-header-actions{display:flex;gap:6px}.jd-sig-list{display:flex;gap:12px;flex-wrap:wrap}.jd-sig-list.has-capture{margin-bottom:14px}.jd-sig-card{border:1px solid var(--border-default);border-radius:8px;padding:10px;min-width:200px;background:var(--surface-1)}.jd-sig-card-type{font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:3px}.jd-sig-card-type.before{color:var(--metric-blue)}.jd-sig-card-type.after{color:var(--status-success)}.jd-sig-card-img{max-width:220px;height:70px;object-fit:contain;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-1)}.jd-sig-card-name{font-size:var(--text-xs);margin-top:4px;font-weight:var(--weight-medium)}.jd-sig-card-date{font-size:var(--text-xs);color:var(--text-secondary)}.jd-sig-capture-box{border:1px solid var(--border-default);border-radius:8px;padding:14px;background:var(--surface-2)}.jd-sig-capture-title{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:10px}.jd-sig-capture-name-row{margin-top:10px}.jd-sig-capture-name-label{display:block;margin-bottom:3px}.jd-sig-capture-name-input{width:280px;height:32px}.jd-sig-capture-actions{display:flex;gap:6px;margin-top:10px}.jd-sig-empty{color:var(--text-secondary);font-size:var(--text-xs);margin:0}.jd-docs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.jd-docs-header-left{display:flex;align-items:center;gap:8px}.jd-docs-header-left h3{margin:0}.jd-docs-loading{text-align:center;padding:16px 0}.jd-docs-empty{color:var(--text-secondary);font-size:var(--text-xs);margin:0}.jd-docs-list{display:flex;flex-direction:column;gap:8px}.jd-docs-item{padding:12px 14px;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-2)}.jd-docs-item-row{display:flex;justify-content:space-between;align-items:flex-start}.jd-docs-item-body{flex:1}.jd-docs-item-title-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}.jd-docs-item-icon{font-size:var(--text-base)}.jd-docs-item-name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.jd-docs-item-meta{font-size:var(--text-xs);color:var(--text-secondary);margin-left:22px}.jd-docs-item-actions{display:flex;gap:4px;flex-shrink:0}.jd-docs-download-link{text-decoration:none}.jd-send-doc-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.jd-send-doc-box{background:var(--surface-1);border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow:auto;box-shadow:var(--shadow-xl)}.jd-send-doc-header{padding:18px 22px 14px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.jd-send-doc-header h3{margin:0;font-size:var(--text-md)}.jd-send-doc-step-label{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.jd-send-doc-close{border:none;background:none;font-size:var(--text-xl);cursor:pointer;color:var(--text-secondary)}.jd-send-doc-progress-wrap{padding:0 22px;margin-top:14px}.jd-send-doc-progress{display:flex;gap:4px}.jd-send-doc-progress-dot{flex:1;height:3px;border-radius:2px;transition:background var(--duration-normal) var(--ease-default)}.jd-send-doc-progress-dot.active{background:var(--accent)}.jd-send-doc-progress-dot.inactive{background:var(--border-default)}.jd-send-doc-body{padding:18px 22px 22px}.jd-send-doc-instruction{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:14px;margin-top:0}.jd-send-doc-types{display:flex;flex-direction:column;gap:8px}.jd-send-doc-type-btn{padding:14px;border-radius:10px;border:2px solid;cursor:pointer;text-align:left;transition:var(--transition-colors)}.jd-send-doc-type-btn.selected{border-color:var(--accent);background:var(--accent-light)}.jd-send-doc-type-btn.unselected{border-color:var(--border-default);background:var(--surface-1)}.jd-send-doc-type-inner{display:flex;align-items:center;gap:10px}.jd-send-doc-type-icon{font-size:var(--text-2xl)}.jd-send-doc-type-title{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.jd-send-doc-type-desc{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.jd-send-doc-step-actions{margin-top:16px;display:flex;justify-content:flex-end}.jd-send-doc-step-actions-between{display:flex;justify-content:space-between}.jd-send-doc-nav-btn{padding:8px 20px}.jd-send-doc-next-btn{padding:8px 24px}.jd-send-doc-next-btn:disabled{opacity:.5}.jd-send-doc-field{margin-bottom:14px}.jd-send-doc-field-label{display:block;margin-bottom:4px}.jd-send-doc-field-input{width:100%;box-sizing:border-box}.jd-send-doc-field-input-disabled{width:100%;background:var(--surface-2);box-sizing:border-box}.jd-send-doc-review-box{padding:14px;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-2);margin-bottom:16px}.jd-send-doc-review-grid{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:var(--text-sm)}.jd-send-doc-review-label{color:var(--text-secondary);font-weight:var(--weight-medium)}.jd-send-doc-review-val{font-weight:var(--weight-semibold)}.jd-send-doc-review-val-med{font-weight:var(--weight-medium)}@media(max-width:768px){.job-detail-page{padding:16px}.jd-panels{grid-template-columns:1fr}.jd-header{flex-direction:column;align-items:flex-start}.info-grid,.photos-grid{grid-template-columns:1fr}.jd-metrics{grid-template-columns:1fr 1fr}}.calendar-page{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden;background:var(--surface-0)}.calendar-main-container{display:flex;flex:1;overflow:hidden;position:relative}.calendar-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-subtle);background:var(--surface-1);flex-shrink:0}.calendar-nav-btn{width:32px;height:32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-default);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--duration-fast)}.calendar-nav-btn:hover{background:var(--surface-3);color:var(--text-primary)}.calendar-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;min-width:180px;text-align:center}.calendar-today-btn{height:32px;padding:0 14px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;color:var(--text-primary);transition:all var(--duration-fast)}.calendar-today-btn:hover{background:var(--surface-3)}.tech-filter-pills{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--border-subtle);background:var(--surface-0);flex-shrink:0}.tech-pill{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;border:1.5px solid var(--border-default);background:var(--surface-1);cursor:pointer;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);transition:all .15s}.tech-pill:hover{border-color:var(--text-muted)}.tech-pill.active{border-color:var(--color, #0D9488);background:color-mix(in srgb,var(--color, #0D9488) 10%,transparent);color:var(--text-primary)}.tech-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--color, #0D9488)}.cal-glance{width:280px;border-left:1px solid var(--border-subtle);background:var(--surface-1);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.cal-glance-header{padding:20px;border-bottom:1px solid var(--border-subtle)}.cal-glance-title{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.cal-glance-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cal-stat-tile{background:var(--surface-2);padding:12px;border-radius:10px}.cal-stat-label{font-size:10px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;margin-bottom:2px}.cal-stat-value{font-size:var(--text-lg);font-weight:800;color:var(--text-primary)}.cal-glance-content{flex:1;overflow-y:auto;padding:10px 0}.cal-job-row{display:flex;gap:12px;padding:12px 20px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-subtle)}.cal-job-row:hover{background:var(--surface-2)}.cal-job-time{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-secondary);width:55px;padding-top:2px}.cal-job-info{flex:1;min-width:0}.cal-job-customer{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.cal-job-tech{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.cal-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.fc{--fc-border-color: var(--border-subtle);--fc-button-text-color: var(--text-primary);--fc-button-bg-color: var(--surface-2);--fc-button-border-color: var(--border-default);--fc-button-hover-bg-color: var(--surface-3);--fc-button-hover-border-color: var(--border-default);--fc-button-active-bg-color: var(--surface-3);--fc-button-active-border-color: var(--border-default);font-family:var(--font-body)}.fc .fc-toolbar{display:none}.fc-theme-standard td,.fc-theme-standard th{border-color:var(--border-subtle)}.fc .fc-col-header-cell{background:var(--surface-1);padding:10px 0}.fc .fc-col-header-cell-cushion{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-decoration:none}.fc .fc-timegrid-slot-label-cushion{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.fc .fc-timegrid-axis-cushion{font-size:10px;font-weight:700;color:var(--text-muted)}.fc-v-event{background:transparent;border:none;box-shadow:none}.fc-timegrid-event-harness{margin:0 1px}.calendar-scroll-area{flex:1;overflow-y:auto;padding:20px}.cal-revenue-tracker{background:var(--surface-2);border-radius:10px;padding:14px;margin-bottom:12px}.cal-revenue-amount{font-size:var(--text-2xl);font-weight:800;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.04em}.cal-revenue-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.cal-revenue-bar{height:4px;background:var(--surface-3);border-radius:2px;margin-top:10px;overflow:hidden}.cal-revenue-fill{height:100%;background:var(--brand-accent);border-radius:2px;transition:width .6s ease}.cal-revenue-target{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.cal-open-slots-section{padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.cal-open-slots-title{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.cal-open-slot{padding:8px 10px;border-radius:8px;background:var(--color-success-bg);border:1px solid var(--color-success-border);display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;cursor:pointer;transition:all .15s}.cal-open-slot:hover{background:#d1fae5}[data-theme=dark] .cal-open-slot:hover{background:#10b98126}.cal-slot-tech{font-size:var(--text-xs);font-weight:600;color:var(--color-success-text)}.cal-slot-time{font-size:.6875rem;color:var(--color-success-text);opacity:.8}.cal-schedule-btn{font-size:.6875rem;font-weight:700;color:#fff;background:#059669;border:none;border-radius:5px;padding:3px 8px;cursor:pointer;white-space:nowrap;transition:background .15s}.cal-schedule-btn:hover{background:#047857}.eq-detail-page{max-width:1100px;margin:0 auto}.eq-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px}.eq-detail-header-info{flex:1;min-width:0}.eq-detail-title{font-family:var(--font-display);font-size:var(--text-2xl, 1.5rem);font-weight:800;color:var(--text-primary);margin:0 0 6px;line-height:1.2}.eq-detail-subtitle{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eq-detail-subtitle .eq-detail-serial{color:var(--text-primary);font-weight:600}.eq-detail-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full, 999px);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--surface-2, #f1f5f9);color:var(--text-secondary);border:1px solid var(--border-subtle)}.eq-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.eq-detail-section{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);overflow:hidden}.eq-detail-section+.eq-detail-section{margin-top:20px}.eq-detail-section-header{padding:14px 20px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.eq-detail-section-body{padding:20px}.eq-detail-fields{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;font-size:var(--text-sm)}.eq-detail-label{color:var(--text-muted);font-family:var(--font-body);font-weight:500;padding-top:1px}.eq-detail-value{color:var(--text-primary);font-family:var(--font-body);word-break:break-word}.eq-detail-value-mono{font-family:var(--font-mono);letter-spacing:.02em}.eq-detail-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full, 999px);font-size:12px;font-weight:600;background:color-mix(in srgb,var(--accent, #6366f1) 12%,transparent);color:var(--accent, #6366f1);border:1px solid color-mix(in srgb,var(--accent, #6366f1) 20%,transparent)}.eq-detail-notes{white-space:pre-wrap;line-height:1.6;font-size:var(--text-sm);color:var(--text-secondary)}.eq-detail-warranty-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px}.eq-detail-warranty-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:var(--radius-full, 999px);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.02em}.eq-detail-warranty-badge.warranty-active{background:color-mix(in srgb,#10b981 14%,transparent);color:#059669;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.eq-detail-warranty-badge.warranty-expiring{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706;border:1px solid color-mix(in srgb,#f59e0b 25%,transparent)}.eq-detail-warranty-badge.warranty-expired{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.eq-detail-warranty-badge.warranty-unknown{background:var(--surface-2, #f1f5f9);color:var(--text-muted);border:1px solid var(--border-subtle)}.eq-detail-warranty-date{margin-top:12px;font-size:var(--text-sm);color:var(--text-secondary)}.eq-detail-filter-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px}.eq-detail-filter-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:var(--radius-full, 999px);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.02em}.eq-detail-filter-badge.filter-upcoming{background:color-mix(in srgb,#10b981 14%,transparent);color:#059669;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.eq-detail-filter-badge.filter-due-soon{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706;border:1px solid color-mix(in srgb,#f59e0b 25%,transparent)}.eq-detail-filter-badge.filter-overdue{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.eq-detail-filter-badge.filter-notset{background:var(--surface-2, #f1f5f9);color:var(--text-muted);border:1px solid var(--border-subtle)}.eq-detail-filter-date{margin-top:12px;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:.02em}.eq-detail-filter-notset{font-family:var(--font-body);font-weight:500;color:var(--text-muted);font-size:var(--text-sm)}.eq-detail-filter-remaining{margin-top:4px;font-size:var(--text-xs);color:var(--text-muted)}.eq-detail-filter-edit{margin-top:8px}.eq-detail-status-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.eq-detail-status-row+.eq-detail-status-row{border-top:1px solid var(--border-subtle)}.eq-detail-status-label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.eq-detail-actions{display:flex;flex-direction:column;gap:8px;padding:16px 20px}.eq-detail-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md, 8px);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s,transform .1s;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);text-decoration:none}.eq-detail-action-btn:hover{background:var(--surface-2, #f8fafc);transform:translateY(-1px)}.eq-detail-action-btn.action-primary{background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;border:none;box-shadow:0 2px 8px #6366f140}.eq-detail-action-btn.action-primary:hover{box-shadow:0 4px 12px #6366f159}.eq-detail-action-btn.action-danger{color:#dc2626;border-color:color-mix(in srgb,#ef4444 30%,transparent)}.eq-detail-action-btn.action-danger:hover{background:color-mix(in srgb,#ef4444 8%,transparent)}.eq-detail-action-btn.action-danger-confirm{background:#ef4444;color:#fff;border-color:#ef4444}.eq-detail-timeline{position:relative;padding-left:24px}.eq-detail-timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--border-default);border-radius:1px}.eq-detail-timeline-item{position:relative;padding-bottom:24px}.eq-detail-timeline-item:last-child{padding-bottom:0}.eq-detail-timeline-dot{position:absolute;left:-20px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent, #6366f1);border:2px solid var(--surface-1);box-shadow:0 0 0 2px var(--border-default)}.eq-detail-timeline-content{background:var(--surface-2, #f8fafc);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);padding:14px 16px}.eq-detail-timeline-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:4px}.eq-detail-timeline-meta{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px}.eq-detail-timeline-notes{font-size:var(--text-xs);color:var(--text-secondary);margin-top:8px;padding:8px 10px;background:var(--surface-1);border-left:3px solid #10b981;border-radius:var(--radius-sm, 4px);white-space:pre-wrap}.eq-detail-due-date{text-align:center;padding:16px 20px}.eq-detail-due-value{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--accent, #6366f1);margin-bottom:4px}.eq-detail-due-label{font-size:var(--text-xs);color:var(--text-muted)}.eq-detail-empty{text-align:center;padding:40px 24px;color:var(--text-muted)}.eq-detail-empty-icon{font-size:32px;margin-bottom:10px;opacity:.6}.eq-detail-empty-title{font-family:var(--font-display);font-weight:700;color:var(--text-primary);margin-bottom:4px;font-size:var(--text-sm)}.eq-detail-empty-desc{font-size:var(--text-xs);color:var(--text-secondary)}.eq-detail-skeleton{padding:40px;text-align:center}.eq-detail-customer-link{color:var(--accent, #6366f1);text-decoration:none;font-weight:600;transition:opacity .15s}.eq-detail-customer-link:hover{opacity:.8}[data-theme=dark] .eq-detail-type-badge{background:var(--surface-3, #1e293b);border-color:var(--border-default)}[data-theme=dark] .eq-detail-warranty-badge.warranty-active{background:color-mix(in srgb,#10b981 18%,transparent);color:#34d399}[data-theme=dark] .eq-detail-warranty-badge.warranty-expiring{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fbbf24}[data-theme=dark] .eq-detail-warranty-badge.warranty-expired{background:color-mix(in srgb,#ef4444 18%,transparent);color:#f87171}[data-theme=dark] .eq-detail-warranty-badge.warranty-unknown{background:var(--surface-3, #1e293b);color:var(--text-muted)}[data-theme=dark] .eq-detail-filter-badge.filter-upcoming{background:color-mix(in srgb,#10b981 18%,transparent);color:#34d399}[data-theme=dark] .eq-detail-filter-badge.filter-due-soon{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fbbf24}[data-theme=dark] .eq-detail-filter-badge.filter-overdue{background:color-mix(in srgb,#ef4444 18%,transparent);color:#f87171}[data-theme=dark] .eq-detail-filter-badge.filter-notset{background:var(--surface-3, #1e293b);color:var(--text-muted)}[data-theme=dark] .eq-detail-action-btn{background:var(--surface-2, #1e293b);border-color:var(--border-default)}[data-theme=dark] .eq-detail-action-btn:hover{background:var(--surface-3, #334155)}[data-theme=dark] .eq-detail-action-btn.action-danger{color:#f87171}[data-theme=dark] .eq-detail-action-btn.action-danger-confirm{background:#dc2626;color:#fff}[data-theme=dark] .eq-detail-timeline-content{background:var(--surface-2, #1e293b);border-color:var(--border-default)}[data-theme=dark] .eq-detail-timeline-notes{background:var(--surface-1)}[data-theme=dark] .eq-detail-tag{background:color-mix(in srgb,var(--accent, #6366f1) 20%,transparent)}.eq-inline-display{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:2px 6px;margin:-2px -6px;border-radius:4px;transition:background .15s}.eq-inline-display:hover{background:var(--surface-2, #f1f5f9)}.eq-inline-pencil{opacity:0;color:var(--text-muted);transition:opacity .15s;flex-shrink:0}.eq-inline-display:hover .eq-inline-pencil{opacity:1}.eq-inline-check{color:#10b981;flex-shrink:0;animation:eq-check-pop .3s ease}@keyframes eq-check-pop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.eq-inline-empty{color:var(--text-muted);font-style:italic}.eq-inline-wrap{display:inline-flex;width:100%}.eq-inline-input{width:100%;padding:4px 8px;border:1px solid var(--accent, #6366f1);border-radius:4px;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);background:var(--surface-1);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #6366f1) 20%,transparent)}.eq-inline-input.mono{font-family:var(--font-mono)}.eq-inline-input.textarea{resize:vertical;min-height:60px;line-height:1.5}.eq-detail-tag-pill{display:inline-flex;align-items:center;padding:6px 16px;border-radius:20px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.02em;background:var(--accent, #6366f1);color:#fff}.eq-service-pill{display:inline-flex;align-items:center;padding:4px 14px;border-radius:var(--radius-full, 999px);font-family:var(--font-display);font-size:12px;font-weight:700;margin-top:8px}.eq-service-upcoming{background:color-mix(in srgb,#6366f1 14%,transparent);color:#6366f1}.eq-service-due-soon{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.eq-service-overdue{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626}[data-theme=dark] .eq-inline-display:hover{background:var(--surface-3, #1e293b)}[data-theme=dark] .eq-inline-input{background:var(--surface-2, #1e293b);border-color:var(--accent, #818cf8);color:var(--text-primary)}[data-theme=dark] .eq-detail-tag-pill{background:var(--accent, #818cf8)}[data-theme=dark] .eq-service-upcoming{background:color-mix(in srgb,#818cf8 20%,transparent);color:#a5b4fc}[data-theme=dark] .eq-service-due-soon{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#fbbf24}[data-theme=dark] .eq-service-overdue{background:color-mix(in srgb,#ef4444 20%,transparent);color:#f87171}@media(max-width:768px){.eq-detail-grid{grid-template-columns:1fr}.eq-detail-header{flex-direction:column}.eq-detail-fields{grid-template-columns:120px 1fr}}.refund-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:refund-fade-in .2s ease-out}@keyframes refund-fade-in{0%{opacity:0}to{opacity:1}}.refund-modal{background:var(--surface-0, #fff);border-radius:16px;width:100%;max-width:440px;margin:16px;padding:28px;box-shadow:0 20px 60px #00000026;animation:refund-scale-in .2s ease-out}@keyframes refund-scale-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .refund-modal{background:var(--surface-1, #1e1e2e);box-shadow:0 20px 60px #0006}.refund-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.refund-header-left{display:flex;align-items:center;gap:10px}.refund-icon-pill{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.refund-icon-pill.refund-icon-red{background:#ef44441a;color:#ef4444}[data-theme=dark] .refund-icon-pill.refund-icon-red{background:#ef44441f;color:#f87171}.refund-icon-pill.refund-icon-green{background:#10b9811a;color:#10b981}[data-theme=dark] .refund-icon-pill.refund-icon-green{background:#10b98126;color:#34d399}.refund-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:18px;font-weight:700;color:var(--text-primary, #111827);margin:0}.refund-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #9ca3af);transition:background .15s}.refund-close:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .refund-close:hover{background:#ffffff0f}.refund-section{background:var(--surface-2, #f9fafb);border-radius:10px;padding:18px;margin-bottom:20px;border:1px solid transparent}[data-theme=dark] .refund-section{background:#ffffff08;border-color:#ffffff0a}.refund-detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.refund-detail-row+.refund-detail-row{border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .05));margin-top:6px;padding-top:12px}[data-theme=dark] .refund-detail-row+.refund-detail-row{border-top-color:#ffffff0a}.refund-detail-label{font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280)}.refund-detail-value{font-family:var(--font-mono, "DM Mono", monospace);font-size:13px;font-weight:600;color:var(--text-primary, #111827)}.refund-detail-value.refund-strikethrough{text-decoration:line-through;color:var(--text-muted, #9ca3af)}.refund-detail-value.refund-amount-green{font-size:20px;font-weight:800;color:#10b981}[data-theme=dark] .refund-detail-value.refund-amount-green{color:#34d399}.refund-detail-value.refund-txn-id{font-size:11px;color:var(--text-muted, #9ca3af)}.refund-copy-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:var(--font-mono, "DM Mono", monospace);font-size:11px;font-weight:600;color:var(--text-muted, #9ca3af);padding:2px 6px;border-radius:4px;transition:background .15s,color .15s}.refund-copy-btn:hover{background:var(--surface-2, #f3f4f6);color:var(--text-secondary, #6b7280)}[data-theme=dark] .refund-copy-btn:hover{background:#ffffff0f}.refund-copy-btn.refund-copied{color:#10b981}.refund-timeframe{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #6b7280);margin-top:14px;padding-top:12px;border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .05))}[data-theme=dark] .refund-timeframe{border-top-color:#ffffff0a}.refund-timeframe svg{flex-shrink:0;color:var(--text-muted, #9ca3af)}.refund-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:10px;border:none;color:#fff;font-family:var(--font-body, "DM Sans", sans-serif);font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s}.refund-cta:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.refund-cta-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 10px #ef44444d}.refund-cta-danger:hover{box-shadow:0 4px 14px #ef444459}.refund-error-msg{font-size:14px;color:var(--text-primary, #111827);line-height:1.6;margin:0 0 20px}.refund-error-detail{font-family:var(--font-mono, "DM Mono", monospace);font-size:12px;padding:10px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.12);border-radius:8px;color:#ef4444;margin-bottom:20px;word-break:break-all}[data-theme=dark] .refund-error-detail{background:#ef444414;border-color:#f8717126;color:#f87171}.refund-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;background:#fee2e2;color:#991b1b}[data-theme=dark] .refund-badge{background:#ef44441f;color:#fca5a5}.refund-amount-sub{font-family:var(--font-mono, "DM Mono", monospace);font-size:11px;font-weight:500;color:#ef4444;margin-top:2px}[data-theme=dark] .refund-amount-sub{color:#f87171}.reviews-page{padding:var(--page-padding);background:var(--surface-0);min-height:100vh}.reviews-header-flex{display:flex;align-items:flex-end;gap:32px;margin-bottom:32px;flex-wrap:wrap}.review-score-container{display:flex;flex-direction:column;gap:4px}.review-score{font-size:3.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.04em;line-height:1}.review-stars{color:#f59e0b;font-size:1.5rem;letter-spacing:2px}.review-count-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.star-distribution{flex:1;min-width:280px;max-width:400px;display:flex;flex-direction:column;gap:6px}.distribution-row{display:flex;align-items:center;gap:12px;font-size:var(--text-xs);color:var(--text-secondary)}.star-label{width:45px;font-weight:600;text-align:right}.progress-bar-bg{flex:1;height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:#f59e0b;border-radius:4px;transition:width .6s ease-out}.percentage-label{width:35px;font-weight:600;text-align:right}.review-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin-bottom:16px;transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.review-card:hover{box-shadow:var(--shadow-md)}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.review-card-stars{color:#f59e0b;font-size:1.125rem;letter-spacing:1px}.review-date{font-size:var(--text-xs);color:var(--text-muted)}.review-text{font-size:var(--text-base);color:var(--text-primary);line-height:1.6;margin-bottom:16px;font-style:italic}.review-customer{display:flex;align-items:center;gap:10px}.review-customer-name{font-weight:700;font-size:var(--text-sm);color:var(--text-primary)}.review-response{margin-top:16px;padding:16px;background:var(--surface-2);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.response-label{font-size:var(--text-xs);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.response-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.respond-area{margin-top:16px}.respond-textarea{width:100%;padding:12px;border:1px solid var(--border-default);border-radius:8px;font-family:inherit;font-size:var(--text-sm);margin-bottom:10px;outline:none;transition:border-color .2s}.respond-textarea:focus{border-color:var(--accent)}.reviews-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.scheduler-page{padding:32px;max-width:1800px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:32px;font-weight:800;color:var(--text-primary);margin:0 0 8px;font-family:Outfit,sans-serif}.page-header p{font-size:14px;color:var(--text-secondary);margin:0}.scheduler-controls{display:flex;gap:16px;align-items:center;padding:20px;background:var(--bg-card);border-radius:18px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap}.form-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-card);cursor:pointer;min-width:150px}.form-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.view-buttons{display:flex;gap:4px;background:var(--bg-light);padding:4px;border-radius:8px}.btn-view{padding:6px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.btn-view:hover{background:var(--border);color:var(--text-primary)}.btn-view.active{background:var(--bg-card);color:#6366f1;box-shadow:0 1px 2px #0000000d}.scheduler-legend{display:flex;gap:20px;padding:16px 20px;background:var(--bg-secondary);border-radius:12px;margin-bottom:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);font-weight:500}.legend-color{width:16px;height:16px;border-radius:4px}.scheduler-calendar{background:var(--bg-card);padding:24px;border-radius:18px;box-shadow:0 1px 3px #00000014;margin-bottom:24px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.fc .fc-toolbar-title{font-size:24px;font-weight:700;color:var(--text-primary);font-family:Outfit,sans-serif}.fc .fc-button{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-weight:600;font-size:14px;text-transform:capitalize}.fc .fc-button:hover{background:var(--bg-light);border-color:var(--text-secondary)}.fc .fc-button-primary:not(:disabled).fc-button-active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#6366f1;color:#fff}.fc .fc-button-primary:disabled{background:var(--bg-light);border-color:var(--border);color:var(--text-secondary);cursor:not-allowed}.fc .fc-col-header-cell{background:var(--bg-secondary);border-color:var(--border);padding:12px 8px}.fc .fc-col-header-cell-cushion{color:var(--text-secondary);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.fc .fc-day-today{background:#6366f10d!important}.fc .fc-timegrid-col.fc-day-today{background:#6366f108!important}.fc .fc-timegrid-slot{height:2em;border-color:#f3f4f6}.fc .fc-timegrid-slot-label{font-size:12px;color:var(--text-secondary);font-weight:500}.fc-event{border-radius:6px;border:none!important;padding:4px 8px;margin-bottom:2px;cursor:pointer;transition:transform .2s,box-shadow .2s}.fc-event:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.fc-event-dragging{opacity:.7;z-index:1000}.scheduler-event-content{font-size:13px;line-height:1.3}.event-time{font-weight:700;font-size:11px;opacity:.9;margin-bottom:2px}.event-title{font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-tech{font-size:11px;opacity:.85;font-weight:500}.event-priority{font-size:10px;font-weight:700;margin-top:2px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.recurring-badge{display:inline-block;margin-right:4px;font-size:12px;animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fc-list-event-time{font-weight:600;color:#6366f1}.fc-list-event-title{font-weight:500}.fc .fc-non-business{background:#00000005}.fc .fc-timegrid-now-indicator-line{border-color:#ef4444;border-width:2px}.fc .fc-timegrid-now-indicator-arrow{border-color:#ef4444}.scheduler-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px}.stat-card{background:var(--bg-card);padding:20px;border-radius:12px;box-shadow:0 1px 3px #00000014;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-value{font-size:32px;font-weight:800;color:#6366f1;font-family:Outfit,sans-serif;margin-bottom:4px}.stat-label{font-size:13px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.batch-toolbar{background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:16px 20px;border-radius:12px;margin-bottom:16px;box-shadow:0 4px 12px #fbbf244d}.batch-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.batch-count{font-size:16px;font-weight:700;color:#78350f}.batch-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.batch-action-group{display:flex;align-items:center;gap:8px}.batch-action-group label{font-size:14px;font-weight:600;color:#78350f;white-space:nowrap}.btn-sm{padding:6px 12px;font-size:13px}.fc-resource-timeline .fc-resource-area{background:var(--bg-secondary);border-right:2px solid var(--border)}.fc-resource-timeline .fc-resource{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-primary);transition:background .2s}.fc-resource-timeline .fc-resource:hover{background:var(--bg-light)}.fc-resource .fc-datagrid-cell-cushion{padding:8px 12px}.fc-resource-timeline .fc-resource-name{font-weight:600;font-size:14px}.fc-resource .resource-stats{font-size:11px;color:var(--text-secondary);margin-top:4px}.fc-event.selected{opacity:.7;border:3px solid #fbbf24!important;box-shadow:0 0 0 4px #fbbf2433}@media(hover:none)and (pointer:coarse){.fc-event{padding:8px 12px;min-height:44px}.fc-button{min-width:44px;min-height:44px;padding:12px 16px}.btn-view{padding:10px 16px;font-size:14px}.fc-event-dragging{opacity:.8;transform:scale(1.05);box-shadow:0 8px 24px #0003}.fc-scroller{-webkit-overflow-scrolling:touch}}.keyboard-shortcuts-hint{position:fixed;bottom:20px;right:20px;background:#000c;color:#fff;padding:12px 16px;border-radius:8px;font-size:12px;line-height:1.6;max-width:300px;box-shadow:0 4px 12px #0000004d;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}.keyboard-shortcuts-hint.show{opacity:1}.keyboard-shortcuts-hint kbd{display:inline-block;padding:2px 6px;background:#374151;border:1px solid #4b5563;border-radius:4px;font-family:monospace;font-size:11px;margin:0 2px}@media(max-width:768px){.scheduler-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.scheduler-controls{flex-direction:column;align-items:stretch}.control-group,.form-select,.view-buttons{width:100%}.btn-view{flex:1}.scheduler-legend{flex-direction:column;gap:8px}.scheduler-calendar{padding:12px}.fc .fc-toolbar{flex-direction:column;gap:12px}.fc .fc-toolbar-chunk{width:100%;text-align:center}.scheduler-stats{grid-template-columns:1fr 1fr}}@media print{.scheduler-controls,.page-header button,.scheduler-legend,.scheduler-stats{display:none!important}.scheduler-calendar{box-shadow:none;border:1px solid var(--border)}.fc-event{page-break-inside:avoid}}[data-theme=dark] .page-header h1{color:var(--text-primary)}[data-theme=dark] .page-header p{color:var(--text-secondary)}[data-theme=dark] .scheduler-calendar,[data-theme=dark] .scheduler-legend,[data-theme=dark] .scheduler-stats,[data-theme=dark] .stat-card,[data-theme=dark] .scheduler-controls{border-color:var(--border)}[data-theme=dark] .legend-item span,[data-theme=dark] .stat-value{color:var(--text-primary)}[data-theme=dark] .stat-label{color:var(--text-secondary)}[data-theme=dark] .fc .fc-col-header-cell,[data-theme=dark] .fc .fc-daygrid-day{background:var(--bg-card)}[data-theme=dark] .fc .fc-col-header-cell-cushion,[data-theme=dark] .fc .fc-daygrid-day-number{color:var(--text-primary)}[data-theme=dark] .fc td,[data-theme=dark] .fc th{border-color:var(--border)}[data-theme=dark] .fc .fc-button-primary{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .fc .fc-button-primary:hover{background:var(--bg-card)}[data-theme=dark] .fc .fc-button-active{background:#6366f1!important;color:#fff!important}.esig-page{max-width:800px}.esig-back-row{margin-bottom:24px}.esig-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.esig-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.esig-header-text{flex:1}.esig-header-title{margin:0;color:var(--text-primary)}.esig-header-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-base)}.esig-status-pill{padding:4px 12px;border-radius:20px;font-size:var(--text-sm);font-weight:600;flex-shrink:0}.esig-status-connected{background:#d1fae5;color:#059669}.esig-status-disconnected{background:#fee2e2;color:#dc2626}.esig-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.esig-tab{padding:12px 20px;border:none;background:none;cursor:pointer;font-size:var(--text-base);border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:400;transition:color .15s,border-color .15s}.esig-tab-active{border-bottom-color:#2563eb;color:#2563eb;font-weight:600}.esig-providers-card{padding:24px;margin-bottom:20px}.esig-providers-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.esig-providers-header-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.esig-providers-title{margin:0;font-size:var(--text-md);font-weight:600}.esig-providers-subtitle{margin:2px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.esig-provider-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.esig-provider-row{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;background:var(--surface-0, var(--bg-card));border-bottom:1px solid var(--border);transition:background .15s}.esig-provider-row:last-child{border-bottom:none}.esig-provider-row:hover,.esig-provider-selected{background:var(--surface-1, var(--bg-secondary))}.esig-provider-radio{padding-top:2px;flex-shrink:0}.esig-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:border-color .15s}.esig-radio-checked{border-color:#6366f1}.esig-radio-dot{width:10px;height:10px;border-radius:50%;background:#6366f1}.esig-provider-info{flex:1;min-width:0}.esig-provider-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.esig-provider-name{font-weight:600;font-size:var(--text-base)}.esig-active-pill{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;background:#dbeafe;color:#2563eb}.esig-connected-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#059669}.esig-not-connected-badge{font-size:11px;font-weight:500;color:var(--text-tertiary)}.esig-provider-desc{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.esig-provider-actions{margin-top:12px}.esig-provider-connected-actions{display:flex;flex-direction:column;gap:8px}.esig-masked-key{font-size:var(--text-xs);color:var(--text-secondary)}.esig-masked-key code{font-size:var(--text-xs)}.esig-provider-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.esig-disconnect-btn{border:1px solid #fecaca;background:#fef2f2;color:#dc2626;padding:4px 12px;border-radius:6px;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s}.esig-disconnect-btn:hover{background:#fee2e2}.esig-provider-connect-actions{display:flex;flex-direction:column;gap:8px}.esig-api-key-row{display:flex;gap:8px;align-items:center}.esig-api-key-input{flex:1;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:var(--text-sm);background:var(--bg-card);color:var(--text-primary)}.esig-test-result{padding:12px 16px;border-radius:8px;font-weight:500;font-size:var(--text-base);margin-bottom:20px}.esig-test-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.esig-test-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.esig-how-it-works{padding:16px;background:var(--bg-secondary)}.esig-how-title{font-size:var(--text-base);font-weight:600;margin-bottom:8px}.esig-how-list{margin:0;padding-left:20px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}[data-theme=dark] .esig-status-connected{background:#10b98126;color:#34d399}[data-theme=dark] .esig-status-disconnected{background:#ef444426;color:#fca5a5}[data-theme=dark] .esig-active-pill{background:#6366f133;color:#a5b4fc}[data-theme=dark] .esig-connected-badge{color:#34d399}[data-theme=dark] .esig-disconnect-btn{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}[data-theme=dark] .esig-disconnect-btn:hover{background:#ef444433}[data-theme=dark] .esig-test-success{background:#10b9811a;border-color:#10b9814d;color:#34d399}[data-theme=dark] .esig-test-error{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.lct-template-card{margin-bottom:16px}.lct-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.lct-source-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:20px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em}.lct-toggles{display:flex;gap:16px}.lct-toggle-label{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);cursor:pointer}.lct-toggle-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:0}.lct-card-body{display:flex;flex-direction:column;gap:16px}.lct-field-group{display:flex;flex-direction:column;gap:6px}.lct-field-group .stg-form-label{display:flex;align-items:center;gap:6px}.lct-char-count{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0;font-family:DM Mono,monospace;font-size:10px;color:var(--text-tertiary)}.lct-optional{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0;font-size:10px;color:var(--text-tertiary);font-style:italic}.lct-textarea{resize:vertical;min-height:80px;line-height:1.5;font-family:DM Sans,sans-serif}.lct-field-group .stg-form-input:disabled,.lct-field-group .lct-textarea:disabled{opacity:.4;pointer-events:none;cursor:not-allowed}.lct-disabled-note{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;margin-top:2px}.lct-save-row{display:flex;justify-content:flex-end;padding-top:4px}.lct-bcc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.lct-bcc-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500;background:#6366f11f;color:#818cf8;border:1px solid rgba(99,102,241,.2)}.lct-bcc-pill-x{background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:0;color:inherit;opacity:.6}.lct-bcc-pill-x:hover{opacity:1}.lct-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.lct-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);border:1px solid var(--border-default);border-radius:16px;width:360px;max-width:90vw;z-index:1001;box-shadow:var(--shadow-xl)}.lct-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.lct-modal-header h3{margin:0;font-size:var(--text-base);font-weight:600}.lct-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:4px;border-radius:6px}.lct-modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.lct-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.lct-add-source-btn{display:flex;align-items:center;width:100%;padding:10px 14px;background:none;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .15s}.lct-add-source-btn:hover{background:var(--bg-elevated);border-color:var(--border-default)}@media(max-width:640px){.lct-card-header{flex-direction:column;align-items:flex-start}}.klv-wizard{max-width:800px}.klv-steps{display:flex;gap:0;margin-bottom:32px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.klv-step{flex:1;padding:10px 12px;text-align:center;font-size:var(--text-sm);font-weight:500;font-family:DM Sans,sans-serif;background:var(--bg-secondary);color:var(--text-secondary);border-right:1px solid var(--border);transition:background .2s,color .2s}.klv-step:last-child{border-right:none}.klv-step-active{background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-weight:700}.klv-step-done{background:#eef2ff;color:#4f46e5}.klv-dropzone{border:2px dashed var(--border);border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;background:var(--bg-secondary);transition:all .15s}.klv-dropzone:hover{border-color:#6366f1;background:var(--bg-card)}.klv-dropzone.klv-dragover{border-color:#6366f1;background:#eef2ff}.klv-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;font-size:var(--text-base);margin-bottom:16px;font-family:DM Sans,sans-serif}.klv-field-row{display:flex;align-items:center;gap:16px}.klv-preview-table{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.klv-preview-table table{min-width:600px}.klv-preview-table th{background:var(--bg-secondary)}.klv-summary{text-align:center;padding:48px 24px}.klv-summary-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 12px;text-align:center}.klv-summary-stat-value{font-size:28px;font-weight:700;font-family:Outfit,sans-serif;margin-bottom:4px}.klv-summary-stat-label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);font-family:DM Sans,sans-serif}.klv-btn-primary{padding:10px 28px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;border:none;border-radius:8px;font-size:var(--text-base);font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:opacity .15s}.klv-btn-primary:hover{opacity:.88}.klv-btn-secondary{padding:10px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:var(--text-base);font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;color:var(--text-primary);transition:background .15s}.klv-btn-secondary:hover{background:var(--bg-secondary)}@media(max-width:600px){.klv-field-row{flex-direction:column;align-items:flex-start;gap:6px}.klv-field-row>div:first-child{width:auto}.klv-field-row select{width:100%}.klv-steps{font-size:var(--text-xs)}.klv-step{padding:8px 6px}.klv-summary-stat-value{font-size:22px}}.sa-header{margin-bottom:20px}.sa-title{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.sa-subtitle{font-family:var(--font-body);font-size:13px;color:var(--text-secondary);margin:0}.sa-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.sa-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.sa-card-header:hover{background:var(--surface-2)}.sa-card-name{font-family:var(--font-heading);font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 2px}.sa-card-desc{font-family:var(--font-body);font-size:13px;color:var(--text-secondary);margin:0}.sa-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;padding:0;cursor:pointer;background:var(--surface-3);transition:background .2s;flex-shrink:0}.sa-toggle.on{background:var(--accent)}.sa-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.sa-toggle.on:after{transform:translate(20px)}.sa-config{border-top:1px solid var(--border);padding:16px 24px 24px}.sa-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.sa-checkbox-label{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;color:var(--text-primary);cursor:pointer;padding:6px 10px;border-radius:6px;transition:background .12s}.sa-checkbox-label:hover{background:var(--surface-2)}.sa-checkbox-label input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.sa-textarea{width:100%;background:var(--surface-0);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:var(--font-body);font-size:13px;color:var(--text-primary);resize:vertical;transition:border-color .15s}.sa-textarea:focus{outline:none;border-color:var(--accent)}.sa-tokens{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.sa-token-btn{display:inline-flex;align-items:center;gap:2px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .12s}.sa-token-btn:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--accent)}.sa-save-btn{width:100%;margin-top:16px}.sa-label{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:block}.sa-field{margin-bottom:12px}.sa-field:last-child{margin-bottom:0}@media(max-width:640px){.sa-card-header,.sa-config{padding:16px}.sa-checkbox-grid{grid-template-columns:1fr}}.add-product-modal-overlay{position:fixed!important;inset:0!important;z-index:1000!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important}.compose-body{padding:20px;display:flex;flex-direction:column;gap:0}.compose-section-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.compose-search-wrap,.compose-search-input-wrap{position:relative}.compose-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.compose-search-input{padding-left:32px!important}.compose-dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown, 100);background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;margin-top:4px;max-height:240px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}[data-theme=dark] .compose-dropdown{box-shadow:0 8px 24px #0006}.compose-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text-primary);transition:background .12s ease}.compose-dropdown-item:hover{background:var(--surface-2)}.compose-dropdown-item+.compose-dropdown-item{border-top:1px solid var(--border-subtle, rgba(0,0,0,.04))}[data-theme=dark] .compose-dropdown-item+.compose-dropdown-item{border-color:#ffffff0a}.compose-dropdown-info{flex:1;min-width:0}.compose-dropdown-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compose-dropdown-contact{font-size:11px;color:var(--text-muted);margin-top:1px}.compose-dropdown-searching{padding:14px;text-align:center;font-size:13px;color:var(--text-muted)}.compose-type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.compose-type-customer{background:#0d94881a;color:#0d9488}[data-theme=dark] .compose-type-customer{background:#0d948826;color:#2dd4bf}.compose-type-lead{background:#8b5cf61a;color:#8b5cf6}[data-theme=dark] .compose-type-lead{background:#8b5cf626;color:#a78bfa}.compose-manual-toggle{display:inline-block;margin-top:8px;padding:0;border:none;background:none;font-size:12px;font-family:var(--font-body);color:var(--brand-accent, #0d9488);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.compose-manual-toggle:hover{opacity:.8}.compose-manual-wrap{display:flex;flex-direction:column;gap:8px}.compose-manual-notice{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:6px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);font-size:11px;color:#b45309;line-height:1.4}[data-theme=dark] .compose-manual-notice{background:#f59e0b0f;border-color:#f59e0b26;color:#fbbf24}.compose-manual-notice svg{flex-shrink:0;margin-top:1px;color:#f59e0b}.compose-selected{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--surface-3, var(--surface-2));border-radius:8px}.compose-selected-info{display:flex;align-items:center;gap:10px}.compose-selected-name{font-size:13px;font-weight:600;color:var(--text-primary)}.compose-selected-detail{font-size:11px;color:var(--text-muted);margin-top:1px}.compose-channel-toggle{display:flex;gap:8px}.compose-channel-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.compose-channel-btn:hover{border-color:var(--border-strong, var(--border-default));background:var(--surface-2)}.compose-channel-active{background:#6366f114;border-color:#6366f1;color:#6366f1}[data-theme=dark] .compose-channel-active{background:#6366f11f;color:#818cf8;border-color:#818cf8}.compose-call-info{margin-top:10px;padding:10px 12px;border-radius:6px;background:#6366f10f;border:1px solid rgba(99,102,241,.12);font-size:12px;color:var(--text-secondary);line-height:1.5}[data-theme=dark] .compose-call-info{background:#6366f114;border-color:#6366f126}.compose-textarea{resize:vertical;min-height:80px;max-height:160px;font-family:var(--font-body);font-size:13px;line-height:1.5}.compose-char-counter-row{display:flex;justify-content:flex-end;margin-top:6px}.compose-char-counter{font-size:11px;font-weight:600;font-family:var(--font-mono, "DM Mono", monospace);color:var(--text-muted);transition:color .15s ease}.compose-char-danger{color:#ef4444}.inbox-container{display:flex;height:calc(100vh - 160px);overflow:hidden;background:var(--surface-1);margin:calc(-1 * var(--space-6, 28px));margin-top:0;border-radius:var(--radius-lg);border:1px solid var(--border-default)}.inbox-sidebar{width:340px;min-width:320px;flex-shrink:0;border-right:1px solid var(--border-default);display:flex;flex-direction:column;background:var(--surface-1)}.inbox-sidebar-header{padding:var(--space-4) var(--space-4) 0}.inbox-sidebar-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.inbox-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--ls-heading);margin:0;display:flex;align-items:center;gap:var(--space-2)}.inbox-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--brand-accent);color:var(--text-on-accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1}.inbox-search{margin-bottom:var(--space-3)}.inbox-filter-tabs{margin-bottom:var(--space-3);width:100%}.inbox-conv-list{flex:1;overflow-y:auto}.inbox-conv-list::-webkit-scrollbar{width:4px}.inbox-conv-list::-webkit-scrollbar-track{background:transparent}.inbox-conv-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.inbox-skeleton-list{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.inbox-skeleton-row{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) 0}.inbox-skeleton-avatar{width:36px;height:36px;border-radius:var(--radius-full);flex-shrink:0}.inbox-skeleton-text-short{height:13px;width:65%;margin-bottom:6px}.inbox-skeleton-text-long{height:11px;width:85%}.inbox-conv-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);cursor:pointer;border-left:3px solid transparent;transition:background var(--duration-fast) var(--ease-default)}.inbox-conv-row:hover{background:var(--surface-2)}.inbox-conv-row.selected{background:var(--brand-accent-light);border-left-color:var(--brand-accent)}.inbox-conv-row.selected:hover{background:var(--brand-accent-light)}.inbox-conv-row.unread{background:var(--surface-2)}.inbox-conv-row.unread:hover{background:var(--surface-3)}.inbox-conv-row-inner{display:flex;gap:var(--space-3);align-items:flex-start}.inbox-conv-avatar-wrap{position:relative;flex-shrink:0}.inbox-conv-avatar-dot{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--brand-accent);border:2px solid var(--surface-1);z-index:2}.inbox-conv-channel-badge{position:absolute;bottom:-3px;right:-3px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--surface-1);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.inbox-conv-details{flex:1;min-width:0}.inbox-conv-top-row{display:flex;justify-content:space-between;align-items:center}.inbox-conv-name-wrap{display:flex;align-items:center;gap:5px;min-width:0}.inbox-conv-name{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-conv-name.unread{font-weight:var(--weight-bold)}.inbox-conv-location-dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.inbox-conv-lead-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#8b5cf61f;color:#a78bfa;flex-shrink:0}.avatar-unknown{background:var(--surface-3)!important;color:var(--text-muted)!important}.inbox-conv-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.inbox-conv-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.inbox-conv-unread-count{background:var(--brand-accent);color:var(--text-on-accent);font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:var(--radius-full);font-weight:var(--weight-bold);min-width:18px;text-align:center;line-height:1.4}.inbox-conv-preview{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-normal);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:var(--leading-normal)}.inbox-conv-preview.unread{color:var(--text-secondary);font-weight:var(--weight-medium)}.inbox-sidebar-footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);text-align:center;font-weight:var(--weight-medium)}.inbox-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.inbox-thread-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3)}.inbox-thread-empty-icon{color:var(--surface-4)}.inbox-thread-empty-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.inbox-thread-empty-desc{font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;text-align:center;line-height:var(--leading-normal)}.inbox-thread-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--space-3)}.inbox-skeleton-circle-lg{width:48px;height:48px;border-radius:var(--radius-full)}.inbox-skeleton-bar-md{width:140px;height:14px}.inbox-skeleton-bar-lg{width:200px;height:12px}.inbox-thread-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-default);background:var(--surface-1);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.inbox-thread-header-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.inbox-thread-customer-name{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-primary);letter-spacing:var(--ls-heading)}.inbox-thread-customer-name span{border-bottom:1px dashed var(--border-default)}.inbox-thread-contact-row{display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px}.inbox-thread-contact-item{display:flex;align-items:center;gap:3px}.inbox-thread-location-dot{width:6px;height:6px;border-radius:var(--radius-full)}.inbox-thread-health-score{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-weight:var(--weight-medium);padding:1px 6px;border-radius:var(--radius-full);background:var(--surface-2)}.inbox-thread-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.inbox-back-btn{display:none;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:none;background:none;color:var(--brand-accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;flex-shrink:0}.inbox-back-btn:hover{color:var(--brand-accent-hover)}.inbox-thread-messages{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface-1)}.inbox-thread-messages::-webkit-scrollbar{width:4px}.inbox-thread-messages::-webkit-scrollbar-track{background:transparent}.inbox-thread-messages::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.inbox-no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.inbox-no-messages-icon{color:var(--text-muted)}.inbox-no-messages-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.inbox-no-messages-desc{font-size:var(--text-sm);color:var(--text-secondary)}.inbox-msg-timestamp{text-align:center;padding:var(--space-3) 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.inbox-msg-wrapper{display:flex;flex-direction:column;max-width:75%}.inbox-msg-wrapper.inbound{align-items:flex-start;align-self:flex-start}.inbox-msg-wrapper.outbound{align-items:flex-end;align-self:flex-end}.inbox-msg-wrapper.new-sender{margin-top:var(--space-3)}.inbox-msg-wrapper.same-sender{margin-top:2px}.inbox-msg-sender{display:none}.inbox-msg-wrapper:hover .inbox-msg-sender{display:flex;gap:5px;align-items:center;margin-bottom:2px;font-size:10px;color:var(--text-muted)}.inbox-msg-sender-badge{font-size:10px;padding:0;border-radius:0;font-weight:var(--weight-normal);line-height:1.4;background:none!important;color:var(--text-muted)!important}.inbox-msg-bubble{padding:var(--space-3) var(--space-4);min-width:64px;max-width:100%;word-wrap:break-word;box-shadow:var(--shadow-xs)}.inbox-msg-bubble.inbound{border-radius:4px var(--radius-lg) var(--radius-lg) var(--radius-lg);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-default)}.inbox-msg-bubble.outbound{border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg);background:var(--brand-accent);color:var(--text-on-accent);border:none}.msg-internal-label{font-size:10px;color:#b45309;font-weight:500;margin-bottom:4px;padding-left:2px}.msg-internal-bubble{background:#fef3c7!important;color:var(--text-primary)!important;border-left:3px solid #f59e0b!important;border-radius:var(--radius-lg)!important}[data-theme=dark] .msg-internal-bubble{background:#f59e0b1f!important}[data-theme=dark] .msg-internal-label{color:#fbbf24}.inbox-msg-subject{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:var(--space-1);opacity:.9}.inbox-msg-body{font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap}.inbox-msg-media{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.inbox-msg-media img{max-width:200px;max-height:150px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.3);object-fit:cover}.inbox-msg-media a.inbound-link{color:var(--brand-accent);font-size:var(--text-sm)}.inbox-msg-media a.outbound-link{color:var(--text-on-accent);font-size:var(--text-sm)}.inbox-msg-call-meta{margin-top:var(--space-2);display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);opacity:.8}.inbox-msg-call-meta a.inbound-link{color:var(--brand-accent);text-decoration:underline}.inbox-msg-call-meta a.outbound-link{color:var(--text-on-accent);text-decoration:underline}.inbox-compose{border-top:1px solid var(--border-default);padding:var(--space-3) var(--space-5) var(--space-4);background:var(--surface-1)}.inbox-compose-ai-banner{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-amber-bg);border:1px solid var(--color-amber-border);font-size:var(--text-xs);color:var(--color-amber-text);display:flex;justify-content:space-between;align-items:center}.inbox-compose-ai-banner-text{display:flex;align-items:center;gap:var(--space-2)}.inbox-compose-modes{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.inbox-compose-tab{display:flex;align-items:center;gap:var(--space-1)}.inbox-compose-tab.disabled{opacity:.4;cursor:not-allowed}.inbox-ai-draft-btn{background:var(--color-amber-bg);border:1px solid var(--color-amber-border);color:var(--color-amber-text);display:flex;align-items:center;gap:var(--space-1)}.inbox-ai-draft-btn:hover{background:var(--color-amber-border)}.inbox-compose-templates{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.inbox-template-pill{height:24px;font-size:var(--text-xs);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:0 var(--space-3);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);transition:var(--transition-colors);white-space:nowrap}.inbox-template-pill:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text-primary)}.inbox-compose-subject{margin-bottom:var(--space-2)}.inbox-compose-row{display:flex;gap:var(--space-2);align-items:flex-end}.inbox-compose-input{flex:1;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);resize:none;min-height:42px;max-height:120px;box-sizing:border-box;font-family:var(--font-body);background:var(--surface-1);color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-default);overflow:auto;line-height:var(--leading-normal)}.inbox-compose-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.inbox-compose-input.ai-draft{border:2px solid var(--color-amber-border)}.inbox-compose-input.ai-draft:focus{border-color:var(--color-amber);box-shadow:0 0 0 3px #f59e0b26}.inbox-compose-input.email-mode{min-height:100px}.inbox-compose-send{white-space:nowrap;display:flex;align-items:center;gap:var(--space-1)}.inbox-compose-send.disabled{opacity:.5}.inbox-compose-footer{display:flex;justify-content:space-between;margin-top:var(--space-1);font-size:var(--text-xs)}.inbox-compose-footer-label{color:var(--text-muted)}.inbox-compose-footer-count{font-family:var(--font-mono);color:var(--text-muted)}.inbox-compose-footer-count.over-limit{color:var(--color-danger)}.inbox-compose-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.inbox-compose-modal-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);color:var(--text-primary)}.inbox-compose-modal-dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-top:var(--space-1);max-height:200px;overflow-y:auto;box-shadow:var(--shadow-lg)}.inbox-compose-modal-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;background:none;cursor:pointer;text-align:left;font-size:var(--text-sm);font-family:var(--font-body);color:var(--text-primary);transition:background var(--duration-fast) var(--ease-default)}.inbox-compose-modal-dropdown-item:hover{background:var(--surface-2)}.inbox-compose-modal-dropdown-item-name{font-weight:var(--weight-semibold);color:var(--text-primary)}.inbox-compose-modal-dropdown-item-contact{font-size:var(--text-xs);color:var(--text-muted)}.inbox-compose-modal-searching{padding:var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.inbox-compose-modal-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-md)}.inbox-compose-modal-selected-info{display:flex;align-items:center;gap:var(--space-3)}.inbox-compose-modal-selected-name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.inbox-compose-modal-selected-detail{font-size:var(--text-xs);color:var(--text-muted)}.inbox-compose-modal-channel-tabs{width:fit-content}.inbox-compose-modal-textarea{resize:vertical;min-height:80px}.inbox-compose-modal-send-btn{display:flex;align-items:center;gap:var(--space-1)}[data-theme=dark] .inbox-conv-row.selected{background:#818cf814}[data-theme=dark] .inbox-conv-avatar-dot{border-color:var(--surface-1)}[data-theme=dark] .inbox-conv-channel-badge{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .inbox-thread-health-score{background:var(--surface-3)}[data-theme=dark] .inbox-compose-input:focus{box-shadow:0 0 0 3px #818cf826}[data-theme=dark] .inbox-compose-ai-banner,[data-theme=dark] .inbox-ai-draft-btn{background:#fb923c1a;border-color:#fb923c40;color:var(--color-warning)}@media(max-width:768px){.inbox-container{flex-direction:column}.inbox-sidebar{width:100%;min-width:0;border-right:none;border-bottom:1px solid var(--border-default)}.inbox-sidebar.thread-open,.inbox-main{display:none}.inbox-main.thread-open{display:flex;width:100%}.inbox-back-btn{display:flex}.inbox-thread-actions{flex-wrap:wrap}.inbox-msg-wrapper{max-width:90%}}@media(max-width:480px){.inbox-thread-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-3)}.inbox-thread-actions{width:100%;justify-content:flex-end}.inbox-compose{padding:var(--space-3)}.inbox-compose-templates{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}}.klairidy-logo{display:flex;align-items:center;gap:14px;font-family:Outfit,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary)}.klairidy-logo.horizontal{flex-direction:row}.klairidy-logo.vertical{flex-direction:column;text-align:center}.logo-small .logo-wordmark{font-size:18px}.logo-medium .logo-wordmark{font-size:28px}.logo-large .logo-wordmark{font-size:48px}.logo-ai{display:inline-block;background:linear-gradient(135deg,#6366f1,#a78bfa 45%,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.sidebar .logo-ai,.dark-bg .logo-ai{background:linear-gradient(135deg,#818cf8,#c4b5fd 45%,#67e8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-wordmark-only{font-family:Outfit,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary)}.logo-wordmark-small{font-size:18px}.logo-wordmark-medium{font-size:28px}.logo-wordmark-large{font-size:48px}.sidebar .klairidy-logo,.sidebar .logo-wordmark,.sidebar .logo-wordmark-only,.sidebar-header .logo-wordmark-only,.logo-wordmark-white{color:#fff!important}.logo-wordmark-white .logo-ai{background:linear-gradient(135deg,#818cf8,#c4b5fd 45%,#67e8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.klairidy-logo svg{transition:transform .3s ease}.klairidy-logo:hover svg{transform:scale(1.05)}.customer-app{display:flex;height:100vh;overflow:hidden;background:var(--bg-light)}.customer-sidebar{width:280px;background:linear-gradient(180deg,#1e1b4b,#312e81,#1e293b);color:#fff;display:flex;flex-direction:column;overflow-y:auto;box-shadow:2px 0 12px #0000001a}.customer-sidebar .sidebar-header{padding:32px 24px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;gap:12px}.customer-sidebar .sidebar-header .tagline{font-size:11px;color:var(--accent-cyan);margin:0;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.customer-sidebar .sidebar-nav{flex:1;padding:16px 12px}.customer-sidebar .nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius-sm);color:#ffffffe6;text-decoration:none;font-size:15px;font-weight:500;font-family:var(--font-body);transition:all .2s;margin-bottom:4px}.customer-sidebar .nav-item:hover{background:#6366f133;color:#fff}.customer-sidebar .nav-item.active{background:var(--brand-gradient);color:#fff;font-weight:600}.customer-sidebar .nav-item .icon{font-size:20px}.customer-sidebar .sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.2)}.customer-sidebar .user-info{display:flex;align-items:center;gap:12px}.customer-sidebar .user-avatar{width:40px;height:40px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.customer-sidebar .user-name{font-size:14px;font-weight:600;margin-bottom:2px}.customer-sidebar .user-role{font-size:12px;opacity:.7}.customer-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.customer-content{flex:1;overflow-y:auto;padding:32px}.action-button{display:block;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--card-radius);text-align:center;text-decoration:none;color:inherit;transition:all .3s;box-shadow:var(--card-shadow)}.action-button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.action-icon{font-size:32px;margin-bottom:8px}.action-label{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.action-desc{font-size:13px;color:var(--text-secondary)}.faq-list{display:flex;flex-direction:column;gap:16px}.faq-item{transition:all .2s}.faq-item:hover{box-shadow:0 4px 12px #0000001a}@media(max-width:768px){.customer-app{flex-direction:column}.customer-sidebar{width:100%;height:auto;max-height:60px;overflow:visible}.customer-sidebar .sidebar-header{padding:12px 16px}.customer-sidebar .sidebar-header h1{font-size:16px}.customer-sidebar .sidebar-nav,.customer-sidebar .sidebar-footer{display:none}.customer-content{padding:16px}.stats-grid{grid-template-columns:1fr 1fr!important}}.customer-app-new{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary)}.customer-header-new{height:64px;background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0000000d;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:100}.customer-header-left{display:flex;align-items:center;gap:16px}.powered-by-badge{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:4px 12px;border-radius:12px;font-weight:500;letter-spacing:.02em}.customer-header-right{display:flex;align-items:center;gap:20px}.customer-user-info{text-align:right}.customer-user-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.customer-user-email{font-size:12px;color:var(--text-secondary)}.customer-logout-button{padding:8px 16px;background:transparent;border:1px solid #D1D5DB;border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.customer-logout-button:hover{background:var(--bg-secondary);border-color:#9ca3af;color:var(--text-primary)}.customer-main-new{flex:1;padding:40px 24px}.customer-content-centered{max-width:1000px;margin:0 auto;width:100%}.customer-dashboard-redesign{max-width:1000px;margin:0 auto}.hero-banner{background:linear-gradient(135deg,#7c3aed,#06b6d4);border-radius:16px;padding:32px;margin-bottom:32px;box-shadow:0 1px 3px #0000001a;position:relative;overflow:hidden}.hero-banner:after{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;pointer-events:none}.hero-content{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.hero-avatar{width:60px;height:60px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;flex-shrink:0;border:3px solid rgba(255,255,255,.3)}.hero-text{flex:1}.hero-label{font-size:11px;font-weight:600;color:#ffffffd9;letter-spacing:.1em;margin-bottom:4px}.hero-text h1{font-size:32px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.2;font-family:"Outfit",var(--font-heading),sans-serif}.hero-text p{font-size:16px;color:#fffffff2;margin:0;line-height:1.5;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:40px}.customer-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000d;transition:all .2s;text-decoration:none;display:block;cursor:pointer}.customer-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.customer-card .card-icon{font-size:24px;margin-bottom:12px;display:inline-block}.customer-card .card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px;line-height:1.3;font-family:"Outfit",var(--font-heading),sans-serif}.customer-card .card-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.dashboard-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 20px;font-family:"Outfit",var(--font-heading),sans-serif}.service-history-list{display:flex;flex-direction:column;gap:16px}.service-history-item{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 1px 2px #0000000d}.service-history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.service-history-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px;font-family:"Outfit",var(--font-heading),sans-serif}.service-history-meta{font-size:12px;color:var(--text-secondary);margin:0}.badge-completed{background:#d1fae5;color:#065f46;font-size:11px;font-weight:600;padding:4px 12px;border-radius:12px;letter-spacing:.05em}.service-history-details{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.detail-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.detail-icon{font-size:16px}.detail-text{font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.service-history-actions{display:flex;gap:12px}.btn-secondary-small{padding:8px 16px;background:transparent;border:1px solid #D1D5DB;border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.btn-secondary-small:hover{background:var(--bg-secondary);border-color:#9ca3af}.btn-primary-small{padding:8px 16px;background:linear-gradient(135deg,#7c3aed,#06b6d4);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.btn-primary-small:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.equipment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 1px 2px #0000000d}.equipment-icon{font-size:32px;margin-bottom:12px}.equipment-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 8px;font-family:"Outfit",var(--font-heading),sans-serif}.equipment-model,.equipment-installed,.equipment-warranty{font-size:13px;color:var(--text-secondary);margin:4px 0;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.equipment-alert{background:#fef3c7;color:#92400e;font-size:12px;font-weight:500;padding:8px 12px;border-radius:6px;margin:12px 0}.equipment-status{display:flex;align-items:center;gap:6px;margin:12px 0;font-size:13px;color:#059669;font-weight:500}.status-icon{font-size:16px}.btn-primary-gradient{display:block;width:100%;padding:10px 16px;background:linear-gradient(135deg,#7c3aed,#06b6d4);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center;margin-top:12px;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.btn-primary-gradient:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed4d}.appointments-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:48px 24px;text-align:center;box-shadow:0 1px 2px #0000000d}.empty-icon-large{font-size:64px;margin-bottom:16px;opacity:.5}.empty-text{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-subtext{font-size:14px;color:var(--text-secondary);margin:0}.empty-state-inline{background:var(--bg-secondary);border:1px dashed #D1D5DB;border-radius:12px;padding:32px 24px;text-align:center}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state-inline p{font-size:14px;color:var(--text-secondary);margin:0}.customer-content-centered .card{background:var(--bg-card);border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 2px #0000000d;border:1px solid var(--border);transition:all .2s}.customer-content-centered .card:hover{box-shadow:0 4px 12px #00000014}.customer-content-centered .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #F3F4F6}.customer-content-centered .card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0;font-family:"Outfit",var(--font-heading),sans-serif}.customer-content-centered .page-header{margin-bottom:32px}.customer-content-centered .page-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px;font-family:"Outfit",var(--font-heading),sans-serif}.customer-content-centered .page-subtitle{font-size:16px;color:var(--text-secondary);margin:0;font-family:"Plus Jakarta Sans",var(--font-body),sans-serif}.customer-content-centered .btn{font-family:"Plus Jakarta Sans",var(--font-body),sans-serif;font-weight:500;border-radius:8px;transition:all .2s;cursor:pointer}.customer-content-centered .btn-primary{background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:600}.customer-content-centered .btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.customer-content-centered .btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid #D1D5DB;padding:10px 20px;font-size:14px}.customer-content-centered .btn-secondary:hover{background:var(--bg-secondary);border-color:#9ca3af}.customer-content-centered .btn-sm{padding:6px 14px;font-size:13px}.customer-content-centered .table-container{overflow-x:auto}.customer-content-centered table{width:100%;border-collapse:collapse;font-size:14px}.customer-content-centered table th{text-align:left;font-weight:600;color:var(--text-primary);padding:12px;border-bottom:2px solid var(--border);font-family:"Outfit",var(--font-heading),sans-serif;font-size:13px;letter-spacing:.02em}.customer-content-centered table td{padding:12px;border-bottom:1px solid #F3F4F6;color:var(--text-secondary)}.customer-content-centered table tr:last-child td{border-bottom:none}.customer-content-centered table tr:hover{background:var(--bg-secondary)}.customer-content-centered .badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.customer-content-centered .badge-success{background:#d1fae5;color:#065f46}.customer-content-centered .badge-warning{background:#fef3c7;color:#92400e}.customer-content-centered .badge-info{background:#dbeafe;color:#1e40af}.customer-content-centered .empty-state{text-align:center;padding:48px 24px}.customer-content-centered .empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.4}.customer-content-centered .empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.customer-content-centered .empty-state p{font-size:14px;color:var(--text-secondary);margin:0}.page-header{margin-bottom:28px}.page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 6px;font-family:"Outfit",var(--font-heading),sans-serif}.page-header .page-subtitle{font-size:15px;color:var(--text-secondary);margin:0}.customer-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);box-shadow:0 -4px 12px #0000000f;z-index:200;padding:0 8px env(safe-area-inset-bottom)}@media(min-width:769px){.customer-bottom-nav{display:none}.nav-label-desktop{display:inline}.customer-main-new{padding-bottom:40px}}@media(max-width:768px){.customer-header-new{padding:0 16px}.customer-user-info{display:none}.customer-main-new{padding:24px 16px 90px}.powered-by-badge{display:none}.customer-top-nav{display:none!important}.customer-bottom-nav{display:flex}.nav-label-desktop{display:none}.hero-banner{padding:24px}.hero-content{flex-direction:row;gap:16px}.hero-avatar{width:50px;height:50px;font-size:20px}.hero-text h1{font-size:24px}.hero-text p{font-size:14px}.dashboard-grid,.equipment-grid{grid-template-columns:1fr}.service-history-details{flex-direction:column;gap:8px}.service-history-actions{flex-direction:column}.btn-secondary-small{width:100%}}.customer-avatar-wrapper{position:relative}.customer-avatar-circle{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #7c3aed4d}.customer-avatar-circle:hover{transform:scale(1.05);box-shadow:0 4px 12px #7c3aed66}.customer-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--bg-card);border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border);overflow:hidden;z-index:1000}.cpd-header{padding:14px 16px}.cpd-name{font-size:14px;font-weight:700;color:var(--text-primary)}.cpd-email{font-size:12px;color:var(--text-secondary);margin-top:2px}.cpd-divider{height:1px;background:#f3f4f6}.customer-profile-dropdown .cpd-link{display:block;padding:10px 16px;font-size:14px;color:var(--text-primary);text-decoration:none;transition:background .15s}.customer-profile-dropdown .cpd-link:hover{background:var(--bg-secondary)}.cpd-logout{display:block;width:100%;text-align:left;padding:10px 16px;background:none;border:none;font-size:14px;color:#ef4444;cursor:pointer;transition:background .15s}.cpd-logout:hover{background:var(--danger-bg, #FEF2F2)}.inv-balance-summary{display:flex;align-items:center;gap:24px;padding:16px 20px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);margin-bottom:20px}.inv-balance-block{display:flex;flex-direction:column}.inv-balance-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-family:var(--font-mono)}.inv-balance-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);line-height:1.2}.inv-balance-value.danger{color:var(--danger-text, #991B1B)}.inv-balance-value.success{color:var(--success-text, #065F46)}.inv-balance-divider{width:1px;height:40px;background:var(--border-default);flex-shrink:0}.inv-btn-pay-all{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:var(--radius-sm, 6px);border:none;background:var(--danger, #EF4444);color:var(--text-on-dark, #fff);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background .15s;white-space:nowrap}.inv-btn-pay-all:hover{opacity:.9}.inv-btn-pay-all svg{width:16px;height:16px}.inv-table{width:100%;border-collapse:collapse}.inv-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-default);background:var(--surface-2);font-family:var(--font-body)}.inv-table th:first-child{border-radius:var(--radius-md, 8px) 0 0 0}.inv-table th:last-child{border-radius:0 var(--radius-md, 8px) 0 0;text-align:right}.inv-table td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);vertical-align:middle;color:var(--text-primary)}.inv-table td:last-child{text-align:right}.inv-table tbody tr{cursor:pointer;transition:background .12s}.inv-table tbody tr:hover{background:var(--surface-2)}.inv-number{font-family:var(--font-mono);font-weight:600;font-size:var(--text-xs);color:var(--accent, #0D9488)}.inv-desc{font-weight:500;color:var(--text-primary)}.inv-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.inv-amount{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.inv-balance-cell{font-family:var(--font-mono);font-weight:600}.inv-balance-cell.has-balance{color:var(--danger-text, #991B1B)}.inv-balance-cell.paid{color:var(--success-text, #065F46)}.inv-pay-btn{padding:5px 12px;border-radius:var(--radius-sm, 6px);border:1px solid var(--danger-border, #FCA5A5);background:transparent;color:var(--danger-text, #991B1B);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}.inv-pay-btn:hover{background:var(--danger-bg, #FEF2F2)}.filter-count{min-width:18px;height:18px;padding:0 5px;border-radius:9999px;font-family:var(--font-mono);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-muted)}.filter-tab.active .filter-count{background:#0d94881f;color:var(--accent, #0D9488)}.filter-count.danger{background:#ef44441f;color:var(--danger, #EF4444)}.inv-back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .15s;margin-bottom:16px;text-decoration:none}.inv-back-link:hover{color:var(--accent, #0D9488)}.inv-back-link svg{width:16px;height:16px}.inv-header-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:24px;margin-bottom:20px;display:flex;align-items:center;gap:20px}.inv-header-icon{width:52px;height:52px;border-radius:var(--radius-lg, 12px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.inv-header-icon svg{width:26px;height:26px}.inv-header-icon.unpaid{background:var(--danger-bg, #FEF2F2);color:var(--danger, #EF4444)}.inv-header-icon.paid{background:var(--success-bg, #ECFDF5);color:var(--success, #10B981)}.inv-header-info{flex:1;min-width:0}.inv-header-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent, #0D9488);font-weight:600}.inv-header-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-top:2px;line-height:1.2}.inv-header-meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:6px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.inv-header-meta span{display:inline-flex;align-items:center;gap:4px}.inv-header-meta svg{width:13px;height:13px}.inv-header-amounts{text-align:right;flex-shrink:0}.inv-total-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.inv-total-value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;line-height:1.2}.inv-total-value.danger{color:var(--danger-text, #991B1B)}.inv-total-value.paid{color:var(--success-text, #065F46)}.inv-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.inv-detail-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:20px}.inv-detail-card-title{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;display:flex;align-items:center;gap:8px}.inv-detail-card-title svg{width:14px;height:14px;color:var(--text-muted)}.inv-detail-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border-subtle)}.inv-detail-row:last-child{border-bottom:none}.inv-detail-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.inv-detail-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:500;text-align:right}.inv-detail-value.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.inv-detail-value.link{color:var(--accent, #0D9488);cursor:pointer}.inv-detail-value.link:hover{text-decoration:underline}.inv-line-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);overflow:hidden;margin-bottom:20px}.inv-line-header{padding:16px 20px 12px;border-bottom:1px solid var(--border-subtle)}.inv-line-title{font-family:var(--font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary)}.inv-line-table{width:100%;border-collapse:collapse}.inv-line-table th{text-align:left;padding:10px 20px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-subtle);background:var(--surface-0)}.inv-line-table th:nth-child(2),.inv-line-table td:nth-child(2){text-align:center}.inv-line-table th:nth-child(3),.inv-line-table td:nth-child(3),.inv-line-table th:nth-child(4),.inv-line-table td:nth-child(4){text-align:right}.inv-line-table td{padding:12px 20px;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary)}.inv-line-table tr:last-child td{border-bottom:none}.inv-li-name{font-weight:600;color:var(--text-primary)}.inv-li-desc{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.inv-li-qty{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.inv-li-price{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.inv-li-total{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.inv-line-footer{padding:14px 20px;background:var(--surface-2);display:flex;flex-direction:column;align-items:flex-end;gap:6px}.inv-subtotal-row{display:flex;justify-content:space-between;width:220px;font-size:var(--text-sm)}.inv-subtotal-row .label{color:var(--text-muted)}.inv-subtotal-row .value{font-family:var(--font-mono);font-weight:500;color:var(--text-primary)}.inv-subtotal-row.total{border-top:1px solid var(--border-default);padding-top:8px;margin-top:4px}.inv-subtotal-row.total .label{font-weight:700;color:var(--text-primary)}.inv-subtotal-row.total .value{font-weight:700;font-size:var(--text-base)}.inv-subtotal-row.paid .value{color:var(--success-text, #065F46)}.inv-subtotal-row.balance .value{color:var(--danger-text, #991B1B);font-weight:700}.pay-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:24px;margin-bottom:20px}.pay-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:4px}.pay-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:20px;display:flex;align-items:center;gap:6px}.pay-subtitle svg{width:13px;height:13px;color:var(--success, #10B981)}.pay-section-label{margin-bottom:6px;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.pay-amount-selector{display:flex;gap:8px;margin-bottom:16px}.pay-amount-option{flex:1;padding:12px;border:1.5px solid var(--border-default);border-radius:var(--radius-md, 8px);background:var(--surface-1);cursor:pointer;transition:all .15s;text-align:center}.pay-amount-option:hover{border-color:var(--accent-border, #99F6E4);background:var(--accent-light, #F0FDFA)}.pay-amount-option.selected{border-color:var(--accent, #0D9488);background:var(--accent-light, #F0FDFA);box-shadow:0 0 0 3px #0d948826}.pay-amount-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.pay-amount-value{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-top:2px}.pay-amount-option.selected .pay-amount-value{color:var(--accent, #0D9488)}.pay-custom-input{width:100%;height:36px;margin-top:8px;padding:0 10px;font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--text-primary);background:var(--surface-1);border:1.5px solid var(--border-default);border-radius:var(--radius-sm, 6px);outline:none;text-align:center;transition:border-color .15s}.pay-custom-input:focus{border-color:var(--accent, #0D9488);box-shadow:0 0 0 3px #0d948826}.pay-card-brands{display:flex;gap:8px;align-items:center;margin-bottom:16px}.pay-card-brand{height:24px;padding:0 8px;border-radius:4px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-secondary);display:flex;align-items:center}.pay-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pay-form-group{display:flex;flex-direction:column;gap:5px}.pay-form-group.full{grid-column:1 / -1}.pay-form-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.pay-form-input{height:40px;padding:0 12px;background:var(--surface-1);border:1.5px solid var(--border-default);border-radius:var(--radius-md, 8px);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);transition:all .15s;outline:none}.pay-form-input:focus{border-color:var(--accent, #0D9488);box-shadow:0 0 0 3px #0d948826}.pay-form-input::placeholder{color:var(--text-muted)}.pay-form-input.mono{font-family:var(--font-mono);letter-spacing:.05em}.pay-btn-submit{width:100%;padding:12px;border-radius:var(--radius-md, 8px);border:none;background:var(--accent, #0D9488);color:var(--text-on-dark, #fff);font-family:var(--font-body);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px}.pay-btn-submit:hover{opacity:.9}.pay-btn-submit:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.7}.pay-btn-submit svg{width:18px;height:18px}.pay-secure-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:var(--text-xs);color:var(--text-muted)}.pay-secure-note svg{width:13px;height:13px}.pay-error{margin-bottom:12px;padding:10px 14px;background:var(--danger-bg, #FEF2F2);border:1px solid var(--danger-border, #FCA5A5);border-radius:var(--radius-sm, 6px);font-size:var(--text-sm);color:var(--danger-text, #991B1B)}.pay-confirm-container{display:flex;flex-direction:column;align-items:center;padding:48px 32px;text-align:center}.pay-confirm-icon{width:72px;height:72px;border-radius:50%;background:var(--success-bg, #ECFDF5);border:2px solid var(--success-border, #A7F3D0);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.pay-confirm-icon svg{width:36px;height:36px;color:var(--success, #10B981)}.pay-confirm-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.pay-confirm-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:6px;max-width:420px}.pay-confirm-receipt{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:24px 32px;margin-top:28px;width:100%;max-width:460px;text-align:left}.pay-receipt-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.pay-receipt-row:last-child{border-bottom:none}.pay-receipt-label{font-size:var(--text-sm);color:var(--text-muted)}.pay-receipt-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.pay-receipt-value.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.pay-receipt-divider{height:1px;background:var(--border-default);margin:8px 0}.pay-receipt-total{display:flex;justify-content:space-between;padding:10px 0 0}.pay-receipt-total .label{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.pay-receipt-total .value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--success-text, #065F46)}.pay-remaining-alert{margin-top:16px;padding:12px 16px;border-radius:var(--radius-md, 8px);background:var(--warning-bg, #FFFBEB);border:1px solid var(--warning-border, #FDE68A);font-size:var(--text-xs);color:var(--warning-text, #92400E);display:flex;align-items:center;gap:8px;max-width:460px;width:100%;text-align:left}.pay-remaining-alert svg{width:16px;height:16px;flex-shrink:0}.pay-remaining-alert a{color:inherit;font-weight:700;text-decoration:underline}.pay-confirm-actions{display:flex;gap:12px;margin-top:28px}.pay-btn-outline{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all .15s}.pay-btn-outline:hover{background:var(--surface-2);color:var(--text-primary)}.pay-btn-outline svg{width:16px;height:16px}.pay-btn-primary{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm, 6px);border:none;background:var(--accent, #0D9488);color:var(--text-on-dark, #fff);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all .15s;text-decoration:none}.pay-btn-primary:hover{opacity:.9}.svc-emergency-row{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:20px;cursor:pointer;border-radius:var(--radius-md, 8px);background:var(--surface-2);border:1px solid transparent;transition:all .2s}.svc-emergency-row.active{background:var(--danger-bg);border-color:var(--danger-border)}[data-theme=dark] .svc-emergency-row:not(.active),.dark .svc-emergency-row:not(.active){border-color:var(--border-strong);background:var(--surface-1)}.portal-alert-success{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm, 6px);background:var(--success-bg, #ECFDF5);border:1px solid var(--success-border, #A7F3D0);color:var(--success-text, #065F46);font-size:var(--text-sm);font-weight:500}.portal-alert-success svg{width:16px;height:16px;flex-shrink:0}.portal-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:9999px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.portal-pill:hover{border-color:var(--accent-border, #99F6E4);color:var(--text-primary)}.portal-pill.active{background:var(--accent-light, #F0FDFA);border-color:var(--accent, #0D9488);color:var(--accent, #0D9488)}.portal-pill-count{font-family:var(--font-mono);font-size:10px;opacity:.7}@media(max-width:768px){.inv-balance-summary{flex-wrap:wrap;gap:12px}.inv-balance-divider{display:none}.inv-header-card{flex-wrap:wrap}.inv-detail-grid{grid-template-columns:1fr}.inv-table th:nth-child(3),.inv-table td:nth-child(3){display:none}.pay-form-grid{grid-template-columns:1fr}.pay-form-group.full{grid-column:1}.pay-amount-selector{flex-direction:column}.pay-confirm-actions{flex-direction:column;width:100%;max-width:460px}.pay-confirm-actions button,.pay-confirm-actions a{width:100%;justify-content:center;text-align:center}.pay-confirm-container{padding:32px 16px}}[data-theme=dark] .customer-app-new{background:var(--color-bg-page, #0f1117)}[data-theme=dark] .customer-header-new{background:var(--bg-card, #1a1f2e);border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .powered-by-badge{background:#2d3548;color:var(--text-secondary)}[data-theme=dark] .customer-user-name{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .customer-card,[data-theme=dark] .service-history-item,[data-theme=dark] .appointments-empty,[data-theme=dark] .customer-content-centered .card{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .customer-card .card-title,[data-theme=dark] .section-title,[data-theme=dark] .service-history-title,[data-theme=dark] .equipment-title,[data-theme=dark] .empty-text,[data-theme=dark] .customer-content-centered .card-title,[data-theme=dark] .customer-content-centered .page-header h1,[data-theme=dark] .page-header h1,[data-theme=dark] .customer-content-centered .empty-state h3,[data-theme=dark] .customer-content-centered table th,[data-theme=dark] .action-label{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .customer-card .card-description,[data-theme=dark] .service-history-meta,[data-theme=dark] .detail-item,[data-theme=dark] .equipment-model,[data-theme=dark] .equipment-installed,[data-theme=dark] .equipment-warranty,[data-theme=dark] .empty-subtext,[data-theme=dark] .customer-content-centered .page-subtitle,[data-theme=dark] .page-header .page-subtitle,[data-theme=dark] .customer-content-centered .empty-state p,[data-theme=dark] .customer-content-centered table td,[data-theme=dark] .action-desc{color:var(--text-secondary, #9ca3af)}[data-theme=dark] .customer-content-centered .card-header,[data-theme=dark] .customer-content-centered table th{border-bottom-color:var(--border-color, #2d3548)}[data-theme=dark] .customer-content-centered table td{border-bottom-color:#1a1f2e}[data-theme=dark] .customer-content-centered table tr:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .equipment-card{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .empty-state-inline{background:var(--bg-secondary, #151921);border-color:var(--border-color, #2d3548)}[data-theme=dark] .customer-profile-dropdown{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .cpd-name{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .cpd-divider{background:var(--border-color, #2d3548)}[data-theme=dark] .customer-profile-dropdown .cpd-link{color:var(--text-primary, #e5e7eb)}[data-theme=dark] .customer-profile-dropdown .cpd-link:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .customer-bottom-nav{background:var(--bg-card, #1a1f2e);border-top-color:var(--border-color, #2d3548)}[data-theme=dark] .customer-logout-button{border-color:var(--border-color, #2d3548);color:var(--text-secondary)}[data-theme=dark] .customer-logout-button:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .btn-secondary-small{border-color:var(--border-color, #2d3548);color:var(--text-secondary)}[data-theme=dark] .btn-secondary-small:hover{background:var(--bg-secondary, #151921)}[data-theme=dark] .customer-content-centered .btn-secondary{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548);color:var(--text-primary, #e5e7eb)}.psp-page{padding:24px;max-width:720px}.psp-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 24px}.psp-loading{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:var(--text-sm)}.psp-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.psp-empty p{margin:4px 0;font-size:var(--text-sm)}.psp-list{display:flex;flex-direction:column;gap:16px}.psp-item{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:20px}.psp-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.psp-plan-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.psp-status{font-size:var(--text-xs);font-weight:700;padding:3px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.psp-status--active{background:var(--color-success-bg, var(--success-bg, #ECFDF5));color:var(--color-success-text, var(--success-text, #065F46))}.psp-status--paused{background:var(--color-amber-bg, var(--warning-bg, #FFFBEB));color:var(--color-amber-text, var(--warning-text, #92400E))}.psp-status--cancelled{background:var(--color-danger-bg, var(--danger-bg, #FEF2F2));color:var(--color-danger-text, var(--danger-text, #991B1B))}.psp-features{list-style:none;padding:0;margin:0 0 16px}.psp-features li{padding:4px 0;font-size:var(--text-sm);color:var(--text-primary);display:flex;align-items:center;gap:8px}.psp-feature-check{color:var(--color-success, var(--success, #10B981));font-weight:700}.psp-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--border-light, var(--border-subtle, rgba(0,0,0,.06)))}.psp-detail-label{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:2px}.psp-detail-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.psp-mono{font-family:var(--font-mono)}.psp-btn-cancel{margin-top:12px;padding:8px 20px;border-radius:8px;border:1px solid var(--color-danger-border, var(--danger-border, #FCA5A5));background:var(--color-danger-bg, var(--danger-bg, #FEF2F2));color:var(--color-danger-text, var(--danger-text, #991B1B));font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s}.psp-btn-cancel:hover{background:var(--color-danger, var(--danger, #EF4444));color:#fff;border-color:var(--color-danger, var(--danger, #EF4444))}.psp-cancelled-note{margin-top:12px;font-size:var(--text-xs);color:var(--text-muted)}.psp-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.psp-modal{background:var(--surface-1);border-radius:12px;width:100%;max-width:440px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.2))}.psp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light, var(--border-subtle, rgba(0,0,0,.06)))}.psp-modal-header h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0}.psp-modal-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.psp-modal-body{padding:20px}.psp-modal-question{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 12px}.psp-reason-list{display:flex;flex-wrap:wrap;gap:8px}.psp-reason{padding:8px 16px;border-radius:20px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all .15s}.psp-reason:hover{border-color:var(--brand-accent, var(--accent, #0D9488))}.psp-reason--selected{border-color:var(--brand-accent, var(--accent, #0D9488));background:var(--brand-accent-light, var(--accent-light, #F0FDFA));color:var(--brand-accent, var(--accent, #0D9488));font-weight:600}.psp-confirm-summary{background:var(--surface-2, var(--bg-secondary));border-radius:8px;padding:14px 16px;margin-bottom:12px}.psp-confirm-summary p{margin:4px 0;font-size:var(--text-sm);color:var(--text-primary)}.psp-confirm-check{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;margin:12px 0}.psp-confirm-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-danger, var(--danger, #EF4444))}.psp-modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-light, var(--border-subtle, rgba(0,0,0,.06)));margin-top:16px}.psp-btn-secondary{padding:8px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer}.psp-btn-continue{padding:8px 22px;border-radius:8px;border:none;background:var(--brand-accent, var(--accent, #0D9488));color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer}.psp-btn-continue:disabled{opacity:.5;cursor:not-allowed}.psp-btn-danger{padding:8px 22px;border-radius:8px;border:none;background:var(--color-danger, var(--danger, #EF4444));color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer}.psp-btn-danger:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .psp-item{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548)}[data-theme=dark] .psp-modal{background:var(--bg-card, #1a1f2e);border:1px solid var(--border-color, #2d3548)}[data-theme=dark] .psp-reason{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .psp-confirm-summary{background:var(--bg-secondary, #151921)}[data-theme=dark] .psp-btn-secondary{background:var(--bg-card, #1a1f2e);border-color:var(--border-color, #2d3548);color:var(--text-secondary)}.portal-li-table{width:100%;border-collapse:collapse}.portal-li-table th{text-align:left;padding:8px 0;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border)}.portal-li-table th.portal-li-center{text-align:center;width:50px}.portal-li-table th.portal-li-right{text-align:right;width:90px}.portal-li-table td{padding:10px 0;font-size:var(--text-sm);color:var(--text-primary)}.portal-li-table tr{border-bottom:1px solid var(--border)}.portal-li-table tbody tr:last-child{border-bottom:none}.portal-li-mono{font-family:var(--font-mono);color:var(--text-secondary);text-align:center}.portal-li-price{font-family:var(--font-mono);color:var(--text-secondary);text-align:right}.portal-li-total{font-family:var(--font-mono);font-weight:600;color:var(--text-primary);text-align:right}.portal-li-footer{border-top:2px solid var(--border);margin-top:4px;padding-top:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.portal-li-footer-row{display:flex;justify-content:space-between;width:200px}.portal-li-footer-label{font-size:var(--text-sm);color:var(--text-secondary)}.portal-li-footer-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}.portal-li-footer-total{border-top:1px solid var(--border);padding-top:6px}.portal-li-footer-total .portal-li-footer-label{font-weight:700;color:var(--text-primary)}.portal-li-footer-total .portal-li-footer-value{font-size:var(--text-base);font-weight:700}.portal-li-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.portal-li-grand-total{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.portal-li-empty{font-size:var(--text-sm);color:var(--text-muted);padding:12px 0}@media(max-width:768px){.psp-page{padding:16px}.psp-details{grid-template-columns:1fr 1fr;gap:8px}}.book-page{--book-indigo: #6366f1;--book-cyan: #06b6d4;--book-teal: #14b8a6;--book-green: #16a34a;--book-red: #ef4444;--book-amber: #f59e0b;--book-text: #111827;--book-text-2: #374151;--book-text-3: #6b7280;--book-text-muted: #9ca3af;--book-card: #ffffff;--book-surface: #f9fafb;--book-border: #e5e7eb;--book-input: #ffffff;--book-shadow: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 20px 50px -12px rgba(0, 0, 0, .08);--book-focus: 0 0 0 3px rgba(99, 102, 241, .15)}.book-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(180deg,var(--book-surface),var(--book-card));font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--book-text);line-height:1.5;-webkit-font-smoothing:antialiased}.book-card{width:100%;max-width:680px;background:var(--book-card);border-radius:20px;padding:48px;box-shadow:var(--book-shadow)}.book-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 48px}.book-spinner-icon{animation:book-spin .8s linear infinite;color:var(--book-indigo)}@keyframes book-spin{to{transform:rotate(360deg)}}.book-loading-text{margin-top:16px;color:var(--book-text-3);font-size:14px}.book-error{text-align:center;padding:80px 48px}.book-error h2{font-family:Outfit,sans-serif;font-size:22px;font-weight:700;color:var(--book-text);margin:0 0 8px}.book-error p{color:var(--book-text-3);font-size:14px;margin:0}.book-header{text-align:center;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--book-border)}.book-logo{max-width:160px;max-height:64px;margin-bottom:16px;object-fit:contain}.book-company{font-family:Outfit,sans-serif;font-size:26px;font-weight:700;color:var(--book-text);margin:0 0 4px;letter-spacing:-.02em}.book-tagline{font-size:15px;color:var(--book-text-3);margin:0 0 12px}.book-phone-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--book-teal);text-decoration:none;transition:color .15s}.book-phone-link:hover{color:var(--book-indigo)}.book-stepper{display:flex;align-items:flex-start;justify-content:center;margin-bottom:32px;padding:0 20px}.book-stepper-step{display:flex;flex-direction:column;align-items:center;gap:8px}.book-stepper-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-weight:700;font-size:14px;border:2px solid var(--book-border);color:var(--book-text-muted);background:var(--book-card);transition:all .3s ease}.book-stepper-step.active .book-stepper-circle{border-color:var(--book-indigo);color:var(--book-indigo)}.book-stepper-step.complete .book-stepper-circle{border:none;background:linear-gradient(135deg,var(--book-indigo),var(--book-cyan));color:#fff}.book-stepper-label{font-family:Outfit,sans-serif;font-size:13px;font-weight:600;color:var(--book-indigo);white-space:nowrap}.book-stepper-label.future{font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;color:var(--book-text-muted)}.book-stepper-line{flex-shrink:0;width:60px;height:2px;background:var(--book-border);margin:17px 12px 0;border-radius:1px}.book-stepper-line.complete{background:linear-gradient(90deg,var(--book-indigo),var(--book-cyan))}.book-step{animation:book-fade-in .15s ease-out}@keyframes book-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.book-step-title{font-family:Outfit,sans-serif;font-size:18px;font-weight:600;color:var(--book-text);margin:0 0 20px;letter-spacing:-.01em}.book-step-subtitle{font-size:14px;color:var(--book-text-3);margin:-12px 0 16px}.book-services{display:grid;grid-template-columns:1fr;gap:12px}.book-service-card{display:flex;align-items:center;padding:16px;border:1px solid var(--book-border);border-radius:12px;background:var(--book-card);cursor:pointer;transition:all .15s ease;position:relative;text-align:left;width:100%;gap:12px;font-family:inherit;font-size:inherit;color:inherit}.book-service-card:hover{border-color:var(--book-indigo);transform:translateY(-2px);box-shadow:0 4px 12px #6366f11a}.book-service-card.selected{border:2px solid var(--book-indigo);background:#6366f10a;padding:15px}.book-service-info{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.book-service-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.book-service-text{min-width:0}.book-service-name{display:block;font-weight:600;font-size:15px;color:var(--book-text);line-height:1.3;margin-bottom:2px}.book-service-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:var(--book-text-3);line-height:1.4}.book-service-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;white-space:nowrap}.book-service-duration{font-size:12px;color:var(--book-text-muted)}.book-service-price{font-family:Outfit,sans-serif;font-size:16px;font-weight:700;color:var(--book-indigo)}.book-service-price.free{color:var(--book-green)}.book-service-chevron{color:var(--book-text-muted);flex-shrink:0;transition:transform .15s}.book-service-card:hover .book-service-chevron{transform:translate(2px);color:var(--book-indigo)}.book-service-check{width:18px;height:18px;border-radius:50%;background:var(--book-indigo);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:absolute;top:-6px;right:-6px}.book-interests{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:8px}.book-interest-card{padding:18px 14px;border:1px solid var(--book-border);border-radius:10px;background:var(--book-card);cursor:pointer;transition:all .15s ease;text-align:center;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:var(--book-text);display:flex;align-items:center;justify-content:center;gap:6px}.book-interest-card:hover:not(:disabled){border-color:var(--book-teal);background:#14b8a60a}.book-interest-card.selected{border:2px solid var(--book-teal);background:#14b8a60f;color:var(--book-teal);font-weight:600;padding:17px 13px}.book-interest-card.disabled{opacity:.35;cursor:not-allowed}.book-interest-check{color:var(--book-teal)}.book-selected-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:8px;background:var(--book-surface);font-size:13px;color:var(--book-text-3);margin-bottom:20px}.book-selected-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.book-selected-name{font-weight:600;color:var(--book-text)}.book-selected-sep{color:var(--book-text-muted)}.book-datetime-layout{display:flex;gap:24px}.book-calendar{flex:3;min-width:0;border:1px solid var(--book-border);border-radius:12px;overflow:hidden}.book-calendar-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--book-surface);border-bottom:1px solid var(--book-border)}.book-calendar-month{font-family:Outfit,sans-serif;font-size:16px;font-weight:700;color:var(--book-text)}.book-calendar-nav{background:none;border:none;cursor:pointer;color:var(--book-text-3);padding:4px 6px;border-radius:6px;transition:all .15s;display:flex;align-items:center}.book-calendar-nav:hover{background:var(--book-border);color:var(--book-text)}.book-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:8px;gap:2px}.book-day-label{padding:8px 4px;font-family:DM Mono,monospace;font-weight:500;font-size:11px;color:var(--book-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.05em}.book-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 4px;border:none;border-radius:8px;cursor:pointer;background:none;font-family:DM Sans,sans-serif;font-size:14px;color:var(--book-text);transition:all .12s;position:relative;min-height:38px}.book-day:hover:not(:disabled){background:#6366f10f}.book-day:disabled{color:var(--book-border);cursor:default}.book-day.unavailable{color:var(--book-text-muted);text-decoration:line-through}.book-day.selected{background:var(--book-indigo);color:#fff;font-weight:700}.book-day.today{font-weight:700;color:var(--book-indigo)}.book-day-today-dot,.book-day-avail-dot{width:4px;height:4px;border-radius:50%;margin-top:2px}.book-day-today-dot{background:var(--book-indigo)}.book-day-avail-dot{background:var(--book-teal)}.book-day.selected .book-day-today-dot,.book-day.selected .book-day-avail-dot{background:#fff}.book-times{flex:2;min-width:0}.book-times-title{font-size:14px;font-weight:600;color:var(--book-text);margin:0 0 4px}.book-times-date{font-size:13px;color:var(--book-text-3);margin:0 0 16px}.book-times-loading{display:flex;align-items:center;gap:8px;padding:24px 0;color:var(--book-text-3);font-size:13px}.book-times-empty{padding:24px;text-align:center;color:var(--book-text-3);background:var(--book-surface);border-radius:10px;font-size:13px}.book-times-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 16px;color:var(--book-text-muted);font-size:13px;text-align:center}.book-times-placeholder-icon{opacity:.4}.book-time-groups{max-height:320px;overflow-y:auto;padding-right:4px}.book-time-group{margin-bottom:16px}.book-time-group:last-child{margin-bottom:0}.book-time-group-label{display:block;font-size:11px;font-weight:600;color:var(--book-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.book-time-pills{display:flex;flex-wrap:wrap;gap:8px}.book-time-slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border:1px solid var(--book-border);border-radius:8px;background:var(--book-card);font-family:DM Mono,monospace;font-size:13px;font-weight:500;color:var(--book-text);cursor:pointer;transition:all .12s}.book-time-slot:hover{border-color:var(--book-indigo);color:var(--book-indigo)}.book-time-slot.selected{background:var(--book-indigo);border-color:var(--book-indigo);color:#fff}.book-time-slot-time{font-weight:600}.book-time-slot-info{font-family:DM Sans,sans-serif;font-size:11px;opacity:.7}.book-arrival-note{display:flex;align-items:center;gap:6px;margin-top:12px;font-family:DM Sans,sans-serif;font-size:12px;font-style:italic;color:var(--book-text-muted);line-height:1.4}.book-arrival-note svg{flex-shrink:0;color:var(--book-amber)}.book-form{margin-bottom:24px}.book-form-row{margin-bottom:16px}.book-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.book-form-group{display:flex;flex-direction:column}.book-form-half{max-width:50%}.book-form-label{font-size:13px;font-weight:600;color:var(--book-text-2);margin-bottom:6px}.book-form-input,.book-form-textarea{height:48px;padding:0 14px;border:1px solid var(--book-border);border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--book-text);background:var(--book-input);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.book-form-input::placeholder,.book-form-textarea::placeholder{color:var(--book-text-muted)}.book-form-input:focus,.book-form-textarea:focus{outline:none;border-color:var(--book-indigo);box-shadow:var(--book-focus)}.book-form-textarea{height:auto;min-height:80px;padding:12px 14px;resize:vertical}.book-phone-wrap{display:flex;align-items:center;border:1px solid var(--book-border);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.book-phone-wrap:focus-within{border-color:var(--book-indigo);box-shadow:var(--book-focus)}.book-phone-prefix{padding:0 12px;font-family:DM Mono,monospace;font-size:14px;font-weight:500;color:var(--book-text-3);background:var(--book-surface);border-right:1px solid var(--book-border);height:48px;display:flex;align-items:center;flex-shrink:0}.book-phone-input{border:none!important;border-radius:0!important;box-shadow:none!important}.book-consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--book-text-2);line-height:1.5}.book-consent input[type=checkbox]{margin-top:3px;accent-color:var(--book-indigo);flex-shrink:0}.book-summary{background:var(--book-surface);border-radius:12px;padding:20px;margin-bottom:24px}.book-summary-title{display:block;font-size:13px;font-weight:600;color:var(--book-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.book-summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--book-border);font-size:14px}.book-summary-row:last-child{border-bottom:none}.book-summary-row span:first-child{color:var(--book-text-3)}.book-summary-row span:last-child{font-weight:600;color:var(--book-text)}.book-summary-price{font-family:DM Mono,monospace}.book-nav{display:flex;gap:12px;margin-top:28px}.book-btn-back{display:inline-flex;align-items:center;gap:4px;padding:12px 20px;border:1px solid var(--book-border);border-radius:10px;background:var(--book-card);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--book-text-3);cursor:pointer;transition:all .15s}.book-btn-back:hover{border-color:var(--book-indigo);color:var(--book-indigo)}.book-btn-next{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:14px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--book-indigo),var(--book-cyan));font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;color:#fff;cursor:pointer;transition:all .15s}.book-btn-next:hover:not(:disabled){opacity:.92;box-shadow:0 4px 16px #6366f14d}.book-btn-next:disabled{opacity:.4;cursor:not-allowed}.book-confirm{text-align:center}.book-confirm-check{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--book-green),var(--book-teal));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:book-bounce-in .5s ease-out}@keyframes book-bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.book-confirm-title{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;color:var(--book-text);margin:0 0 8px}.book-confirm-subtitle{font-size:16px;color:var(--book-text-3);margin:0 0 28px}.book-confirm-email{font-size:13px;color:var(--book-text-3);margin:0 0 24px}.book-confirm-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.book-btn-calendar{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;border:1px solid var(--book-border);border-radius:10px;background:var(--book-card);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--book-text);cursor:pointer;text-decoration:none;transition:all .15s}.book-btn-calendar:hover{border-color:var(--book-indigo);color:var(--book-indigo)}.book-btn-link{background:none;border:none;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--book-teal);cursor:pointer;transition:color .15s}.book-btn-link:hover{color:var(--book-indigo)}.book-trust{display:flex;justify-content:center;gap:24px;padding-top:28px;margin-top:28px;border-top:1px solid var(--book-border)}.book-trust-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--book-text-muted)}[data-theme=dark] .book-page{--book-text: #f1f5f9;--book-text-2: #cbd5e1;--book-text-3: #94a3b8;--book-text-muted: #64748b;--book-card: #1e293b;--book-surface: #0f172a;--book-border: #334155;--book-input: #0f172a;--book-shadow: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 20px 50px -12px rgba(0, 0, 0, .4);--book-focus: 0 0 0 3px rgba(99, 102, 241, .25)}[data-theme=dark] .book-service-card:hover{box-shadow:0 4px 12px #6366f133}[data-theme=dark] .book-service-card.selected{background:#6366f114}[data-theme=dark] .book-interest-card:hover:not(:disabled){background:#14b8a614}[data-theme=dark] .book-interest-card.selected{background:#14b8a61a}[data-theme=dark] .book-day:hover:not(:disabled){background:#6366f11f}[data-theme=dark] .book-time-slot:hover{background:#6366f114}@media(max-width:768px){.book-page{padding:20px 12px;align-items:flex-start}.book-card{padding:24px;border-radius:16px}.book-company{font-size:22px}.book-stepper{padding:0 4px}.book-stepper-line{width:28px;margin:17px 6px 0}.book-stepper-label{font-size:11px}.book-stepper-label.future{font-size:10px}.book-services{grid-template-columns:1fr}.book-datetime-layout{flex-direction:column}.book-time-pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.book-form-row-2col{grid-template-columns:1fr}.book-form-half{max-width:100%}.book-form-input,.book-form-textarea{font-size:16px}.book-trust{gap:16px;flex-wrap:wrap;justify-content:center}.book-confirm-title{font-size:20px}}.klairidy-widget{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-width:800px;margin:0 auto;background:var(--bg-card);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden}.klairidy-widget-fullpage{min-height:100vh;max-width:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.klairidy-widget-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;max-width:90vw;max-height:90vh;overflow-y:auto}.klairidy-widget-popup:before{content:"";position:fixed;inset:0;background:#00000080;z-index:-1}.widget-close{position:absolute;top:16px;right:16px;background:#0000001a;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--text-primary);transition:background .2s;z-index:10}.widget-close:hover{background:#0003}.widget-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px 24px;text-align:center}.widget-header h2{margin:0 0 8px;font-size:28px;font-weight:700}.widget-header p{margin:0;font-size:16px;opacity:.9}.widget-progress{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px}.step-number{width:40px;height:40px;border-radius:50%;background:#d1d5db;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;transition:all .3s}.progress-step.active .step-number{background:#667eea;color:#fff}.progress-step span{font-size:13px;color:var(--text-secondary);font-weight:500}.progress-step.active span{color:#667eea;font-weight:600}.progress-line{flex:1;height:2px;background:#d1d5db;margin:0 8px 20px}.widget-body{padding:32px 24px;min-height:400px}.step-content h3{margin:0 0 24px;font-size:24px;font-weight:700;color:var(--text-primary)}.back-btn{background:none;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:16px;display:inline-flex;align-items:center;gap:4px}.back-btn:hover{color:#5568d3}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.service-card{background:var(--bg-card);border:2px solid var(--border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .2s}.service-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.service-icon{font-size:48px;margin-bottom:12px}.service-card h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.service-card p{margin:0;font-size:14px;color:var(--text-secondary)}.date-picker-section,.time-picker-section{margin-bottom:24px}.date-picker-section label,.time-picker-section label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:14px}.date-input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:16px;transition:border-color .2s}.date-input:focus{outline:none;border-color:#667eea}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.time-slot{padding:12px 16px;background:var(--bg-card);border:2px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;color:var(--text-primary)}.time-slot:hover{border-color:#667eea;background:var(--bg-light)}.time-slot.selected{border-color:#667eea;background:#667eea;color:#fff}.no-slots{text-align:center;color:var(--text-secondary);padding:32px;font-size:14px}.info-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column}.form-group-sm{grid-column:span 1;max-width:100px}.form-group label{font-weight:600;color:var(--text-primary);margin-bottom:6px;font-size:14px}.form-group input,.form-group textarea{padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.confirmation{text-align:center}.confirmation-icon{font-size:64px;margin-bottom:16px}.confirmation h3{margin-bottom:12px}.confirmation-text{color:var(--text-secondary);font-size:16px;margin-bottom:32px}.booking-summary{background:var(--bg-secondary);border-radius:8px;padding:24px;margin-bottom:24px;text-align:left}.summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-row span{color:var(--text-secondary);font-size:14px}.summary-row strong{color:var(--text-primary);font-size:14px}.confirmation-actions{display:flex;gap:12px;justify-content:center}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3}.btn-secondary{background:var(--bg-card);color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:var(--bg-light)}.widget-footer{background:var(--bg-secondary);padding:16px;text-align:center;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.widget-footer strong{color:#667eea}.widget-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.widget-loading p{margin-top:16px;color:var(--text-secondary);font-size:14px}@media(max-width:640px){.widget-header h2{font-size:24px}.widget-body{padding:24px 16px}.service-grid,.form-row{grid-template-columns:1fr}.form-group-sm{max-width:none}.time-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.confirmation-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.progress-step span{font-size:11px}}.booking-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.booking-page-header{padding:32px 24px;text-align:center;color:#fff}.brand-logo h1{margin:0;font-size:42px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.brand-logo p{margin:8px 0 0;font-size:18px;opacity:.95;font-weight:500}.booking-page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.booking-page-content .klairidy-widget{width:100%;max-width:900px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.booking-page-footer{padding:24px;text-align:center;color:#fff;font-size:14px;background:#0000001a}.booking-page-footer p{margin:4px 0}.booking-page-footer a{color:#fff;text-decoration:underline;font-weight:600}.booking-page-footer a:hover{opacity:.9}@media(max-width:768px){.brand-logo h1{font-size:32px}.brand-logo p{font-size:16px}.booking-page-content{padding:16px}.booking-page-header{padding:24px 16px}.booking-page-footer{padding:20px 16px;font-size:13px}}.embed-generator{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.generator-section,.preview-section{min-height:400px}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:14px}.input{width:100%;padding:10px 14px;border:2px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s}.input:focus{outline:none;border-color:#667eea}.mode-options{display:flex;flex-direction:column;gap:12px}.mode-option{display:block;background:var(--bg-card);border:2px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.mode-option:hover{border-color:#667eea;background:var(--bg-secondary)}.mode-option.active{border-color:#667eea;background:#ede9fe}.mode-option input[type=radio]{display:none}.mode-content{display:flex;align-items:center;gap:16px}.mode-icon{font-size:32px}.mode-content strong{display:block;font-size:16px;color:var(--text-primary);margin-bottom:4px}.mode-content p{margin:0;font-size:13px;color:var(--text-secondary)}.code-block{background:#1f2937;color:#f9fafb;padding:20px;border-radius:8px;overflow-x:auto;font-family:Monaco,Courier New,monospace;font-size:13px;line-height:1.6;margin-bottom:16px}.code-block code{color:#f9fafb}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px;font-size:14px;color:#1e40af}.info-box strong{display:block;margin-bottom:8px;color:#1e3a8a}.info-box ol{margin:0;color:#1e40af}.info-box li{margin-bottom:4px}.info-box code{background:#dbeafe;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px}.preview-container{min-height:300px}@media(max-width:1024px){.embed-generator{grid-template-columns:1fr}}.customer-login-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f0fdfa);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{max-width:460px;width:100%}.login-header{text-align:center;margin-bottom:32px}.company-logo{display:inline-flex;flex-direction:column;align-items:center;gap:10px}.company-logo .tagline{font-size:11px;color:#0d9488;margin:0;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.login-card{background:#fff;border-radius:20px;padding:44px 40px;box-shadow:0 8px 32px #0000000f,0 1px 4px #0000000a;border:1px solid #E2E8F0}.login-card h2{font-size:26px;font-weight:700;margin:0 0 6px;color:#0f172a}.login-subtitle{color:#64748b;margin:0 0 28px;font-size:14px;line-height:1.5}.alert{padding:12px 16px;border-radius:10px;margin-bottom:24px;font-size:14px}.alert-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:7px}.form-group input{width:100%;padding:12px 16px;border:1px solid #E2E8F0;border-radius:12px;font-size:15px;font-family:inherit;transition:all .2s;background:#f8fafc;color:#0f172a}.form-group input::placeholder{color:#94a3b8}.form-group input:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px #0d94881a}.btn-full{width:100%;padding:13px;font-size:15px;font-weight:600;margin-top:8px;border-radius:12px;background:#0d9488;color:#fff;border:none;cursor:pointer;transition:all .2s}.btn-full:hover:not(:disabled){background:#0f766e;transform:translateY(-1px);box-shadow:0 4px 12px #0d948840}.btn-full:disabled{opacity:.5;cursor:not-allowed}.login-footer{margin-top:28px;padding-top:22px;border-top:1px solid #F1F5F9;text-align:center}.login-footer p{font-size:13px;color:#94a3b8;margin:0}.login-footer a{color:#0d9488;text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.magic-sent-state{text-align:center;padding:12px 0}.magic-sent-icon{font-size:56px;margin-bottom:16px;animation:bounceIn .5s var(--ease-out)}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.08)}70%{transform:scale(.96)}to{transform:scale(1);opacity:1}}.magic-sent-state h2{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 12px}.magic-sent-state .login-subtitle{font-size:14px;line-height:1.6;margin-bottom:24px}.magic-sent-tips{padding-top:20px;border-top:1px solid #F1F5F9;font-size:13px;color:#64748b}.magic-sent-tips p{margin:0 0 4px}.btn-link{background:none;border:none;color:#0d9488;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-family:inherit}.btn-link:hover{color:#0f766e}.login-mode-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:10px;padding:4px;margin-bottom:20px}.login-mode-tab{flex:1;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;background:transparent;cursor:pointer;transition:all .15s}.login-mode-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 3px #00000014}@media(max-width:768px){.login-card{padding:32px 24px;border-radius:16px}}.help-ai-container{display:flex;flex-direction:column;align-items:center}.help-ai-hero{text-align:center;padding:40px 24px 32px;max-width:520px}.help-ai-heading{font-family:var(--font-display);font-size:var(--text-2xl, 1.5rem);font-weight:800;color:var(--text-primary);margin:0 0 10px}.help-ai-subheading{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 28px;line-height:1.6}.help-ai-phone-number{display:block;font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-teal, #14b8a6);text-decoration:none;margin-bottom:20px;letter-spacing:.02em;transition:opacity .15s}.help-ai-phone-number:hover{opacity:.8}.help-ai-call-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#06b6d4);border:none;border-radius:var(--radius-lg, 12px);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #6366f14d}.help-ai-call-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.help-ai-call-btn:active{transform:translateY(0)}.help-ai-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:600px;margin-bottom:32px}.help-ai-feature{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg, 12px);padding:20px;text-align:center;transition:transform .15s,box-shadow .15s}.help-ai-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.help-ai-feature-icon{display:block;font-size:1.75rem;margin-bottom:10px}.help-ai-feature-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--text-primary);margin-bottom:6px}.help-ai-feature-desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;margin:0}.help-ai-footnote{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);text-align:center;margin:0;padding-bottom:8px}[data-theme=dark] .help-ai-feature{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .help-ai-phone-number{color:#2dd4bf}[data-theme=dark] .help-ai-call-btn{box-shadow:0 4px 14px #6366f133}@media(max-width:480px){.help-ai-features-grid{grid-template-columns:1fr}.help-ai-phone-number{font-size:1.5rem}.help-ai-hero{padding:24px 16px}}.accept-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:accept-fade-in .2s ease-out}@keyframes accept-fade-in{0%{opacity:0}to{opacity:1}}.accept-modal{background:var(--surface-0, #fff);border-radius:16px;width:100%;max-width:440px;margin:16px;padding:28px;box-shadow:0 20px 60px #00000026;animation:accept-scale-in .2s ease-out}@keyframes accept-scale-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .accept-modal{background:var(--surface-1, #1e1e2e);box-shadow:0 20px 60px #0006}.accept-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.accept-header-left{display:flex;align-items:center;gap:10px}.accept-icon-pill{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f59e0b1a;color:#f59e0b}[data-theme=dark] .accept-icon-pill{background:#f59e0b1f;color:#fbbf24}.accept-icon-pill.accept-icon-green{background:#10b9811a;color:#10b981}[data-theme=dark] .accept-icon-pill.accept-icon-green{background:#10b98126;color:#34d399}.accept-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:18px;font-weight:700;color:var(--text-primary, #111827);margin:0}.accept-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #9ca3af);transition:background .15s}.accept-close:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .accept-close:hover{background:#ffffff0f}.accept-section{background:var(--surface-2, #f9fafb);border-radius:10px;padding:16px 18px;margin-bottom:20px;border:1px solid transparent}[data-theme=dark] .accept-section{background:#ffffff08;border-color:#ffffff0a}.accept-instructions{font-size:14px;color:var(--text-secondary, #6b7280);line-height:1.6;margin:0 0 14px}.accept-input{width:100%;padding:12px 14px;border:2px solid var(--border-default, #d1d5db);border-radius:10px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:16px;color:var(--text-primary, #111827);background:var(--surface-0, #fff);box-sizing:border-box;transition:border-color .15s}.accept-input::placeholder{color:var(--text-muted, #9ca3af)}.accept-input:focus{outline:none;border-color:var(--accent, #0D9488);box-shadow:0 0 0 3px #0d94881a}[data-theme=dark] .accept-input{background:var(--surface-1, #1e1e2e);border-color:#ffffff1a;color:var(--text-primary, #f1f5f9)}[data-theme=dark] .accept-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf1a}.accept-input.accept-input-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444414}[data-theme=dark] .accept-input.accept-input-error{border-color:#f87171;box-shadow:0 0 0 3px #f871711a}.accept-error-msg{font-size:13px;color:#ef4444;margin-top:8px;display:flex;align-items:center;gap:6px}[data-theme=dark] .accept-error-msg{color:#f87171}.accept-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:10px;border:none;color:#fff;font-family:var(--font-body, "DM Sans", sans-serif);font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#6366f1,#0ea5e9);box-shadow:0 2px 10px #6366f14d;transition:filter .15s,transform .1s,opacity .15s}.accept-cta:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.accept-cta:disabled{opacity:.55;cursor:not-allowed;transform:none}.accept-cancel{display:block;width:100%;text-align:center;margin-top:12px;padding:8px;font-size:14px;font-weight:500;color:var(--text-muted, #9ca3af);background:none;border:none;cursor:pointer;transition:color .15s}.accept-cancel:hover{color:var(--text-secondary, #6b7280)}.accept-success{text-align:center;padding:12px 0}.accept-success-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:20px;background:#10b9811a;color:#10b981;font-size:14px;font-weight:600;margin-bottom:16px}[data-theme=dark] .accept-success-pill{background:#10b98126;color:#34d399}.accept-success-text{font-size:15px;color:var(--text-primary, #111827);font-weight:600;margin:0 0 6px}.accept-success-sub{font-size:13px;color:var(--text-secondary, #6b7280);margin:0}.accept-success-job{display:inline-block;margin-top:14px;padding:6px 16px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:8px;font-family:var(--font-mono, "DM Mono", monospace);font-size:13px;font-weight:600;color:#10b981}[data-theme=dark] .accept-success-job{background:#10b9811a;border-color:#34d39933;color:#34d399}.peq-filter-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.02em}.peq-filter-upcoming{background:color-mix(in srgb,#10b981 14%,transparent);color:#059669;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.peq-filter-due-soon{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706;border:1px solid color-mix(in srgb,#f59e0b 25%,transparent)}.peq-filter-overdue{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.peq-filter-notset{background:var(--surface-2, #f1f5f9);color:var(--text-muted);border:1px solid var(--border-subtle, #e2e8f0)}.peq-filter-meta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.peq-filter-meta-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.peq-filter-meta-date{font-size:13px;font-weight:500;font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em}.peq-filter-meta-empty{font-size:13px;font-weight:500;color:var(--text-muted)}.peq-filter-meta-days{font-size:11px;color:var(--text-muted)}.peq-filter-info-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.peq-filter-info-date{font-size:15px;font-weight:500;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.02em;margin-top:6px}.peq-filter-info-empty{font-size:15px;font-weight:500;color:var(--text-muted);margin-top:6px}.peq-filter-info-days{font-size:12px;color:var(--text-muted);margin-top:2px}[data-theme=dark] .peq-filter-upcoming{background:color-mix(in srgb,#10b981 18%,transparent);color:#34d399}[data-theme=dark] .peq-filter-due-soon{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fbbf24}[data-theme=dark] .peq-filter-overdue{background:color-mix(in srgb,#ef4444 18%,transparent);color:#f87171}[data-theme=dark] .peq-filter-notset{background:var(--surface-3, #1e293b);color:var(--text-muted)}.portal-sp-page{max-width:800px;margin:0 auto}.portal-sp-header{margin-bottom:28px}.portal-sp-title{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.portal-sp-subtitle{font-size:15px;color:var(--text-secondary);margin:0;line-height:1.5}.portal-sp-loading{text-align:center;padding:80px 24px;color:var(--text-muted);font-size:15px}.portal-sp-empty{background:var(--surface-1);border:1px solid var(--border-default);border-radius:14px;text-align:center;padding:72px 32px}.portal-sp-empty-icon{color:var(--text-muted);opacity:.4;margin-bottom:16px}.portal-sp-empty-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.portal-sp-empty-desc{color:var(--text-secondary);font-size:14px;max-width:380px;margin:0 auto 20px;line-height:1.6}.portal-sp-empty-cta{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-size:14px;font-weight:600;padding:10px 22px;border-radius:8px;text-decoration:none;transition:opacity .2s}.portal-sp-empty-cta:hover{opacity:.9}.portal-sp-list{display:flex;flex-direction:column;gap:20px}.portal-sp-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.portal-sp-card-top{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;gap:16px}.portal-sp-card-info{flex:1;min-width:0}.portal-sp-tier{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:8px}.portal-sp-tier-basic{background:linear-gradient(135deg,#6b7280,#4b5563)}.portal-sp-tier-standard{background:linear-gradient(135deg,#6366f1,#4f46e5)}.portal-sp-tier-premium{background:linear-gradient(135deg,#f59e0b,#d97706)}.portal-sp-plan-name{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.portal-sp-price{display:flex;align-items:baseline;gap:2px}.portal-sp-price-amount{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text-primary)}.portal-sp-price-freq{font-size:13px;color:var(--text-muted);font-weight:500}.portal-sp-status{display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.02em;flex-shrink:0}.portal-sp-status-active{background:color-mix(in srgb,#10b981 14%,transparent);color:#059669;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.portal-sp-status-cancelled{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.portal-sp-status-pastdue{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706;border:1px solid color-mix(in srgb,#f59e0b 25%,transparent)}.portal-sp-status-paused{background:var(--surface-2, #f1f5f9);color:var(--text-muted);border:1px solid var(--border-subtle)}.portal-sp-features{list-style:none;margin:0;padding:0 24px 16px;display:flex;flex-wrap:wrap;gap:6px 16px}.portal-sp-feature{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.portal-sp-feature svg{color:#10b981;flex-shrink:0}.portal-sp-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--border-subtle, #e2e8f0);border-top:1px solid var(--border-subtle, #e2e8f0)}.portal-sp-detail{display:flex;flex-direction:column;gap:2px;padding:14px 24px;background:var(--surface-1)}.portal-sp-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.portal-sp-detail-value{font-size:14px;font-weight:600;color:var(--text-primary)}.portal-sp-mono{font-family:var(--font-mono);letter-spacing:.02em}.portal-sp-actions{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--border-subtle, #e2e8f0)}.portal-sp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;font-family:var(--font-display);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;border:1px solid var(--border-default)}.portal-sp-btn-secondary{background:var(--surface-1);color:var(--text-primary)}.portal-sp-btn-secondary:hover{background:var(--surface-2, #f8fafc);transform:translateY(-1px)}.portal-sp-btn-danger{background:none;color:#dc2626;border-color:color-mix(in srgb,#ef4444 30%,transparent)}.portal-sp-btn-danger:hover{background:color-mix(in srgb,#ef4444 8%,transparent)}.portal-sp-cancelled-note{padding:12px 24px;border-top:1px solid var(--border-subtle);font-size:13px;color:var(--text-muted)}.portal-sp-card-cancelled{opacity:.6;border-color:var(--border-subtle, #e2e8f0)}.portal-sp-card-cancelled:hover{opacity:.8}.portal-sp-card-collapsed{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px}.portal-sp-collapsed-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.portal-sp-collapsed-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary)}.portal-sp-collapsed-date{font-size:12px;color:var(--text-muted)}.portal-sp-tier-sm,.portal-sp-status-sm{padding:2px 8px;font-size:10px}.portal-sp-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.portal-sp-chevron-open{transform:rotate(90deg)}.portal-sp-btn-resume{background:color-mix(in srgb,#10b981 12%,transparent);color:#059669;border-color:color-mix(in srgb,#10b981 30%,transparent)}.portal-sp-btn-resume:hover{background:color-mix(in srgb,#10b981 20%,transparent);transform:translateY(-1px)}.portal-sp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.portal-sp-billing{border-top:1px solid var(--border-subtle, #e2e8f0);padding:20px 24px}.portal-sp-billing-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.portal-sp-billing-loading,.portal-sp-billing-empty{font-size:13px;color:var(--text-muted);padding:12px 0}.portal-sp-billing-table{border:1px solid var(--border-subtle, #e2e8f0);border-radius:8px;overflow:hidden}.portal-sp-billing-header{display:grid;grid-template-columns:1fr 80px 80px 1fr;gap:8px;padding:8px 14px;background:var(--surface-2, #f1f5f9);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.portal-sp-billing-row{display:grid;grid-template-columns:1fr 80px 80px 1fr;gap:8px;padding:10px 14px;font-size:13px;color:var(--text-primary);border-top:1px solid var(--border-subtle, #e2e8f0)}.portal-sp-tx-status{font-size:11px;font-weight:600;text-transform:capitalize}.portal-sp-tx-approved{color:#059669}.portal-sp-tx-declined{color:#dc2626}.portal-sp-tx-pending{color:#d97706}.portal-sp-tx-refunded,.portal-sp-tx-refund-amount{color:#dc2626}.portal-sp-tx-struck{text-decoration:line-through;color:var(--text-muted)}.portal-sp-tx-id{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sp-modal-question{font-size:14px;color:var(--text-secondary);margin:0 0 14px;line-height:1.5}.portal-sp-reason-list{display:flex;flex-direction:column;gap:6px}.portal-sp-reason{display:block;width:100%;text-align:left;padding:10px 14px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.portal-sp-reason:hover{border-color:#6366f1}.portal-sp-reason-selected{border-color:#6366f1;background:color-mix(in srgb,#6366f1 8%,transparent)}.portal-sp-confirm-summary{background:var(--surface-2, #f1f5f9);border-radius:8px;padding:14px 16px;margin-bottom:14px;font-size:14px;color:var(--text-secondary);line-height:1.6}.portal-sp-confirm-summary p{margin:0 0 4px}.portal-sp-confirm-check{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-primary);cursor:pointer}.portal-sp-confirm-check input{width:16px;height:16px}.portal-sp-btn-confirm-danger{background:#dc2626;color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;cursor:pointer}.portal-sp-btn-confirm-danger:disabled{opacity:.5;cursor:not-allowed}.portal-sp-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle)}.portal-sp-card-form{display:flex;flex-direction:column;gap:12px}.portal-sp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-sp-form-field{display:flex;flex-direction:column;gap:4px}.portal-sp-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.portal-sp-form-input{padding:8px 12px;border:1px solid var(--border-default);border-radius:8px;font-size:14px;font-family:var(--font-mono);color:var(--text-primary);background:var(--surface-1);outline:none;transition:border-color .15s,box-shadow .15s}.portal-sp-form-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px color-mix(in srgb,#6366f1 20%,transparent)}.portal-sp-form-input::placeholder{color:var(--text-muted);font-family:var(--font-body)}[data-theme=dark] .portal-sp-status-active{background:color-mix(in srgb,#10b981 18%,transparent);color:#34d399}[data-theme=dark] .portal-sp-status-cancelled{background:color-mix(in srgb,#ef4444 18%,transparent);color:#f87171}[data-theme=dark] .portal-sp-status-pastdue{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fbbf24}[data-theme=dark] .portal-sp-status-paused{background:var(--surface-3, #1e293b)}[data-theme=dark] .portal-sp-details{background:var(--border-default, #334155)}[data-theme=dark] .portal-sp-billing-header{background:var(--surface-2, #1e293b)}[data-theme=dark] .portal-sp-reason:hover{border-color:#818cf8}[data-theme=dark] .portal-sp-reason-selected{border-color:#818cf8;background:color-mix(in srgb,#818cf8 12%,transparent)}[data-theme=dark] .portal-sp-confirm-summary{background:var(--surface-2, #1e293b)}[data-theme=dark] .portal-sp-form-input{background:var(--surface-2, #1e293b);border-color:var(--border-default, #334155)}[data-theme=dark] .portal-sp-form-input:focus{border-color:#818cf8;box-shadow:0 0 0 2px color-mix(in srgb,#818cf8 20%,transparent)}[data-theme=dark] .portal-sp-btn-secondary{background:var(--surface-2, #1e293b);border-color:var(--border-default, #334155)}[data-theme=dark] .portal-sp-btn-danger{color:#f87171}[data-theme=dark] .portal-sp-btn-resume{background:color-mix(in srgb,#10b981 18%,transparent);color:#34d399;border-color:color-mix(in srgb,#10b981 30%,transparent)}[data-theme=dark] .portal-sp-card-cancelled{border-color:var(--border-default, #334155)}[data-theme=dark] .portal-sp-tx-approved{color:#34d399}[data-theme=dark] .portal-sp-tx-declined{color:#f87171}[data-theme=dark] .portal-sp-tx-pending{color:#fbbf24}[data-theme=dark] .portal-sp-tx-refunded,[data-theme=dark] .portal-sp-tx-refund-amount{color:#f87171}@media(max-width:640px){.portal-sp-details{grid-template-columns:1fr 1fr}.portal-sp-billing-header,.portal-sp-billing-row{grid-template-columns:1fr 70px 60px}.portal-sp-billing-header span:last-child,.portal-sp-billing-row span:last-child{display:none}.portal-sp-actions{flex-direction:column}.portal-sp-form-row{grid-template-columns:1fr}}.portal-docs-page{max-width:1000px;margin:0 auto;padding:0 20px}.portal-docs-header{margin-bottom:24px}.portal-docs-title{font-family:var(--font-heading, "Outfit", sans-serif);font-size:28px;font-weight:800;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.02em}.portal-docs-subtitle{font-size:var(--text-sm, 14px);color:var(--text-secondary);margin:0}.portal-docs-filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.portal-docs-tabs{display:flex;gap:4px;background:var(--surface-2, #f3f4f6);border-radius:10px;padding:3px}.portal-docs-tab{padding:6px 14px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.portal-docs-tab:hover{color:var(--text-primary)}.portal-docs-tab.active{background:var(--accent, #0D9488);color:#fff}.portal-docs-search{flex:1;min-width:180px;max-width:300px;padding:8px 14px;border:1px solid var(--border-default, #d1d5db);border-radius:8px;font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;background:var(--surface-0, #fff);color:var(--text-primary);transition:border-color .15s}.portal-docs-search::placeholder{color:var(--text-muted, #9ca3af)}.portal-docs-search:focus{outline:none;border-color:var(--accent, #0D9488)}[data-theme=dark] .portal-docs-search{background:var(--surface-1, #1e1e2e);border-color:#ffffff1a}.portal-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.portal-docs-card{display:flex;flex-direction:column;background:var(--surface-0, #fff);border:1px solid var(--border-default, #e5e7eb);border-radius:12px;padding:20px;transition:border-color .15s,box-shadow .15s}.portal-docs-card:hover{border-color:var(--accent, #0D9488);box-shadow:0 4px 12px #0000000f}[data-theme=dark] .portal-docs-card{background:var(--surface-1, #1e1e2e);border-color:#ffffff0f}[data-theme=dark] .portal-docs-card:hover{border-color:var(--accent, #2DD4BF);box-shadow:0 4px 12px #0003}.portal-docs-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}.portal-docs-icon svg{width:22px;height:22px}.portal-docs-icon-pdf{background:#ef44441a;color:#ef4444}[data-theme=dark] .portal-docs-icon-pdf{background:#ef44441f;color:#f87171}.portal-docs-icon-image{background:#3b82f61a;color:#3b82f6}[data-theme=dark] .portal-docs-icon-image{background:#3b82f61f;color:#60a5fa}.portal-docs-icon-doc{background:#6366f11a;color:#6366f1}[data-theme=dark] .portal-docs-icon-doc{background:#6366f11f;color:#a78bfa}.portal-docs-icon-other{background:var(--surface-2, #f3f4f6);color:var(--text-muted, #9ca3af)}[data-theme=dark] .portal-docs-icon-other{background:#ffffff0a}.portal-docs-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 6px;word-break:break-word;line-height:1.3}.portal-docs-meta{font-size:12px;color:var(--text-muted, #9ca3af);margin:0 0 14px;display:flex;align-items:center;gap:8px}.portal-docs-meta-dot:before{content:"·";margin:0 2px}.portal-docs-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;padding:8px 14px;border-radius:8px;border:1px solid var(--border-default, #d1d5db);background:transparent;color:var(--accent, #0D9488);font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.portal-docs-download:hover{background:#0d94880f;border-color:var(--accent, #0D9488)}[data-theme=dark] .portal-docs-download:hover{background:#2dd4bf14}.portal-docs-empty{text-align:center;padding:60px 24px;color:var(--text-secondary)}.portal-docs-empty-icon{color:var(--text-muted, #9ca3af);margin-bottom:12px}.portal-docs-empty-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.portal-docs-empty-sub{font-size:14px;color:var(--text-secondary);max-width:400px;margin:0 auto;line-height:1.5}.portal-docs-loading{text-align:center;padding:60px;color:var(--text-secondary);font-size:14px}@media(max-width:600px){.portal-docs-grid{grid-template-columns:1fr}.portal-docs-filters{flex-direction:column;align-items:stretch}.portal-docs-search{max-width:none}}.el-page{min-height:100vh;background:var(--surface-0);display:flex;justify-content:center;padding:40px 16px;font-family:var(--font-body)}.el-container{width:100%;max-width:560px}.el-header{text-align:center;margin-bottom:32px}.el-logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:8px}.el-heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0}.el-greeting{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.el-plan-summary{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin-bottom:24px}.el-plan-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 4px}.el-plan-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 16px}.el-features{list-style:none;padding:0;margin:0 0 20px}.el-features li{padding:6px 0;font-size:var(--text-sm);color:var(--text-primary);display:flex;align-items:center;gap:8px}.el-feature-check{color:var(--color-success);font-weight:700;font-size:var(--text-sm)}.el-freq-pills{display:flex;gap:6px;margin-bottom:16px}.el-freq-pill{flex:1;padding:8px 4px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:center}.el-freq-pill:hover{border-color:var(--brand-accent)}.el-freq-pill--active{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--text-on-accent)}.el-price-row{display:flex;align-items:baseline;gap:6px;margin-top:4px}.el-price{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--text-primary)}.el-price-period{font-size:var(--text-sm);color:var(--text-muted)}.el-savings{font-size:var(--text-xs);font-weight:700;color:var(--color-success);background:var(--color-success-bg);padding:2px 8px;border-radius:10px}.el-payment-section{background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin-bottom:24px}.el-section-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 16px}.el-field{margin-bottom:12px}.el-field label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);margin-bottom:4px}.el-input{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-0);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color .15s;box-sizing:border-box}.el-input:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--shadow-focus)}.el-input--mono{font-family:var(--font-mono)}.el-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.el-secure-note{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.el-terms-box{background:var(--surface-2);border:1px solid var(--border-default);border-radius:8px;padding:14px 16px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6;max-height:160px;overflow-y:auto;margin-bottom:12px}.el-terms-check{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;margin-bottom:20px}.el-terms-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-accent)}.el-submit{width:100%;padding:14px;font-size:var(--text-base);border-radius:10px}.el-submit:disabled{opacity:.5;cursor:not-allowed}.el-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:8px;text-align:center}.el-success{text-align:center;padding:60px 20px}.el-success-icon{width:64px;height:64px;border-radius:50%;background:var(--color-success);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.el-success-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0 0 12px}.el-success p{font-size:var(--text-base);color:var(--text-secondary);margin:4px 0}.el-error-state{text-align:center;padding:80px 20px}.el-error-icon{font-size:48px;margin-bottom:16px}.el-error-state h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);margin:0 0 8px}.el-error-state p{font-size:var(--text-base);color:var(--text-secondary);max-width:400px;margin:0 auto;line-height:1.6}.el-loading{text-align:center;padding:80px 20px;color:var(--text-muted)}.el-spinner{width:36px;height:36px;border:3px solid var(--border-default);border-top-color:var(--brand-accent);border-radius:50%;animation:el-spin .8s linear infinite;margin:0 auto 12px}@keyframes el-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.el-page{padding:20px 12px}.el-freq-pills{flex-wrap:wrap}.el-freq-pill{flex:0 0 calc(50% - 3px)}.el-price{font-size:1.5rem}}
