@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-cyrillic-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-greek-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-greek-wght-normal.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes modal-appear-fixed{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fullScreenModalAppear-fixed{0%{opacity:0}to{opacity:1}}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-blue{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse-gray{0%,to{opacity:1}50%{opacity:.4}}@keyframes highlightSuccess{0%{background-color:var(--color-success-light);border-color:var(--color-success-light)}to{background-color:#fff;border-color:var(--color-gray-300)}}@keyframes kanban-spin{to{transform:rotate(360deg)}}@keyframes dropSuccess{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes deleteConfirmPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes successFlash{0%{background-color:var(--color-success-tint)}to{background-color:var(--color-success-pale)}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes subtlePulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b1a}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes statusUpdate{0%{transform:scale(1.02);box-shadow:var(--input-focus-ring)}to{transform:scale(1);box-shadow:none}}@keyframes dragPulse{0%{box-shadow:0 0 #004a6066}50%{box-shadow:0 0 0 8px #004a601a}to{box-shadow:0 0 0 0 transparent}}@keyframes searchPulse{0%,to{transform:scale(1);box-shadow:0 0 8px #28a7454d}25%,75%{transform:scale(1.02);box-shadow:0 0 16px #28a74599}50%{transform:scale(1.04);box-shadow:0 0 24px #28a745cc}}@keyframes fadeInOut{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes bellShake{0%,50%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes todayGlow{0%{opacity:.3}to{opacity:.7}}@keyframes specialDayPulse{0%,to{box-shadow:0 2px 8px #7c3aed66}50%{box-shadow:0 4px 16px #7c3aed99}}@keyframes miniDayPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-dim{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:root{--color-bg-primary: #f0f6f8;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #5f6673;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-row-hover: #e6f2ff;--color-accent: #004a60;--color-accent-hover: #003845;--color-accent-light: #1d6680;--color-primary: var(--color-accent);--color-primary-dark: var(--color-accent-hover);--color-primary-light: var(--color-accent-light);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #5f6673;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-blue-600: #2563eb;--color-indigo-700: #4338ca;--color-teal-600: #0d9488;--color-green-200: #bbf7d0;--color-green-700: #15803d;--color-green-800: #166534;--color-amber-200: #fde68a;--color-amber-700: #b45309;--color-orange-800: #9a3412;--color-orange-900: #7c2d12;--color-purple-100: #f3e8ff;--color-neutral-50: #fafafa;--color-neutral-100: #eeeeee;--color-neutral-200: #e0e0e0;--color-neutral-300: #dddddd;--color-neutral-400: #cccccc;--color-neutral-500: #999999;--color-neutral-600: #666666;--color-neutral-450: #888888;--color-neutral-550: #555555;--color-neutral-700: #333333;--color-neutral-800: #222222;--color-neutral-900: #1a1a1a;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-success-darker: #065f46;--color-success-mid: #16a34a;--color-success-bright: #22c55e;--color-success-tint: #dcfce7;--color-success-pale: #f0fdf4;--color-success-text: #047857;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-warning-darker: #92400e;--color-warning-bright: #fbbf24;--color-warning-pale: #fffbeb;--color-warning-text: #b45309;--color-highlight: #fef08a;--color-danger: #ef4444;--color-danger-text: #b91c1c;--color-danger-light: #fee2e2;--color-danger-dark: #dc2626;--color-danger-darker: #991b1b;--color-danger-mid: #fca5a5;--color-danger-tint: #fecaca;--color-danger-pale: #fef2f2;--color-purple: #8b5cf6;--color-violet: #7c3aed;--color-orange: #ff8c00;--color-orange-text: #c2410c;--color-info: #3b82f6;--color-info-text: #1d4ed8;--color-info-light: #dbeafe;--color-info-pale: #eff6ff;--color-header-bg: #1e293b;--color-header-text: #ffffff;--color-inactive-tab: #94a3b8;--status-todo-bg: #2563eb;--status-survey-bg: #4f46e5;--status-jobpack-bg: #d97706;--status-machining-bg: #ea580c;--status-assembly-bg: #db2777;--status-spraying-bg: #ca8a04;--status-glazing-bg: #16a34a;--status-install-bg: #0d9488;--status-text-color: #ffffff;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--space-3xl: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--font-sans: "Inter Variable", "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", "Roboto Mono", ui-monospace, monospace;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-smd: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--surface-1: var(--color-bg-primary);--surface-2: var(--color-bg-secondary);--surface-3: var(--color-bg-tertiary);--surface-hover: var(--color-row-hover);--app-header-bg: var(--color-accent);--app-header-text: #ffffff;--app-header-shadow: var(--shadow-sm);--view-header-bg: #d6e7ec;--view-header-text: var(--color-text-primary);--view-header-border: #b9d3da;--btn-radius: var(--radius-md);--btn-padding-y: 4px;--btn-padding-x: 10px;--btn-font-size: var(--font-size-md);--btn-font-weight: 500;--btn-height: 28px;--btn-shadow: var(--shadow-sm);--btn-transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);--btn-primary-bg: var(--color-accent);--btn-primary-bg-hover: var(--color-accent-light);--btn-primary-text: #ffffff;--btn-primary-border: var(--color-accent);--btn-secondary-bg: var(--surface-2);--btn-secondary-bg-hover: var(--surface-3);--btn-secondary-text: var(--color-text-primary);--btn-secondary-border: var(--color-border);--btn-danger-bg: var(--color-danger-dark);--btn-danger-bg-hover: var(--color-danger-text);--btn-danger-text: #ffffff;--btn-danger-border: var(--color-danger);--btn-success-bg: var(--color-success);--btn-success-bg-hover: var(--color-success-dark);--btn-success-text: #ffffff;--btn-success-border: var(--color-success);--btn-warning-bg: var(--color-warning);--btn-warning-bg-hover: var(--color-warning-dark);--btn-warning-text: #ffffff;--btn-warning-border: var(--color-warning);--btn-cancel-bg: var(--btn-secondary-bg);--btn-cancel-bg-hover: var(--btn-secondary-bg-hover);--btn-cancel-text: var(--btn-secondary-text);--btn-cancel-border: var(--btn-secondary-border);--tab-radius: var(--radius-md);--tab-padding-y: var(--space-sm);--tab-padding-x: var(--space-lg);--tab-active-bg: var(--color-accent);--tab-active-text: #ffffff;--tab-active-border: var(--color-accent);--tab-inactive-bg: var(--surface-2);--tab-inactive-text: var(--color-text-primary);--tab-inactive-border: var(--color-border);--tab-hover-bg: var(--surface-3);--tab-bar-bg: transparent;--card-bg: var(--surface-2);--card-border: var(--color-border);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-padding: var(--space-lg);--modal-bg: var(--surface-2);--modal-overlay: rgba(0, 0, 0, .5);--modal-radius: var(--radius-lg);--modal-shadow: var(--shadow-xl);--modal-header-bg: var(--color-accent);--modal-header-text: #ffffff;--modal-header-border: var(--color-accent);--modal-footer-bg: var(--surface-3);--modal-footer-border: var(--color-border);--input-bg: var(--surface-2);--input-bg-disabled: var(--surface-3);--input-text: var(--color-text-primary);--input-placeholder: var(--color-text-muted);--input-border: var(--color-border);--input-border-hover: var(--color-accent-light);--input-border-focus: var(--color-accent);--input-radius: var(--btn-radius);--input-padding-y: var(--btn-padding-y);--input-padding-x: var(--btn-padding-x);--input-font-size: var(--btn-font-size);--input-height: var(--btn-height);--input-font-weight: var(--btn-font-weight);--input-focus-ring: 0 0 0 3px rgba(0, 74, 96, .15);--table-bg: var(--surface-2);--table-header-bg: var(--surface-3);--table-header-text: var(--color-text-primary);--table-header-border: var(--color-border);--table-row-bg: var(--surface-2);--table-row-alt-bg: var(--surface-1);--table-row-hover-bg: var(--surface-hover);--table-row-warning-bg: var(--color-danger-pale);--table-row-success-bg: var(--color-success-pale);--table-row-info-bg: var(--color-info-pale);--table-cell-border: var(--color-border-light);--badge-radius: var(--radius-full);--badge-padding-y: 2px;--badge-padding-x: 8px;--badge-font-size: var(--font-size-xs);--badge-text: #ffffff;--badge-bg-accent: var(--color-accent);--badge-bg-success: var(--color-success);--badge-bg-warning: var(--color-warning);--badge-bg-danger: var(--color-danger);--badge-bg-info: var(--color-info);--badge-bg-neutral: var(--color-gray-200);--badge-text-neutral: var(--color-text-primary);--gradient-accent: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);--gradient-success: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);--gradient-warning: linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);--gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);--gradient-special: var(--gradient-accent)}*,body,html{margin:0;padding:0}*{box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border .2s ease,opacity .2s ease}html{-ms-overflow-style:none!important}body,html{scrollbar-width:none!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden!important;box-sizing:border-box!important;overflow-y:auto;height:100vh}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:0 0!important}.app-container,.card-content,.content-section,.main-content,.panel-content,.table-container{scrollbar-width:none!important;-ms-overflow-style:none!important}.app-container::-webkit-scrollbar,.card-content::-webkit-scrollbar,.content-section::-webkit-scrollbar,.main-content::-webkit-scrollbar,.panel-content::-webkit-scrollbar,.table-container::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.modal-body,.modal-content{scrollbar-width:thin!important;-ms-overflow-style:auto!important}.modal-body::-webkit-scrollbar,.modal-content::-webkit-scrollbar,code::-webkit-scrollbar,pre::-webkit-scrollbar,textarea::-webkit-scrollbar{display:block!important;width:6px!important;height:6px!important}.modal-body::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:var(--color-neutral-100)!important;border-radius:var(--radius-xs)!important}.modal-body::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1!important;border-radius:var(--radius-xs)!important}.modal-body::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8!important}code,pre,select,textarea{scrollbar-width:thin!important}select::-webkit-scrollbar{width:4px!important}#main-content{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;width:100%!important;max-width:100%!important;display:flex;flex-direction:column;min-height:0;padding:4px}:focus{outline-offset:2px!important}@supports not (scrollbar-width: none){body,html{overflow:-moz-scrollbars-none!important}}.settings-list-container::-webkit-scrollbar{display:block!important;width:6px!important}.content-section.hidden{display:none!important;visibility:hidden!important;opacity:0!important;position:absolute!important;left:-9999px!important}@media(max-width:767px){#app-container{height:100vh;height:-webkit-fill-available}}@media screen and (min-width:500px)and (max-width:900px){#main-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}.screen-mode:not(.show-header) .header{display:none!important}.screen-mode:not(.show-header) .app-container{padding-top:0!important}.screen-mode:not(.show-header) #main-content{margin-top:0!important}.app-container.not-authenticated{display:none!important;visibility:hidden!important}.content-section:not(.hidden){display:block}.table-container,html{scroll-behavior:smooth}#app-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}body,h1,h2,h3{color:var(--color-text-primary)}body{-ms-overflow-style:none!important;scrollbar-3dlight-color:transparent!important;scrollbar-arrow-color:transparent!important;scrollbar-base-color:transparent!important;scrollbar-dark-shadow-color:transparent!important;scrollbar-face-color:transparent!important;scrollbar-highlight-color:transparent!important;scrollbar-shadow-color:transparent!important;scrollbar-track-color:transparent!important;font-family:var(--font-sans);background-color:var(--color-bg-primary);line-height:1.6;font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.app-container{width:100vw!important;max-width:100vw!important;overflow-x:hidden!important;height:100vh!important;display:flex!important;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;overflow-y:auto}h1,h2,h3{margin-bottom:var(--space-md);line-height:1.3;letter-spacing:-.01em}h3,h4,h5,h6{font-weight:600}h4,h5,h6{line-height:1.3;color:var(--color-text-primary);letter-spacing:-.01em}h1,h2{font-size:var(--font-size-3xl);font-weight:700}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}a,a:hover{text-decoration:none}a{transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}.text-center{text-align:center}.currency{font-family:var(--font-mono, monospace);color:var(--color-success-text);font-weight:500}.tab-button:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:var(--color-accent-light);transform:scaleX(0);transform-origin:bottom left;transition:transform .3s ease;display:none}.tab-button.active,a{color:var(--color-accent)}.tab-button.active:after{transform:scaleX(1)}.tab-button:hover:after{transform:scaleX(.5)}#dashboard-tab{order:1}#board-tab{order:2}#enquiries-view-tab{order:3}#inventory-tab{order:4}#orders-view-tab{order:5}#reports-tab{order:6}#turnover-tab{order:7}#archived-tab{order:8}#install-scheduler-tab{order:9}#todo-tab{order:10}#admin-tab{order:12}.content-section{position:relative;width:100%;display:none;flex:1;min-height:0}#performance-view{overflow-y:auto}.card{overflow:hidden;display:flex;flex-direction:column}.card,.dashboard-panel{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);transition:transform .3s ease,box-shadow .3s ease}.dashboard-panel.wide{grid-column:1/-1;width:100%;padding:0}.card-header,.panel-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.card-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap}.card-header h2,.panel-header h2{font-size:var(--font-size-lg);color:var(--color-text-primary)}.card-header h2{font-weight:600;margin-bottom:0}.card-content,.panel-content{overflow-y:auto;overflow-x:hidden;position:relative}.dashboard-panels,.grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}.search-container{position:relative;display:flex;align-items:center;gap:var(--space-sm);max-width:300px;margin-right:var(--space-md)}.search-container:before{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:var(--font-size-md);opacity:.6;pointer-events:none;color:var(--color-text-muted)}.search-input{padding:var(--input-padding-y) 16px var(--input-padding-y) 40px;min-width:180px;box-shadow:var(--shadow-sm);background-color:var(--input-bg);flex:1}.search-input:focus{border-color:var(--input-border-focus);outline:0;box-shadow:var(--input-focus-ring);background-color:var(--input-bg)}.search-input::placeholder{color:var(--color-text-muted);opacity:.7;font-style:italic}.button{padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;height:var(--btn-height);gap:var(--space-xs)}.action-button,.button,.panel-action{box-shadow:var(--shadow-sm)}.panel-action{padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;transition:var(--btn-transition);display:inline-flex;align-items:center;justify-content:center;height:var(--btn-height);gap:var(--space-xs);background-color:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn,.button:hover,.panel-action{text-decoration:none}.button:hover{background-color:var(--btn-primary-bg-hover)}.action-button:hover,.btn:hover,.button:hover,.panel-action:hover{box-shadow:var(--shadow-md)}.btn:hover,.panel-action:hover{background-color:var(--btn-secondary-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary);text-decoration:none}.btn.btn-secondary:hover,.button.secondary:hover,.panel-action.secondary:hover{background-color:var(--btn-secondary-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary)}.btn.btn-success,.button.success{background-color:var(--btn-success-bg);color:var(--btn-success-text);border:1px solid var(--btn-success-border)}.btn.btn-success:hover,.button.success:hover{color:var(--btn-success-text);background-color:var(--btn-success-bg-hover);border-color:var(--btn-success-bg-hover)}.btn.btn-danger,.button.danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border:1px solid var(--btn-danger-border)}.btn.btn-danger:hover,.button.danger:hover{color:var(--btn-danger-text);background-color:var(--btn-danger-bg-hover);border-color:var(--btn-danger-bg-hover)}.btn.btn-warning,.button.warning{background-color:var(--btn-warning-bg);color:var(--btn-warning-text);border:1px solid var(--btn-warning-border)}.btn.btn-warning:hover,.button.warning:hover{color:var(--btn-warning-text);background-color:var(--btn-warning-bg-hover);border-color:var(--btn-warning-bg-hover)}.btn.btn-cancel:hover,.button.cancel:hover{background-color:var(--btn-cancel-bg-hover);border-color:var(--btn-cancel-border)}.button.small,.panel-action.small{height:24px}.btn.small,.button.small,.panel-action.small{min-width:24px}.btn.large,.button.large{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-md);height:40px;min-width:40px}.action-button:active,.btn:active,.button:active,.panel-action:active{transform:translateY(1px)}.btn:disabled,.button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.action-button:focus,.button:focus,.panel-action:focus,.tab-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--color-accent)}.sort-container{display:flex;align-items:center;white-space:nowrap;gap:var(--space-sm);flex-shrink:0}.sort-container label{margin-right:3px;flex-shrink:0;display:inline-block;margin-bottom:0}.sort-select{width:auto;max-width:150px;flex-shrink:1;padding:6px 8px;min-width:140px;height:32px;font-size:var(--font-size-sm)}.form-group,.form-row{margin-bottom:var(--space-lg)}.outsourced-fields-row{display:flex;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-md);flex-wrap:nowrap;width:100%}.outsourced-fields-row .compact-form-group{min-width:0;margin-bottom:0;display:flex;flex-direction:column}.outsourced-fields-row .compact-form-group input{width:100%}.checkbox-label span,.form-control,.form-label,.unified-checkbox-label span,input,label,select,textarea{font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-label,label{display:block;margin-bottom:var(--space-xs);font-weight:500}.form-control,input,select,textarea{width:100%;padding:var(--input-padding-y) var(--input-padding-x);background-color:var(--color-bg-tertiary);border:1px solid var(--input-border);border-radius:var(--input-radius);font-family:inherit;font-size:var(--input-font-size);font-weight:var(--input-font-weight);transition:all var(--transition-fast)}.form-control:not(textarea),select,input:not([type=checkbox]):not([type=radio]){height:var(--input-height)}input[type=checkbox],input[type=radio]{width:auto;padding:0;background-color:transparent;border:none;border-radius:0}textarea{resize:vertical;min-height:80px}.form-control:hover,input:hover,select:hover,textarea:hover{border-color:var(--input-border-hover)}.form-control:focus,input:focus,select:focus,textarea:focus{outline:0;border-color:var(--input-border-focus);box-shadow:var(--input-focus-ring);background-color:var(--input-bg)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.form-control.error{border-color:var(--color-danger);background:#ef44440d}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[readonly],textarea[readonly]{background-color:var(--color-bg-tertiary)!important;color:var(--color-text-muted)!important;cursor:default}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--color-bg-secondary) inset;-webkit-text-fill-color:var(--color-text-primary);transition:background-color 5000s ease-in-out 0s}input::-webkit-calendar-picker-indicator{filter:invert(.5)}option{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.form-section{margin-bottom:var(--space-xxl);padding:20px;background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.form-section h4{margin:0 0 8px;color:var(--color-gray-600);font-size:var(--font-size-lg);font-weight:600}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:var(--color-danger);background-color:var(--color-danger-light)}.form-group.error .form-help{color:var(--color-danger-text)}.form-group.flex-grow{flex:1}.form-group.qty-field{width:100px;min-width:100px}.form-group.cost-field{width:120px;min-width:120px}.form-group.type-field{width:150px;min-width:150px}.form-group.date-field{width:160px;min-width:160px}.form-group.status-field{width:150px;min-width:150px}.field-error:focus{outline:0;box-shadow:0 0 0 3px #dc26261a}.error-message:before{content:"⚠️";font-size:var(--font-size-2xs)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-sm);margin:10px 0}.checkbox-label input[type=checkbox]{margin:0}.checkbox-label,.unified-checkbox-label{gap:var(--space-xs);position:relative;min-width:120px;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.unified-checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:5px;padding:6px 10px}.checkbox-label:hover,.unified-checkbox-label:hover{background:var(--color-bg-tertiary)}.checkbox-label input,.unified-checkbox-label input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;position:relative;cursor:pointer}.checkbox-label input:checked,.unified-checkbox-label input:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox-label input:checked:after,.unified-checkbox-label input:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:var(--font-size-sm)}.checkbox-label input:focus,.unified-checkbox-label input:focus{box-shadow:var(--input-focus-ring)}.currency-input input{padding-left:32px}.form-actions{display:flex;justify-content:space-between;gap:var(--space-sm);width:100%;padding:0 10px;box-sizing:border-box}.form-actions-left,.form-actions-right{display:flex;gap:var(--space-sm);justify-content:flex-start}.form-actions-right{justify-content:flex-end}.standard-buttons{display:flex;gap:var(--space-md);margin-left:auto}.compact-form-group .description-container textarea,.compact-form-group .paint-spec-container select,.description-container textarea{flex:1}.data-table::-webkit-scrollbar{display:none}.data-table td,.data-table th{padding:var(--space-md);word-break:break-word;overflow-wrap:break-word}.data-table th{background-color:var(--color-bg-tertiary);font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:2px solid var(--color-border)}.data-table tbody tr{transition:all var(--transition-fast);cursor:pointer}.data-table tbody tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.data-table tbody tr:hover{background-color:var(--color-row-hover);background:var(--color-gray-50)}.data-table thead{width:100%;position:sticky;top:0;background:var(--color-bg-secondary);z-index:10;box-shadow:var(--shadow-md)}#jobs-table thead th{position:sticky;top:0;background-color:var(--color-bg-tertiary);z-index:10;box-shadow:var(--shadow-sm)}.data-table td:nth-child(1),.data-table td:nth-child(2),.data-table th:nth-child(1),.data-table th:nth-child(2){min-width:80px}.data-table td:nth-child(4),.data-table th:nth-child(4){min-width:100px}.data-table td:nth-child(5),.data-table th:nth-child(5){min-width:150px}.data-table td:nth-child(6),.data-table th:nth-child(6){min-width:100px}.dashboard-table-container,.table-container{background-color:var(--color-bg-secondary);overflow-y:auto;overflow-x:auto;border:1px solid var(--color-border);max-height:87vh}.status-badge.status-todo{background-color:var(--status-todo-bg)}.status-badge.status-jobpack,.status-badge.status-survey,.status-badge.status-todo{color:var(--status-text-color)}.status-badge.status-survey{background-color:var(--status-survey-bg)}.status-badge.status-jobpack{background-color:var(--status-jobpack-bg)}.status-badge.status-machining{background-color:var(--status-machining-bg);color:var(--status-text-color)}.status-badge.status-assembly,.status-badge.status-spraying{background-color:var(--status-assembly-bg);color:var(--status-text-color)}.status-badge.status-spraying{background-color:var(--status-spraying-bg)}.status-badge.status-glazing,.status-badge.status-install{background-color:var(--status-glazing-bg);color:var(--status-text-color)}.status-badge.status-install{background-color:var(--status-install-bg)}.status-badge.status-success{background-color:var(--color-success);color:#fff}.status-badge.status-warning{background-color:var(--color-warning);color:#fff}.status-badge.status-danger{background-color:var(--color-danger);color:#fff}.status-badge.status-info{background-color:var(--color-info);color:#fff}.status-badge.status-instock{background-color:var(--color-success);color:#fff}.status-badge.status-lowstock{background-color:var(--color-warning);color:#fff}.status-badge.status-outofstock{background-color:var(--color-danger);color:#fff}.status-badge.status-pending{background-color:var(--color-warning)}.status-badge.status-ordered{background-color:var(--color-info);color:#fff}.status-badge.status-shipped{background-color:var(--color-accent);color:#fff}.status-badge.status-received{background-color:var(--color-success)}.status-badge.status-cancelled{background-color:var(--color-danger)}.status-badge.status-backordered{background-color:var(--color-warning);color:#fff}.status-badge.status-yes{background-color:var(--color-success);color:#fff}.status-badge.status-no{background-color:var(--color-danger);color:#fff}.status-processing{background-color:var(--color-gray-400)!important;color:#fff!important;position:relative}.table-skeleton-row td{padding:12px 16px!important;border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary)}.table-skeleton-bar{height:14px;border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-primary) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:table-skeleton-shimmer 1.6s ease-in-out infinite;width:100%;max-width:85%}.table-skeleton-row:nth-child(2n) .table-skeleton-bar{max-width:70%}.table-skeleton-row:nth-child(3n) .table-skeleton-bar{max-width:92%}.table-skeleton-row:nth-child(4n) .table-skeleton-bar{max-width:60%}.table-skeleton-row:nth-child(5n) .table-skeleton-bar{max-width:78%}@keyframes table-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.content-section,.dashboard-panel,.dashboard-panels{height:100%;display:flex!important;flex-direction:column;overflow:hidden}@media(max-width:767px){.panel-header{padding:12px}}@media screen and (min-width:500px)and (max-width:900px){.content-section,.dashboard-panel,.panel-content{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.table-container{max-height:calc(100vh - 200px)!important}}.time-data-loading{position:fixed;display:flex;align-items:center;justify-content:center;z-index:40;background:color-mix(in srgb,var(--color-surface, var(--color-bg-secondary)) 82%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none}.time-data-loading__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);color:var(--color-gray-600);font-size:var(--font-size-md);font-weight:500}.time-data-loading__inner .spinner{margin-bottom:0}.action-button{font-weight:var(--btn-font-weight);border:1px solid var(--color-border);color:var(--color-text-primary);flex-shrink:0;padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-bg-secondary);height:var(--btn-height);min-width:var(--btn-height);gap:var(--space-xs);display:inline-flex;align-items:center;justify-content:center}.action-button:hover{background-color:var(--btn-secondary-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary);text-decoration:none}.checkbox-label input[type=checkbox]:checked+span{font-weight:600;color:var(--color-accent)}.action-button .icon,.action-button span,.btn .icon,.btn span,.button .icon,.button span{pointer-events:none}.summary-card.pending{border-left:4px solid var(--color-warning)}.summary-card.received{border-left:4px solid var(--color-success)}.summary-label{font-size:.9em;color:var(--color-gray-500);margin-top:5px}.status-badge.status-received{background:var(--color-success-light);color:var(--color-success-darker)}.status-badge.status-partial{background:var(--color-info-light);color:var(--color-accent-hover)}.status-badge.status-cancelled{background:var(--color-danger-light);color:var(--color-danger-darker)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);margin-top:var(--space-xl);padding:20px}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable:hover{background-color:var(--color-gray-50)}.sortable.sort-asc:after{content:" ↑"}.sortable.sort-desc:after{content:" ↓"}.stat-item strong{color:var(--color-gray-700);font-weight:600}.text-muted{color:var(--color-gray-500)!important}.filter-btn.active .badge{background:var(--color-bg-secondary);color:var(--color-accent)}.empty-state{padding:56px 20px;text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin:20px auto;max-width:400px}.filter-buttons{background:var(--color-bg-secondary);padding:8px;border-radius:var(--radius-md);display:flex;gap:var(--space-sm);flex-wrap:wrap}.filter-btn:hover{background:var(--color-gray-100);transform:translateY(-1px)}.stat-card.urgent{border:1px solid var(--color-danger-tint);background:var(--color-warning-light);border-color:var(--color-warning-bright)}.status-filter-controls{display:flex;gap:var(--space-sm);margin:8px 0;flex-wrap:wrap}.status-filter-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.clear-btn{background:var(--color-danger)!important;color:#fff!important;border-color:var(--color-danger)!important}.clear-btn:hover{background:var(--color-danger-dark)!important;border-color:#bd2130!important}.center-cell{text-align:center!important}.empty-state-content{text-align:center;padding:40px 20px}.empty-state-content h3{margin:0 0 8px;color:var(--color-gray-700);font-size:var(--font-size-xl)}.empty-state-content p{margin:0 0 20px;font-size:var(--font-size-md)}.empty-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.sort-indicator{margin-left:4px;font-size:var(--font-size-sm);color:var(--color-gray-500);transition:all .2s}th.sorted .sort-indicator{color:var(--color-accent);font-weight:700}.btn-icon-danger{background:none;border:none;cursor:pointer;font-size:var(--font-size-lg);padding:4px 8px;border-radius:var(--radius-xs);opacity:.6}.btn-icon-danger:hover{opacity:1;background:var(--color-danger-pale)}.toolbar-btn{display:inline-flex;align-items:center;gap:0;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-700);font-size:var(--font-size-smd);font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.toolbar-btn:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400);transform:translateY(-1px);box-shadow:var(--shadow-md)}.toolbar-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100);color:var(--color-gray-400)}.toolbar-btn.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.toolbar-btn.danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark)}.toolbar-btn.secondary:hover:not(:disabled){background:var(--color-gray-600);border-color:var(--color-gray-600)}.toolbar-btn kbd{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xs);padding:2px 4px;font-size:var(--font-size-2xs);font-family:monospace;margin-left:6px;opacity:.8}.toolbar-btn:not(.primary):not(.danger):not(.secondary) kbd{background:#0000001a;border-color:#0003;color:var(--color-gray-500)}.table-color-group{position:relative}.clear-table-color-btn{width:18px;height:18px;padding:0;border:none;background:var(--color-danger);color:#fff;border-radius:50%;font-size:var(--font-size-sm);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.clear-table-color-btn:hover{background:var(--color-danger-dark)}.data-table tr.pending-sync:before{content:"•";position:absolute;left:-20px;top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);opacity:.7}.data-table .center-cell{text-align:center;vertical-align:middle}.custom-modal,.modal{display:none;position:fixed;left:0;top:0;width:100%;height:100%;justify-content:center;align-items:center}.custom-modal{background-color:var(--modal-overlay);z-index:1000}#confirm-modal,#prompt-modal{z-index:10100!important}#prompt-modal .modal-content{width:400px;max-width:90%}#convert-job-modal{z-index:10100!important}#convert-job-modal .modal-content{width:480px;max-width:95%}#convert-job-modal .modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border)}#convert-job-modal .modal-header h2{font-size:var(--font-size-xl);margin:0}#convert-job-modal .modal-body{padding:20px}#convert-job-modal .convert-form-group{margin-bottom:var(--space-lg)}#convert-job-modal .convert-form-group>label{display:block;font-weight:500;margin-bottom:6px;font-size:var(--font-size-md);color:var(--color-text-primary)}#convert-job-modal .convert-form-group input[type=text],#convert-job-modal .convert-form-group input[type=date],#convert-job-modal .convert-form-group select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md);background:var(--color-bg-primary);color:var(--color-text-primary)}#convert-job-modal .convert-form-group input:focus,#convert-job-modal .convert-form-group select:focus{outline:none;border-color:var(--color-primary)}#convert-job-modal .convert-required-star{color:var(--color-danger-dark);font-weight:700}#convert-job-modal #convert-job-number.is-empty{border-color:var(--color-danger-dark);background:var(--color-danger-pale)}#convert-job-modal #convert-job-number.is-empty::placeholder{color:var(--color-danger-dark);opacity:.7}#convert-job-modal #convert-job-number.is-empty:focus{border-color:var(--color-danger-dark)}#convert-job-modal .radio-options{display:flex;gap:var(--space-lg)}#convert-job-modal .radio-options label{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer}#convert-job-modal .radio-options input[type=radio]{width:auto;margin:0}#convert-job-modal .install-date-input{margin-top:10px}#convert-job-modal .install-date-input.hidden{display:none}#convert-job-modal .paint-spec-row{display:flex;gap:var(--space-sm)}#convert-job-modal .paint-spec-row select{flex:1}#convert-job-modal .paint-spec-row button{padding:8px 12px;white-space:nowrap}#convert-job-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:16px 20px;border-top:1px solid var(--color-border)}#convert-job-modal .modal-footer .btn{padding:8px 20px;font-size:var(--font-size-md)}#job-modal.modal.full-screen-modal.show,.modal.show{display:flex!important}.modal .modal-body{overflow-y:auto;flex:1 1 auto;min-height:0}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:12px 20px;background:var(--modal-header-bg);border-bottom:2px solid var(--modal-header-border);border-top-left-radius:var(--modal-radius);border-top-right-radius:var(--modal-radius);color:var(--modal-header-text);position:sticky;top:0;z-index:10}.modal .modal-header h1,.modal .modal-header h2,.modal .modal-header h3,.modal .modal-header h4{margin:0;color:#fff;line-height:1.3}.modal .modal-header .close-button,.modal .modal-header .modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-xl);line-height:1;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.auth-modal .modal-content .modal-header{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff}.modal .modal-header .close-button:hover,.modal .modal-header .modal-close:hover{background:#ffffff47;border-color:#fff6}.modal .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:12px 20px;background:var(--modal-footer-bg);border-top:1px solid var(--modal-footer-border);border-bottom-left-radius:var(--modal-radius);border-bottom-right-radius:var(--modal-radius);position:sticky;bottom:0;z-index:10}.modal .modal-footer:has(.form-actions-left):has(.form-actions-right){justify-content:space-between}@media screen and (max-width:767px){.modal .modal-content{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}.modal .modal-header{position:sticky;top:0;z-index:10;padding:8px 12px;background:var(--modal-header-bg)}.modal .modal-header h2{font-size:var(--font-size-lg)}.modal .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal input,.modal select,.modal textarea{font-size:var(--font-size-lg)!important;padding:6px 8px}.modal label{margin-bottom:2px}.modal .form-group,.modal .compact-form-group{margin-bottom:var(--space-sm)}.modal .form-row,.modal .compact-form-row{gap:var(--space-sm)}.modal button,.modal .btn{min-height:36px;font-size:var(--font-size-md);touch-action:manipulation}.modal .close-button,.modal .modal-close{width:36px;height:36px;font-size:var(--font-size-2xl)}.modal textarea:not(.pq-notes-input):not(.cl-text){min-height:60px;height:auto!important;resize:vertical}.modal .currency-input input{padding-left:28px!important}.modal .modal-footer,.modal .form-actions{padding:8px 12px;gap:6px}}#prompt-modal .form-actions,#confirm-message{white-space:pre-line}#confirm-modal .form-actions{justify-content:flex-end}.modal:first-of-type{background-color:#00000080}.modal-content{background-color:var(--modal-bg);margin:5% auto;width:800px;max-width:90%;border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);max-height:85dvh;overflow:hidden;display:flex;flex-direction:column;animation:modal-appear-fixed .3s ease;position:relative;z-index:1001;transition:all .2s ease;contain:layout style paint}.modal[style*="z-index: 101"] .modal-content,.modal[style*="z-index: 102"] .modal-content,.modal[style*="z-index: 103"] .modal-content{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.modal,.modal-content{pointer-events:auto}.medium-modal{width:90%;max-width:500px;max-height:80vh}.modal [tabindex="-1"]:focus,.modal[tabindex="-1"]:focus{outline:none}#snagg-edit-modal .modal-content{animation:none}.modal-header h2{color:var(--color-text-primary);margin-bottom:0}.close-button{display:flex}.close-button:hover{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.modal-body{padding:var(--space-xl);max-height:none;overflow:visible;width:100%;box-sizing:border-box}.modal-actions,.modal-footer{display:flex;justify-content:space-between;gap:var(--space-sm);padding:10px;position:sticky;bottom:0;z-index:1002}.full-screen-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100dvh;background-color:#000c;z-index:1000;overflow:hidden}.full-screen-modal.show{display:flex!important;justify-content:center;align-items:center}.full-screen-content{width:98vw;height:96dvh;max-width:none;max-height:none;margin:1vh auto;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:fullScreenModalAppear-fixed .3s ease-out}.full-screen-modal .modal-header h2{margin:0;color:#fff}.full-screen-modal .close-button:hover{background:#fff3;border-color:#ffffff4d}.full-screen-body,.full-screen-content,.full-screen-form{display:flex;flex-direction:column;overflow:hidden}.full-screen-body{flex:1;padding:0}.full-screen-form{height:100%}.job-column{height:100%;min-height:0}.modal[style*="z-index: 101"] .modal-content{margin-top:3%}.modal[style*="z-index: 102"] .modal-content{margin-top:1%}.modal[style*="z-index: 103"] .modal-content{margin-top:-1%}#job-modal .modal-content{margin:.5vh auto!important;width:90%;min-height:600px;border-radius:var(--modal-radius);box-shadow:var(--shadow-md)}#unified-job-modal .modal-content{margin:.5vh auto!important;max-height:98dvh!important;width:95%;padding:0;height:auto;overflow:hidden;display:flex;flex-direction:column}.large-modal .modal-content{width:1200px;max-width:95vw;max-height:90dvh;overflow-y:auto}#estimate-modal{z-index:1050}#estimate-overhaul-modal,#estimate-additional-modal,#estimate-time-settings-modal{z-index:1060}.estimate-modal-content{width:98vw;max-width:none;height:96dvh;max-height:none;margin:2vh auto;display:flex;flex-direction:column;padding:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.estimate-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);flex-shrink:0}.estimate-header-title{display:flex;align-items:center;gap:var(--space-md)}.estimate-header-title h2{margin:0;font-size:var(--font-size-xl);white-space:nowrap}.estimate-header-title span{color:var(--color-slate-500);font-size:var(--font-size-md)}.estimate-controls-bar{display:flex;align-items:center;gap:var(--space-xxl);padding:10px 20px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.estimate-control-group{display:flex;align-items:center;gap:var(--space-sm)}.estimate-control-group label{color:var(--color-slate-500);white-space:nowrap}.estimate-control-group select,.estimate-control-group input[type=number]{padding:4px 8px;border:1px solid var(--color-slate-300);background:var(--color-bg-primary)}.estimate-control-group select:focus,.estimate-control-group input[type=number]:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-secondary)}.estimate-labour-toggle{display:inline-flex;border:1px solid var(--color-slate-300);border-radius:var(--radius-sm);overflow:hidden}.labour-mode-btn{padding:4px 12px;font-size:var(--font-size-smd);font-weight:500;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.labour-mode-btn+.labour-mode-btn{border-left:1px solid var(--color-slate-300)}.labour-mode-btn.active{background:var(--color-accent);color:#fff}.estimate-table th.labour-active{background:var(--color-info-pale);color:var(--color-accent)}.estimate-table td.labour-active{background:var(--color-info-pale)}.estimate-table input:focus{user-select:text;-webkit-user-select:text}.estimate-table td.labour-pick,.estimate-table td.calculated.labour-pick{cursor:pointer;position:relative;text-align:right;padding-left:24px}.estimate-table input.labour-radio{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:14px;height:14px;margin:0;accent-color:var(--color-accent);cursor:pointer}.estimate-table th.labour-col,.estimate-table td.labour-pick{width:96px;min-width:96px;box-sizing:border-box}.estimate-table td.labour-pick input[type=number]{max-width:58px;text-align:right}.estimate-close-btn{background:none;border:none;font-size:var(--font-size-3xl);cursor:pointer;color:var(--color-slate-500);padding:4px 8px;line-height:1}.estimate-close-btn:hover{color:var(--color-text-primary)}.estimate-body{flex:1;overflow-y:auto;padding:16px 20px}.estimate-section{margin-bottom:var(--space-xxl)}.estimate-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.estimate-section-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.estimate-add-row-btn:hover{background:var(--color-accent);color:#fff}.estimate-grid-wrapper{overflow-x:auto;overflow-y:auto;max-height:60vh;border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative}.est-sel-overlay{position:absolute;background:#004a601f;border:2px solid var(--color-accent);pointer-events:none;z-index:4;box-sizing:border-box}.est-fill-overlay{position:absolute;background:#004a600f;border:1px dashed var(--color-accent);pointer-events:none;z-index:4;box-sizing:border-box}.est-fill-handle{position:absolute;width:8px;height:8px;background:var(--color-accent);border:1px solid #fff;border-radius:1px;cursor:crosshair;z-index:5;box-sizing:border-box}.est-grid-focus-host{position:absolute;width:0;height:0;opacity:0;pointer-events:none;outline:none}.estimate-table{user-select:none;-webkit-user-select:none;border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--font-size-sm)}.estimate-table thead{position:sticky;top:0;z-index:6}.estimate-table th{background:var(--color-bg-tertiary);padding:6px 4px;text-align:center;font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary);border:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0;z-index:6}.estimate-table td{padding:2px;border:1px solid var(--color-border);vertical-align:middle}.estimate-table td.calculated{background:var(--color-bg-tertiary);font-weight:600;text-align:right;padding:2px 6px;color:var(--color-text-primary)}.estimate-table td.total-col{background:var(--color-success-pale);font-weight:700;color:var(--color-success-darker)}.estimate-table th.estimate-total-head{white-space:nowrap}.estimate-markup-note{display:block;font-size:var(--font-size-2xs);font-weight:600;line-height:1.2;margin-top:1px;letter-spacing:.02em;text-transform:none;color:var(--color-success-darker);opacity:.85}.estimate-table td.estimate-overhaul-cell,.estimate-table td.estimate-additional-cell{padding:2px;text-align:center}.estimate-overhaul-btn,.estimate-additional-btn{width:100%;min-width:44px;padding:4px 6px;border:1px dashed var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:background .15s,border-color .15s}.estimate-overhaul-btn:hover,.estimate-additional-btn:hover,.estimate-overhaul-btn:focus,.estimate-additional-btn:focus{background:var(--color-accent-pale, var(--color-bg-secondary));border-color:var(--color-accent);border-style:solid;outline:none}.estimate-additional-list{display:flex;flex-direction:column;gap:var(--space-sm)}.estimate-additional-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 168px 32px;gap:var(--space-sm);align-items:center}.estimate-additional-row .ea-remove{border:none;background:none;color:var(--color-danger-text);font-size:var(--font-size-md);cursor:pointer;opacity:.6;padding:4px}.estimate-additional-row .ea-remove:hover{opacity:1}.estimate-table input[type=number]{width:72px;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--font-size-sm);text-align:right;background:transparent;-moz-appearance:textfield}.estimate-table input[type=number]::-webkit-inner-spin-button,.estimate-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#estimate-np-table input[data-field]:focus{border-color:transparent;background:transparent;outline:none;box-shadow:none}.estimate-table input[type=number]:focus{border-color:var(--color-accent);background:var(--color-bg-secondary);outline:none;box-shadow:0 0 0 1px var(--color-accent)}.estimate-table input::placeholder{color:var(--color-slate-300);font-weight:400}.estimate-table input[type=text]{width:140px;padding:2px 6px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--font-size-sm);background:transparent}.estimate-table input[type=text]:focus{border-color:var(--color-accent);background:var(--color-bg-secondary);outline:none;box-shadow:0 0 0 1px var(--color-accent)}.estimate-delete-row{background:none;border:none;cursor:pointer;color:var(--color-danger-text);font-size:var(--font-size-md);padding:2px 6px;opacity:.5}.estimate-delete-row:hover{opacity:1}.estimate-delete-row:disabled{opacity:.2;cursor:not-allowed}.estimate-table tfoot td{background:var(--color-bg-primary);font-weight:700;padding:4px 6px;text-align:right;border-top:2px solid var(--color-slate-300);font-size:var(--font-size-sm)}.estimate-table tfoot td:first-child{text-align:left;font-weight:600}.estimate-time-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-top:var(--space-md);padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.estimate-time-row{display:flex;justify-content:flex-start;align-items:center;gap:6px;font-size:var(--font-size-smd)}.estimate-time-row label{font-weight:500;color:var(--color-text-secondary);margin:0;font-size:var(--font-size-smd);line-height:1.4}.estimate-time-row label:after{content:":"}.estimate-time-row .value{font-weight:600;color:var(--color-text-primary);line-height:1.4}.estimate-time-row .value.positive{color:var(--color-success-dark)}.estimate-time-row .value.negative{color:var(--color-danger-dark)}.estimate-time-row input[type=number]{width:70px;padding:2px 6px;border:1px solid var(--color-slate-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd);text-align:right}.estimate-time-breakdown{margin-top:var(--space-md)}.estimate-time-breakdown table{border-collapse:collapse;font-size:var(--font-size-sm);width:auto}.estimate-time-breakdown th,.estimate-time-breakdown td{padding:4px 12px;border:1px solid var(--color-border);text-align:right}.estimate-time-breakdown th{background:var(--color-bg-tertiary);font-weight:600;text-align:center}.estimate-time-breakdown td:first-child{text-align:left;font-weight:500}.estimate-time-breakdown tfoot td{font-weight:700;border-top:2px solid var(--color-slate-300)}.estimate-grand-total{margin-top:var(--space-xl);padding:16px 20px;background:linear-gradient(135deg,var(--color-success-pale),var(--color-success-pale));border:2px solid var(--color-success-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.estimate-grand-total-item{text-align:center}.estimate-grand-total-item .label{font-size:var(--font-size-sm);color:var(--color-slate-500);font-weight:500}.estimate-grand-total-item .amount{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-success-darker)}.estimate-grand-total-item .amount.primary{font-size:28px}.estimate-grand-total-item .amount.muted{color:var(--color-slate-500);font-size:var(--font-size-xl)}.estimate-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--color-border);background:var(--color-bg-primary);flex-shrink:0}.estimate-save-status{margin-right:auto;font-size:var(--font-size-sm);font-weight:600;color:var(--color-success-dark, var(--color-green-700))}.estimate-save-status.dirty{color:var(--color-warning-dark, var(--color-amber-700))}.estimate-footer .btn-outline{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.estimate-footer .btn-outline:hover{background:var(--color-bg-tertiary)}#open-estimate-btn{white-space:nowrap}#estimate-np-table td:has(>input[data-note]){position:relative}#estimate-np-table td:has(>input[data-note]):after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 8px 8px 0;border-color:transparent var(--color-danger) transparent transparent;pointer-events:none}.estimate-note-popover{position:fixed;z-index:10050;width:280px;padding:var(--space-md);background:var(--color-bg-secondary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.estimate-note-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.estimate-note-text{width:100%;min-height:80px;resize:vertical;font:inherit;font-size:var(--font-size-md);padding:var(--space-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-md)}.estimate-note-actions{display:flex;align-items:center;gap:var(--space-sm)}.estimate-additional-head{margin-bottom:var(--space-xs);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.est-why{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;border-bottom:1px dotted var(--color-text-muted)}.est-why:hover,.est-why:focus-visible{color:var(--color-accent);border-bottom-color:var(--color-accent)}.estimate-why-popover{position:fixed;z-index:10050;width:min(520px,calc(100vw - 16px));max-height:60vh;overflow-y:auto;padding:var(--space-md);background:var(--color-bg-secondary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.estimate-why-popover .ew-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-md)}.estimate-why-popover .ew-head span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ew-table{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.ew-table th{text-align:left;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-gray-200)}.ew-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-gray-100);vertical-align:top}.ew-table .ew-how,.ew-table .ew-refs{color:var(--color-text-muted)}.ew-table .ew-refs{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ew-table th:last-child,.ew-table .ew-hours{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ew-table .ew-adj td{color:var(--color-text-muted);font-style:normal}.ew-table .ew-total td{font-weight:700;border-bottom:none;border-top:1px solid var(--color-gray-300)}.estimate-why-popover .ew-empty{margin:0;color:var(--color-text-muted)}.estimate-header-actions{display:flex;align-items:center;gap:var(--space-sm)}#estimate-time-settings-modal .estimate-time-settings-content{width:max-content;max-width:96vw}#estimate-time-settings-modal .settings-description,#estimate-time-settings-modal .form-help{contain:inline-size}.ets-table-wrap{overflow-x:auto;margin-bottom:var(--space-sm)}.ets-table{width:100%;border-collapse:collapse}.ets-table th{text-align:left;padding:var(--space-xs) var(--space-sm);white-space:nowrap}.ets-table td{padding:var(--space-xs) var(--space-sm);vertical-align:middle;border-top:1px solid var(--color-gray-200)}.ets-table .ets-name{min-width:160px}.ets-table .ets-part{width:64px;text-align:center}.ets-bar-cell{width:220px}.ets-bar{display:flex;height:22px;min-width:180px;border-radius:var(--radius-sm);overflow:hidden;font-size:var(--font-size-xs);font-weight:600;color:#fff}.ets-bar--empty{align-items:center;justify-content:center;background:var(--color-gray-100);color:var(--color-text-muted);font-weight:500}.ets-seg{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}.ets-seg--machining{background:var(--color-blue-600)}.ets-seg--assembling{background:var(--color-violet)}.ets-seg--spraying{background:var(--color-warning-text)}.ets-seg--glazing{background:var(--color-teal-600)}.ets-seg--installation{background:var(--color-success-text)}.ets-seg--materials{background:var(--color-gray-500)}.ets-table .ets-mat-cell{border-left:1px solid var(--color-gray-200);padding-left:var(--space-md)}.ets-remove{border:none;background:none;color:var(--color-danger-text);cursor:pointer;padding:var(--space-xs);opacity:.6}.ets-remove:hover{opacity:1}.ets-subhead{margin:var(--space-lg) 0 var(--space-sm)}.ets-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-lg)}.ets-field{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:var(--space-sm);margin:0;font-size:var(--font-size-md);font-weight:500}.ets-field--wide{max-width:calc(50% - var(--space-lg) / 2)}.ets-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-gray-200)}@media(max-width:767px){.ets-field-grid{grid-template-columns:1fr}.ets-field--wide{max-width:none}}.estimate-open-survey{flex-shrink:0;margin-left:var(--space-xs);padding:1px var(--space-sm);font:inherit;font-size:var(--font-size-xs);font-weight:600;line-height:1.5;color:var(--color-accent);background:var(--color-bg-secondary, #fff);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;vertical-align:middle}.estimate-open-survey:hover,.estimate-open-survey:focus-visible{background:var(--color-info-pale);border-color:var(--color-accent)}#employee-modal .modal-content{display:flex;flex-direction:column;overflow:hidden;position:fixed;top:16px;left:16px;right:16px;bottom:16px;width:calc(100% - 32px);height:calc(100% - 32px);max-width:none;max-height:none;margin:0;border-radius:var(--radius-lg)}#employee-modal .modal-body{flex:1;overflow-y:auto;max-height:none}#employee-modal .modal-footer{flex-shrink:0;padding:16px 20px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-300);display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:0;position:relative}.employee-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);padding:0}.employee-modal-col{display:flex;flex-direction:column;gap:var(--space-lg)}@media(max-width:900px){.employee-modal-grid{grid-template-columns:1fr}}.employee-section-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);margin-bottom:0;overflow:hidden}.employee-section-header{background:linear-gradient(135deg,var(--color-accent) 0%,#5a67d8 100%);color:#fff;padding:12px 20px;font-size:var(--font-size-lg);font-weight:600;display:flex;align-items:center;gap:10px}.employee-section-header-warning{background:linear-gradient(135deg,#ed8936,#dd6b20)}.employee-section-header-purple{background:linear-gradient(135deg,#9f7aea,#805ad5)}.employee-section-header-teal{background:linear-gradient(135deg,#38b2ac,#319795)}.employee-section-body{padding:20px;background:var(--color-info-pale)}.employee-section-header-warning+.employee-section-body{background:#fff7ed}.employee-section-header-teal+.employee-section-body{background:#f0fdfa}.employee-section-header-purple+.employee-section-body{background:#faf5ff}.employee-section-header[style*="718096"]+.employee-section-body{background:var(--color-gray-50)}.employee-subsection{margin-bottom:var(--space-xl);padding-bottom:20px;border-bottom:1px solid var(--color-border-light)}.employee-subsection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.employee-subsection-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.employee-subsection-title:before{content:"";display:inline-block;width:4px;height:16px;background:var(--color-accent);border-radius:2px}.employee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.employee-info-card{background:var(--color-gray-50);border:1px solid var(--color-border);padding:16px;margin-top:10px}.employee-checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:10px;transition:all .2s}.employee-checkbox-item:hover{background:var(--color-bg-tertiary)}.employee-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.employee-checkbox-item label{font-weight:500;color:#2d3748;cursor:pointer;margin:0}.employee-pdf-dropzone{border:2px dashed var(--color-slate-300);border-radius:var(--radius-md);padding:20px;text-align:center;cursor:pointer;transition:all .3s;background:var(--color-gray-50)}.employee-pdf-dropzone:hover{border-color:var(--color-accent);background:var(--color-info-pale)}.employee-pdf-dropzone-text{font-size:var(--font-size-smd);font-weight:500;color:var(--color-text-secondary)}.employee-pdf-dropzone-hint{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs)}@media(max-width:767px){.employee-form-grid{grid-template-columns:1fr}}.emp-modal-tabs{display:flex;gap:0;padding:0 24px;border-bottom:2px solid var(--color-border);background:var(--color-bg-primary);flex-shrink:0}.emp-modal-tab{padding:12px 24px;border:none;background:none;font-size:var(--font-size-smd);font-weight:600;color:var(--color-slate-500);cursor:pointer;position:relative;transition:color .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.emp-modal-tab:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.emp-modal-tab.active{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}.emp-modal-panel{display:none}.emp-modal-panel.active{display:block}.ta-presets{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:14px;flex-wrap:wrap}.ta-presets-label{font-size:var(--font-size-sm);color:var(--color-slate-500);font-weight:500;margin-right:4px}.ta-presets-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap}.ta-preset-btn{padding:6px 12px;border:1px solid var(--color-slate-300);border-radius:var(--radius-xl);background:var(--color-bg-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-weight:500}.ta-preset-btn:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-info-pale)}.ta-preset-btn:active{background:var(--color-info-light)}.ta-preset-btn.ta-preset-loading{color:var(--color-text-muted);background:var(--color-bg-tertiary);pointer-events:none}.ta-preset-btn.ta-preset-manage-btn{margin-left:auto;border-style:dashed;color:var(--color-slate-500)}.ta-preset-btn.ta-preset-manage-btn:hover{color:var(--color-accent-hover);border-style:solid}.emp-ta-subtabs{display:flex;gap:0;margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.emp-ta-subtab{padding:10px 16px;border:none;background:none;font-size:var(--font-size-sm);font-weight:600;color:var(--color-slate-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}.emp-ta-subtab:hover{color:var(--color-text-primary)}.emp-ta-subtab.active{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}.emp-ta-panel{display:none}.emp-ta-panel.active{display:block}#emp-panel-probation{background:var(--color-gray-100);padding:20px 12px;font-size:var(--font-size-smd);color:#2a2a2a}.prob-doc{max-width:850px;margin:0 auto;background:var(--color-bg-secondary);padding:32px 40px;border:1px solid #d7dee2;border-radius:var(--radius-xs);box-shadow:var(--shadow-md)}@media(max-width:620px){.prob-doc{padding:20px 16px}}.prob-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);border-bottom:1px solid var(--color-gray-300);padding-bottom:12px;margin-bottom:var(--space-lg)}.prob-logo-lockup{display:flex;align-items:center;gap:10px}.prob-logo-lockup img{height:42px;width:auto}.prob-wordmark{display:flex;flex-direction:column;line-height:1.15}.prob-wm-main{font-size:var(--font-size-lg);font-weight:700;letter-spacing:1px;color:var(--color-accent)}.prob-wm-sub{font-size:var(--font-size-2xs);color:#5a6b70;letter-spacing:.4px}.prob-confidential{font-size:var(--font-size-2xs);font-weight:700;letter-spacing:1px;color:#5a6b70;white-space:nowrap}.prob-doc-title{text-align:center;margin-bottom:var(--space-xl);padding-bottom:12px;border-bottom:2px solid var(--color-accent)}.prob-doc-title h2{margin:0;color:var(--color-accent);font-size:var(--font-size-3xl);font-weight:700}.prob-doc-title p{margin:3px 0 0;color:#5a6b70;font-size:var(--font-size-sm);font-style:italic}.prob-footer{margin-top:26px;padding-top:10px;border-top:1px solid var(--color-gray-300);font-size:var(--font-size-xs);color:#5a6b70}.prob-section{border:1px solid #b9c9ce;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-lg);background:var(--color-bg-secondary)}.prob-section>.prob-head{background:var(--color-accent);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:var(--font-size-xs);padding:8px 12px}.prob-section>.prob-body{padding:12px}.prob-sub{margin:-2px 0 12px;color:#5a6b70;font-size:var(--font-size-sm);font-style:italic;line-height:1.45}.prob-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.prob-two-col{grid-template-columns:1fr}}.prob-field{margin-bottom:11px}.prob-field:last-child{margin-bottom:0}.prob-field>label{display:block;font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-accent);margin-bottom:var(--space-xs)}.prob-field .prob-ro{padding:8px 10px;background:var(--color-bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);font-weight:600;color:var(--color-accent-hover)}#emp-panel-probation input[type=text],#emp-panel-probation input[type=date],#emp-panel-probation textarea,#emp-panel-probation select{width:100%;border:1px solid #cdd9dd;background:var(--color-bg-primary);border-radius:var(--radius-xs);padding:8px 10px;font-size:var(--font-size-smd);color:#2a2a2a;font-family:inherit;box-sizing:border-box}#emp-panel-probation textarea{resize:vertical;min-height:0}#emp-panel-probation input:focus,#emp-panel-probation textarea:focus,#emp-panel-probation select:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-secondary)}.prob-table{width:100%;border-collapse:collapse}.prob-table th{background:var(--color-accent);color:#fff;font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;text-align:left}.prob-table td{border:1px solid #d8e1e4;padding:6px 8px;vertical-align:middle}.prob-table tbody tr:nth-child(odd) td:not(.prob-obj-key){background:var(--color-gray-50)}.prob-table td.prob-obj-key{background:var(--color-accent);color:#fff;font-weight:700;text-align:center;white-space:nowrap;width:96px}.prob-table td input,.prob-table td textarea{background:var(--color-bg-secondary)}.prob-rate-table td{text-align:center;padding:0}.prob-rate-table td.prob-crit{text-align:left;font-size:var(--font-size-sm);width:34%;min-width:150px;padding:6px 8px}.prob-rate-table td>label{display:block;cursor:pointer;margin:0;padding:12px 6px}.prob-rate-table input[type=radio]{width:18px;height:18px;accent-color:var(--color-accent);margin:0;vertical-align:middle}.prob-ach{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:6px}.prob-ach>span{color:var(--color-accent);font-weight:700;min-width:14px}.prob-status{display:flex;border:1px solid #cdd9dd;border-radius:var(--radius-xs);overflow:hidden}.prob-status label{flex:1;display:inline-flex;align-items:center;gap:var(--space-sm);padding:12px 16px;margin:0;font-weight:700;font-size:var(--font-size-md);background:var(--color-gray-50);cursor:pointer}.prob-status label+label{border-left:1px solid #cdd9dd}.prob-status input[type=radio]{width:17px;height:17px;accent-color:var(--color-accent);margin:0}#job-modal .read-only-field,#job-modal input:disabled,#job-modal select:disabled,#job-modal textarea:disabled,#job-modal button:disabled.read-only-field{background-color:var(--color-gray-50)!important;color:var(--color-gray-500)!important;cursor:not-allowed!important;opacity:.6!important}#job-modal label:has(input:disabled),#job-modal label:has(.read-only-field),#job-modal .three-state-checkbox.disabled{cursor:not-allowed!important;opacity:.6}.job-modal-layout{display:grid;grid-template-columns:1fr 1fr}.job-modal-layout.full-screen-layout.hide-financial{grid-template-columns:1fr 1fr!important;grid-auto-flow:dense}.job-modal-layout.hide-financial #job-financial-info{display:none!important}.job-modal-layout.hide-financial #job-basic-info,.full-screen-layout.hide-financial #job-basic-info{grid-column:1!important}.job-modal-layout.hide-financial #job-status-info,.full-screen-layout.hide-financial #job-status-info{grid-column:2!important}.form-group.full-width,.job-section.full-width{grid-column:1/-1}.job-section h4{margin:20px 0 15px;color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:600}#confirm-modal .modal-content{max-width:450px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}#confirm-modal h2{color:var(--modal-header-text);margin-bottom:0}#confirm-modal.confirm-dangerous .modal-header{background:var(--color-danger-dark);border-bottom-color:var(--color-danger-darker)}#confirm-modal p{font-size:var(--font-size-md);margin-bottom:var(--space-lg);line-height:1.5;color:var(--color-text-secondary)}#cancel-button{color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500;background-color:var(--color-accent-light);border:1px solid var(--color-accent-light)}#cancel-button:hover{background-color:var(--color-accent);border-color:var(--color-accent)}.job-card,.kanban-card[draggable=true],tr[draggable=true]{cursor:grab}.job-card:active,.kanban-card[draggable=true]:active,tr[draggable=true]:active{cursor:grabbing}.drag-handle:hover{color:var(--color-accent)}tr.drag-over{outline:2px solid var(--color-accent);outline-offset:-1px;position:relative;z-index:5;background-color:#3b82f614}tr.drag-over td{border-color:transparent}tr.dragging{background-color:#3b82f61a;opacity:.6;outline:1px solid var(--color-accent)}.archived-indicator{background:var(--color-warning-light);border:1px solid var(--color-warning-bright);border-radius:var(--radius-sm);padding:12px;margin-bottom:var(--space-lg);display:flex;align-items:center;gap:10px;color:var(--color-warning-darker);font-size:var(--font-size-md);font-weight:500}#quote-source-indicator{background:var(--color-info-light);border:1px solid var(--color-accent-light);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm);color:var(--color-accent-hover);font-size:var(--font-size-smd);font-weight:500}.invoice-status-not-sent{background-color:var(--color-danger-light);border-color:var(--color-danger-mid);color:var(--color-danger-darker)}.invoice-status-sent{background-color:var(--color-warning-light);border-color:#fb923c;color:var(--color-orange-800)}.invoice-status-paid{background-color:var(--color-success-tint);border-color:var(--color-success-light);color:var(--color-success-darker)}.extra-item.extra-deduction{background-color:var(--color-danger-pale);border-left:3px solid var(--color-danger-dark)}.extra-item.extra-deduction .extra-item-description{color:var(--color-danger-darker)}.extra-item.extra-auto{border-left:3px solid var(--color-accent);background:var(--color-info-pale)}.extra-auto-tag{display:inline-block;margin-left:6px;font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);background:var(--color-bg-secondary);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:0 4px}.extra-item-amount.amount-positive{color:var(--color-success-dark)}.extra-item-amount.amount-negative{color:var(--color-danger-dark)}.invoice-radio-option{padding:12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.invoice-radio-option label{display:flex;align-items:center;cursor:pointer;width:100%}.invoice-radio-option input[type=radio]{margin-right:12px}.invoice-radio-option .option-content{flex:1}.invoice-radio-option .option-title{font-weight:500;color:var(--color-gray-800)}.invoice-radio-option .option-subtitle{font-size:var(--font-size-smd);color:var(--color-gray-500);margin-top:2px}.redistribute-radio-option{padding:12px;border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer;transition:all .2s;margin-bottom:var(--space-sm);position:relative}.redistribute-radio-option.selected{border-color:var(--color-accent);background:var(--color-info-pale)}.redistribute-radio-option:hover:not(.selected){border-color:var(--color-accent-light);background:var(--color-info-pale)}.redistribute-radio-option label{display:flex;align-items:center;cursor:pointer;width:100%}.redistribute-radio-option input[type=radio]{width:20px;height:20px;margin-right:12px;flex-shrink:0;cursor:pointer}.redistribute-radio-option .option-content{flex:1;min-width:0}.redistribute-radio-option .option-title{font-weight:600;color:var(--color-gray-800);font-size:var(--font-size-md);margin-bottom:var(--space-xs)}.redistribute-radio-option .option-subtitle{font-size:var(--font-size-smd);color:var(--color-gray-500)}.redistribute-radio-option .selected-badge{position:absolute;top:8px;right:8px;background:var(--color-accent);color:#fff;font-size:var(--font-size-2xs);padding:2px 6px;border-radius:var(--radius-xs);font-weight:600;text-transform:uppercase}.invoice-preview-detail{margin-bottom:var(--space-xs)}.invoice-preview-detail:first-child{margin-bottom:var(--space-sm)}.invoice-preview-total{font-weight:600;color:var(--color-success-dark);margin-top:var(--space-sm);padding-top:8px;border-top:1px solid var(--color-gray-200)}.contact-suggestion{padding:12px;cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background .15s}.contact-suggestion:hover{background:var(--color-gray-50)}.contact-suggestion .suggestion-name{font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-xs)}.contact-suggestion .suggestion-detail{font-size:var(--font-size-smd);color:var(--color-gray-500);margin-bottom:2px}.history-badge{display:inline-block;margin-right:4px}.history-badge-enquiry{background:var(--color-info-light);color:var(--color-accent-hover)}.history-badge-job{background:var(--color-success-tint);color:var(--color-success-mid)}.job-modal-empty-state{text-align:center;padding:20px}.job-modal-empty-state .empty-title{margin:0;font-weight:500}.job-modal-empty-state .empty-text{margin:4px 0 8px;font-size:var(--font-size-sm)}.job-modal-empty-state .empty-subtext{margin:0;font-size:var(--font-size-xs);color:var(--color-gray-500)}.ordered-items-grid{display:flex;flex-direction:column;gap:10px}.ordered-item-card{border:1px solid var(--color-gray-200);padding:10px;background:var(--color-bg-secondary);display:flex;flex-direction:column;gap:6px}.ordered-item-card .item-header{display:flex;justify-content:space-between;align-items:flex-start}.ordered-item-card .item-description{font-weight:500;color:var(--color-gray-800);margin-bottom:var(--space-xs)}.ordered-item-card .item-meta{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-gray-500)}.order-status-badge{color:#fff;white-space:nowrap;cursor:pointer;transition:opacity .2s}.order-status-badge:hover{opacity:.8}.ordered-item-card .received-info{font-size:var(--font-size-xs);color:var(--color-success-dark);margin-top:var(--space-xs)}.ordered-item-card .item-notes{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs);padding:6px;background:var(--color-gray-50);border-radius:var(--radius-xs)}.pdf-item{position:relative;padding:10px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s,border-color .15s}.pdf-item:hover{background:var(--color-info-pale);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.pdf-item:active{background:var(--color-info-light)}.pdf-item-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pdf-item-name{font-weight:500;word-break:break-word}.pdf-item-actions{flex-shrink:0;display:flex;gap:var(--space-sm)}.pdf-action-btn.remove,.pdf-action-btn.delete{background:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);padding:0;transition:background .15s}.pdf-action-btn.remove:hover,.pdf-action-btn.delete:hover{background:var(--color-danger-pale)}@media screen and (max-width:767px){.job-modal-layout,.job-modal-layout.full-screen-layout,.job-modal-layout.full-screen-layout.hide-financial{display:block!important}#job-modal .job-modal-layout,#job-modal .full-screen-layout{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#job-modal .job-column{height:auto!important;max-height:none!important;overflow:visible!important}.job-section{padding:8px}.job-section h3{font-size:var(--font-size-md);margin-bottom:6px}#job-modal #product-selector-btn,#job-modal #customer-details-btn,#job-modal #add-paint-spec-btn{white-space:nowrap;width:auto!important}#job-modal .full-screen-actions{position:relative}#job-modal #job-actions-toggle{display:inline-flex!important;flex:1 1 0;justify-content:center}#job-modal .full-screen-actions .form-actions-right{flex:1 1 0}#job-modal .full-screen-actions .form-actions-right .btn{width:100%}#job-modal .full-screen-actions .form-actions-left{display:none}#job-modal .full-screen-actions:not(.has-actions) #job-actions-toggle{display:none!important}#job-modal .full-screen-actions.actions-open .form-actions-left{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:absolute;left:0;right:0;bottom:100%;z-index:20;padding:12px;background:var(--color-bg-primary, #fff);border-top:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 24px #0f172a2e}#job-modal .full-screen-actions.actions-open .form-actions-left .btn{width:100%;min-height:44px;justify-content:center;white-space:nowrap}#job-modal #delete-job-btn{display:none!important}#job-modal textarea#description{min-height:60px;height:auto!important;overflow:hidden;field-sizing:content}#job-modal .description-container{position:static;display:flex;flex-direction:column;gap:var(--space-sm)}#job-modal .description-container textarea#description{width:100%;padding-right:var(--input-padding-x)}#job-modal .description-container #product-selector-btn{position:static;top:auto;right:auto;align-self:flex-end}#job-modal .time-allowances-grid{gap:6px 12px!important}#job-modal .qc-grid{grid-template-columns:1fr!important}#job-modal .qc-section,#job-modal [class*=quality-control]{margin-bottom:var(--space-lg)}#job-modal [class*=attachments-section]{margin-top:0!important;padding-top:0!important}#job-modal .form-group:has(#salesman),#job-modal .form-group:has(#estimate-number),#job-modal .compact-form-group:has(#salesman),#job-modal .compact-form-group:has(#estimate-number){display:none!important}.archived-indicator{font-size:var(--font-size-smd);padding:10px}.invoice-radio-option,.redistribute-radio-option{padding:10px}.ordered-item-card .item-meta{flex-direction:column;gap:var(--space-xs)}.pdf-item{flex-direction:row;align-items:center;gap:var(--space-sm);padding:10px 12px;margin-bottom:6px;background:var(--color-gray-50);cursor:pointer;transition:background .15s}.pdf-item:active{background:var(--color-gray-200)}.pdf-item-info{flex:1;min-width:0}.pdf-item-name{font-size:var(--font-size-smd);word-break:break-word}.pdf-item-size{font-size:var(--font-size-xs)}.pdf-item-actions{flex-shrink:0}}#job-modal .time-actual{margin-top:3px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary, var(--color-gray-500));white-space:nowrap}#job-modal .time-allowances-grid input.ta-sync{background-color:var(--color-success-lightest, var(--color-success-pale));border-color:var(--color-success, #2e9e54)}#job-modal .time-allowances-grid input.ta-adjusted{background-color:var(--color-warning-lightest, #fdf0e0);border-color:var(--color-warning-dark)}#job-modal .time-allowances-error{grid-column:1 / -1;margin-top:6px;padding:8px 12px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-danger, var(--color-danger-dark));background:var(--color-danger-lightest, #fdeaea);border:1px solid var(--color-danger, var(--color-danger-dark));border-radius:var(--radius-sm)}#job-modal .time-allowances-total{grid-column:1 / -1;margin-top:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary, var(--color-gray-500));display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}#job-modal .time-allowances-total .ta-total-value{color:var(--color-text-primary, var(--color-gray-900))}#job-modal .time-allowances-total.ta-over,#job-modal .time-allowances-total.ta-over .ta-total-value{color:var(--color-danger, var(--color-danger-dark))}#job-modal .time-allowances-total .ta-over-by{font-weight:700}#job-modal .ta-reset-btn{grid-column:1 / -1;justify-self:start;margin-top:2px;display:inline-flex;gap:5px;transition:background .15s,color .15s}#job-modal .ta-reset-btn:hover{background:var(--color-primary, var(--color-blue-600));color:#fff}.jm-batch-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-gray-100);border-left:5px solid var(--batch, var(--color-slate-500))}.jm-batch-dot{width:14px;height:14px;border-radius:var(--radius-xs);flex:0 0 auto;background:var(--batch, var(--color-slate-500))}.jm-batch-banner-name{font-weight:700;color:var(--color-text-primary, var(--color-gray-900))}.jm-batch-banner-sub{color:var(--color-text-secondary, var(--color-gray-500));font-size:var(--font-size-smd)}.jm-batch-openjob{margin-left:auto}.jm-batch-mode .compact-form-group:not(.jm-batch-field),.jm-batch-mode .form-group:not(.jm-batch-field),.jm-batch-mode .compact-checkbox-label:not(.jm-batch-field){opacity:.45;pointer-events:none}.jm-batch-mode .jm-batch-field{opacity:1;pointer-events:auto}.order-batch-row{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:8px;border-top:1px dashed var(--color-gray-200);font-size:var(--font-size-smd)}.order-batch-row label{color:var(--color-text-secondary, var(--color-gray-500));font-weight:600;white-space:nowrap}.order-batch-select{flex:1;min-width:0;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text-primary, var(--color-gray-900));font-size:var(--font-size-smd)}.jm-batch-mode .pdf-attachments-section:not(.jm-batch-field){opacity:.45;pointer-events:none}.jm-batch-mode .pdf-attachments-section.jm-batch-field{outline-offset:2px}#job-modal.modal.full-screen-modal{display:none!important;position:fixed;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background-color:#000000d9!important}#job-modal .modal-content.full-screen-content{width:99vw!important;height:98vh!important;margin:.5vh auto!important}.compact-form-group{margin-bottom:var(--space-sm)}.compact-form-group label{margin-bottom:2px}.compact-form-group input,.compact-form-group select,.compact-form-group textarea{padding:4px 8px}.compact-form-group textarea{min-height:100px}.compact-checkbox-section{margin-bottom:var(--space-md)}.checkbox-grid.compact{display:grid;grid-template-columns:auto auto auto;gap:var(--space-xs);margin-top:var(--space-xs)}.compact-checkbox-label,.compact-checkbox-label input{border-radius:var(--radius-sm);position:relative;cursor:pointer}.compact-checkbox-label{display:flex;align-items:center;gap:var(--space-xs);-webkit-user-select:none;user-select:none;padding:2px 4px;transition:background-color var(--transition-fast)}.compact-checkbox-label:hover{background:var(--color-bg-tertiary)}.material-tbc-badge{background:var(--color-warning);color:var(--color-warning-darker);border:1px solid var(--color-warning-dark);border-radius:var(--radius-sm);padding:0 4px;font-size:var(--font-size-2xs);font-weight:700;letter-spacing:.03em;line-height:15px;cursor:help}.material-tbc-badge[hidden]{display:none}.compact-checkbox-label input{width:16px;height:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);outline:0}.compact-checkbox-label input:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.compact-checkbox-label input:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:var(--font-size-2xs);font-weight:700}.compact-checkbox-label span{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.2}#vacuum-glass{width:18px;height:18px;border:1.5px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-bg-secondary)}#vacuum-glass:checked{background-color:var(--color-success);border-color:var(--color-success)}.compact-financial-section{margin-bottom:var(--space-md)}.compact-financial-section h4,.installation-section h4{margin:0 0 6px;font-size:var(--font-size-sm);color:var(--color-accent);border-bottom:1px solid var(--color-border);padding-bottom:2px}.installation-section{margin-bottom:var(--space-md);border-top:1px solid var(--color-border-light);padding-top:8px}.compact-form-group .currency-input{position:relative;display:flex;gap:var(--space-sm)}.compact-form-group .currency-symbol{position:absolute;left:0;top:0;width:28px;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-md)0 0 var(--radius-md);color:var(--color-text-primary);pointer-events:none;z-index:1;font-weight:500;font-size:var(--font-size-sm)}.compact-form-group .currency-input input{padding-left:28px}.job-section h3{color:var(--color-text-primary);border-bottom:2px solid var(--color-accent);margin:0 0 8px;padding:4px 8px;font-size:var(--font-size-sm);font-weight:600}.compact-form-group .form-help{margin-top:1px}.compact-form-group .description-container{display:flex;gap:var(--space-xs);align-items:flex-start}.compact-form-group .description-container .btn.small{white-space:nowrap}.compact-form-group .paint-spec-container{display:flex;gap:var(--space-sm);align-items:center}.compact-form-group .paint-spec-container .btn.small{line-height:1.2}.invoice-validation{font-size:var(--font-size-2xs);margin-top:var(--space-xs);padding:2px 4px;border-radius:var(--radius-sm)}.invoice-validation.valid{background:#10b9811a;color:var(--color-success-text);border:1px solid rgba(16,185,129,.2)}.invoice-validation.invalid{background:#ef44441a;color:var(--color-danger-text);border:1px solid rgba(239,68,68,.2)}.job-section{background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;padding:10px}.job-section::-webkit-scrollbar{width:4px}.job-section::-webkit-scrollbar-track{background:0 0}.job-section::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.job-section::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.full-screen-modal .modal-header{padding:8px 16px;border-bottom:2px solid var(--modal-header-border);background:var(--modal-header-bg);color:var(--modal-header-text);flex-shrink:0;position:sticky;top:0;z-index:1002}.full-screen-layout{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr auto;gap:var(--space-md);height:100%;padding:8px;overflow:hidden;flex:1}#job-basic-info{grid-column:1;grid-row:1}#job-status-info{grid-column:2;grid-row:1}#job-financial-info{grid-column:3;grid-row:1}.job-modal-layout.full-screen-layout{grid-template-rows:1fr}.full-screen-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:8px 12px;border-top:2px solid var(--color-border);background:var(--color-bg-tertiary);flex-shrink:0}.stat-value.over-budget{color:var(--color-warning-text)!important;font-weight:600}.stat-value.on-track{color:var(--color-success-text)!important}.time-stat:hover{background:var(--color-bg-primary)}.time-stat .stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-accent);display:block;margin-bottom:var(--space-xs);line-height:1}.time-stat .stat-label{font-size:var(--font-size-xs);color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.budget-progress{margin-top:10px}.budget-progress .progress-bar{height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-xs);overflow:hidden;margin-bottom:var(--space-sm)}.budget-progress .progress-fill.on-track{background:linear-gradient(90deg,var(--color-success),var(--color-success-dark))}.budget-progress .progress-fill.over-budget{background:linear-gradient(90deg,var(--color-warning),var(--color-warning-dark))}.budget-progress .progress-fill.under-utilized{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover))}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--color-accent);display:block;margin-bottom:var(--space-sm)}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px;font-size:var(--font-size-sm);color:var(--color-slate-500)}.budget-info p{margin:0 0 8px;color:var(--color-text-secondary)}.budget-info small{color:var(--color-slate-500);font-style:italic}.paint-spec-container{display:flex;align-items:center;gap:var(--space-sm);width:100%}.paint-spec-container .btn.small{min-width:32px;display:flex;align-items:center;justify-content:center}.paint-spec-container select.updated{animation:highlightSuccess .6s ease-out}.paint-spec-list{max-height:400px;overflow-y:auto;border-bottom:1px solid var(--color-border);position:relative}.paint-spec-item{display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);transition:background-color .15s ease;position:relative;-webkit-user-select:none;user-select:none}.paint-spec-item:hover{background-color:var(--color-bg-tertiary)}.paint-spec-item .paint-spec-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:32px;flex-shrink:0;cursor:grab;color:var(--color-text-secondary);font-size:var(--font-size-lg);opacity:.5;transition:opacity .15s ease;touch-action:none}.paint-spec-item .paint-spec-drag-handle:hover{opacity:1;color:var(--color-primary)}.paint-spec-item .paint-spec-drag-handle:active{cursor:grabbing}.paint-spec-item.ps-dragging{opacity:.4;background:var(--color-bg-tertiary)}.paint-spec-item.ps-drop-above:before{content:"";position:absolute;top:-2px;left:16px;right:16px;height:3px;background:var(--color-accent);border-radius:2px;z-index:5;animation:psDragPulse .6s ease infinite alternate}.paint-spec-item.ps-drop-below:after{content:"";position:absolute;bottom:-2px;left:16px;right:16px;height:3px;background:var(--color-accent);border-radius:2px;z-index:5;animation:psDragPulse .6s ease infinite alternate}.paint-spec-drag-ghost{position:fixed;z-index:10000;pointer-events:none;will-change:transform;backface-visibility:hidden;display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);font-size:var(--font-size-md);color:var(--color-text-primary);opacity:.95}.paint-spec-item .paint-spec-text{flex:1;font-size:var(--font-size-md);color:var(--color-text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paint-spec-item .paint-spec-edit-input{flex:1;font-size:var(--font-size-md);padding:4px 8px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);outline:none;min-width:0}.paint-spec-item .paint-spec-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.paint-spec-item .paint-spec-actions button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-smd);padding:0;transition:all .15s ease}.paint-spec-item .paint-spec-actions button.paint-spec-edit-btn:hover{background-color:#e8f0fe;border-color:var(--color-accent);color:var(--color-accent)}.paint-spec-item .paint-spec-actions button.paint-spec-delete-btn:hover{background-color:var(--color-danger-pale);border-color:var(--color-danger-text);color:var(--color-danger-text)}.paint-spec-item .paint-spec-actions button.paint-spec-save-edit-btn:hover{background-color:var(--color-success-pale);border-color:var(--color-success-text);color:var(--color-success-text)}.paint-spec-item .paint-spec-actions button.paint-spec-cancel-edit-btn:hover{background-color:#fce8e6;border-color:#d93025;color:#d93025}.paint-spec-add-row{display:flex;align-items:center;gap:var(--space-sm);padding:12px 16px}.paint-spec-add-row input{flex:1}.paint-spec-add-row .btn.small{width:34px;display:flex;align-items:center;justify-content:center;font-weight:700}.paint-spec-modal-error{padding:8px 16px;font-size:var(--font-size-sm);color:var(--color-danger-text);display:flex;align-items:center;gap:var(--space-xs)}.paint-spec-list-empty{padding:24px 16px;text-align:center}.break-stat .stat-value{color:var(--color-success-text)!important}.break-info-panel p,.data-source{color:var(--color-text-muted, var(--color-gray-500))}.break-info-panel p strong{color:var(--color-text-primary, var(--color-gray-900));font-weight:500}.loading-steps .step.active{color:var(--color-success-text)}.loading-steps .step.active:before{content:none}.budget-analysis.break-adjusted{border-color:#10b9814d;background:#10b9810d}.budget-analysis.break-adjusted .budget-header:before{content:none;color:var(--color-success-text)}.progress-fill.break-adjusted{background:linear-gradient(90deg,var(--color-success) 0,var(--color-accent) 100%)}.orders-summary{margin-top:var(--space-md);padding-top:12px;border-top:1px solid var(--color-gray-200);font-size:var(--font-size-sm);color:var(--color-gray-500);display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl)}.archived-read-only .modal-header{background-color:var(--color-warning-light);border-bottom:2px solid var(--color-warning-bright)}.archived-read-only .modal-header h2,.archived-read-only .modal-header .close-button,.archived-read-only .modal-header .modal-close{color:var(--color-gray-900)!important}.archived-read-only .modal-header .close-button,.archived-read-only .modal-header .modal-close{background-color:var(--color-warning-bright)!important;border:1px solid var(--color-gray-900)!important}.archived-read-only .modal-header .close-button:hover,.archived-read-only .modal-header .modal-close:hover{background-color:var(--color-gray-900)!important;color:var(--color-warning-light)!important}#archived-job-indicator{animation:slideDown .3s ease-out}.invoice-status-and-label{display:flex;align-items:center;gap:10px;flex:1;min-width:0}#allocate-extras-completion-btn,#allocate-extras-deposit-btn,#allocate-extras-interim-btn{display:none}.extra-checkbox{accent-color:var(--color-accent)}.extra-checkbox:disabled{accent-color:var(--color-gray-400)}.extras-checkboxes-container{scrollbar-width:thin;scrollbar-color:var(--color-slate-300) var(--color-bg-tertiary)}.extras-checkboxes-container::-webkit-scrollbar{width:8px}.extras-checkboxes-container::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-xs)}.extras-checkboxes-container::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:var(--radius-xs)}.split-currency-input{position:relative;width:100%}.split-currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-weight:500;color:var(--color-gray-500);z-index:1;pointer-events:none}.split-amount-field{padding-left:28px!important}.split-currency-input .form-control{display:block}#split-source-select option{padding:8px}.split-preview{animation:fadeIn .3s ease-out}#split-percentage-preview{animation:slideIn .3s ease-out .1s both}.extras-container{display:flex;align-items:center;gap:var(--space-sm)}.extras-list-container{margin-top:var(--space-md);padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.extras-list-container h5{margin:0 0 10px;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-secondary)}.extras-list{display:flex;flex-direction:column;gap:var(--space-sm)}.extra-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.extra-item-content{display:flex;align-items:center;gap:var(--space-md);flex:1}.extra-item-description{flex:1;font-weight:500;color:var(--color-gray-700)}.extra-item-amount{font-weight:600;color:var(--color-success-dark);padding-right:10px}.extra-item-actions{display:flex;gap:6px}.extra-item-delete-btn,.extra-item-edit-btn{padding:4px 8px;font-size:var(--font-size-sm);border:0;border-radius:var(--radius-xs);cursor:pointer;transition:all .2s}.extra-item-edit-btn{background:var(--color-accent);color:#fff}.extra-item-edit-btn:hover{background:var(--color-accent-hover)}.extra-item-delete-btn{background:var(--color-danger);color:#fff}.extra-item-delete-btn:hover{background:var(--color-danger-dark)}.additional-invoices-list{display:flex;flex-direction:column;gap:var(--space-sm)}.additional-invoice-delete-btn,.additional-invoice-edit-btn{padding:4px 8px;font-size:var(--font-size-sm);border:0;border-radius:var(--radius-xs);cursor:pointer;transition:all .2s}.additional-invoice-edit-btn{background:var(--color-accent);color:#fff}.additional-invoice-edit-btn:hover{background:var(--color-accent-hover)}.additional-invoice-delete-btn{background:var(--color-danger);color:#fff}.additional-invoice-delete-btn:hover{background:var(--color-danger-dark)}.invoice-total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:var(--font-size-md)}.extras-input-modal{position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10001;width:100%;height:100%;background:#00000080}.extras-input-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px;max-width:480px;width:90%;box-shadow:var(--shadow-xl)}.extras-input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.extras-input-header h3{margin:0;color:var(--color-gray-800)}.extras-input-form{display:flex;flex-direction:column;gap:var(--space-lg)}.extras-input-form .form-group{display:flex;flex-direction:column;gap:6px}.extras-input-form label{color:var(--color-gray-700);font-size:var(--font-size-md)}.extras-input-form .form-control:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.extras-input-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.additional-invoice-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.additional-invoice-name{font-weight:500;color:var(--color-gray-700);font-size:var(--font-size-md)}.percentage-input{display:flex;align-items:center;width:80px}.percentage-field{width:60px!important;text-align:center}.percentage-symbol{margin-left:2px;font-weight:600;color:var(--color-gray-500)}.use-percentage-btn:hover{background:var(--color-accent-hover)}.use-percentage-btn:disabled{background:var(--color-gray-400);cursor:not-allowed}.fix-percentage-btn{white-space:nowrap;font-size:var(--font-size-xs);padding:4px 6px;background:var(--color-bg-secondary);color:var(--color-gray-500);border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);cursor:pointer;transition:all .2s ease;min-width:35px}.fix-percentage-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.fix-percentage-btn.locked{background:var(--color-warning-bright);border-color:var(--color-danger)!important}.invoice-label-with-add{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.additional-invoices-container{border-radius:var(--radius-sm);margin-top:var(--space-sm)}.auto-calculated{position:relative}.auto-calculated:after{content:none;position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);opacity:.7}.percentage-status.valid{background:var(--color-success-pale)}.form-control.locked,.percentage-field.locked{cursor:not-allowed!important;box-shadow:inset 0 0 0 1px #dc354533!important}.form-control.locked,.form-control.locked:hover,.percentage-field.locked,.percentage-field.locked:hover{background-color:var(--color-gray-100)!important;border-color:var(--color-danger)!important}.fix-percentage-btn.locked{background-color:var(--color-danger)!important;color:#fff!important;box-shadow:0 0 0 .2rem #dc354540}.fix-percentage-btn.locked:hover{background:var(--color-warning);background-color:var(--color-danger-dark)!important;border-color:#bd2130!important}.fix-percentage-btn:not(.locked){background-color:var(--color-gray-500);color:#fff;border-color:var(--color-gray-500)}.fix-percentage-btn:not(.locked):hover{background-color:#545b62;border-color:#4e555b}.percentage-field.auto-calculated{background-color:var(--color-success-light)!important;border-color:var(--color-success)!important;transition:all .5s ease}.additional-invoice-row .percentage-field.locked,.main-invoice-row .percentage-field.locked{position:relative}.main-invoice-row .percentage-field.locked:after{content:none;position:absolute;right:25px;top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);pointer-events:none;color:var(--color-danger-text)}.percentage-validation{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-top:15px}.percentage-total-display{font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.percentage-label{font-weight:600;color:var(--color-gray-600)}.percentage-value{font-size:var(--font-size-xl);font-weight:700;padding:4px 8px;border-radius:var(--radius-xs);transition:all .3s ease}.percentage-value.valid{background-color:var(--color-success-light);color:var(--color-success-darker);border:1px solid var(--color-success-light)}.percentage-status{text-align:center;border-radius:var(--radius-xs);font-size:var(--font-size-md);font-weight:500;padding:6px 0;transition:all .3s ease}.percentage-status.valid{color:var(--color-success-darker)}.fix-percentage-btn[title]:hover:before{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000;color:#fff;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);white-space:nowrap;z-index:1000;margin-bottom:5px}.fix-percentage-btn[title]:hover:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000;z-index:1000;margin-bottom:1px}.invoice-header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:10px;padding:4px 0}.invoice-status-and-label .form-label{margin:0;color:var(--color-gray-700);min-width:80px}.invoice-status-dropdown{padding:4px 6px;min-width:96px;width:96px;flex-shrink:0}.invoice-status-date{padding:4px 6px;width:130px;flex-shrink:0}.add-additional-btn:hover{text-decoration:none;background:var(--btn-secondary-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary)}.invoice-input-row{border-bottom:1px solid var(--color-gray-200)}.invoice-input-row:last-child{border-bottom:none}.main-invoice-row{background:var(--color-bg-primary);padding:12px;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.invoice-input-group{margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);flex:1}.additional-invoice-row{position:relative;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);padding:8px 12px}.additional-invoice-row:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.additional-invoice-header-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.additional-invoice-input-row{display:flex;align-items:center;gap:var(--space-sm)}.additional-invoice-name-input{flex:1;font-weight:500;font-size:var(--font-size-smd);padding:4px 8px;border:0;border-radius:var(--radius-xs);background:var(--color-bg-secondary);width:120px}.additional-invoice-name-input:focus{background:var(--color-info-pale);border-color:var(--color-accent);outline:0}.additional-invoice-status-dropdown{font-size:var(--font-size-sm);padding:4px 6px;min-width:80px;width:80px;flex-shrink:0;margin-right:100px}.delete-invoice-btn{font-size:var(--font-size-xs);padding:4px 8px;min-width:auto;flex-shrink:0}.additional-amount-input,.additional-percentage-input{font-size:var(--font-size-smd);padding:4px 6px}.additional-amount-input{width:80px}.additional-percentage-input{width:60px}.use-percentage-btn{background:var(--color-accent);color:#fff;border:0;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-xs);padding:4px 8px;white-space:nowrap}.invoice-section-container{margin-bottom:var(--space-xl);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;background:var(--color-bg-secondary)}.invoice-section-container:last-child{margin-bottom:0}.install-button{position:fixed;bottom:20px;right:20px;background:var(--color-accent);color:#fff;border:0;padding:12px 16px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;box-shadow:0 4px 12px #004a604d;z-index:9999;transition:all .3s ease;font-family:inherit}.install-button:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 16px #004a6066}.install-button:active{transform:translateY(0)}.invoice-status{padding:4px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;display:inline-block;text-align:center;min-width:60px}.invoice-status.not-sent{background-color:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger-mid)}.invoice-status.sent{background-color:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid #fcd34d}.invoice-status.paid{background-color:var(--color-success-tint);color:var(--color-success-mid);border:1px solid var(--color-success-light)}.data-table .center-cell .invoice-status{margin:0 auto}.time-allowances-section{margin-bottom:var(--space-xl)}.time-allowances-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-top:var(--space-sm)}.dept-box:hover{opacity:.8}.status-circle{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid transparent;vertical-align:middle}.status-not-sent{background-color:var(--color-danger);border-color:var(--color-danger-dark)}.status-sent{background-color:var(--color-warning);border-color:var(--color-warning-dark)}.status-paid{background-color:var(--color-success);border-color:var(--color-success-dark)}.add-note-input{margin-top:var(--space-sm);padding:8px;background:var(--color-gray-50);border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);animation:slideDown .2s ease}.note-input-actions{display:flex;gap:0;justify-content:flex-end}.notes-history-compact.option-5{max-height:150px;overflow-y:auto;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);margin-top:var(--space-xs);background:var(--color-bg-secondary)}.notes-history-compact.option-5 .delete-note-btn{background:0 0;border:0;color:var(--color-danger-text);cursor:pointer;padding:1px 2px;font-size:var(--font-size-2xs);opacity:0;border-radius:2px;transition:all .2s ease}.notes-history-compact.option-5 .delete-note-btn:hover{opacity:1;background-color:var(--color-danger-light);transform:scale(1.1)}.notes-history-compact.option-5 .delete-note-btn:active{transform:scale(.95)}.no-notes-message{padding:12px;text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm);font-style:italic}.pdf-item.pdf-item-pending{opacity:.75;border-style:dashed;cursor:default}.pdf-item.pdf-item-pending .pdf-item-size{display:flex;align-items:center;gap:6px}.pdf-pending-spinner{width:12px;height:12px;border:2px solid var(--color-gray-300);border-top-color:var(--color-accent);border-radius:50%;animation:pdf-pending-spin .9s linear infinite;flex-shrink:0}@keyframes pdf-pending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pdf-pending-spinner{animation:none}}.order-delivery-section{background:var(--color-warning-pale);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md)}.order-delivery-section .delivery-subblock{margin-bottom:var(--space-md)}.radio-pill-row{display:flex;gap:var(--space-sm);flex-wrap:wrap}.radio-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);background:var(--color-bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.radio-pill:hover{border-color:var(--color-accent)}.radio-pill:has(input:checked){border-color:var(--color-accent);background:var(--color-info-pale);font-weight:600}.order-photos-container{margin-top:var(--space-sm)}.order-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-sm)}.order-photo-thumb{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-gray-200);cursor:pointer;background:var(--color-gray-100)}.order-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.order-photo-thumb .order-photo-remove{position:absolute;top:2px;right:2px;width:22px;height:22px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:var(--font-size-smd);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.order-photo-thumb .order-photo-remove:hover{background:var(--color-danger)}#order-photo-drop-zone.field-error,.delivery-subblock.field-error{border-color:var(--color-danger-dark, var(--color-danger-text))!important;background:var(--color-danger-pale)!important}.order-form .form-group label,.orders-table .item-main{font-weight:500;margin-bottom:var(--space-xs)}.order-form .form-group.full-width{grid-column:1/-1}.order-form .form-group label{display:block;color:var(--color-gray-700)}.order-form .form-group input,.order-form .form-group select,.order-form .form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.order-form .form-group input:focus,.order-form .form-group select:focus,.order-form .form-group textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.settings-tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.settings-section p,.settings-tab{color:var(--color-text-secondary)}.settings-list-container{scrollbar-width:thin!important;border:1px solid var(--color-border);background:var(--color-bg-primary)}.settings-item:last-child{border-bottom:none}.settings-item:hover{background-color:var(--color-bg-secondary)}.item-action-btn:hover{background:var(--color-bg-tertiary)}.settings-item.dragging{background:var(--color-bg-secondary);box-shadow:var(--shadow-lg)}.user-action-btn.toggle:hover{background:#545b62}.user-action-btn.delete:hover{background:var(--color-danger-dark)}#user-base-role,.permission-preview{background:var(--color-bg-secondary)}.user-action-btn.edit:hover{background:#138496}#user-permission-modal .modal-content.large-modal,#user-permission-modal .modal-content{position:fixed!important;top:16px!important;left:16px!important;right:16px!important;bottom:16px!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:var(--radius-lg)!important;display:grid!important;grid-template-rows:auto 1fr auto!important}#user-permission-modal .permission-accordion{overflow-y:auto!important;min-height:0!important}.permission-preview.loading{opacity:.6;pointer-events:none}.permission-preview.loading:after{content:"Updating...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffe6;padding:4px 10px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);color:var(--color-gray-500)}.settings-modal .order-settings-section,.settings-modal .order-statuses-container,.settings-modal .orders-tab,.settings-modal .team-members-container{display:block!important;visibility:visible!important;opacity:1!important}.modal.show .order-settings-section,.modal.show .order-settings-section .settings-list-container{display:block!important}#orders-tab{position:relative}.settings-tab:hover{background-color:var(--color-bg-secondary);background:var(--color-gray-200)}.settings-tab-content.active{display:block!important}.settings-modal .modal-content,#settings-modal .modal-content{width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;margin:10px!important;border-radius:var(--modal-radius)!important;overflow:hidden;display:flex;flex-direction:column}.settings-modal .modal-body,#settings-modal .modal-body{flex:1;overflow:hidden;padding:0}.settings-item{border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.status-color-preview{border:1px solid var(--color-gray-200)}.item-action-btn:hover,.user-action-btn:hover{background:var(--color-gray-200)}.item-action-btn.edit:hover{background:#d1ecf1;color:#0c5460}.modal.settings-modal{z-index:1060}#user-permission-modal{z-index:1070}.status-color-dot{margin-right:10px;border:2px solid #fff;box-shadow:0 0 0 1px #0000001a}.user-action-btn:hover{opacity:.8;transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--color-gray-200)}.user-action-btn.edit{background:var(--color-info-light)}.user-action-btn.toggle{background:var(--color-warning-light)}.user-action-btn.delete{background:var(--color-danger-light)}.permission-preview{margin-top:15px;max-height:200px;overflow-y:auto;padding:16px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}#save-job-btn,#save-order-btn,#save-product-form,#save-settings-btn,.form-actions button[type=submit],.modal-footer button[type=submit]{opacity:1}#save-job,#save-order-btn,#save-product-form,#save-quote-btn,#save-settings-btn{transition:all .2s ease}#user-permission-modal .action-button,#user-permission-modal .secondary-button{color:#fff;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-md);font-weight:500;transition:all .2s ease}#user-permission-modal .secondary-button{background-color:var(--color-gray-500);min-width:100px}#user-permission-modal .action-button:hover,#user-permission-modal .secondary-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}#user-permission-modal .secondary-button:hover{background-color:var(--color-gray-600)}#user-permission-modal .action-button{padding:10px 20px;background-color:var(--color-accent);min-width:120px}#user-permission-modal .action-button:hover{background-color:var(--color-indigo-700)}#user-permission-modal .action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}#user-permission-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:20px;border-top:1px solid var(--color-gray-200);background-color:var(--color-gray-50);border-radius:0 0 var(--radius-md) var(--radius-md);position:sticky;bottom:0;z-index:10}#user-permission-modal .form-section{margin-bottom:var(--space-xxl);padding:20px;background-color:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}#user-permission-modal .form-section h4{margin:0 0 8px;font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-900)}#user-permission-modal .help-text{color:var(--color-gray-500);font-size:var(--font-size-md);margin:0 0 16px}#user-permission-modal .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md)}#user-permission-modal .checkbox-label:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}#user-permission-modal .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}#user-base-role:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}#user-permission-modal .permission-preview{background-color:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:20px;max-height:300px;overflow-y:auto}#user-permission-modal .modal-header{padding:20px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}#user-permission-modal .modal-header h3{margin:0;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-900)}#user-permission-modal .modal-close{background:0 0;border:0;font-size:var(--font-size-3xl);color:var(--color-gray-500);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:all .2s ease}#user-permission-modal .modal-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}#user-permission-modal .modal-body{padding:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto 1fr!important;max-height:none!important}#new-quote-status-color{width:50px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-xs);cursor:pointer}.settings-tabs{flex-wrap:wrap;background:var(--color-gray-50);margin:-20px -20px 0;padding:0 20px;display:flex;flex-direction:row;width:100%;background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);gap:var(--space-xs)}.settings-tab{font-weight:500;display:block;min-width:120px;text-align:center;padding:10px 20px;background:0 0;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:all .2s ease;font-size:var(--font-size-md);color:var(--color-gray-700);white-space:nowrap;border:1px solid transparent}.settings-tab-content{padding:28px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-top:none;min-height:400px;display:none}.settings-section{margin-bottom:30px;padding-bottom:28px;border-bottom:1px solid var(--color-gray-200)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-900);margin:0 0 8px}.settings-section h4{font-size:var(--font-size-lg);font-weight:600;margin:20px 0 12px}.settings-description,.settings-section p{color:var(--color-gray-500);line-height:1.5;font-size:var(--font-size-smd);margin:0 0 16px}.settings-section p{font-size:var(--font-size-md);margin:0 0 20px}.settings-item:hover{background:var(--color-gray-50);border-color:var(--color-gray-300);box-shadow:var(--shadow-sm)}.settings-item-content{display:flex;align-items:center;width:100%;gap:var(--space-md)}.drag-handle{font-weight:700;display:flex;justify-content:center;align-items:center;height:100%;transition:color var(--transition-fast);color:var(--color-gray-500);cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--font-size-md);width:20px;text-align:center}.drag-handle:active{cursor:grabbing}.status-color-dot,.status-color-preview{width:24px;height:24px;border-radius:var(--radius-xs);border:1px solid rgba(0,0,0,.1);flex-shrink:0}.settings-item-name{flex:1;font-size:var(--font-size-md);color:var(--color-gray-700);font-weight:500}.settings-item-actions{display:flex;align-items:center;gap:var(--space-sm)}.status-color-picker{width:32px!important;height:32px!important;padding:0!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;background:0 0;cursor:pointer}.color-picker-group{display:flex;align-items:center;gap:2px}.table-color-picker{width:28px;height:28px;padding:2px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);cursor:pointer}.item-action-btn{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:6px;border:0;background:0 0;cursor:pointer;font-size:var(--font-size-lg);transition:all .2s ease;border-radius:var(--radius-xs)}.item-action-btn:hover,th[data-sort]:hover{background-color:var(--color-gray-100)}.item-action-btn.delete:hover{background:var(--color-danger-light);color:var(--color-danger-darker);background-color:var(--color-danger-light)}.settings-add-item{display:flex;gap:10px;align-items:center;margin-top:var(--space-md)}.settings-add-item input[type=text]{flex:1;padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-gray-300);transition:border-color .2s ease}.settings-add-item input[type=text]:focus,.settings-section .form-group input:focus,.settings-section .form-group select:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.settings-add-item input[type=color]{width:50px;height:40px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;padding:2px}.settings-section .form-group{margin-bottom:var(--space-lg)}.settings-section .form-group label{display:block;margin-bottom:6px;color:var(--color-gray-700)}.settings-section .form-group input,.settings-section .form-group select{width:100%;border:1px solid var(--color-gray-300);transition:border-color .2s ease}.preview-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);margin-top:15px}#settings-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:1px solid var(--color-gray-200)}#settings-modal .standard-buttons{display:flex;gap:var(--space-md);align-items:center}.settings-autosave-status{font-size:var(--font-size-smd);font-weight:500;color:var(--color-neutral-450);transition:color .2s ease}.settings-autosave-status.is-saving{color:var(--color-warning, #b8860b)}.settings-autosave-status.is-saved{color:var(--color-success-mid, #2e7d32)}.settings-autosave-status.is-error{color:var(--color-danger, #c62828)}#settings-modal .modal-content{width:1200px;max-width:95vw;height:80vh;max-height:900px;display:flex;flex-direction:column}.settings-container{display:flex;flex-direction:column;height:100%;flex:1}.settings-content{flex:1;padding:20px;overflow-y:auto;background-color:var(--color-bg-secondary);min-height:0}.settings-items-container,.settings-list-container{min-height:150px;max-height:400px;overflow-y:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;background-color:var(--color-gray-50);margin-bottom:var(--space-lg)}#settings-modal .modal-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;max-height:80vh;overflow-y:auto;padding:20px}#users-tab .settings-section{display:flex;flex-direction:column;height:100%}.user-action-btn.edit:hover{background-color:var(--color-accent-hover)}.user-action-btn.toggle:hover{background-color:var(--color-gray-600)}.user-action-btn.delete:hover{background-color:var(--color-danger-dark)}.resp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.resp-table th{text-align:left;color:var(--color-text-secondary);font-weight:600;padding:6px;border-bottom:1px solid var(--color-gray-200)}.resp-table td{padding:8px 6px;border-bottom:1px solid var(--color-gray-100);vertical-align:top}.resp-table select,.resp-table input[type=date]{min-width:150px}.resp-status{margin-top:4px;font-size:var(--font-size-xs)}.resp-warn{color:var(--color-warning-darker);font-weight:600}.resp-cover{display:flex;align-items:center;gap:6px;margin-bottom:4px;white-space:nowrap}@media(max-width:760px){.resp-table thead{display:none}.resp-table tr{display:block;border-bottom:1px solid var(--color-gray-200);padding:6px 0}.resp-table td{display:block;border:0;padding:4px 0}}.loading-spinner,.spinner{border:3px solid rgba(59,130,246,.2);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:spin .7s linear infinite;margin-bottom:var(--space-md)}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10090;display:flex;flex-direction:column;gap:var(--space-sm);max-width:320px;pointer-events:none}.toast,.toast button{display:flex;align-items:center}.toast{background:#000000e6;color:#fff;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;line-height:1.4;box-shadow:var(--shadow-lg);transform:translate(100%);opacity:0;transition:all .3s ease;pointer-events:auto;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:20px;gap:var(--space-sm)}.toast.show{transform:translate(0);opacity:1}.toast.success{background:#22c55ef2;border-left:3px solid var(--color-success-bright)}.toast.error{background:#ef4444f2;border-left:3px solid var(--color-danger)}.toast.warning{background:#f59e0bf2;border-left:3px solid var(--color-warning)}.toast.info{background:#3b82f6f2;border-left:3px solid var(--color-accent)}.toast button{background:0 0;border:0;color:#fffc;cursor:pointer;font-size:var(--font-size-lg);padding:0;margin-left:auto;width:20px;height:20px;justify-content:center;border-radius:var(--radius-xs);transition:all .2s ease}.toast button:hover{background:#ffffff1a;color:#fff}.toast-message{flex:1;min-width:0;overflow-wrap:anywhere}#sync-indicator,.sync-indicator{position:fixed!important;bottom:20px!important;right:20px!important;top:auto!important;left:auto!important;z-index:9999!important;background:#000c;pointer-events:none;transform:translateY(100%);opacity:0;width:auto;height:auto;min-height:32px;max-height:40px;min-width:80px;max-width:200px;white-space:nowrap;overflow:hidden;flex-shrink:0;transition:all .3s ease}#sync-indicator{color:#fff;padding:8px 12px;border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:500;display:none;align-items:center;gap:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md)}#sync-indicator.show,.sync-indicator.show{display:flex!important;transform:translateY(0)!important;opacity:1!important}#sync-indicator.syncing,.sync-indicator.syncing{background:#3b82f6e6!important;border:1px solid rgba(59,130,246,.3);min-width:90px}#sync-indicator.synced,.sync-indicator.synced{background:#22c55ee6!important;border:1px solid rgba(34,197,94,.3);min-width:80px}#sync-indicator.error,.sync-indicator.error{background:#ef4444e6!important;border:1px solid rgba(239,68,68,.3);min-width:100px}#sync-indicator .spinner{border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}#sync-indicator .spinner,.sync-indicator .spinner{width:12px!important;height:12px!important;border:2px solid rgba(255,255,255,.3);flex-shrink:0}#sync-indicator span,.sync-indicator span{flex-shrink:0;line-height:1.2;max-width:120px;overflow:hidden;text-overflow:ellipsis}.toast-container.with-sync{bottom:60px!important}.sync-indicator.syncing{border-color:var(--color-accent);color:var(--color-accent);display:flex}.sync-indicator.synced{border-color:var(--color-success);color:var(--color-success-text)}.anniversary-banner{display:none;align-items:center;gap:var(--space-md);padding:10px 20px;background:linear-gradient(135deg,#f9d162,#e6a817);color:#4a3600;font-size:var(--font-size-md);font-weight:600;box-shadow:var(--shadow-md);animation:slideDown .3s ease}.anniversary-banner.birthday-banner{background:linear-gradient(135deg,#be185d,#9d174d);color:#fff}.birthday-banner .birthday-banner-icon{font-size:1.25em;line-height:1}.anniversary-banner.birthday-banner{justify-content:center;gap:6px;position:relative;padding-right:56px;padding-left:56px}.anniversary-banner.birthday-banner .anniversary-banner-text{flex:0 1 auto;text-align:center;font-size:var(--font-size-lg)}.anniversary-banner.birthday-banner .anniversary-banner-close{position:absolute;right:20px;top:50%;transform:translateY(-50%)}.anniversary-banner.birthday-banner .anniversary-banner-close{background:#fff3;border-color:#ffffff73;color:#fff}.anniversary-banner .anniversary-banner-text{flex:1 1 auto;line-height:1.4}.anniversary-banner .anniversary-banner-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:#4a36001f;border:1px solid rgba(74,54,0,.25);border-radius:var(--radius-sm);color:#4a3600;font-size:var(--font-size-lg);line-height:1;cursor:pointer;transition:background .15s}.anniversary-banner .anniversary-banner-close:hover{background:#4a360038}.loading-container .spinner{border:2px solid var(--color-border, var(--color-gray-200));border-top:2px solid var(--color-primary, var(--color-accent));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loading-progress{width:100%;max-width:200px;margin:0 auto}.not-found-message{font-style:italic;font-size:var(--font-size-md)}.not-found-actions{display:flex;gap:var(--space-md);justify-content:center;margin:24px 0}.error-details summary{cursor:pointer;color:var(--color-orange-900);font-weight:500;margin-bottom:var(--space-sm)}.error-details code{display:block;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-xs);padding:8px;font-size:var(--font-size-sm);color:var(--color-danger-dark);font-family:Monaco,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:var(--space-md);justify-content:center;margin:24px 0}.creating-steps{display:flex;flex-direction:column;gap:var(--space-sm);max-width:300px;margin:0 auto}.refresh-progress{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.loading-steps{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:6px}.step{color:var(--color-slate-500);font-size:var(--font-size-smd);display:flex;align-items:center;gap:var(--space-sm);padding:6px 12px;border-radius:var(--radius-xs);background:var(--color-bg-secondary);opacity:.6;transition:all .3s ease}.step.active{color:#fff;transform:scale(1.02);opacity:1;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.spinner{border:3px solid rgba(59,130,246,.2);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:spin .7s linear infinite;margin:0 auto}body.offline-mode .save-button:after{content:" (Offline)";font-size:.9em;opacity:.7}.toast-close{background:0 0;border:0;cursor:pointer;opacity:.7;font-size:var(--font-size-lg);padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.offline-indicator{margin-left:var(--space-xs);color:var(--color-warning-text);background:var(--color-warning-light)}.pending-sync{position:relative;opacity:.9;background-color:var(--color-warning-light);border-left:3px solid var(--color-warning)}.error-state{background-color:var(--color-danger-pale);border:1px solid var(--color-danger-tint);border-radius:var(--radius-md);padding:20px;text-align:center;color:var(--color-danger-dark);margin:20px}.loading-state{padding:56px 20px;color:var(--color-gray-500);display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-state .spinner{width:40px;height:40px;border:4px solid var(--color-gray-100);border-top:4px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.loading-container{flex-direction:column;text-align:center;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--color-gray-500)}.loading-container .spinner{width:16px;height:16px;margin-right:8px}.empty-message{background:var(--color-gray-50);border:1px dashed var(--color-gray-300);border-radius:var(--radius-sm);padding:40px 20px}.empty-message,.loading-placeholder{text-align:center;font-size:var(--font-size-md)}.offline-banner{display:none;position:sticky;font-size:var(--font-size-md);border:1px solid var(--color-warning);margin-bottom:var(--space-xl);padding:12px 20px;animation:slideDown .3s ease;top:60px;left:20px;right:20px;background:linear-gradient(135deg,var(--color-warning),#e0a800);color:var(--color-gray-800);border-radius:var(--radius-md);box-shadow:0 4px 12px #ffc1074d;text-align:center;font-weight:500}.sync-indicator{border:1px solid var(--color-neutral-200);align-items:center;gap:var(--space-sm);font-size:var(--font-size-md);background:#fffffff2;color:var(--color-accent);padding:8px 16px;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:none;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sync-indicator .spinner{border:2px solid var(--color-gray-200);border-top:2px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.filter-btn.active{background-color:var(--color-accent);border-color:var(--color-accent);font-weight:600;box-shadow:var(--shadow-md)}.filter-btn.active:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.pagination-btn:hover:not(:disabled){background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-md)}.pagination-btn:disabled{background-color:var(--color-bg-tertiary);border-color:var(--color-border);box-shadow:none;color:var(--text-tertiary, var(--color-gray-400));cursor:not-allowed;opacity:.5;background:var(--color-gray-50)}.btn-small{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 8px;font-size:.8em;margin-right:4px;border:0;border-radius:var(--radius-xs);cursor:pointer;text-decoration:none;font-weight:500;transition:all .2s ease}.checkbox-group{flex-wrap:wrap;display:flex;flex-direction:column;gap:var(--space-md)}.checkbox-label input[type=checkbox]{width:16px;height:16px}.archive-pagination-container{flex-wrap:wrap;gap:var(--space-lg);font-size:var(--font-size-md)}.pagination-btn:not(:disabled):hover{background:var(--primary-color, var(--color-accent));color:#fff;border-color:var(--primary-color, var(--color-accent));transform:translateY(-1px);box-shadow:var(--shadow-md)}.pagination-btn:not(:disabled):active{transform:translateY(0);box-shadow:var(--shadow-sm)}.three-state-checkbox{position:relative;display:inline-block;width:18px;height:18px;cursor:pointer;-webkit-user-select:none;user-select:none}.three-state-checkbox input{display:none}.three-state-display{position:absolute;top:0;left:0;width:18px;height:18px;border:1.5px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;transition:all .15s ease}.three-state-display:hover{border-color:var(--color-gray-400);background:var(--color-gray-50);transform:scale(1.1)}.three-state-display.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.three-state-display.na{background:var(--color-slate-500);border-color:var(--color-slate-500);color:#fff}.three-state-display.tbc{background:var(--color-warning);border-color:var(--color-warning-dark);color:var(--color-warning-darker)}.three-state-display.tbc:after{content:"TBC";font-size:8px;font-weight:700}.three-state-display.tbc.is-overdue{background:var(--color-danger);border-color:var(--color-danger-dark);color:#fff;box-shadow:0 0 0 2px var(--color-danger-tint)}.three-state-display.checked:after{content:"✓";font-size:var(--font-size-xs)}.three-state-display.na:after{content:"N/A";font-size:8px;font-weight:700}.center-cell .three-state-checkbox{margin:0 auto}.form-group .three-state-checkbox-container{display:inline-block;margin-top:var(--space-sm)}.center-cell .install-pack-checkbox{margin:0 auto}.install-pack-checkbox{position:relative;display:inline-block;width:18px;height:18px;cursor:pointer;-webkit-user-select:none;user-select:none}.install-pack-display{position:absolute;top:0;left:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;border-width:1.5px;border-style:solid;border-color:var(--color-gray-300);border-image:initial;border-radius:var(--radius-xs);background:var(--color-bg-secondary);transition:.15s}.install-pack-display.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.install-pack-display.checked:after{content:"✓";color:#fff;font-size:var(--font-size-sm);font-weight:600}.install-pack-checkbox:hover .install-pack-display:not(.checked){border-color:var(--color-gray-400);background-color:var(--color-gray-50)}.toggle-switch-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch-input{position:absolute;opacity:0;height:0}.toggle-switch-slider{position:relative;display:inline-block;width:44px;height:24px;background-color:var(--color-slate-300);border-radius:var(--radius-2xl);transition:background-color .3s ease;flex-shrink:0}.toggle-switch-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:var(--color-bg-secondary);top:3px;left:3px;transition:transform .3s ease;box-shadow:var(--shadow-md)}.toggle-switch-input:checked+.toggle-switch-slider{background-color:var(--color-accent)}.toggle-switch-input:checked+.toggle-switch-slider:before{transform:translate(20px)}.toggle-switch-input:focus+.toggle-switch-slider{box-shadow:var(--input-focus-ring)}.toggle-switch-text{font-size:.9em;color:var(--color-gray-700);font-weight:500}.toggle-switch-label:hover .toggle-switch-slider{background-color:var(--color-text-muted)}.toggle-switch-label:hover .toggle-switch-input:checked+.toggle-switch-slider{background-color:var(--color-accent-hover)}tr.job-row.drag-reorder-enabled{cursor:grab}tr.job-row.drag-reorder-enabled:active{cursor:grabbing}tr.job-row.dragging{opacity:.4;background-color:#3b82f614}.dashboard-count-display{display:inline-flex;align-items:center;gap:var(--space-sm);padding:4px 12px;background:var(--color-gray-100);border-radius:var(--radius-lg);font-size:var(--font-size-smd);color:var(--color-gray-500);font-weight:400;min-height:22px;min-width:90px}.dashboard-count-display .count-number{font-weight:600;color:var(--color-gray-700)}.dashboard-count-display .badge-status,.dashboard-count-display .badge-outsourced{margin-left:4px;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.dashboard-count-display .badge-outsourced{background:var(--color-warning-light);color:var(--color-orange-text)}.panel-actions .panel-action.is-snag{background:var(--btn-danger-bg);border-color:var(--btn-danger-bg);color:#fff}.panel-actions .panel-action.is-snag:hover{background:var(--btn-danger-bg-hover);border-color:var(--btn-danger-bg-hover);color:#fff}#dashboard-view #filter-status,#dashboard-view #filter-manager{width:200px;min-width:200px;max-width:200px}#dashboard-view .panel-header-left{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}#dashboard-view .panel-header-left h2{margin:0}.dashboard-context-menu{position:fixed;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:180px;z-index:10000;display:none;overflow:hidden}.dashboard-context-menu .context-menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:background .15s}.dashboard-context-menu .context-menu-item:hover{background:var(--color-gray-100)}.dashboard-drop-indicator{height:2px;background:var(--primary-color, var(--color-accent));margin:2px 0;opacity:0;transition:opacity .15s ease}.dashboard-drop-line{position:fixed;height:4px;background:var(--color-accent);border-radius:2px;z-index:9999;pointer-events:none;box-shadow:0 0 8px #3b82f699;display:none}#dashboard-view th[data-column=installPackCreated]{width:80px;text-align:center}#dashboard-view th[data-column=installPackCreated] .install-pack-label{font-size:var(--font-size-xs)}#dashboard-view th[data-column=surveyDate],#dashboard-view th[data-column=installDate]{width:100px}#jobs-table{table-layout:fixed;width:max-content;min-width:100%}#jobs-table th,#jobs-table td{min-width:0}.dashboard-table-container{scrollbar-width:none;-ms-overflow-style:none;scrollbar-gutter:stable;overflow-x:auto}#jobs-table th[data-sort=jobNumber]{width:80px}#jobs-table th[data-sort=customer]{width:165px}#jobs-table th[data-column=description]{width:200px}#jobs-table th[data-column=notes]{width:145px}#jobs-table th[data-column=projectManager]{width:130px}#jobs-table th[data-sort=status]{width:100px}#jobs-table th[data-column=installPackCreated]{width:70px}#jobs-table th[data-column=glassDelivery]{width:100px}#jobs-table th[data-column=materials]{width:110px}#jobs-table th[data-column=surveyDate],#jobs-table th[data-column=installDate]{width:90px}#jobs-table th[data-column=dateGiven]{width:135px}#jobs-table th[data-column=surveyDate],#jobs-table th[data-column=installDate],#jobs-table th[data-column=glassDelivery],#jobs-table td[data-column=surveyDate],#jobs-table td[data-column=installDate],#jobs-table td[data-column=glassDelivery]{padding-left:6px;padding-right:6px;white-space:nowrap}#jobs-table th[data-sort=status],#jobs-table td.status{padding-left:2px;padding-right:2px;text-align:center}#jobs-table th[data-column=installPackCreated],#jobs-table td[data-column=installPackCreated]{padding-left:4px;padding-right:4px}#jobs-table th[data-column=invoices]{width:115px}#jobs-table td[data-column=installPackCreated] .install-pack-checkbox,#jobs-table td[data-column=installPackCreated] .install-pack-display{width:24px;height:24px}#jobs-table td[data-column=installPackCreated] .install-pack-display,#jobs-table td[data-column=installPackCreated] .install-pack-display.checked:after{font-size:var(--font-size-md)}#jobs-table td[data-column=installPackCreated] .install-pack-display{border-radius:var(--radius-xs)}#jobs-table td[data-column=installPackCreated] .install-pack-checkbox{margin-top:17px}#jobs-table td.materials-cell{padding:4px 6px;text-align:center}.materials-group{display:flex;justify-content:center;align-items:center;gap:10px}.material-item{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.material-letter{font-size:var(--font-size-xs);font-weight:700;color:var(--color-gray-500);letter-spacing:.5px;text-transform:uppercase}.materials-cell .three-state-checkbox,.materials-cell .three-state-display{width:24px;height:24px}.materials-cell .three-state-display{font-size:var(--font-size-md);border-radius:var(--radius-xs)}.materials-cell .three-state-display.checked:after{font-size:var(--font-size-md)}.materials-cell .three-state-display.na:after{font-size:var(--font-size-2xs)}#jobs-table td.glass-delivery-cell{padding:4px 6px;text-align:center}.glass-delivery-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.glass-delivery-date{font-size:var(--font-size-sm);color:var(--color-gray-700);white-space:nowrap}.vacuum-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-blue-600);color:#fff;letter-spacing:.02em;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}#jobs-table td.invoices-cell{padding:4px 6px;text-align:center}.invoices-group{display:flex;justify-content:center;align-items:center;gap:10px}.invoice-item{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.invoice-letter{font-size:var(--font-size-xs);font-weight:700;color:var(--color-gray-500);letter-spacing:.5px;text-transform:uppercase}.invoice-circles{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;max-width:22px;min-height:22px}.invoices-cell .status-circle{width:22px;height:22px}.status-progress-badge{position:relative;overflow:hidden;display:inline-block;min-width:92px;text-align:center}.status-progress-remaining{position:absolute;right:0;top:0;bottom:0;background:#ffffff80;transition:width .3s ease;pointer-events:none}.status-progress-text{position:relative;z-index:1}.status-install-wrap{display:inline-block;white-space:nowrap}.status-overrun-ext{position:absolute;right:0;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--color-danger),var(--color-danger) 3px,var(--color-danger-dark) 3px,var(--color-danger-dark) 6px);opacity:.9;pointer-events:none}.status-overrun-ext~.status-progress-text{text-shadow:0 0 3px rgba(0,0,0,.45)}.move-progress-label{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 10px}.move-progress-track{height:10px;background:var(--color-border);border-radius:var(--radius-xs);overflow:hidden}.move-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:var(--radius-xs);transition:width .25s ease}.move-progress-count{font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-secondary);text-align:right;margin:8px 0 0}.progress-bar-container{position:relative;width:100%;height:20px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-xs);border:1px solid var(--color-border)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-800);z-index:1;text-shadow:0 1px 1px rgba(255,255,255,.8)}.phase-indicator{background:var(--color-purple);color:#fff;padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:600;display:inline-block;margin-bottom:var(--space-xs)}#dashboard-context-menu{animation:contextMenuFadeIn .15s ease-out}#dashboard-context-menu .context-menu-item:hover{background:var(--color-gray-100)}#create-phase-modal .info-box{background:var(--color-info-pale);border:1px solid var(--color-accent);border-radius:var(--radius-md);padding:12px}.status-overlap{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.status-overlap-chip{font-size:var(--font-size-2xs);font-weight:700;white-space:nowrap;color:var(--color-accent);background:#0b4a5e1a;border:1px dashed var(--color-accent);border-radius:var(--radius-full);padding:1px 7px}.pe-status-wrap{display:inline-flex;align-items:center;gap:4px}.pe-bell{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;padding:2px;animation:pe-bell-pulse 2.4s ease-in-out infinite}.pe-bell--warn{filter:drop-shadow(0 0 2px var(--color-danger, #dc2626))}.pe-bell--outlook{animation:none;opacity:.75}@keyframes pe-bell-pulse{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.18);opacity:1}}@media(prefers-reduced-motion:reduce){.pe-bell{animation:none}}.job-row.drag-reorder-enabled{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.status-flagged{position:relative;display:inline-block}.status-flags{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;gap:2px;z-index:2}.status-flags .pe-bell{font-size:13px;padding:1px;background:#fff;border-radius:999px;box-shadow:0 0 0 1px var(--color-gray-200);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.sflag{min-width:18px;height:18px;padding:0 5px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;color:#fff;box-shadow:0 0 0 2px #fff;white-space:nowrap;cursor:pointer;font-family:inherit}.sflag:hover{transform:scale(1.12)}.sflag--snag{background:#f97316}.sflag--snag.is-done{background:#16a34a}.sflag--workshop{background:#dc2626}#turnover-view,.turnover-container{overflow-y:auto!important}#turnover-view .job-filters>div{display:flex;justify-content:space-between;align-items:center}#turnover-view .view-header{margin-bottom:0}#turnover-view .view-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:600}#turnover-view .view-controls{display:flex;align-items:center;gap:var(--space-md)}#turnover-view .year-selector-container{display:flex;align-items:center;gap:6px}#turnover-view .year-selector-container label{font-weight:500;color:var(--color-gray-600)}#turnover-view #turnover-year-selector{min-width:70px}#turnover-view .turnover-summary-top{background:var(--view-header-bg);color:var(--color-text-primary);margin:0;padding:6px 20px}#turnover-view .summary-top-content{width:100%;position:relative}#turnover-view .summary-top-header{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative;min-height:50px}#turnover-view .summary-top-header h3{position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);line-height:1.2;text-align:center;white-space:nowrap}#turnover-view .summary-left-totals{display:flex;gap:var(--space-lg);flex-shrink:0}#turnover-view .work-in-hand-item{text-align:left;flex-shrink:0}#turnover-view .outstanding-item{text-align:left;flex-shrink:0;padding-left:16px;border-left:1px solid rgba(0,0,0,.15)}#turnover-view .outstanding-item .year-total-value{color:var(--color-success-mid)}#turnover-view .not-sent-item{text-align:left;flex-shrink:0;padding-left:16px;border-left:1px solid rgba(0,0,0,.15)}#turnover-view .not-sent-item .year-total-value{color:var(--color-warning-dark)}#turnover-view .owed-item{text-align:left;flex-shrink:0;padding-left:16px;border-left:1px solid rgba(0,0,0,.15)}#turnover-view .owed-item .year-total-value{color:var(--color-danger-text)}#turnover-view .year-totals-horizontal{display:flex;gap:var(--space-md);flex-shrink:0;margin-left:auto}#turnover-view .year-total-item{text-align:center;min-width:90px}#turnover-view .year-total-label{display:block;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.3px;opacity:.8;margin-bottom:1px;font-weight:500}#turnover-view .year-total-value{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-primary);line-height:1.2}#turnover-view .grand-total-item .year-total-value{font-size:var(--font-size-lg);border-top:1px solid rgba(0,0,0,.15);padding-top:2px;margin-top:3px}#turnover-view .monthly-breakdown-horizontal{display:flex;gap:var(--space-xs);margin-top:5px;flex-wrap:wrap;justify-content:center}#turnover-view .month-summary-card{background:#0000000f;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-xs);padding:4px 8px;text-align:center;min-width:55px}#turnover-view .month-summary-name{font-size:8px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);margin-bottom:1px;font-weight:500;line-height:1.1}#turnover-view .month-summary-total{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary);line-height:1.2}#turnover-view .turnover-container{flex:1;display:flex;overflow:hidden;min-height:0;height:calc(100vh - 160px);gap:var(--space-lg);padding:16px 20px;background:var(--color-gray-50)}#turnover-view .turnover-main{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:8px}#turnover-view .monthly-turnover{display:flex;flex-direction:column;gap:var(--space-xl)}#turnover-view .enhanced-month-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);overflow:hidden}#turnover-view .month-header{background:linear-gradient(135deg,var(--color-gray-50) 0,var(--color-gray-200) 100%);padding:6px 12px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}#turnover-view .month-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-600);line-height:1.2}#turnover-view .month-grand-total{display:flex;align-items:center;gap:6px}#turnover-view .total-amount{font-size:var(--font-size-lg);font-weight:700;color:var(--color-success-text);background:#28a7451a;padding:2px 8px;border-radius:var(--radius-lg);border:1px solid rgba(40,167,69,.2);line-height:1.3}#turnover-view .invoice-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:0;background:var(--color-bg-secondary)}#turnover-view .invoice-column{background:var(--color-bg-secondary);min-height:140px;border-right:1px solid var(--color-gray-100);position:relative;cursor:default}#turnover-view .invoice-column:last-child{border-right:none}#turnover-view .invoice-column.drag-over{background:linear-gradient(135deg,var(--color-info-light) 0,#f3e5f5 100%);border:3px dashed var(--color-accent);border-radius:var(--radius-md)}#turnover-view .column-header{background:var(--color-gray-50);padding:6px 12px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center;min-height:36px}#turnover-view .column-header h4{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.3px;line-height:1.2}#turnover-view .column-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}#turnover-view .job-count{font-size:var(--font-size-2xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;font-weight:500}#turnover-view .invoice-total{font-size:var(--font-size-smd);font-weight:700;color:var(--color-success-text);background:#28a7451a;padding:2px 8px;border-radius:var(--radius-md);border:1px solid rgba(40,167,69,.2)}#turnover-view .column-content{padding:12px;min-height:90px;position:relative}#turnover-view .invoice-job{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:2px 8px;margin-bottom:3px;cursor:grab;font-size:var(--font-size-sm);min-height:24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);transition:border-color .2s ease}#turnover-view .invoice-job:hover{border-color:var(--color-accent)}#turnover-view .invoice-job:active{cursor:grabbing}#turnover-view .invoice-job.dragging{opacity:.8;box-shadow:0 4px 16px #004a604d;z-index:1000;transform:rotate(1deg)}body.turnover-dragging,body.turnover-dragging *{cursor:grabbing!important}#turnover-view .job-main-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex:1;gap:var(--space-sm);min-width:0;line-height:1.2}#turnover-view .job-left-content{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;overflow:hidden}#turnover-view .job-right-content{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0;margin-right:20px}#turnover-view .job-salesman{color:green;font-style:italic;font-size:var(--font-size-2xs);flex-shrink:0}#turnover-view .job-number-inline{font-weight:700;color:var(--color-gray-600);font-size:var(--font-size-sm);flex-shrink:0}#turnover-view .job-customer-inline{color:#000;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;min-width:0}#turnover-view .job-number{font-weight:700;color:var(--color-gray-600);font-size:var(--font-size-sm);min-width:50px;background:#4950571a;padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0}#turnover-view .job-customer{color:var(--color-gray-500);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:500}#turnover-view .job-invoice-value{font-weight:700;color:var(--color-success-text);font-size:var(--font-size-xs);background:#28a7451a;padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0;white-space:nowrap}#turnover-view .remove-job-btn{background:0 0;border:0;color:var(--color-danger-text);cursor:pointer;font-size:var(--font-size-lg);padding:2px 4px;border-radius:var(--radius-xs);opacity:.6;transition:opacity .2s ease;flex-shrink:0;line-height:1}#turnover-view .remove-job-btn:hover{opacity:1;background:#dc35451a}#turnover-view .empty-column-placeholder{display:flex;align-items:center;justify-content:center;height:70px;text-align:center;border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-gray-50)}#turnover-view .placeholder-content{text-align:center}#turnover-view .turnover-jobs-sidebar{width:320px;min-width:320px;max-width:320px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);overflow:hidden;box-shadow:var(--shadow-lg)}@media(min-width:1025px)and (max-width:1536px){#turnover-view .turnover-container{padding:0}#turnover-view .turnover-jobs-sidebar{width:290px;min-width:290px;max-width:290px}}#turnover-view .job-selection,#turnover-view .turnover-jobs-sidebar{height:100%;display:flex;flex-direction:column}#turnover-view .job-selection h3{margin:0;padding:20px 20px 16px;font-size:var(--font-size-lg);font-weight:600;background:var(--gradient-special);color:#fff;flex-shrink:0;text-align:center;letter-spacing:.3px}#turnover-view .job-search{padding:16px 20px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}#turnover-view .job-search input{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-neutral-300);transition:border-color .2s ease}#turnover-view .job-search input:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px #004a601a}#turnover-view .job-filters{padding:12px 20px 16px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}#turnover-view .checkbox-label{display:flex;align-items:center;gap:0;font-size:var(--font-size-smd);color:var(--color-gray-600);cursor:pointer;font-weight:500}#turnover-view .checkbox-label input[type=checkbox]{margin:0;transform:scale(1.1)}#turnover-view #available-jobs-count{font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500;background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}#turnover-view .available-jobs{flex:1;overflow-y:auto;padding:12px;background:var(--color-gray-50)}#turnover-view .available-job{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:2px 8px;margin-bottom:6px;cursor:grab;display:flex;align-items:center;min-height:24px;font-size:var(--font-size-smd);box-shadow:var(--shadow-sm);transition:border-color .2s ease}#turnover-view .available-job:hover{border-color:var(--color-accent)}#turnover-view .available-job:active{cursor:grabbing}#turnover-view .available-job.archived-job{background:var(--color-gray-50);border-color:var(--color-gray-300);opacity:.8}#turnover-view .job-info{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:var(--space-sm);line-height:1.2}#turnover-view .available-job .job-number{font-weight:700;color:var(--color-gray-600);min-width:55px;font-size:var(--font-size-smd);background:#4950571a;padding:2px 8px;border-radius:var(--radius-xs);text-align:center}#turnover-view .available-job .job-customer{flex:1;color:var(--color-gray-500);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}#turnover-view .available-job .job-total-value{font-weight:700;color:var(--color-success-text);font-size:var(--font-size-xs);text-align:right;background:#28a7451a;padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0;white-space:nowrap}#turnover-view .archived-badge{background:var(--color-gray-500);color:#fff;font-size:var(--font-size-2xs);padding:2px 4px;border-radius:var(--radius-xs);text-transform:uppercase;font-weight:600;letter-spacing:.3px}#turnover-view .available-jobs::-webkit-scrollbar,#turnover-view .turnover-main::-webkit-scrollbar{width:8px}#turnover-view .available-jobs::-webkit-scrollbar-track,#turnover-view .turnover-main::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-xs)}#turnover-view .available-jobs::-webkit-scrollbar-thumb,#turnover-view .turnover-main::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:var(--radius-xs)}#turnover-view .available-jobs::-webkit-scrollbar-thumb:hover,#turnover-view .turnover-main::-webkit-scrollbar-thumb:hover{background:#a8a8a8}#turnover-view .scheduled-job-search{border:2px solid #17a2b8;background-color:var(--color-info-pale)}#turnover-view .scheduled-job-search:focus{border-color:#138496;box-shadow:0 0 0 3px #17a2b826}#turnover-view .search-label{display:block;font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs);text-align:center;font-style:italic}#turnover-view .invoice-job.search-match-found{border:2px solid var(--color-success)!important;background-color:#28a74514;box-shadow:0 0 8px #28a7454d;position:relative}#turnover-view .invoice-job.search-match-found:before{content:none;position:absolute;top:-2px;right:-2px;background:var(--color-success);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);z-index:5}#turnover-view .invoice-job.scroll-highlight{animation:searchPulse 2s ease-in-out}.invoice-column,.invoice-job{position:relative;transition:all .2s ease}.invoice-job.read-only:hover{transform:none;box-shadow:none}.invoice-column{border:1px solid transparent;border-radius:var(--radius-md);padding:4px}.invoice-job.status-not-sent:hover{background:linear-gradient(135deg,var(--color-gray-200) 0,var(--color-gray-300) 100%)}.invoice-job.status-sent:hover{background:linear-gradient(135deg,var(--color-warning-light) 0,#fdcb6e 100%)}.invoice-job.status-paid:hover{background:linear-gradient(135deg,var(--color-success-light) 0,#a3d9a5 100%)}.invoice-job.status-not-sent.dragging{background:linear-gradient(135deg,#f8f9fab30,#e9ecefb3)}.invoice-job.status-sent.dragging{background:linear-gradient(135deg,#fff3cdb30,#ffeaa7b3)}.invoice-job.status-paid.dragging{background:linear-gradient(135deg,#d4eddab30,#c3e6cbb3)}.invoice-totals-section{margin-top:var(--space-lg);padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.invoice-total-row.grand-total{border-top:2px solid var(--color-gray-200);margin-top:var(--space-sm);padding-top:8px;font-weight:600;font-size:var(--font-size-md)}.total-label{color:var(--color-gray-700)}.total-value{color:var(--color-success-dark);font-weight:600}.grand-total .total-value{color:var(--color-gray-800);font-size:var(--font-size-lg)}.job-customer-name{font-weight:600;font-size:var(--font-size-smd);margin-bottom:var(--space-xs)}.header-reminders-banner{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap;max-width:320px;justify-content:center;flex-shrink:1;min-width:0}.header-reminders-banner:hover{transform:scale(1.03)}.header-reminders-banner .reminder-text{overflow:hidden;text-overflow:ellipsis}.header-reminders-banner.warning{background:linear-gradient(135deg,var(--color-warning-light),#ffe5a0);color:var(--color-warning-darker);border:1px solid var(--color-warning);animation:pulse-warning 2s infinite}.header-reminders-banner.critical{background:linear-gradient(135deg,var(--color-danger-light),#f5c6cb);color:var(--color-danger-darker);border:1px solid var(--color-danger);animation:pulse-critical 1.5s infinite}.header-reminders-banner.info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid #17a2b8}@keyframes pulse-warning{0%,to{box-shadow:0 0 #ffc107b3}50%{box-shadow:0 0 0 8px #ffc10700}}@keyframes pulse-critical{0%,to{box-shadow:0 0 #dc3545b3}50%{box-shadow:0 0 0 10px #dc354500}}@keyframes van-alert-pulse-critical{0%,to{box-shadow:0 0 #dc354599;transform:scale(1)}50%{box-shadow:0 0 0 4px #dc354500;transform:scale(1.02)}}@keyframes van-alert-pulse-warning{0%,to{box-shadow:0 0 #ffc10799;transform:scale(1)}50%{box-shadow:0 0 0 4px #ffc10700;transform:scale(1.02)}}@keyframes van-alert-pulse-info{0%,to{box-shadow:0 0 #17a2b899;transform:scale(1)}50%{box-shadow:0 0 0 4px #17a2b800;transform:scale(1.02)}}@media(max-width:1100px){.header-reminders-banner{max-width:220px;font-size:var(--font-size-xs);padding:4px 10px;gap:var(--space-xs)}}@media(max-width:800px){.header-reminders-banner{max-width:none;width:36px;height:36px;min-width:36px;padding:0;border-radius:50%;justify-content:center}.header-reminders-banner .reminder-text{display:none}}.van-alert-banner{pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease}.van-alert-banner:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.connection-indicator{display:inline-flex;align-items:center;flex-shrink:0;transition:all .3s ease}.connection-indicator .connection-text{display:none}.connection-status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);transition:background .3s ease;position:relative}.connection-indicator.connected .connection-status-dot{background:var(--color-success);animation:pulse-green 2s infinite}.connection-indicator.disconnected .connection-status-dot,.connection-indicator.offline .connection-status-dot{background:#f44336}.connection-indicator.syncing .connection-status-dot{background:var(--color-accent);animation:pulse-blue 1s infinite}.connection-indicator.connecting .connection-status-dot{background:var(--color-neutral-500);animation:pulse-gray 1.5s infinite}.view-header{display:flex;align-items:center;padding:6px;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg);background:var(--view-header-bg);border-bottom:1px solid var(--view-header-border)}.content-section>.view-header,.view-container>.view-header,section>.view-header{border-top-left-radius:var(--card-radius);border-top-right-radius:var(--card-radius)}.view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.panel-header h2,.view-header h1{font-weight:600;margin:0;font-size:var(--font-size-2xl)}.view-controls label{font-weight:500;color:var(--color-gray-700);white-space:nowrap}.view-controls select{border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-700);min-width:120px}.view-controls>div{display:flex;align-items:center;gap:6px}.app-title{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin:0;color:var(--app-header-text)!important;line-height:1.2;display:inline-flex;align-items:center;gap:var(--space-sm)}.app-title-leaf{width:1em;height:1em;object-fit:contain;flex-shrink:0;display:inline-block;transform:translateY(.1em)}.header .app-title{color:var(--app-header-text)}.header-left{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;max-width:70%}.tabs-container::-webkit-scrollbar{display:none}.tab-button{padding:var(--space-sm) var(--space-lg);background-color:transparent;border:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0;height:36px;display:flex;align-items:center;justify-content:center}.tab-button.active{background-color:var(--color-accent);color:#fff;font-weight:600}.tab-button:hover:not(.active){color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.user-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;flex-shrink:0}.user-info:hover{background:#ffffff38;border-color:#ffffff73}.user-info,.user-info .user-email,.user-info .user-role,.user-info span{color:var(--app-header-text)!important}.logout-btn,.user-info .logout-btn{background:var(--color-danger)!important;color:#fff!important;border:1px solid var(--color-danger)!important;padding:4px 8px!important;border-radius:var(--radius-xs)!important;font-size:var(--font-size-sm)!important;transition:all .2s ease!important;margin-left:8px!important}.logout-btn:hover,.user-info .logout-btn:hover{background:var(--color-danger-dark)!important;border-color:var(--color-danger-dark)!important;transform:translateY(-1px)!important}.header-update-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-warning);background:var(--color-warning-light);color:var(--color-warning-darker);font-size:var(--font-size-smd);font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0;margin-right:8px}.header-update-btn:hover{background:var(--color-warning-light);border-color:var(--color-warning-dark)}.header{padding:4px;background-color:var(--app-header-bg);color:var(--app-header-text);box-shadow:var(--app-header-shadow);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);justify-content:space-between;gap:var(--space-xl);flex-shrink:0}#todo-badge,.todo-meta{display:flex;align-items:center}#todo-badge.badge-urgent{background:var(--color-warning);animation:badge-dim 2s infinite}#todo-badge,#meetings-badge{position:absolute;top:-8px;right:-8px;background:var(--color-danger);color:#fff;border-radius:50%;min-width:20px;height:20px;justify-content:center;font-size:var(--font-size-xs);font-weight:700;padding:0 4px;border:2px solid #fff;box-shadow:var(--shadow-md)}#meetings-badge{background:var(--color-accent)}.collapsed-notification-wrapper{display:none;position:absolute;right:20px;top:50%;transform:translateY(-50%);z-index:100002}.header:not(.collapsed) #notification-indicator{display:flex}.header:not(.collapsed) .collapsed-notification-wrapper{display:none!important}.header.collapsed{min-height:45px;display:flex;justify-content:center;align-items:center;position:relative}.header.collapsed .collapsed-notification-wrapper{display:block!important;position:absolute!important;right:20px!important;top:50%!important;transform:translateY(-50%)!important;z-index:100002!important}.header.collapsed .collapsed-notification-wrapper .notification-button{background:0 0;border:0;padding:6px;cursor:pointer;transition:all .2s ease;position:relative;display:flex!important;align-items:center;justify-content:center}.header.collapsed .collapsed-notification-wrapper .notification-button:hover{background:#ffffff1a;border-radius:var(--radius-sm)}.collapsed-notification-wrapper .notification-icon{font-size:var(--font-size-xl);line-height:1}.header.collapsed #notification-indicator,.header.collapsed .collapsed-notification-wrapper .notification-badge[style*="display: none"]{display:none!important}.header.collapsed .collapsed-notification-wrapper .notification-badge:not([style*="display: none"]){display:flex!important}.header.collapsed .header-left{margin:0;padding:0;width:auto;display:flex;justify-content:center;align-items:center;flex:none;position:static}.header.collapsed .app-title,.header.collapsed .header-content,.header.collapsed .tab-button .tab-text{display:none}.header.collapsed .tabs-container{display:flex;justify-content:center;align-items:center;gap:var(--space-sm);margin:0;padding:8px 0}.header.collapsed .tab-button{padding:6px 10px;font-size:var(--font-size-sm);min-width:auto;margin:0;flex-shrink:0}.header-toggle-btn{background:#004a60cc;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:0 0 var(--radius-md) var(--radius-md);padding:1px 12px;cursor:pointer;font-size:var(--font-size-2xs);height:12px;display:flex!important;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all .2s ease;pointer-events:auto;opacity:.7}@media(max-width:767px){.header.collapsed .collapsed-notification-wrapper{right:10px!important}}.hamburger-menu-btn{display:none}@media(max-width:1366px){.desktop-sidebar-menu{display:none!important}}#employee-training-modal{z-index:1001}#employee-modal{z-index:1000}.tabs-container{display:flex;gap:var(--space-xs);position:relative;z-index:1;flex-wrap:nowrap;align-items:center;height:45px;width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-left:4px}.auth-modal{z-index:10001!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#000000e6!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-content{position:relative;z-index:10002;max-width:400px;margin-top:10vh;margin-top:10dvh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.orders-table .item-description{max-width:250px}.orders-table .item-notes{font-size:.85em;color:var(--color-gray-500);font-style:italic}.orders-table .quantity{text-align:center;font-weight:500}.order-row.status-received{background-color:var(--color-success-pale)}.order-row.pending-sync{background-color:var(--color-warning-light);position:relative}.order-row.pending-sync:after{content:"…";position:absolute;right:10px;top:50%;transform:translateY(-50%)}.order-type-badge{display:inline-block;text-align:center;min-width:60px}.order-type-badge.customer{background-color:var(--color-info);color:#fff}.order-type-badge.stock{background-color:var(--color-success);color:#fff}.order-type-badge.unknown{background-color:var(--color-gray-500);color:#fff}#orders-table{width:100%;table-layout:auto;min-width:1200px}#orders-table td,#orders-table th{padding:12px 8px;text-align:left;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.orders-table-enhanced .item-desc-col{width:18%}.orders-table-enhanced .supplier-col{width:11%}.orders-table-enhanced .qty-col{width:5%}.orders-table-enhanced .type-col{width:7%}.orders-table-enhanced .where-col{width:11%}.orders-table-enhanced .date-col,.orders-table-enhanced .ordered-by-col,.orders-table-enhanced .received-col{width:9%}.orders-table-enhanced .status-col{width:7%}.orders-table-enhanced .notes-col{min-width:200px}#orders-type-filter option[value=customer]:before{content:none}#orders-type-filter option[value=stock]:before{content:none}@media(max-width:1400px){#orders-table{min-width:1000px}#orders-table td:nth-child(1),#orders-table th:nth-child(1){max-width:200px}#orders-table td:nth-child(2),#orders-table th:nth-child(2){max-width:100px}}.order-row.editable:hover{background-color:var(--color-bg-primary);cursor:pointer}.order-row.non-editable:hover{background-color:transparent;cursor:default}#order-where-for-list option{padding:8px 12px;font-size:var(--font-size-md)}@media(max-width:1000px){.orders-table-enhanced .ordered-by-col,.orders-table-enhanced .type-col{display:none}.orders-table-enhanced .item-desc-col{width:25%}.orders-table-enhanced .notes-col{min-width:200px}}.ordered-item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);transition:all .2s ease}.ordered-items-section{border:1px solid var(--color-gray-200)}.ordered-items-section h4{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-gray-200)}.drag-insert-indicator{position:absolute;top:-9999px;left:-9999px;width:0;height:2px;background:var(--color-accent);border-radius:1px;opacity:0;transition:none;pointer-events:none;z-index:1000}.drag-insert-indicator.is-active{opacity:1}.workshop-mode .job-card{position:relative}.workshop-mode .job-card.non-editable,.workshop-mode .job-row .non-editable{cursor:default!important;opacity:.9}.workshop-mode .job-card.non-editable:hover{transform:none!important;box-shadow:inherit!important;background-color:inherit!important}.workshop-mode .job-row:hover .non-editable{background-color:inherit!important}.workshop-mode .job-card.non-editable:after,.workshop-mode .non-editable:after{content:none;position:absolute;top:4px;right:4px;font-size:var(--font-size-sm);opacity:.5}#board-view,#board-view .panel-content{overflow-y:auto!important}.job-card.draggable-job{cursor:grab!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;transition:transform .2s ease,box-shadow .2s ease}.job-card.draggable-job:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.job-card.draggable-job:before{position:absolute;top:4px;right:4px;color:var(--color-gray-500);font-size:var(--font-size-sm);line-height:1;opacity:.6;pointer-events:none}.job-card.dragging{opacity:.5;transform:rotate(5deg)}.column-content.drag-over{background-color:#3b82f61a;border:2px dashed var(--color-accent);border-radius:var(--radius-md)}.job-card.non-editable,.job-card.view-only{cursor:default!important}.job-card.view-only{opacity:.9}.job-card.non-editable{opacity:.8}.job-card.clickable-job:not(.draggable-job){cursor:pointer!important}.job-card.draggable-job *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.job-card.draggable-job .job-card-actions,.job-card.draggable-job .job-card-actions *{pointer-events:auto}.workshop-mode .job-card.draggable-job{border-left:3px solid var(--color-success)}.workshop-mode .job-card.draggable-job:before{color:var(--color-success-text);opacity:.8}.settings-tab.active{background:var(--color-bg-secondary);z-index:1;position:relative}.kanban-loading-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-lg);padding:16px}.kanban-loading-skeleton .skeleton-column{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;min-height:300px;display:flex;flex-direction:column;gap:10px}.kanban-loading-skeleton .skeleton-column-header{height:24px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border) 0%,var(--color-bg-tertiary) 50%,var(--color-border) 100%);background-size:200% 100%;animation:kanban-skeleton-shimmer 1.6s ease-in-out infinite}.kanban-loading-skeleton .skeleton-card{height:72px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-primary) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:kanban-skeleton-shimmer 1.6s ease-in-out infinite;animation-delay:calc(var(--card-index, 0) * .12s)}.kanban-loading-skeleton .skeleton-column:nth-child(2) .skeleton-card{--card-index: 1}.kanban-loading-skeleton .skeleton-column:nth-child(3) .skeleton-card{--card-index: 2}.kanban-loading-skeleton .skeleton-column:nth-child(4) .skeleton-card{--card-index: 3}.kanban-loading-skeleton .skeleton-column:nth-child(5) .skeleton-card{--card-index: 4}@keyframes kanban-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}#board-view .kanban-view-header,#dashboard-view.hidden .dashboard-panels,#dashboard-view.hidden .data-table,#dashboard-view.hidden .panel-content{display:none!important}#board-view{background:var(--color-bg-primary);height:auto!important;min-height:100vh!important;overflow:visible!important;padding:0!important;margin:0!important}#board-view .data-table,#board-view table,#board-view tbody,#board-view td,#board-view tr{display:none!important}.kanban-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary)}#board-view .kanban-view-header{position:absolute;top:20px;right:20px;z-index:10}#board-view .kanban-view-container{flex:1;min-height:0;background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-border) 100%)}#board-view .kanban-board::-webkit-scrollbar{height:8px}#board-view .kanban-board::-webkit-scrollbar-track{background:0 0}#board-view .kanban-board::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:var(--radius-xs)}#board-view .kanban-board::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}#board-view .kanban-column:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}#board-view .column-header{padding:20px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;align-items:center;font-weight:600;border-bottom:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#board-view .column-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}#board-view .job-count{background:#ffffff4d;padding:6px 10px;border-radius:var(--radius-xl);font-size:var(--font-size-smd);font-weight:600;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}#board-view .column-content{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);min-height:200px}#board-view .column-content::-webkit-scrollbar{width:6px}#board-view .column-content::-webkit-scrollbar-track{background:0 0}#board-view .column-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-xs)}#board-view .column-content.drag-over{background:linear-gradient(135deg,#3b82f60d0,#3b82f61a);border:2px dashed var(--color-accent);border-radius:0 0 var(--radius-lg) var(--radius-lg)}#board-view .job-card:hover{border-color:var(--color-accent);box-shadow:0 8px 25px #3b82f626;transform:translateY(-2px)}#board-view .job-card.dragging{opacity:.6;transform:rotate(3deg) scale(1.02);box-shadow:var(--shadow-xl);z-index:1000}#board-view .job-card.updating{opacity:.7;pointer-events:none}#board-view .job-card-content{display:flex;flex-direction:column;gap:10px}#board-view .job-card-header{display:flex;justify-content:space-between;align-items:center}#board-view .job-card .job-customer{font-weight:600;color:var(--color-text-primary);line-height:1.3}#board-view .job-card .job-due-date,#board-view .job-card .job-value{font-size:var(--font-size-sm);color:var(--color-slate-500);display:flex;align-items:center;gap:0;padding:4px 8px;background:var(--color-bg-primary);border-radius:var(--radius-sm)}#board-view .job-card .job-progress{display:flex;gap:0;font-size:var(--font-size-md);margin-top:var(--space-sm);justify-content:center}.outsourced-tag{color:var(--color-orange-text);background:var(--color-warning-pale)}#board-view .empty-column-placeholder{text-align:center;padding:40px 20px;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-tertiary) 100%)}#board-view .placeholder-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}#board-view .empty-board{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}#board-view .empty-board-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);max-width:400px;background:var(--color-bg-secondary);padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}#board-view .kanban-loading{display:flex;align-items:center;justify-content:center;height:300px;flex-direction:column;gap:var(--space-xl);color:var(--color-slate-500);background:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin:40px}#board-view .error-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}#board-view .error-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);max-width:400px;background:var(--color-bg-secondary);padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}#board-view .kanban-board{scrollbar-width:thin;scrollbar-color:var(--color-slate-300) transparent;display:grid!important;grid-template-columns:repeat(6,1fr)!important;grid-template-rows:auto auto!important;gap:var(--space-md)!important;padding:16px!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow-x:hidden!important;background:var(--color-bg-primary)!important;flex-direction:unset!important;flex-wrap:unset!important;justify-content:unset!important;align-items:unset!important;flex:unset!important}#board-view .kanban-board,#board-view .kanban-column .column-content{overflow-y:visible!important}.kanban-view-header{position:sticky!important;top:0!important;z-index:10!important;background:var(--color-bg-primary)!important;border-bottom:1px solid var(--color-border)!important}#board-view .kanban-column{max-width:320px;transition:all .2s ease;display:flex!important;flex-direction:column!important;background:transparent!important;border-radius:var(--radius-lg)!important;box-shadow:none!important;min-height:150px!important;height:auto!important;max-height:none!important;overflow:visible!important;min-width:180px!important}#board-view .kanban-column .column-header{padding:8px 12px!important;font-size:var(--font-size-smd)!important}#board-view .kanban-column .column-header h3{font-size:var(--font-size-smd)!important;margin:0!important}#board-view .job-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;position:relative;box-shadow:var(--shadow-sm);padding:8px!important;margin-bottom:6px!important}#board-view .job-card .job-number{font-weight:700;color:var(--color-accent);padding:4px 8px;background:#3b82f61a;border-radius:var(--radius-sm);font-size:var(--font-size-xs)!important}#board-view .job-card,#board-view .job-card .job-customer{font-size:var(--font-size-sm)!important}#board-view .job-card .job-description{color:var(--color-slate-500);border-left:3px solid var(--color-border);padding-left:12px;margin:4px 0;font-size:var(--font-size-xs)!important;line-height:1.3!important}.kanban-view-container{display:block!important;width:100%!important;height:auto!important;overflow:visible!important}@media(min-width:768px){#board-view .mobile-kanban-container{display:none!important}}#board-view .kanban-column .column-content{flex:1!important;padding:6px!important;overflow:visible!important;height:auto!important;max-height:none!important;display:flex!important;flex-direction:column;gap:6px}.ghost-batch-card{position:relative;margin:8px 0;padding:12px;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border, var(--color-gray-200));border-left:4px solid var(--batch, var(--color-gray-500));cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column;gap:var(--space-sm)}.ghost-batch-card:hover{border-color:var(--batch, var(--color-gray-500));box-shadow:var(--shadow-xl);transform:translateY(-2px)}.ghost-batch-card.draggable-batch{cursor:grab}.ghost-batch-card.draggable-batch:active,.job-card.draggable-job:active{cursor:grabbing!important}.ghost-batch-card.dragging{opacity:.6;transform:rotate(3deg) scale(1.02)}.ghost-batch-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.ghost-batch-job{font-weight:700;font-size:var(--font-size-smd);color:var(--color-accent);background:#0b4a5e1a;padding:4px 8px;border-radius:var(--radius-sm)}.ghost-batch-tag{font-weight:700;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--batch, var(--color-gray-500));padding:2px 8px;border-radius:var(--radius-full)}.ghost-batch-customer{font-size:var(--font-size-smd);color:var(--color-neutral-600);margin-top:-4px}.ghost-batch-name{font-size:var(--font-size-md);line-height:1.3;color:var(--color-neutral-600)}.ghost-batch-meta{display:flex;gap:var(--space-sm);color:var(--color-neutral-600);font-size:var(--font-size-sm)}.ghost-batch-due{color:var(--color-warning-dark, var(--color-amber-700));font-weight:600}.ghost-install-card{position:relative;margin:8px 0;padding:12px;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px dashed var(--color-accent);border-left:4px solid var(--color-accent);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm)}.ghost-install-card:hover{box-shadow:var(--shadow-xl)}.ghost-install-tag{font-weight:700;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--color-accent);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.ghost-install-qc{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.install-overlap-tag{display:inline-block;margin-bottom:6px;font-weight:700;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);background:#0b4a5e1a;padding:2px 8px;border-radius:var(--radius-full)}@keyframes psDragPulse{0%{opacity:.6}to{opacity:1}}.kanban-config-section{margin-bottom:30px;padding:20px 0}.status-selection-container{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-xl);margin:20px 0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;background:var(--color-bg-primary)}.available-statuses,.selected-statuses{min-height:300px}.available-statuses h5,.selected-statuses h5{margin:0 0 12px;font-weight:600;color:var(--text-primary, var(--color-gray-800))}.status-list{min-height:200px;padding:12px;border:2px dashed var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-bg-secondary);overflow-y:auto}.status-list.sortable{border-style:solid;border-color:var(--color-accent)}.status-list-item:hover{background:var(--background-hover, var(--color-bg-tertiary));border-color:var(--color-accent);transform:translateY(-1px)}.status-list-item.selected{background:var(--color-accent-light, var(--color-info-light));border-color:var(--color-accent)}.status-list-item.dragging{opacity:.5;transform:rotate(2deg)}.status-handle{cursor:grab;color:var(--text-secondary, var(--color-gray-500));margin-left:8px}.status-handle:active{cursor:grabbing}.selection-controls{display:flex;flex-direction:column;justify-content:center;gap:var(--space-md)}.selection-controls .button{white-space:nowrap;min-width:120px}.kanban-options{margin:24px 0;padding:16px;background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.kanban-preview{margin-top:var(--space-xxl);padding:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.preview-column,.preview-container{border:1px solid var(--color-border);display:flex}.preview-container{gap:var(--space-sm);overflow-x:auto;padding:12px;background:var(--color-bg-primary);border-radius:var(--radius-sm);min-height:80px}.preview-column{min-width:120px;padding:8px 12px;background:var(--color-bg-secondary);border-radius:var(--radius-xs);text-align:center;font-size:var(--font-size-sm);flex-direction:column;justify-content:center}.preview-column-header{font-weight:600;margin-bottom:var(--space-xs)}.preview-column-count{font-size:var(--font-size-xs)}.help-text,.preview-column-count{color:var(--text-secondary, var(--color-gray-500))}.status-list:empty:before{content:"Drop status columns here";display:block;text-align:center;color:var(--text-secondary, var(--color-gray-500));font-style:italic;padding:40px 20px}.status-list.available:empty:before{content:"All statuses are selected"}.status-list.drag-over{border-color:var(--color-success);background:var(--color-success-light, var(--color-success-pale))}.modal{background-color:#0000004d;z-index:1050}.job-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.invoice-job.reorder-target:before{content:"Drop here to reorder";position:absolute;top:-25px;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);white-space:nowrap;z-index:1000}.empty-column-placeholder{padding:16px;text-align:center;border:2px dashed var(--color-neutral-200);border-radius:var(--radius-md);margin:4px 0;transition:all .2s ease}.invoice-column.drag-over .empty-column-placeholder{border-color:var(--color-accent);background:#004a600d;color:var(--color-accent)}.invoice-column.drag-over-invalid .empty-column-placeholder{border-color:var(--color-danger);background:#dc35450d;color:var(--color-danger)}.job-right-content{display:none}.reorder-target{animation:dragPulse 1.5s infinite}.dragging,.dragging *{transition:none!important}#board-view .job-card.phase-job-card{border-left:3px solid var(--color-purple);background:linear-gradient(to right,#faf5ff,var(--color-bg-secondary))}#board-view .job-card.phase-job-card:hover{border-left-color:var(--color-violet)}#board-view .job-card.phase-job-card.outsourced-job-card{background:var(--color-warning-light);border:1px solid var(--color-orange);border-left:3px solid var(--color-orange)}#board-view .job-card.phase-job-card.outsourced-job-card:hover{background:var(--color-warning-light);border-left-color:#e67e22}.kanban-column{min-height:500px;background:var(--color-bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background-color:var(--color-gray-50);overflow:hidden}.kanban-column h5{margin:0;padding:12px 16px;background-color:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}body.job-dragging .job-card:not(.dragging){transition:all .2s ease}body.job-dragging .job-card:not(.dragging):hover{transform:scale(1.02);background:#004a600d}.dept-box{display:flex;flex-direction:column;align-items:center;justify-content:center;height:24px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:600;cursor:help;border:1px solid transparent;background:var(--color-gray-200);color:var(--color-gray-500);border-color:var(--color-gray-300);width:100%;min-width:0}.dept-box span{line-height:1}.dept-box span:first-child{font-weight:700}.dept-box span:last-child{font-size:var(--font-size-2xs);margin-top:1px}.dept-box.total-box{grid-column:1 / -1}.kanban-board.compact-view .dept-box{height:20px;font-size:var(--font-size-2xs)}.kanban-board.compact-view .dept-box span:last-child{font-size:var(--font-size-2xs)}.workshop-snag-tag{margin:-2px 0 6px;padding:2px 8px;border-radius:6px;background:#fee2e2;color:#991b1b;font-size:11px;font-weight:800;display:inline-block}#month-board-view{display:flex;flex-direction:column;height:100%;min-height:0}.month-board-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;padding:12px 16px}.month-board-header-left{display:flex;align-items:baseline;gap:10px}.month-board-title{margin:0;font-size:var(--font-size-xl);font-weight:700}.month-board-subtitle{color:var(--color-gray-500);font-size:var(--font-size-md)}.month-board-header-right{display:flex;align-items:center;gap:10px}.month-board-search{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);min-width:240px}.month-board-config-wrapper{position:relative;flex-shrink:0}#month-board-config-btn{white-space:nowrap}.month-board-config-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:260px;max-height:360px;overflow-y:auto;background:var(--color-white, var(--color-bg-secondary));border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:12px}.month-board-config-popover.hidden{display:none}.month-board-config-popover-header{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--color-gray-200)}.month-board-config-popover-header small{color:var(--color-gray-500);font-size:var(--font-size-sm)}.month-board-config-list{display:flex;flex-direction:column;gap:2px}.month-board-config-item{display:flex;align-items:center;gap:var(--space-sm);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-md)}.month-board-config-item:hover{background:var(--color-gray-100)}.month-board-config-item input{cursor:pointer}.month-board-config-swatch{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.month-board-container{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 16px 16px}.month-board-columns{display:flex;gap:14px;height:100%;align-items:stretch}.month-column{display:flex;flex-direction:column;flex:0 0 300px;width:300px;background:var(--color-gray-100);border-radius:var(--radius-lg);min-height:0}.month-column-header{position:sticky;top:0;padding:12px;border-bottom:1px solid var(--color-gray-200);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-gray-100)}.month-column-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:var(--font-size-lg)}.month-column-count{background:var(--color-gray-300);color:var(--color-gray-700);padding:2px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600}.month-column-meta{margin-top:var(--space-xs);color:var(--color-gray-500);font-size:var(--font-size-sm)}.month-column-body{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.month-card{background:var(--color-white, var(--color-bg-secondary));border:1px solid var(--color-gray-200);padding:10px 12px;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.month-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.month-card.is-under-time{background:var(--color-success-light, var(--color-success-pale));border-color:var(--color-success, #2e9e5b)}.month-card.is-over-time{background:var(--color-danger-light);border-color:var(--color-danger)}.month-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.month-card-job-number{font-weight:700;font-size:var(--font-size-md)}.month-card-status{padding:2px 8px;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.month-card-customer{margin-top:3px;font-size:var(--font-size-md);color:var(--color-gray-700)}.month-card-description{margin-top:5px;font-size:var(--font-size-smd);color:var(--color-gray-600);line-height:1.3}.month-card-notes{margin-top:6px;padding:6px 8px;background:var(--color-warning-light, var(--color-warning-pale));border-left:3px solid var(--color-warning, #f5a623);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-style:italic;color:var(--color-gray-700);white-space:pre-wrap}.month-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm)}.month-card-install-date{font-size:var(--font-size-sm);color:var(--color-gray-500)}.month-card-time-loading{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500)}.dept-box.install-box{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.month-board-empty{display:flex;align-items:center;justify-content:center;width:100%;padding:56px 20px}.month-board-empty-content{text-align:center}.month-board-empty-content h3{margin:0 0 6px}.month-card{content-visibility:auto;contain-intrinsic-size:auto 320px}.enquiry-section{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:10px;border:1px solid var(--color-border)}.enquiry-section h3{margin:0 0 16px;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);padding-bottom:6px;border-bottom:2px solid var(--color-accent)}.enquiry-column{display:flex;flex-direction:column}.postcode-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-md);max-height:250px;overflow-y:auto;z-index:1000}.postcode-suggestion{padding:10px 12px;border-bottom:1px solid var(--color-gray-100);cursor:pointer;transition:background-color .15s;font-size:var(--font-size-smd)}.postcode-suggestion:hover{background-color:var(--color-info-pale)}.postcode-suggestion:last-child{border-bottom:none}.postcode-suggestion .address-main{font-weight:500;color:var(--color-gray-800);margin-bottom:2px}.postcode-loading{padding:16px;text-align:center;color:var(--color-gray-500);font-size:var(--font-size-smd)}.postcode-error{padding:12px;text-align:center;color:var(--color-danger-dark);font-size:var(--font-size-smd);background:var(--color-danger-pale)}.field-error{font-weight:500;border:2px solid var(--color-danger-dark)!important;background-color:var(--color-danger-pale)!important;animation:shake .3s ease-in-out;font-size:var(--font-size-sm);color:var(--color-danger-text);margin-top:var(--space-xs);display:block}.description-container .btn{position:absolute;top:8px;right:8px;z-index:10;opacity:.9}.description-container .btn:hover{opacity:1}.description-container textarea{padding-right:96px}.form-control.error{border-color:var(--color-danger);background-color:var(--color-danger-pale)}.form-control.success{border-color:var(--color-success);background-color:var(--color-success-pale)}.enquiry-status-accepted{border-left:4px solid var(--color-success)}.enquiry-status-rejected{border-left:4px solid var(--color-danger)}.enquiry-status-pending{border-left:4px solid var(--color-warning)}.enquiry-status-draft{border-left:4px solid var(--color-gray-500)}#customer-postcode{text-transform:uppercase}#customer-postcode:invalid{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef44441a}.product-selector-modal .modal-content{width:95%;max-width:1400px;height:90vh;max-height:800px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.product-selector-modal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.product-selector-container{display:flex;height:100%;flex:1;min-height:0;gap:0}.product-list-section{flex:2;background:var(--color-bg-primary);display:flex;flex-direction:column;border-right:3px solid var(--color-gray-200);min-width:0;min-height:0;overflow:hidden}.product-categories,.product-list-header{border-bottom:2px solid var(--color-border);flex-shrink:0}.product-list-header{padding:20px 24px;background:var(--color-bg-tertiary)}.product-categories{padding:16px 24px;background:var(--color-bg-secondary);max-height:200px;overflow-y:auto}.product-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;background:var(--color-bg-secondary);min-height:0}.selected-products-summary{flex:1;background:var(--color-bg-secondary);display:flex;flex-direction:column;min-width:350px;border-left:1px solid var(--color-gray-200);min-height:0;overflow:hidden}.selected-products-header{padding:20px 24px;background:var(--color-success-pale);border-bottom:2px solid var(--color-success-light);flex-shrink:0}.selected-products-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;background:var(--color-bg-secondary);min-height:0}.product-selector-actions{padding:20px 24px;border-top:2px solid var(--color-gray-200);background:var(--color-bg-primary);display:flex;gap:var(--space-md);flex-shrink:0}.product-categories::-webkit-scrollbar,.product-list::-webkit-scrollbar,.selected-products-list::-webkit-scrollbar{width:8px}.product-categories::-webkit-scrollbar-track,.product-list::-webkit-scrollbar-track,.selected-products-list::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-xs)}.product-categories::-webkit-scrollbar-thumb,.product-list::-webkit-scrollbar-thumb,.selected-products-list::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:var(--radius-xs)}.product-categories::-webkit-scrollbar-thumb:hover,.product-list::-webkit-scrollbar-thumb:hover,.selected-products-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.product-categories,.product-list,.selected-products-list{scroll-behavior:smooth}.product-item:last-child{margin-bottom:var(--space-xl)}.product-item[draggable=true]{cursor:grab}.product-item[draggable=true]:active{cursor:grabbing}.product-item.dragging{opacity:.5;transform:scale(1.02);box-shadow:var(--shadow-lg)}.product-drag-handle:hover{color:var(--color-accent)}.product-list:after,.product-list:before,.selected-products-list:after,.selected-products-list:before{content:"";position:sticky;height:1px;background:linear-gradient(to right,transparent,rgba(0,0,0,.1),transparent);z-index:1}.product-list:before,.selected-products-list:before{top:0;margin-bottom:-1px}.product-list:after,.selected-products-list:after{bottom:0;margin-top:-1px}.product-list,.selected-products-list{-webkit-overflow-scrolling:touch}.reports-summary{margin-bottom:var(--space-3xl)}.summary-card{min-width:120px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.summary-card h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-500);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:2.5rem;font-weight:700;color:var(--color-gray-800);margin:0 0 8px;line-height:1}.reports-container{display:flex;flex-direction:column;gap:var(--space-3xl)}.reports-panel{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200)}.reports-panel.hidden{display:none}.data-table th{background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);padding:12px 16px;text-align:left;white-space:nowrap}.panel-header{flex-shrink:0;background:var(--view-header-bg);border-bottom:1px solid var(--view-header-border);display:flex;align-items:center;padding:6px;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.panel-actions .search-container{display:flex;align-items:center;gap:var(--space-xs)}.panel-actions .search-input{width:200px}.panel-actions .select-filter{background:var(--input-bg);min-width:140px}.status-filter-multiselect{position:relative;display:inline-block}.status-filter-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:auto;min-width:140px;height:var(--input-height);padding:var(--input-padding-y) var(--input-padding-x);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);color:var(--input-text);font-family:inherit;font-size:var(--input-font-size);font-weight:var(--input-font-weight);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.status-filter-toggle:hover{border-color:var(--input-border-hover)}.status-filter-caret{font-size:var(--font-size-2xs);opacity:.7}.status-filter-panel{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:200px;max-height:320px;overflow-y:auto;padding:6px;background:var(--input-bg, var(--color-bg-secondary));border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.status-filter-panel.open{display:block}.status-filter-options{display:flex;flex-direction:column;gap:2px}.status-filter-option{display:flex;align-items:center;gap:var(--space-sm);padding:6px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-smd);white-space:nowrap}.status-filter-option:hover{background:var(--color-gray-100, rgba(0, 0, 0, .05))}.status-filter-option input{cursor:pointer;margin:0}.status-filter-empty{padding:8px;opacity:.7}.status-filter-clear{display:block;width:100%;margin-top:6px;padding:6px 8px;font-size:var(--font-size-sm);cursor:pointer;background:transparent;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);color:inherit}.status-filter-clear:hover{background:var(--color-gray-100, rgba(0, 0, 0, .05))}.panel-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.data-table{border-spacing:0;margin-bottom:var(--space-lg);transition:none;transform:none;box-shadow:none;position:relative;overflow-y:auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;table-layout:auto;width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.data-table td{transition:background-color var(--transition-fast);white-space:normal;overflow:hidden;font-size:var(--font-size-smd);padding:12px 16px;border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-800)}.data-table .no-data{text-align:center;padding:40px}.category-badge{display:inline-block;text-transform:uppercase;letter-spacing:.05em}.category-badge.category-windows{background:var(--color-info-light);color:var(--color-accent-hover)}.category-badge.category-doors{background:#fce7f3;color:#be185d}.category-badge.category-frames{background:var(--color-warning-light);color:var(--color-warning-dark)}.category-badge.category-glass{background:var(--color-success-light);color:var(--color-success-dark)}.category-badge.category-hardware{background:var(--color-info-light);color:#5b21b6}.category-badge.category-panels{background:var(--color-warning-light);color:#ea580c}.category-badge.category-sashes{background:var(--color-gray-100);color:var(--color-gray-700)}.category-badge.category-other{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.performance.ontime{color:var(--color-success-dark);font-weight:600}.performance.over{color:var(--color-danger-dark);font-weight:600}.performance.under,.revision-only label{color:var(--color-warning-dark);font-weight:600}.growth.positive{color:var(--color-success-dark);font-weight:600}.growth.negative{color:var(--color-danger-dark);font-weight:600}.growth.neutral{color:var(--color-gray-500)}.employee-tag{background:var(--color-gray-200);color:var(--color-gray-700);padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:500}.status-badge.status-active{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.status-completed{background:var(--color-info-light);color:var(--color-accent-hover)}.status-badge.status-pending{background:var(--color-warning-light);color:var(--color-warning-dark)}.time-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-bottom:var(--space-3xl)}.time-summary-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);overflow:hidden}.time-summary-card .card-header{background:var(--color-gray-50);padding:16px;border-bottom:1px solid var(--color-gray-200)}.employee-header h4,.time-summary-card .card-header h4{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800)}.time-summary-card .card-content{padding:16px}.stat-row{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--font-size-md);align-items:center}.stat-row:last-child{margin-bottom:0}.stat-label,.stat-value{display:block;font-size:var(--font-size-md)}.employee-breakdown{margin-top:var(--space-3xl)}.employee-breakdown h3{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-800);margin:0 0 20px}.employee-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl)}.employee-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);padding:20px;transition:transform .2s,box-shadow .2s}.employee-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.efficiency-badge.efficiency-high{background:var(--color-success-light);color:var(--color-success-dark)}.efficiency-badge.efficiency-medium{background:var(--color-warning-light);color:var(--color-warning-dark)}.efficiency-badge.efficiency-low{background:var(--color-danger-light);color:var(--color-danger-dark)}.stat-item:last-child{margin-bottom:0}.estatus-native-hidden{display:none!important}.estatus-dd{position:relative;width:100%}.estatus-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--input-padding-y) var(--input-padding-x);height:var(--input-height);background:var(--color-bg-primary, var(--color-bg-secondary));border:1px solid var(--color-slate-300);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer;text-align:left}.estatus-trigger:hover{border-color:var(--color-slate-400, var(--color-slate-300))}.estatus-trigger:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-info-pale)}.estatus-current{display:flex;align-items:center;min-width:0;color:var(--color-slate-500)}.estatus-caret{color:var(--color-slate-500);font-size:var(--font-size-sm);flex:none}.estatus-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--color-bg-primary, var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .18));padding:4px;max-height:280px;overflow-y:auto}.estatus-menu.hidden{display:none}.estatus-option{display:flex;align-items:stretch;width:100%;text-align:left;padding:0;border:none;background:none;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer}.estatus-option:hover{background:var(--color-bg-tertiary)}.estatus-bar{width:5px;flex:none;border-radius:0}.estatus-bar-text{padding:8px 12px;font-size:var(--font-size-smd);color:var(--color-text-primary)}#new-revision-modal{z-index:10050}.new-revision-intro{margin:0 0 12px;font-size:var(--font-size-smd);color:var(--color-slate-500)}.new-revision-options{display:flex;flex-direction:column;gap:6px}.new-revision-option{display:block;width:100%;text-align:left;padding:12px;border:1px solid var(--color-border);background:var(--color-bg-primary, var(--color-bg-secondary));border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease}.new-revision-option:hover{background:var(--color-info-pale);border-color:var(--color-accent)}.lead-source-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-gray-100)}.lead-source-item:last-child{border-bottom:none}.lead-source-item:hover{background:var(--color-gray-50)}.lead-source-item .lead-source-name{font-weight:500;color:var(--color-gray-800)}.lead-source-item .btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);cursor:pointer;color:var(--color-gray-500);transition:all .15s ease}.lead-source-item .btn-icon:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.lead-source-item .btn-icon.delete:hover{background:var(--color-danger-pale);border-color:var(--color-danger-tint);color:var(--color-danger-text)}.enquiries-modal-layout{overflow-y:auto;padding:20px 16px 20px 0;display:block;height:100%;overflow:hidden}@media screen and (min-width:768px)and (max-width:1366px){#enquiries-modal .enquiries-modal-layout.full-screen-layout{display:block!important;grid-template-columns:none!important}}.enquiries-main-content{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);overflow:hidden;padding-right:8px;padding-left:16px;height:100%}#enquiry-customer-info{order:1}#enquiry-details-column{order:2}#enquiry-quote-column{order:3}.enquiries-main-content .enquiry-column,.enquiries-main-content .enquiry-section{overflow-y:auto;max-height:100%;padding-right:8px}.revisions-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.revision-info{margin-bottom:var(--space-lg);padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.revision-info:empty{display:none}.enquiry-revisions-list{flex:1;overflow-y:auto;background:transparent}.revision-item:last-child{border-bottom:none}.revision-item:hover{background:var(--color-bg-primary)}.revision-item.active.selected{background:var(--color-success-pale);border-left:3px solid var(--color-success-dark);border-color:var(--color-success);background-color:var(--color-success-light)}.revision-changes{display:flex;justify-content:space-between;align-items:center}.change-item{padding:6px 0;border-bottom:1px solid var(--color-bg-tertiary)}.change-item:last-child{border-bottom:none}.revision-only{border:2px dashed var(--color-warning-bright);background:var(--color-warning-pale);border-radius:var(--radius-sm);padding:12px}.currency-input{width:100%;display:flex;align-items:center;flex:1;min-width:120px;position:relative}.currency-symbol{left:0;top:0;width:35px;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-md)0 0 var(--radius-md);pointer-events:none;transition:all var(--transition-fast);position:absolute;color:var(--color-gray-500);font-weight:500;z-index:1}.revision-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:16px;margin-bottom:var(--space-md);background:var(--color-bg-secondary);transition:all .2s ease;position:relative;cursor:pointer}.revision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.revision-version{display:flex;align-items:center;gap:var(--space-sm)}.revision-date{font-size:var(--font-size-sm);color:var(--color-gray-500)}.revision-content{margin-bottom:var(--space-md)}.revision-description{line-height:1.4;font-size:var(--font-size-md);color:var(--color-gray-700);margin-bottom:var(--space-sm)}.change-summary{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xs)}.change-value{font-size:var(--font-size-smd);font-weight:600;color:var(--color-success-dark)}.change-status{background:var(--color-gray-100);padding:2px 6px}.revision-actions .btn:hover:not(:disabled){background:var(--color-gray-50);transform:translateY(-1px)}.revision-actions .btn:disabled{opacity:.5;cursor:not-allowed}.revision-actions .btn-danger:disabled{background:var(--color-gray-100);color:var(--color-gray-400);border-color:var(--color-gray-300)}.enquiry-revisions-panel{display:flex;flex-direction:column;background:var(--color-bg-primary);border:1px solid var(--color-border);overflow-y:auto;padding:20px;max-height:100%;border-top:1px solid var(--color-gray-200)}.revisions-header{padding-bottom:12px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.revisions-header h4{margin:0;font-size:var(--font-size-lg)}.revision-summary{font-size:var(--font-size-md);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:12px;margin-bottom:var(--space-lg)}.revision-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:0 0;border-radius:2px;transition:background-color .2s ease}.revision-item.selected:before{background:var(--color-accent)}.revision-item.active:before{background:var(--color-success)}.revision-item.active.selected:before{background:linear-gradient(to bottom,var(--color-accent),var(--color-success))}.revision-actions{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;margin-top:var(--space-md);padding-top:8px;border-top:1px solid var(--color-gray-100)}.revision-item.loading{opacity:.6;pointer-events:none}.revision-item.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--color-gray-100);border-top:2px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.enquiry-status-item:hover{box-shadow:var(--shadow-md)}#new-quote-status-input,#new-quote-status-label{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-border)}#enquiries-view .table-container{width:100%;overflow-x:auto;margin:0;padding:0}#enquiries-table{width:100%!important;table-layout:fixed;border-collapse:collapse;min-width:1200px}#enquiries-table td,#enquiries-table th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--color-gray-200);vertical-align:middle;word-wrap:break-word;overflow-wrap:break-word}#enquiries-table tbody td{font-size:var(--font-size-smd);color:#000}#enquiries-table tbody td:nth-child(1){font-weight:600}#enquiries-table td:nth-child(1),#enquiries-table th:nth-child(1){width:11%;min-width:110px}#enquiries-table td:nth-child(2),#enquiries-table th:nth-child(2){width:16%;min-width:150px}#enquiries-table td:nth-child(3),#enquiries-table th:nth-child(3){width:8%;min-width:85px;text-align:center}#enquiries-table td:nth-child(4),#enquiries-table th:nth-child(4){width:9%;min-width:90px;white-space:nowrap}#enquiries-table td:nth-child(5),#enquiries-table th:nth-child(5){width:6%;min-width:70px;text-align:center}#enquiries-table td:nth-child(6),#enquiries-table th:nth-child(6){width:11%;min-width:100px;white-space:nowrap}#enquiries-table td:nth-child(7),#enquiries-table th:nth-child(7){width:10%;min-width:90px;white-space:nowrap}#enquiries-table td:nth-child(8),#enquiries-table th:nth-child(8){width:5%;min-width:55px;text-align:center}#enquiries-table td:nth-child(9),#enquiries-table th:nth-child(9){width:7%;min-width:75px;text-align:right;white-space:nowrap}#enquiries-table td:nth-child(10),#enquiries-table th:nth-child(10){width:8%;min-width:85px;white-space:nowrap}#enquiries-table td:nth-child(11),#enquiries-table th:nth-child(11){width:9%;min-width:85px;white-space:nowrap}#enquiries-table thead th{background:var(--color-gray-50);font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:1px solid var(--color-gray-200);padding:12px 8px;text-align:left;white-space:nowrap;position:sticky;top:0;z-index:10}#enquiries-table tbody tr:hover{background-color:var(--background-hover, var(--color-gray-100))}#enquiries-table th[data-sort] .sort-indicator{margin-left:4px;font-size:var(--font-size-sm);color:var(--text-secondary, var(--color-gray-500))}#enquiries-table th[data-sort].sorted .sort-indicator{color:var(--primary-color, var(--color-accent));font-weight:700}#enquiries-table .status-badge{display:inline-block;text-align:center;min-width:60px}#enquiries-table td.priority{text-align:center}#enquiries-table td.enquiry-value{text-align:right;font-weight:500}#enquiries-table td.created-date,#enquiries-table td.sent-date,#enquiries-table td.survey-date,#enquiries-table td.accepted-date{font-size:var(--font-size-smd);color:#000}#enquiries-table .customer-name{line-height:1.4}#enquiries-table .customer-name div:first-child{font-weight:500;color:#000}#enquiries-table .customer-name div:last-child{font-size:var(--font-size-sm);color:#000;margin-top:2px}.revision-placeholder{padding:20px;background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-tertiary) 100%);border:2px dashed var(--color-slate-300);border-radius:var(--radius-lg);text-align:center;margin:10px 0;animation:fadeInSlide .3s ease-out}.revision-placeholder .placeholder-content{max-width:100%}.revision-placeholder-content{display:flex;align-items:center;gap:var(--space-lg);padding:16px;background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.revision-placeholder-content .placeholder-text h4{margin:0 0 8px;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600}.revision-placeholder-content .placeholder-text p{margin:0;color:var(--color-slate-500);font-size:var(--font-size-md)}.placeholder-steps{display:grid;grid-template-columns:1fr;gap:var(--space-lg);margin:20px 0}.placeholder-step{display:flex;align-items:flex-start;gap:var(--space-md);padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all .2s ease}.placeholder-step:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.step-number{flex-shrink:0;width:32px;height:32px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-md)}.step-text{font-size:var(--font-size-smd);color:var(--color-text-primary);flex:1}.step-text strong{display:block;color:var(--color-text-primary);font-size:var(--font-size-md);margin-bottom:var(--space-xs)}.step-text p{margin:0;color:var(--color-slate-500);font-size:var(--font-size-smd);line-height:1.4}.placeholder-features{margin:20px 0;padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:left}.placeholder-features h5{color:var(--color-text-primary);font-weight:600;margin:0 0 12px;font-size:var(--font-size-md)}.placeholder-features ul{margin:0;padding:0;list-style:none}.placeholder-features li{padding:4px 0;color:var(--color-slate-500);font-size:var(--font-size-smd);display:flex;align-items:center;gap:var(--space-sm)}.placeholder-tip strong{color:var(--color-warning-darker)}.placeholder-tip{margin-top:var(--space-xl);padding:12px 16px;background:linear-gradient(135deg,var(--color-warning-light),var(--color-warning-light));border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning-darker);font-size:var(--font-size-smd);line-height:1.4;animation:subtlePulse 2s ease-in-out infinite}#enquiries-table .qrb-pill{display:inline-block;white-space:nowrap}#enquiries-table .qrb-soon{background:var(--color-warning-light);color:var(--color-amber-700)}#enquiries-table .qrb-urgent{background:var(--color-danger-light);color:var(--color-danger-text)}#enquiries-table tr.quote-row.is-locked{background-color:var(--color-gray-100)!important}#enquiries-table tr.quote-row.is-locked>td{color:var(--color-text-muted)}#enquiries-table tr.quote-row.is-locked .status-badge{filter:grayscale(1);opacity:.6}.enquiry-lock-tag{display:inline-block;margin-left:var(--space-xs);color:var(--color-text-primary);background:var(--color-gray-200);white-space:nowrap}.enquiry-lock-banner{margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-warning);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-warning-pale);color:var(--color-warning-darker);font-size:var(--font-size-md);font-weight:500}.enquiry-lock-banner[hidden]{display:none}#enquiries-modal :is(input,select,textarea):disabled{background-color:var(--color-gray-100);cursor:not-allowed}.phone-book-hint{margin:0 0 12px;font-size:var(--font-size-smd);color:var(--color-gray-500)}.phone-book-count{font-size:var(--font-size-sm);color:var(--color-gray-500);align-self:center;white-space:nowrap}.phone-book-list{display:flex;flex-direction:column;gap:var(--space-sm)}.phone-book-empty{padding:20px;text-align:center}.pb-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(240px,2fr) auto;gap:var(--space-md);align-items:center;padding:10px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface, var(--color-bg-secondary))}.pb-name{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pb-company{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px}.pb-badge{text-transform:uppercase;letter-spacing:.02em}.pb-badge--enquiry{background:#004a601f;color:var(--color-accent)}.pb-badge--contact{background:#7c3aed1f;color:#6d28d9}.pb-phones{display:flex;flex-direction:column;gap:6px;min-width:0}.pb-phone{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.pb-phone-label{font-size:var(--font-size-2xs);font-weight:700;color:var(--color-gray-500);min-width:46px;text-transform:uppercase}.pb-phone-number{font-variant-numeric:tabular-nums;font-weight:600;min-width:120px}.pb-btn{border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;white-space:nowrap}.pb-btn:hover{border-color:var(--color-accent)}.pb-btn--call{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pb-btn--call:hover{filter:brightness(1.08)}.pb-btn--copy{padding:4px 8px}.pb-actions{display:flex;justify-content:flex-end}.pb-btn--test{padding:4px 8px}.pb-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pb-log-toggle{margin-top:6px;border:0;background:none;padding:0;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.pb-log-toggle:hover{text-decoration:underline}.pb-log{grid-column:1 / -1;margin-top:var(--space-sm);border-top:1px dashed var(--color-gray-200);padding-top:8px}.pb-log-count{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:6px}.pb-log-empty,.pb-log-loading{font-size:var(--font-size-sm);color:var(--color-gray-500);padding:4px 0}.pb-log-items{display:flex;flex-direction:column;gap:var(--space-sm)}.pb-log-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-gray-50)}.pb-log-item-head{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.pb-log-dir{font-weight:700;font-size:var(--font-size-sm)}.pb-log-when{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-gray-500);font-variant-numeric:tabular-nums}.pb-log-meta{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:3px}.pb-tag{font-size:var(--font-size-2xs);font-weight:700;padding:1px 4px;border-radius:var(--radius-full);text-transform:uppercase}.pb-tag--verified{background:#15803d24;color:var(--color-green-700)}.pb-tag--test{background:#b4530924;color:var(--color-amber-700)}.pb-fus{margin-top:6px;display:flex;flex-direction:column;gap:3px}.pb-fu{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.pb-fu.is-done span{text-decoration:line-through;color:var(--color-gray-500)}.pb-log-add{display:flex;gap:6px;margin-top:var(--space-sm)}.pb-log-add input{flex:1;padding:4px 8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.pb-fu-add{margin-top:6px}.icall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:#0f172a59}.icall-card{width:min(420px,92vw);background:var(--color-surface, var(--color-bg-secondary));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:icall-in .16s ease-out}@keyframes icall-in{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}.icall-testbadge{background:var(--color-amber-700);color:#fff;font-size:var(--font-size-xs);font-weight:800;letter-spacing:.04em;text-align:center;padding:4px}.icall-top{display:flex;align-items:center;gap:var(--space-md);padding:16px;border-bottom:1px solid var(--color-gray-100)}.icall-ring{font-size:28px;animation:icall-ring 1s ease-in-out infinite}@keyframes icall-ring{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}}.icall-title{font-size:var(--font-size-sm);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em}.icall-number{font-size:var(--font-size-2xl);font-weight:700;font-variant-numeric:tabular-nums}.icall-x{margin-left:auto;border:0;background:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-gray-500)}.icall-body{padding:16px}.icall-name{font-size:var(--font-size-xl);font-weight:700;display:flex;align-items:center;gap:var(--space-sm)}.icall-company{color:var(--color-gray-500);margin-top:2px}.icall-src{font-size:var(--font-size-2xs);font-weight:700;padding:1px 6px;border-radius:var(--radius-full);text-transform:uppercase}.icall-src--enquiry{background:#004a601f;color:var(--color-accent)}.icall-src--contact{background:#7c3aed1f;color:#6d28d9}.icall-unknown,.icall-multi-label,.icall-loading{color:var(--color-gray-600);margin-bottom:var(--space-md)}.icall-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:14px}.icall-btn{border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:8px 12px;font-size:var(--font-size-smd);font-weight:600;cursor:pointer}.icall-btn:hover{border-color:var(--color-accent)}.icall-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.icall-choices{display:flex;flex-direction:column;gap:6px}.icall-choice{display:flex;align-items:center;gap:var(--space-sm);text-align:left;border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:8px 10px;cursor:pointer;font-size:var(--font-size-md)}.icall-choice:hover{border-color:var(--color-accent)}.icall-note-slot{margin-top:10px;display:flex;flex-direction:column;gap:var(--space-sm)}.icall-note-input{width:100%;padding:8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font:inherit;resize:vertical}.wx-card{width:min(560px,94vw);max-height:88vh;overflow:auto}.wx-status{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:2px}.wx-body{padding:16px}.wx-steps{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:14px;font-size:var(--font-size-md)}.wx-steps code.wx-code{display:inline-block;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);padding:1px 4px;font-size:var(--font-size-sm);word-break:break-all}.wx-fields{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-sm)}.wx-fields .form-control{padding:8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.wx-row{display:flex;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.wx-report{margin-top:10px;font-size:var(--font-size-smd)}.wx-report-line{padding:2px 0}.wx-good{color:var(--color-green-700)}.wx-bad{color:var(--color-danger-text)}.wx-notes{margin-top:var(--space-sm);color:var(--color-gray-500);font-size:var(--font-size-sm)}@media(max-width:768px){.pb-row{grid-template-columns:1fr;gap:var(--space-sm)}.pb-actions{justify-content:flex-start}}#reports-view{max-width:100%;overflow-x:auto;overflow-y:auto!important}#reports-view .reports-container{flex:1;overflow:auto;min-height:0}.efficiency-comparison{background:var(--color-gray-50);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md)}.efficiency-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-gray-200)}.efficiency-row:last-child{border-bottom:none}.employee-card.enhanced{display:flex;flex-direction:column}.employee-card.enhanced .employee-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);gap:var(--space-sm)}.employee-card.enhanced .employee-header h4{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800);flex:1;min-width:0}.employee-card.enhanced .employee-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.employee-card.enhanced .efficiency-badges{display:flex;align-items:center;gap:6px}.employee-stats-row{display:flex;gap:var(--space-xxl);margin-bottom:var(--space-md);padding-bottom:12px;border-bottom:1px solid var(--color-gray-200)}.employee-stats-row .stat-item{display:flex;flex-direction:column;align-items:center;margin-bottom:0}.employee-stats-row .stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-800)}.employee-stats-row .stat-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase}.employee-card.enhanced .metrics-section{flex:1}.dept-breakdown-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.dept-breakdown-table th{padding:6px 8px;background:var(--color-gray-50);font-weight:600;color:var(--color-gray-500);text-align:left;border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-xs)}.dept-breakdown-table td{padding:6px 8px;border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.dept-breakdown-table .text-right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--font-size-sm)}.dept-breakdown-table tr.primary-dept{background:var(--color-info-pale);font-weight:500}.dept-breakdown-table tr.primary-dept td:first-child{color:var(--color-accent-hover)}.dept-breakdown-table td.efficiency-high{color:var(--color-success-mid);font-weight:600}.dept-breakdown-table td.efficiency-medium{color:var(--color-warning-dark);font-weight:600}.dept-breakdown-table td.efficiency-low{color:var(--color-danger-dark);font-weight:600}.dept-badge{display:inline-block;background:var(--color-info-light);color:var(--color-accent-hover)}.capacity-overview{margin-bottom:30px}.capacity-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl);margin:5px}.capacity-card{background:var(--color-bg-secondary);padding:4px;text-align:center}.capacity-card h4{margin:0 0 10px;font-size:var(--font-size-md);color:var(--color-gray-500)}.capacity-value{font-size:32px;font-weight:700;color:var(--color-gray-800)}.capacity-label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.department-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-bottom:30px}.department-capacity-card{background:var(--color-bg-secondary);padding:20px;border:2px solid var(--color-gray-200);transition:transform .2s}.department-capacity-card.sufficient{border-color:var(--color-success)}.department-capacity-card.insufficient{border-color:var(--color-danger);background:var(--color-danger-pale)}.dept-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.dept-icon{font-size:var(--font-size-3xl)}.dept-stats{margin-bottom:15px}.utilization-bar{height:8px;background:var(--color-gray-200);border-radius:var(--radius-xs);overflow:hidden;margin-bottom:10px}.utilization-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-success-dark));transition:width .3s}.dept-status{font-size:var(--font-size-sm);font-weight:500;text-align:center;padding:8px;border-radius:var(--radius-sm);background:var(--color-gray-50)}.selection-count{margin-left:auto;font-size:var(--font-size-md);color:var(--color-gray-500)}.checkbox-column{width:40px;text-align:center}.capacity-analysis-section{margin-top:30px}.analysis-results{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-md)}.critical-departments,.recommendations{margin-bottom:var(--space-xl);padding-left:28px}.critical-departments{padding:16px 16px 16px 28px;background:var(--color-danger-pale);border:1px solid var(--color-danger-tint);border-radius:var(--radius-md)}.department-config-section,.selection-controls-capacity{margin-bottom:25px;padding:16px;background:var(--color-gray-50);border-radius:var(--radius-md)}.department-config-section h4{margin:0 0 15px;color:var(--color-gray-800)}.selection-controls-capacity{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl)}.selection-controls-capacity .search-container{flex:0 1 300px}.selection-controls-capacity .selection-buttons{display:flex;gap:10px}.selection-controls-capacity .selection-count{font-size:var(--font-size-md);color:var(--color-gray-500);font-weight:500;padding:8px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.capacity-job-row{transition:background-color .2s}.capacity-job-row:hover{background-color:var(--color-gray-100)}.jobs-selection-section{margin-top:30px}.jobs-selection-section h3{text-align:center;margin-bottom:var(--space-xl)}#capacity-jobs-table{width:100%;table-layout:auto;min-width:900px}#capacity-jobs-table td,#capacity-jobs-table th{padding:8px 12px}#capacity-jobs-table td:nth-child(1),#capacity-jobs-table th:nth-child(1){text-align:center}#capacity-jobs-table td:nth-child(2),#capacity-jobs-table th:nth-child(2){text-align:left}#capacity-jobs-table td:nth-child(3),#capacity-jobs-table th:nth-child(3){width:auto;text-align:left}#capacity-jobs-table td:nth-child(4),#capacity-jobs-table th:nth-child(4){text-align:center}#capacity-jobs-table td:nth-child(5),#capacity-jobs-table td:nth-child(6),#capacity-jobs-table td:nth-child(7),#capacity-jobs-table th:nth-child(5),#capacity-jobs-table th:nth-child(6),#capacity-jobs-table th:nth-child(7){text-align:right}#capacity-jobs-table td:nth-child(8),#capacity-jobs-table th:nth-child(8){width:160px;text-align:left}.completion-summary{margin-bottom:var(--space-xl)}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:10px}.mini-table{width:100%;font-size:var(--font-size-smd);margin-top:10px}.mini-table th{background:var(--color-gray-100);padding:8px;text-align:left;font-weight:600}.mini-table td{padding:8px;border-bottom:1px solid var(--color-gray-200)}.jobs-list{margin:20px 0;padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.jobs-list h5{margin:0 0 10px;font-size:var(--font-size-md)}.capacity-job-row.selected{background-color:var(--color-info-light)!important}.hidden-employees-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;opacity:0;transition:opacity .2s ease}.hidden-employees-modal-container{background:var(--color-bg-secondary);border-radius:var(--radius-xl);max-width:500px;max-height:80vh;width:90%;position:relative;transform:scale(.95);transition:transform .2s ease;overflow:hidden}.hidden-employees-modal-overlay.show .hidden-employees-modal-container{transform:scale(1)}.hidden-employees-modal{padding:24px}.hidden-employees-modal h3{margin:0 0 4px;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-800)}.hidden-employees-modal .modal-subtitle{margin:0 0 20px;font-size:var(--font-size-md);color:var(--color-gray-500)}.hidden-employees-list{max-height:300px;overflow-y:auto;margin-bottom:var(--space-xl)}.hidden-employee-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:all .2s ease}.hidden-employee-item:hover{background:var(--color-success-pale);border-color:var(--color-success-light)}.hidden-employee-item span{font-size:var(--font-size-md);color:var(--color-gray-700);font-weight:500}.hidden-employee-item .restore-btn{padding:4px 10px;background:var(--color-success-tint);border:none;border-radius:var(--radius-sm);color:var(--color-success-mid);font-size:var(--font-size-md);cursor:pointer;transition:all .2s ease}.hidden-employee-item:hover .restore-btn{background:var(--color-green-200)}.hidden-employees-modal .modal-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--color-gray-200)}.hidden-employees-modal .restore-all-btn{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease}.hidden-employees-modal .restore-all-btn:hover{background:var(--color-accent-hover)}.date-input-group select:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.date-range-container{position:relative;display:inline-block}.date-range-controls{position:absolute;top:100%;right:0;z-index:1000;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:16px;margin-top:var(--space-xs);min-width:420px;max-width:500px}.date-range-controls:before{content:"";position:absolute;top:-6px;right:16px;width:12px;height:12px;background:var(--color-bg-secondary);border-left:1px solid var(--color-neutral-300);border-top:1px solid var(--color-neutral-300);transform:rotate(45deg)}.date-range-inputs{display:flex;flex-direction:column;gap:var(--space-md)}.date-input-group{display:flex;align-items:center;gap:var(--space-sm)}.date-input-group label{font-weight:500;min-width:35px;font-size:var(--font-size-md);color:var(--color-gray-700)}.date-input-group select{flex:1;padding:6px 8px;border:1px solid var(--color-gray-300);font-size:var(--font-size-md);min-width:100px}.date-range-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-sm);padding-top:12px;border-top:1px solid var(--color-gray-200)}.date-range-container .action-button.active:hover{background-color:#047857}.employee-modal.enhanced-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:2000;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);padding:20px}.employee-modal.enhanced-modal.show{opacity:1}.enhanced-modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);width:95vw;max-width:1400px;height:90vh;max-height:900px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff0d;overflow:hidden;display:flex;flex-direction:column;transform:scale(.95) translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.employee-modal.enhanced-modal.show .enhanced-modal-content{transform:scale(1) translateY(0)}.enhanced-header{background:var(--gradient-special);color:#fff;padding:24px 32px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:none;position:relative;overflow:hidden}.enhanced-header:before{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;content:"";background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%)}.header-content{display:flex;justify-content:flex-end;align-items:center;margin-bottom:0;flex-shrink:0;gap:var(--space-lg);flex:1;z-index:1}.modal-title{font-weight:700;margin:0 0 12px;line-height:1.2}.job-badges{display:flex;gap:var(--space-sm);flex-wrap:wrap}.enhanced-close{background:#fff3;border:0;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:1}.enhanced-close:hover{background:#ffffff4d;transform:scale(1.1)}.enhanced-close span{font-size:var(--font-size-2xl);font-weight:300}.enhanced-body{flex:1;overflow-y:auto;padding:0;background:var(--color-bg-primary)}.section-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2}.section-subtitle{color:var(--color-slate-500);font-size:var(--font-size-md);margin:4px 0 0;font-weight:500}.overview-section{background:var(--color-bg-secondary);padding:32px;border-bottom:1px solid var(--color-border)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.overview-card{background:var(--color-bg-secondary);display:flex;align-items:center}.overview-card{border:2px solid var(--color-border);padding:20px;gap:var(--space-lg);transition:all .3s ease}.overview-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.card-content{padding:0;flex:1}.card-label{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate-500);margin-bottom:var(--space-xs)}.card-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1.1}.analysis-section{background:var(--color-bg-secondary);padding:32px;border-bottom:1px solid var(--color-border)}.analysis-section.activity-analysis,.analysis-section.time-analysis{width:100%}.time-breakdown-container,.activity-breakdown-container{margin-top:var(--space-xl)}.activity-card{background:var(--color-bg-secondary);border:2px solid var(--color-border);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.activity-card.workshop{border-color:var(--color-purple)}.activity-card.install{border-color:var(--color-success)}.activity-card.finishing{border-color:var(--color-danger)}.activity-card.admin{border-color:var(--color-accent)}.activity-card.other{border-color:var(--color-gray-500)}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl)}.activity-info{display:flex;align-items:center}.activity-info{gap:var(--space-md);flex:1;margin-left:0}.activity-details{flex:1}.activity-name{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin:0 0 4px;line-height:1.2}.activity-category{font-size:var(--font-size-sm);font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.05em}.activity-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);position:relative;z-index:5}.metric-label{display:block;font-size:var(--font-size-2xs);font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.activity-progress{margin:20px 0}.activity-team{border-top:1px solid var(--color-border);padding-top:16px}.team-member{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:12px}.member-name{font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-primary)}.member-progress{display:flex;align-items:center;gap:var(--space-sm)}.activity-summary{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:24px;margin-top:var(--space-xl)}.team-section{background:var(--color-bg-secondary);padding:32px;border-bottom:1px solid var(--color-border)}.team-grid{margin-top:var(--space-xl)}.enhanced-employee-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl)}.employee-card-enhanced{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.employee-card-enhanced:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.employee-header{justify-content:space-between;display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.employee-avatar{width:48px;height:48px;background:var(--color-bg-secondary);border:2px solid rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.employee-name{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin:0 0 4px;line-height:1.2}.employee-role{font-size:var(--font-size-sm);font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.05em}.contribution-label{text-align:center;font-size:var(--font-size-sm);color:var(--color-slate-500)}.enhanced-footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:20px 32px}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-info{flex:1}.info-text{font-size:var(--font-size-smd);color:var(--color-slate-500);font-weight:500}.footer-actions{display:flex;gap:var(--space-md)}.employee-count-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);cursor:pointer;transition:all .2s ease}.employee-count-btn:hover{background:var(--color-gray-200);border-color:var(--color-gray-400);transform:translateY(-1px)}.estimate-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.05em}.efficiency-breakdown{display:flex;flex-direction:column;align-items:center;gap:2px}.performance-breakdown{display:flex;flex-direction:column;gap:2px;align-items:flex-start;border-top:1px solid var(--color-gray-200);padding-top:8px;margin-top:var(--space-xs)}.time-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.05em}.ontime{color:var(--color-success-dark)}.under{color:#0891b2}.over{color:var(--color-danger-dark)}.not-started{color:var(--color-gray-500)}.indicator.ontime{background:var(--color-success-pale);color:var(--color-success-darker);border:1px solid #a7f3d0}.activity-card,.employee-card-enhanced,.overview-card{animation:slideInUp .6s cubic-bezier(.4,0,.2,1) forwards}.activity-card:nth-child(1){animation-delay:.1s}.activity-card:nth-child(2){animation-delay:.2s}.activity-card:nth-child(3){animation-delay:.3s}.activity-card:nth-child(4){animation-delay:.4s}.employee-card-enhanced:nth-child(1){animation-delay:.1s}.employee-card-enhanced:nth-child(2){animation-delay:.2s}.employee-card-enhanced:nth-child(3){animation-delay:.3s}.employee-modal.enhanced-modal:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.btn:focus-visible,.enhanced-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.horizontal-stats{display:flex;flex-direction:column;gap:var(--space-md)}.performance-summary{display:flex;justify-content:center;gap:var(--space-md);align-items:center}.ontime-count,.over-count{font-size:var(--font-size-sm);font-weight:500}.stats-row.compact{flex-wrap:nowrap;gap:var(--space-sm)}.department-time-breakdown{padding:6px;background:var(--color-gray-50);border-radius:var(--radius-xs);border:1px solid var(--color-gray-200);margin-bottom:6px}.department-time-breakdown>div{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--space-xs);width:100%}#reports-view .status-badge{width:auto;min-width:100px}.stock-status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.stock-status.in-stock{background-color:var(--color-success-light);color:var(--color-success-darker);border:1px solid #a7f3d0}.stock-status.low-stock{background-color:var(--color-warning-light);color:var(--color-warning-darker);border:1px solid var(--color-warning-light)}.stock-status.out-of-stock{background-color:var(--color-danger-light);color:var(--color-danger-darker);border:1px solid var(--color-danger-tint)}.stock-status.discontinued{background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);text-decoration:line-through}.inventory-row.low-stock{background-color:var(--color-warning-pale);border-left:3px solid var(--color-warning)}.inventory-row.out-of-stock{background-color:var(--color-danger-pale);border-left:3px solid var(--color-danger)}.inventory-row.discontinued{background-color:var(--color-gray-50);border-left:3px solid var(--color-gray-400);opacity:.7}#inventory-status-filter[value="In Stock"]{background-color:var(--color-success-light);border-color:var(--color-success)}#inventory-status-filter[value="Low Stock"]{background-color:var(--color-warning-light);border-color:var(--color-warning)}#inventory-status-filter[value="Out of Stock"]{background-color:var(--color-danger-light);border-color:var(--color-danger)}#inventory-status-filter[value=Discontinued]{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.empty-state h3{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-700);margin:0 0 12px}.empty-state .action-button{padding:12px 24px;background:var(--color-accent);color:#fff;border:0;font-size:var(--font-size-lg);transition:background-color .2s}.empty-state .action-button:hover{background:var(--color-accent-hover)}.overview-card.primary{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-info-light) 0,var(--color-info-pale) 100%)}.overview-card.secondary{border-color:var(--color-purple);background:linear-gradient(135deg,#ede9fe 0,var(--color-gray-100) 100%)}.overview-card.accent{border-color:var(--color-accent);background:linear-gradient(135deg,#cffafe 0,var(--color-info-pale) 100%)}.overview-card.performance.ontime,.overview-card.performance.under,.overview-card.success{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-success-light) 0,var(--color-success-pale) 100%)}.overview-card.performance.over{border-color:var(--color-warning);background:linear-gradient(135deg,var(--color-warning-light) 0,var(--color-warning-pale) 100%)}.overview-card.performance.no-data,.overview-card.performance.not-started{border-color:var(--color-gray-500);background:linear-gradient(135deg,var(--color-gray-100) 0,var(--color-gray-50) 100%)}.progress-fill.workshop{background:linear-gradient(90deg,var(--color-purple),#a78bfa)}.progress-fill.install{background:linear-gradient(90deg,var(--color-success),#34d399)}.progress-fill.finishing{background:linear-gradient(90deg,var(--color-danger),#f472b6)}.progress-fill.admin{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light))}.progress-fill.other{background:linear-gradient(90deg,var(--color-gray-500),var(--color-gray-400))}.stat-item{margin-bottom:var(--space-sm);justify-content:space-between;padding:12px 16px;background:var(--color-bg-primary);border-radius:var(--radius-md);flex-direction:column;min-width:60px;gap:var(--space-xs)}.employee-card-enhanced.primary{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-info-light) 0,var(--color-info-pale) 100%)}.employee-card-enhanced.secondary{border-color:var(--color-purple);background:linear-gradient(135deg,#ede9fe 0,#f5f3ff)}.employee-card-enhanced.supporting{border-color:var(--color-gray-500);background:linear-gradient(135deg,var(--color-gray-100) 0,var(--color-gray-50) 100%)}.indicator{min-width:24px;text-align:center;font-size:var(--font-size-2xs);font-weight:500;padding:2px 4px;border-radius:var(--radius-xs);white-space:nowrap}.indicator.under{background:#ecfeff;color:var(--color-accent);border:1px solid #a5f3fc}.indicator.over{background:var(--color-danger-pale);color:var(--color-danger-darker);border:1px solid var(--color-danger-tint)}.indicator.no-data{background:var(--color-gray-100);color:var(--color-gray-500);border:1px solid var(--color-gray-300)}.stat-item,.stats-row{display:flex;align-items:center}.stats-row{flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between}.stat-item .stat-label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500;text-align:center}.stat-item .stat-value{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800);text-align:center}.compact .stat-item{flex-direction:row;min-width:auto;gap:var(--space-xs)}.compact .stat-item .stat-label{font-size:var(--font-size-2xs)}.compact .stat-item .stat-value{font-size:var(--font-size-sm)}.stat-card{min-width:80px;background:var(--color-bg-secondary);padding:16px;border:1px solid var(--color-gray-200);text-align:center;display:flex;flex-direction:column;align-items:center}.checkbox-label:hover{border-color:var(--color-accent);background:var(--color-gray-100)}.stat{font-size:var(--font-size-sm);padding:2px 6px;background:var(--color-bg-tertiary);border-radius:var(--radius-xs);color:var(--color-text-secondary)}.revision-item.selected{background:var(--color-info-pale);border-left:3px solid var(--color-accent)}.revision-item.active{background:var(--color-success-pale);border-left:3px solid var(--color-success)}.description-container{display:flex;gap:10px;align-items:flex-start;position:relative}.description-container button{position:absolute;top:8px;right:8px;z-index:2}.revision-item.selected{border-color:var(--color-accent);background-color:var(--color-info-pale);box-shadow:0 0 0 1px var(--color-accent)}.revision-item.active{border-color:var(--color-success);background-color:var(--color-success-pale)}.version-number{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-700)}.active-badge{background:var(--color-success);color:#fff;padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase}.change-status,.revision-actions .btn{font-size:var(--font-size-sm);border-radius:var(--radius-xs);color:var(--color-gray-700)}.changes-summary{font-size:var(--font-size-sm);color:var(--color-gray-500);font-style:italic}.revision-actions .btn{padding:4px 8px;border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-xs)}.toolbar-btn.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.toolbar-btn.danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.toolbar-btn.secondary{background:var(--color-gray-500);color:#fff;border-color:var(--color-gray-500)}.revision-item.success{border-color:var(--color-success);background-color:var(--color-success-pale);animation:successFlash 1s ease-out}.revision-item.error{border-color:var(--color-danger);background-color:var(--color-danger-pale);animation:errorShake .5s ease-out}.save-btn-disabled,button[disabled]{opacity:.6!important;cursor:not-allowed!important}.save-btn-disabled{background-color:var(--color-gray-400)!important}.save-btn-active{opacity:1!important;cursor:pointer!important;background-color:var(--color-accent)!important}#user-base-role,#user-permission-modal .checkbox-label{border-radius:var(--radius-sm);font-size:var(--font-size-md);background-color:var(--color-bg-secondary);cursor:pointer}#user-permission-modal .checkbox-label{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;transition:all .2s ease;border:1px solid var(--color-gray-200)}#user-base-role{width:100%;padding:10px 12px;border:1px solid var(--color-gray-300);transition:border-color .2s ease}.enquiry-status-item{border:1px solid var(--color-border);background:var(--color-bg-secondary)}.enquiry-status-item.dragging{opacity:.5}.status-preview-container{background:var(--color-bg-tertiary);display:flex;flex-wrap:wrap;gap:var(--space-sm);min-height:60px;align-items:center}.settings-tab:hover{background-color:var(--color-gray-200)}.settings-tab.active{background-color:var(--color-bg-secondary);color:var(--color-accent);font-weight:500;border:1px solid var(--color-gray-200);border-bottom:1px solid #fff;margin-bottom:-1px}.order-status-item,.enquiry-status-item,.settings-item,.team-member-item{display:flex;align-items:center;padding:12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);transition:all .2s ease;cursor:move}.settings-item.dragging{opacity:.5;transform:scale(.95)}.status-value{font-style:italic;font-size:var(--font-size-smd);color:var(--color-gray-500);font-weight:400;margin-left:4px}.clear-table-color-btn.hidden{display:none}.order-settings-preview,.status-preview-container{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-top:var(--space-xl)}.status-list-item{background:var(--color-bg-secondary);-webkit-user-select:none;user-select:none;display:flex;align-items:center;padding:10px 12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);margin:4px 0 8px;cursor:pointer;transition:all .2s ease}.status-list-item:hover{border-color:var(--color-gray-300);transform:translate(2px)}.status-list-item.selected{background-color:var(--color-info-pale);border-color:var(--color-accent)}.status-indicators{margin-top:var(--space-lg);padding:12px;background-color:var(--color-bg-primary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.status-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;margin-bottom:var(--space-sm);border-radius:var(--radius-xs);font-size:var(--font-size-md);font-weight:500}.status-indicator:last-child{margin-bottom:0}.status-indicator.low-stock{background-color:var(--color-warning-light);color:var(--color-warning-darker);border:1px solid var(--color-warning-light)}.status-indicator.out-of-stock{background-color:var(--color-danger-light);color:var(--color-danger-darker);border:1px solid var(--color-danger-tint)}.status-indicator.good-stock{background-color:var(--color-success-light);color:var(--color-success-darker);border:1px solid #a7f3d0}.status-indicator.hidden{display:none}#jobs-table th{word-wrap:break-word;word-break:break-word;white-space:normal;vertical-align:top;padding:12px 8px;line-height:1.3;background-color:var(--color-bg-primary);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border);font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis}.data-table tr.pending-sync{background:#ffc1071a;position:relative}#todos-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.job-card.dragging{box-shadow:var(--shadow-xl);z-index:1000}.dept-box.on-time{background:var(--color-success-light);color:var(--color-success-darker);border-color:var(--color-success-light)}.dept-box.over-time{background:var(--color-danger-light);color:var(--color-danger-darker);border-color:#f5c6cb}.dept-box.unallocated{background:#d1ecf1;color:#0c5460;border-color:#bee5eb}.save-btn-active,.save-btn-active:hover{color:#fff!important}#install-scheduler-view{display:flex;flex-direction:column;height:calc(100vh - 60px);position:relative}#install-scheduler-view>.view-header{flex-shrink:0}#scheduler-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}#scheduler-content-wrapper>.view-header{flex-shrink:0;padding:2px 20px 4px}#scheduler-content-wrapper .scheduler-container{height:calc(100vh - 135px);overflow:hidden}.header-title-with-switcher{display:flex;align-items:center;gap:var(--space-xl)}.view-mode-btn{padding:8px 20px;border:none;background:transparent;color:var(--color-gray-500);font-size:var(--font-size-md);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.view-mode-btn:hover{background:#3b82f61a;color:var(--color-accent)}.view-mode-btn.active{background:var(--color-bg-secondary);color:var(--color-accent);box-shadow:var(--shadow-sm)}#install-scheduler-view .view-header{box-shadow:var(--shadow-sm)}#install-scheduler-view .action-button.is-snag{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}#install-scheduler-view .action-button.is-snag:hover{background:var(--color-danger-dark);border-color:var(--color-danger-dark);color:#fff}#install-scheduler-view .van-header-placeholder{width:120px;min-width:120px;max-width:120px;flex-shrink:0;box-sizing:border-box;background:var(--color-gray-100);border-right:2px solid var(--color-gray-400);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-md);color:var(--color-gray-500)}#install-scheduler-view .view-controls{display:flex;align-items:center;gap:6px;flex-grow:1;min-width:0}#install-scheduler-view .calendar-navigation{display:flex;align-items:center;gap:var(--space-md)}#install-scheduler-view .nav-button{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--btn-radius);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-lg);color:var(--btn-secondary-text);transition:var(--btn-transition)}#install-scheduler-view .nav-button:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover);color:var(--btn-primary-text);transform:translateY(-1px)}#install-scheduler-view .current-week{font-weight:600;color:var(--color-text-primary);margin:0;min-width:250px;text-align:center}#install-scheduler-view .scheduler-controls{display:flex;align-items:center;gap:var(--space-md);flex-grow:1;min-width:0}#install-scheduler-view .scheduler-controls>#scheduler-refresh{margin-left:auto}#install-scheduler-view .scheduler-filters{display:flex;gap:var(--space-sm)}#install-scheduler-view .select-filter{border:1px solid var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-text);min-width:130px;cursor:pointer;transition:var(--btn-transition)}#install-scheduler-view .select-filter:hover{border-color:var(--color-accent);background-color:var(--btn-secondary-bg-hover)}#install-scheduler-view .scheduler-sidebar{width:320px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;overflow-y:auto}#install-scheduler-view .mini-calendar-section{border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);flex-shrink:0}#install-scheduler-view .mini-calendar-scrollable{overflow:hidden;max-height:600px;padding:0}#install-scheduler-view .mini-calendar-month-container{border-bottom:1px solid var(--color-border);min-height:200px}#install-scheduler-view .mini-calendar-month-container:last-child{border-bottom:none}#install-scheduler-view .mini-calendar-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}#install-scheduler-view .unscheduled-header h3{margin:0 0 12px;font-weight:600;color:var(--color-text-primary)}#install-scheduler-view .mini-calendar-navigation{display:flex;justify-content:center;align-items:center;padding:6px 8px;position:relative}#install-scheduler-view .mini-nav-btn{background:var(--color-border);border:0;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-slate-500);padding:2px 4px;border-radius:var(--radius-xs);transition:background-color .2s;line-height:1;position:absolute}#install-scheduler-view .mini-nav-btn:first-child{left:8px}#install-scheduler-view .mini-nav-btn:last-child{right:8px}#install-scheduler-view .mini-nav-btn:hover{background:var(--color-slate-300)}#install-scheduler-view .mini-month-title{font-weight:600;color:var(--color-text-primary);font-size:var(--font-size-xs);text-align:center}#install-scheduler-view .mini-calendar-content{padding:8px}#install-scheduler-view .mini-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:3px}#install-scheduler-view .mini-day-header{text-align:center;font-size:8px;font-weight:600;color:var(--color-slate-500);padding:2px 1px}#install-scheduler-view .mini-day-header.weekend{color:var(--color-text-muted)}#install-scheduler-view .mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}@media(min-width:1025px)and (max-width:1536px){#install-scheduler-view .mini-calendar-weekdays,#install-scheduler-view .mini-calendar-days{grid-template-columns:repeat(7,minmax(0,32px));justify-content:center}}#install-scheduler-view .mini-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);cursor:pointer;border-radius:2px;transition:all .2s;position:relative;min-height:20px;border:1px solid transparent;background:var(--color-bg-secondary)}#install-scheduler-view .mini-day:hover{background:var(--color-bg-tertiary);border-color:var(--color-slate-300);background-color:#0000000d;transform:scale(1.1)}#install-scheduler-view .mini-day.today{background-color:var(--color-accent-light);color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35);box-sizing:border-box}#install-scheduler-view .mini-day.weekend{color:var(--color-gray-500);background:var(--color-gray-50)}#install-scheduler-view .mini-day.other-month{color:var(--color-slate-300);background:var(--color-neutral-50)}#install-scheduler-view .mini-day.selected{background:var(--color-success-bright);color:#fff;font-weight:600;border-color:var(--color-success-bright)}#install-scheduler-view .mini-day.has-jobs:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);color:var(--color-success-text);width:6px;height:6px;background:var(--color-accent);border-radius:50%}#install-scheduler-view .mini-day.today.has-jobs:after{background:#fffc;color:#fff}#install-scheduler-view .unscheduled-jobs-section{flex:1;padding:16px;border-bottom:1px solid var(--color-border)}#install-scheduler-view .unscheduled-header{margin-bottom:var(--space-lg)}#install-scheduler-view .unscheduled-search{margin-bottom:var(--space-sm)}#install-scheduler-view .search-input{width:100%;padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-slate-300)}#install-scheduler-view .job-count{font-size:var(--font-size-sm);color:var(--color-slate-500);text-align:center;padding:4px 0}#install-scheduler-view .unscheduled-jobs-list{overflow-y:auto}#install-scheduler-view .unscheduled-job-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-sm);cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;border-left:4px solid var(--color-slate-500);box-shadow:var(--shadow-sm)}#install-scheduler-view .unscheduled-job-card:hover{border-color:var(--color-accent);box-shadow:0 4px 6px #3b82f61a;transform:translateY(-2px)}#install-scheduler-view .unscheduled-job-card:active{cursor:grabbing}#install-scheduler-view .unscheduled-job-card.dragging{opacity:.8;transform:rotate(2deg) scale(.95);z-index:1000;cursor:grabbing;box-shadow:var(--shadow-xl)}#install-scheduler-view .job-card-content{display:flex;flex-direction:column;gap:var(--space-sm)}#install-scheduler-view .job-customer-name{font-weight:600;color:var(--color-text-primary);font-size:var(--font-size-md)}#install-scheduler-view .job-description{font-size:var(--font-size-sm);color:var(--color-slate-500);line-height:1.4}#install-scheduler-view .job-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-sm)}#install-scheduler-view .job-number{font-size:var(--font-size-xs);color:var(--color-slate-500);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-xs)}#install-scheduler-view .action-buttons{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}#install-scheduler-view .action-btn{padding:8px 12px;border:1px solid var(--color-slate-300);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s;text-align:left}#install-scheduler-view .action-btn:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-accent)}#install-scheduler-view .action-btn:disabled{opacity:.5;cursor:not-allowed}#install-scheduler-view .action-btn.danger:hover:not(:disabled){background:var(--color-danger-pale);border-color:var(--color-danger);color:var(--color-danger-text)}#install-scheduler-view .selected-job-info{font-size:var(--font-size-sm);color:var(--color-slate-500);background:var(--color-bg-secondary);padding:8px;border-radius:var(--radius-xs);border:1px solid var(--color-border)}#install-scheduler-view .scheduler-main{flex:1;display:flex;flex-direction:column;background:var(--color-bg-secondary);min-width:0;overflow:hidden;min-height:0}#install-scheduler-view .week-header{display:flex;background:var(--color-bg-primary);border-bottom:2px solid var(--color-border);width:100%;position:sticky;top:0;z-index:10}#install-scheduler-view .day-column{flex:1;min-width:100px;text-align:center;border-right:1px solid var(--color-border);box-sizing:border-box;padding:1px 0}#install-scheduler-view .day-column:last-child{border-right:none}#install-scheduler-view .day-column.weekend{background:var(--color-bg-tertiary)}#install-scheduler-view .day-label{font-size:var(--font-size-2xs);color:var(--color-slate-500);font-weight:500;margin-bottom:0;line-height:1}#install-scheduler-view .day-date{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto}#install-scheduler-view .day-date.today{background:var(--color-info-pale);color:var(--color-accent);border:1px solid var(--color-accent);box-sizing:border-box}#install-scheduler-view .day-date.weekend{color:var(--color-text-muted)}#install-scheduler-view .week-grid-container{flex:1;overflow-y:auto;overflow-x:hidden;width:100%;background:var(--color-bg-secondary);position:relative;scrollbar-width:none}.scheduler-holidays-row{display:flex;width:100%;background:var(--color-warning-light);border-top:2px solid var(--color-warning);padding:0;margin-top:auto;z-index:10;transition:all .3s ease;max-height:500px;overflow:hidden}.scheduler-holidays-row.collapsed .holidays-days-container .holiday-day{min-height:28px}.scheduler-holidays-row.collapsed .holiday-day .holiday-person-line,.holiday-day .holiday-collapsed-indicator{display:none}.scheduler-holidays-row.collapsed .holiday-day .holiday-collapsed-indicator{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--font-size-2xs);font-weight:600}.scheduler-holidays-row.collapsed .holiday-day.has-events{background:linear-gradient(135deg,var(--color-warning-bright) 0%,var(--color-warning) 100%)}.scheduler-holidays-row.collapsed .holiday-day.has-events .holiday-collapsed-indicator{color:#fff}.holidays-label{flex-shrink:0;box-sizing:border-box;border-right:2px solid var(--color-gray-400);width:120px;min-width:120px;max-width:120px;padding:0 8px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-xs);font-weight:600;color:var(--color-warning-darker);font-size:var(--font-size-sm);text-align:center}.holidays-days-container{flex:1;display:flex;gap:0;background:transparent}.holiday-day{background:var(--color-warning-pale);padding:4px;text-align:center;font-size:var(--font-size-sm);color:var(--color-warning-darker);min-height:28px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;flex:1;min-width:100px;border-right:1px solid var(--color-warning);box-sizing:border-box}.holiday-day:last-child{border-right:none}.holiday-person-line{font-size:var(--font-size-2xs);font-weight:600;line-height:1.4;opacity:.95;white-space:normal;word-wrap:break-word;width:100%;padding:2px 4px;cursor:default}.holiday-person-line:hover{background:#0000000d;opacity:1}.unallocated-installers-row{display:flex;width:100%;background:var(--color-danger-pale);border-top:2px solid var(--color-danger);position:sticky;bottom:0;z-index:9;transition:all .3s ease}.unallocated-installers-row.hidden{display:none}.unallocated-label{flex-shrink:0;box-sizing:border-box;border-right:2px solid var(--color-gray-400);width:120px;min-width:120px;max-width:120px;padding:0 8px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-xs);font-weight:600;font-size:var(--font-size-sm);color:var(--color-danger-dark)}.unallocated-text{font-size:var(--font-size-xs);white-space:nowrap}.unallocated-installers-container{flex:1;display:flex;flex-wrap:wrap;gap:0;padding:0;align-items:center}#unallocated-installers-container{display:flex;flex:1;min-width:0}.unallocated-day{flex:1;min-width:100px;display:flex;align-items:center;justify-content:center;padding:4px;border-right:1px solid var(--color-danger-mid);box-sizing:border-box}.unallocated-day:last-child{border-right:none}.unallocated-day.weekend{background:var(--color-danger-pale);opacity:.5}.unallocated-day.has-unallocated{background:var(--color-danger-light)}.unallocated-day.all-allocated{background:var(--color-success-tint)}.unallocated-day-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;align-items:center;max-width:100%}.unallocated-day-chip{background:var(--color-danger);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.all-allocated-check{color:var(--color-success-mid);font-size:var(--font-size-lg);font-weight:700}.unallocated-installers-row.collapsed .unallocated-day{min-height:28px}.unallocated-installers-row.collapsed .unallocated-day-chips,.unallocated-installers-row.collapsed .all-allocated-check,.unallocated-collapsed-indicator{display:none}.unallocated-installers-row.collapsed .unallocated-collapsed-indicator{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--font-size-md);font-weight:600}.unallocated-installers-row.collapsed .unallocated-day.has-unallocated .unallocated-collapsed-indicator{color:var(--color-danger-dark)}.unallocated-installers-row.collapsed .unallocated-day.all-allocated .unallocated-collapsed-indicator{color:var(--color-success-mid)}#install-scheduler-view .week-gantt-grid.perfect-grid{display:flex;flex-direction:column;width:100%;min-height:100%;background:var(--color-bg-secondary)}#install-scheduler-view .gantt-row.perfect-row{display:flex;width:100%;height:80px;min-height:80px;max-height:80px;border-bottom:1px solid var(--color-bg-tertiary);position:relative;box-sizing:border-box;background:var(--color-bg-secondary)}#install-scheduler-view .gantt-row.perfect-row:nth-child(2n){background:var(--color-neutral-50)}#install-scheduler-view .gantt-row.perfect-row:hover{background:#3b82f605}#install-scheduler-view .gantt-day-cell.perfect-cell{flex:1;min-width:100px;border-right:1px solid var(--color-bg-tertiary);padding:0;position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:80px;min-height:80px;max-height:80px;background:0 0;background-image:linear-gradient(to right,rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.05) 1px,transparent 1px);background-size:100% 100%}#install-scheduler-view .gantt-day-cell.perfect-cell:last-child{border-right:none}#install-scheduler-view .gantt-day-cell.perfect-cell.weekend{background-color:#f8fafccc;background-image:linear-gradient(to right,rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.05) 1px,transparent 1px);background-size:100% 100%}#install-scheduler-view .gantt-job-card.perfect-card{width:calc(100% - 8px);background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);padding:6px;margin:4px;font-size:var(--font-size-xs);cursor:grab;transition:all .2s;display:flex;flex-direction:column;position:relative;overflow:hidden;word-wrap:break-word;box-sizing:border-box;border:1px solid rgba(255,255,255,.2)}#install-scheduler-view .gantt-job-card.perfect-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);z-index:5;cursor:grab}#install-scheduler-view .gantt-job-card.perfect-card:active{cursor:grabbing}#install-scheduler-view .gantt-job-card.perfect-card.selected{border:2px solid #fff;box-shadow:0 0 0 2px #ffffff80;transform:scale(1.02)}#install-scheduler-view .gantt-job-card.perfect-card.dragging{opacity:.8;transform:scale(.98) rotate(2deg);z-index:1000;cursor:grabbing;box-shadow:var(--shadow-xl)}#install-scheduler-view .gantt-job-card.perfect-card.copied{border:2px solid var(--color-warning-bright);box-shadow:0 0 0 2px #fbbf244d}.scheduler-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.scheduler-modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px;max-width:500px;width:90%;box-shadow:var(--shadow-xl)}.scheduler-modal-content h2{margin:0 0 20px;color:var(--color-gray-900)}.scheduler-modal-field{margin-bottom:var(--space-lg)}.scheduler-modal-field:last-of-type{margin-bottom:var(--space-xl)}.scheduler-modal-field label{display:block;margin-bottom:var(--space-sm);color:var(--color-gray-700)}.scheduler-modal-field input[type=text],.scheduler-modal-field input[type=number],.scheduler-modal-field input[type=date]{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:1px solid var(--color-gray-300)}.scheduler-modal-field input[type=color]{height:50px;border:1px solid var(--color-gray-300);cursor:pointer}.scheduler-modal-field textarea{padding:10px;border:1px solid var(--color-gray-300)}.scheduler-modal-field .scheduler-modal-hint{margin:8px 0 0;font-size:var(--font-size-smd);color:var(--color-gray-500)}.scheduler-modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end}#install-scheduler-view.mobile-scheduler-active{height:100%;display:flex;flex-direction:column;overflow:hidden}#install-scheduler-view.mobile-scheduler-active .view-header,#install-scheduler-view.mobile-scheduler-active #scheduler-content-wrapper,#install-scheduler-view.mobile-scheduler-active .scheduler-container{display:none}#install-scheduler-view .scheduler-container{flex:1;display:flex;background:var(--color-bg-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px;overflow:hidden;min-height:0}body.scheduler-dragging,body.scheduler-dragging *{cursor:grabbing!important}#install-scheduler-view .gantt-job-card.perfect-card.archived-card{opacity:.7;cursor:default;border:2px dashed var(--color-gray-400)}#install-scheduler-view .gantt-job-card.perfect-card.archived-card:hover{transform:none;box-shadow:var(--shadow-sm)}#install-scheduler-view .gantt-description{font-size:var(--font-size-md);line-height:1.1;word-break:break-word;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#install-scheduler-view .gantt-job-card.team-a{background-color:var(--color-accent)!important}#install-scheduler-view .gantt-job-card.team-b{background-color:var(--color-success)!important}#install-scheduler-view .gantt-job-card.team-c{background-color:var(--color-warning)!important}#install-scheduler-view .gantt-job-card.team-d{background-color:var(--color-danger)!important}#install-scheduler-view .unscheduled-job-card.team-a{border-left-color:var(--color-accent)!important}#install-scheduler-view .unscheduled-job-card.team-b{border-left-color:var(--color-success)!important}#install-scheduler-view .unscheduled-job-card.team-c{border-left-color:var(--color-warning)!important}#install-scheduler-view .unscheduled-job-card.team-d{border-left-color:var(--color-danger)!important}#install-scheduler-view .gantt-job-card.perfect-card.completed{background-color:var(--color-success-bright)!important;border-color:#ffffff4d}#install-scheduler-view .gantt-job-card.perfect-card.completed:after{content:"✓";position:absolute;top:2px;right:2px;font-size:var(--font-size-2xs);font-weight:700;opacity:.8}#team-management-modal.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#team-management-modal.modal.hidden{display:none}#team-management-modal .modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:700px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}#team-management-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-primary)}#team-management-modal .modal-header h2{margin:0;font-weight:600;color:var(--color-text-primary)}#team-management-modal .close-button{background:0 0;border:0;font-size:var(--font-size-3xl);color:var(--color-slate-500);display:flex;border-radius:var(--radius-sm);transition:background-color .2s}#team-management-modal .close-button:hover{background:var(--color-border)}#team-management-modal .modal-body{padding:var(--space-xl);overflow-y:auto;flex:1}#team-management-modal .teams-header{display:grid;grid-template-columns:1fr 80px 1fr 1fr 80px;gap:var(--space-lg);padding:12px 0;border-bottom:2px solid var(--color-border);margin-bottom:var(--space-lg)}#team-management-modal .team-column-header{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-smd)}#team-management-modal .teams-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:400px;overflow-y:auto}#team-management-modal .delete-team-btn{background:var(--color-danger);color:#fff;border:0;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s}#team-management-modal .delete-team-btn:disabled{background:var(--color-slate-300);cursor:not-allowed}#team-management-modal .delete-team-btn:hover:not(:disabled){background:var(--color-danger-dark)}#team-management-modal .teams-actions{margin-top:var(--space-xl);text-align:center}#team-management-modal .modal-footer{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-sm);background:var(--color-bg-primary)}#install-scheduler-view .offline-banner{background:var(--color-warning-bright);color:var(--color-warning-darker);padding:8px 16px;font-size:var(--font-size-smd);font-weight:500;text-align:center}#install-scheduler-view .week-gantt-grid.perfect-grid:has(.dragging) .gantt-day-cell.perfect-cell{border:1px solid rgba(59,130,246,.3);background-image:linear-gradient(to right,rgba(59,130,246,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(59,130,246,.1) 1px,transparent 1px);background-size:100% 100%}#install-scheduler-view .gantt-day-cell.perfect-cell:empty:hover{background-color:#3b82f60d;border-color:#3b82f633;background-image:none}#install-scheduler-view .gantt-row.perfect-row:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#3b82f633;opacity:0;transition:opacity .2s}#install-scheduler-view .gantt-row.perfect-row:hover:before{opacity:1}@media screen and (max-width:767px){.header-title-with-switcher{flex-direction:column;gap:var(--space-sm);align-items:flex-start}.view-mode-btn{flex:1;padding:8px 12px;font-size:var(--font-size-smd);min-height:36px;text-align:center}#install-scheduler-view .view-header{padding:8px 12px;flex-direction:column;align-items:stretch;gap:var(--space-sm)}#install-scheduler-view .view-controls{flex-wrap:wrap;justify-content:space-between}#install-scheduler-view .calendar-navigation{gap:6px;width:100%;justify-content:space-between}#install-scheduler-view .nav-button{width:44px;height:44px;font-size:var(--font-size-xl)}#install-scheduler-view .current-week{font-size:var(--font-size-smd);min-width:auto;flex:1;text-align:center}#install-scheduler-view .scheduler-controls{flex-direction:column;gap:var(--space-sm);width:100%}#install-scheduler-view .scheduler-filters{width:100%;flex-direction:column;gap:6px}#install-scheduler-view .select-filter{width:100%;min-height:44px;font-size:var(--font-size-lg)}#install-scheduler-view .action-button{min-height:44px;font-size:var(--font-size-md);padding:8px 12px}.scheduler-modal-overlay{padding:0}.scheduler-modal-overlay>div{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;overflow-y:auto;margin-top:auto}.scheduler-modal-overlay input[type=text],.scheduler-modal-overlay input[type=date],.scheduler-modal-overlay input[type=color],.scheduler-modal-overlay select,.scheduler-modal-overlay textarea{min-height:44px;font-size:var(--font-size-lg)}.scheduler-modal-overlay button{min-height:44px;font-size:var(--font-size-md)}}@media screen and (min-width:768px)and (max-width:1024px){#install-scheduler-view .current-week{font-size:var(--font-size-md);min-width:180px}.view-mode-btn{padding:8px 12px;font-size:var(--font-size-smd)}}.batch-ghost-card{border:1px dashed var(--color-gray-300);border-left:4px solid var(--color-gray-400);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:var(--space-sm);background:var(--color-gray-50);cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,transform .15s}.batch-ghost-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gray-400)}.batch-ghost-card:active{cursor:grabbing}.batch-ghost-card .bgc-head{display:flex;align-items:center;gap:var(--space-sm)}.batch-ghost-card .bgc-dot{width:10px;height:10px;border-radius:50%;flex:none}.batch-ghost-card .bgc-title{font-weight:700;font-size:var(--font-size-smd);color:var(--color-text-primary)}.batch-ghost-card .bgc-customer{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.batch-ghost-card .bgc-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.batch-ghost-card .bgc-days{font-weight:700;color:var(--color-accent-hover, #1d4ed8)}.batch-ghost-card .bgc-tobook{display:inline-block;margin-top:var(--space-sm);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--color-warning-pale);color:var(--color-warning-darker);border:1px solid var(--color-warning)}.installer-on-leave-tag{background:var(--color-danger-dark);color:#fff;padding:1px 6px;border-radius:var(--radius-xs);font-weight:600;white-space:nowrap}.installer-double-booked-tag{background:#eab308;color:#000;padding:1px 6px;border-radius:var(--radius-xs);font-weight:600;white-space:nowrap}.installer-checkbox-label{display:flex;align-items:center;padding:12px 16px;cursor:pointer;margin:0;gap:var(--space-md);transition:background-color .2s ease}.installer-checkbox{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--color-accent)}.installer-name{font-weight:500;color:var(--color-gray-600);flex:1;font-size:var(--font-size-md)}.installer-phone{font-size:var(--font-size-sm);color:var(--color-gray-500);font-family:monospace;background:var(--color-gray-50);padding:2px 6px;border-radius:var(--radius-xs)}.selection-summary{margin-top:15px;padding-top:16px;border-top:1px solid var(--color-gray-200);text-align:center}.unscheduled-search-container{padding:10px;border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-50)}.unscheduled-search-container .search-input:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 .2rem #004a6040}.dragging-move{opacity:.5;border:2px dashed var(--color-accent)!important}.dragging-copy{opacity:.8;border:2px dashed var(--color-success)!important}.drop-target-move{background-color:#3b82f61a!important;border:2px dashed var(--color-accent)!important}.drop-target-copy{background-color:#10b9811a!important;border:2px dashed var(--color-success)!important}.gantt-job-card[draggable=true],.unscheduled-job-card[draggable=true]{cursor:move}.drop-target-invalid{background-color:#ef44441a!important;border:2px dashed var(--color-danger)!important;cursor:not-allowed!important}.van-checkboxes-container{display:flex;flex-direction:column;max-height:300px;overflow-y:auto;padding:8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background-color:var(--color-gray-50)}.van-checkbox-item{padding:12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background-color:var(--color-bg-secondary);transition:all .2s ease}.van-checkbox-item:hover{border-color:var(--color-accent);background-color:var(--color-info-pale)}.van-checkbox-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;width:100%}.van-checkbox{width:18px;height:18px;accent-color:var(--color-accent)}.van-registration{font-weight:600;color:var(--color-gray-800);min-width:100px}.van-notes{font-size:var(--font-size-md);color:var(--color-gray-500);flex:1}.selected{box-shadow:var(--input-focus-ring)!important;border-color:var(--color-accent)!important}.selected-job-info{font-size:var(--font-size-smd);line-height:1.4}.selected-job-info small:last-child{margin-top:var(--space-sm);padding:4px 8px;background:var(--color-danger-pale);border:1px solid var(--color-danger-tint);border-radius:var(--radius-xs);display:block;text-align:center}.week-header .day-column.today{background:var(--color-accent-light);color:#fff;font-weight:700;border-radius:var(--radius-md) var(--radius-md) 0 0;position:relative;box-sizing:border-box;z-index:10}.week-header .day-column.today .day-date,.week-header .day-column.today .day-label,#install-scheduler-view .week-header .day-column.today .day-date,#install-scheduler-view .week-header .day-column.today .day-label{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35)}.week-header .day-column.today .day-date{font-weight:800;font-size:1.1em}.gantt-day-cell.today-cell{background:linear-gradient(180deg,#3b82f61a,#3b82f60d);border-left:3px solid var(--color-accent);border-right:3px solid var(--color-accent);position:relative}.gantt-day-cell.today-cell:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#3b82f6140,#3b82f605,#3b82f614);pointer-events:none;z-index:1}.week-header .day-column.bank-holiday{background:linear-gradient(135deg,var(--color-danger-dark),var(--color-danger-darker));color:#fff;font-weight:600;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 2px 8px #dc26264d;position:relative}.week-header .day-column.bank-holiday .day-date,.week-header .day-column.bank-holiday .day-label,.week-header .day-column.bank-holiday-weekend .day-date,.week-header .day-column.bank-holiday-weekend .day-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.week-header .day-column.bank-holiday-weekend{background:linear-gradient(135deg,var(--color-orange-900),var(--color-orange-800));color:#fff;font-weight:600;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 2px 8px #7c2d124d}.bank-holiday-indicator{position:absolute;top:2px;right:2px;font-size:var(--font-size-sm);background:#ffffffe6;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:5}.gantt-day-cell.bank-holiday-cell{background:linear-gradient(180deg,#dc262614,#dc26260a);border-left:2px solid var(--color-danger-dark);border-right:2px solid var(--color-danger-dark);position:relative}.gantt-day-cell.bank-holiday-cell:before,.gantt-day-cell.bank-holiday-weekend-cell:before{content:"BH";position:absolute;top:4px;right:4px;font-size:var(--font-size-xs);border-radius:var(--radius-xs);padding:1px 2px;z-index:2}.gantt-day-cell.bank-holiday-cell:before{background:#dc26261a}.gantt-day-cell.bank-holiday-weekend-cell{background:linear-gradient(180deg,#7c2d121a,#7c2d120d);border-left:2px solid var(--color-orange-900);border-right:2px solid var(--color-orange-900)}.gantt-day-cell.bank-holiday-weekend-cell:before{background:#7c2d1226}.week-header .day-column.today.bank-holiday{background:linear-gradient(135deg,var(--color-violet),#5b21b6);color:#fff;animation:specialDayPulse 3s ease-in-out infinite}.gantt-day-cell.today-cell.bank-holiday-cell{background:linear-gradient(180deg,#7c3aed1f,#7c3aed0f);border-left:3px solid var(--color-violet);border-right:3px solid var(--color-violet)}.gantt-day-cell.today-cell.bank-holiday-cell:before{content:"BH";background:#7c3aed26;font-size:var(--font-size-2xs);padding:2px}.week-header .day-column.weekend:not(.bank-holiday):not(.bank-holiday-weekend){background:linear-gradient(135deg,var(--color-gray-500),var(--color-gray-600));color:#fff}.gantt-day-cell.weekend:not(.bank-holiday-cell):not(.bank-holiday-weekend-cell):not(.today-cell){background:linear-gradient(180deg,#6b72800f,#6b728008)}.mini-day.bank-holiday{background:linear-gradient(135deg,var(--color-danger-dark),var(--color-danger-darker));background-color:#f973161a;color:#fff;font-weight:600;position:relative;border-radius:var(--radius-xs)}.mini-day.bank-holiday:after{content:"BH";position:absolute;top:1px;right:1px;font-size:8px;line-height:1}.mini-day.bank-holiday-weekend{background:linear-gradient(135deg,var(--color-orange-900),var(--color-orange-800));color:#fff;font-weight:600}.mini-day.today.bank-holiday{background:linear-gradient(135deg,var(--color-violet),#5b21b6);animation:miniDayPulse 2s ease-in-out infinite}@media(max-width:767px){.bank-holiday-indicator{width:14px;height:14px;font-size:var(--font-size-2xs)}.gantt-day-cell.bank-holiday-cell:before,.gantt-day-cell.bank-holiday-weekend-cell:before{font-size:var(--font-size-2xs);top:2px;right:2px}.week-header .day-column.today{transform:scale(1.01)}}@media(prefers-reduced-motion:reduce){.mini-day.today.bank-holiday,.week-header .day-column.today:before{animation:none}}@media(prefers-contrast:high){.week-header .day-column.today{border:3px solid #000;background:#00f}.week-header .day-column.bank-holiday{border:3px solid #000;background:red}.gantt-day-cell.today-cell{border:2px solid #00f}.gantt-day-cell.bank-holiday-cell{border:2px solid red}}.gantt-day-cell[title],.week-header .day-column[title]{cursor:help}.van-color-input{width:60px!important;height:40px!important;padding:2px!important;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;background:0 0}.van-color-input:hover{border-color:var(--color-accent)}.van-color-input:focus{outline:0;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.management-list-header span,.status-dropdown-header strong{font-size:var(--font-size-md);color:var(--color-gray-700)}.custom-activity-card{border-left:4px solid var(--color-gray-500);background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-tertiary) 100%)}.custom-activity-content .activity-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.activity-title{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.activity-description{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-md);line-height:1.4}.activity-footer{display:flex;justify-content:space-between;align-items:center}.activity-duration{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.edit-activity-btn{background:0 0;border:0;padding:4px 6px;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-500);transition:all .2s}.edit-activity-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.activity-maintenance{border-left-color:var(--color-warning)!important}.activity-van-service{border-left-color:var(--color-accent)!important}.activity-training{border-left-color:var(--color-purple)!important}.activity-meeting{border-left-color:var(--color-success)!important}.activity-holiday{border-left-color:var(--color-danger)!important}.activity-admin{border-left-color:var(--color-gray-500)!important}.activity-other{border-left-color:var(--color-slate-500)!important}#activity-type option{padding:8px}.gantt-job-card.custom-activity-card{background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-tertiary) 100%);border:1px solid var(--color-border)}.gantt-job-card.custom-activity-card .gantt-job-header{align-items:center;gap:0;margin-bottom:6px}.gantt-job-card{position:relative;z-index:1;flex-shrink:0;transition:transform .2s,box-shadow .2s,opacity .2s;cursor:pointer}.scheduler-drag-clone{transition:none!important;animation:none}.gantt-day-cell .gantt-job-card:nth-child(n+2){margin-top:-180px;z-index:2}.gantt-day-cell .gantt-job-card:nth-child(n+3){z-index:3}.gantt-day-cell:hover .gantt-job-card{margin-top:2px}.stacked-cards-container .gantt-job-card{margin-top:0!important}.stacked-cards-container .gantt-job-card.layered-card{margin:0!important}.drop-target-occupied{background-color:#ef44441a!important;border-color:#ef44444d!important;cursor:not-allowed!important}.drop-target-occupied:after{content:"✕";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-3xl);opacity:.5;pointer-events:none}.drop-target-stack{background-color:#9333ea26!important;border-color:#9333ea66!important;cursor:copy!important}.drop-target-stack:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-2xl);opacity:.6;pointer-events:none;z-index:100}.mini-day.drop-target-stack{background-color:#9333ea4d!important;border-color:#9333ea99!important}.mini-day.drop-target-stack:after{font-size:var(--font-size-sm)}.mini-day.selected-week{background-color:#3b82f64d;font-weight:700;border:2px solid var(--color-accent);box-shadow:0 0 0 1px #3b82f633}.mini-day.today.selected-week{background-color:var(--color-accent-hover);box-shadow:0 2px 6px #3b82f699;border:2px solid var(--color-accent-hover)}.mini-day.has-jobs{position:relative}.mini-day.has-suggested{background:linear-gradient(135deg,var(--color-warning-light) 0%,var(--color-warning-light) 100%);font-weight:600}.quick-schedule-btn:hover{background:var(--color-warning)!important;transform:translate(2px);transition:all .2s}.scheduled-search-container{display:flex;align-items:center;gap:var(--space-sm);position:relative}.scheduled-search-container .search-input:focus{width:250px;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.search-count{display:inline-block;font-size:var(--font-size-sm);color:var(--color-gray-500);background:var(--color-gray-100);padding:4px 8px;border-radius:var(--radius-lg);white-space:nowrap}@keyframes highlight-pulse{0%,to{box-shadow:0 0 0 3px #fbbf2480}50%{box-shadow:0 0 0 5px #fbbf244d}}@keyframes focus-pulse{0%,to{transform:scale(1.05);box-shadow:var(--input-focus-ring)}50%{transform:scale(1.08);box-shadow:0 0 0 6px #3b82f666}}.scheduled-search-container .search-input:before{content:none;position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}.search-preview-list{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:8px;background:var(--color-gray-50)}.current-month-highlight{animation:highlightPulse 2s ease-in-out;position:relative}.current-month-highlight:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid var(--color-accent);border-radius:var(--radius-md);animation:highlightFade 2s ease-in-out;pointer-events:none}.enhanced-month-card.current-month-highlight{animation:highlightPulse 2s ease-out;position:relative}.enhanced-month-card.current-month-highlight:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:3px solid var(--color-accent);border-radius:var(--radius-md);animation:highlightFade 2s ease-out forwards;pointer-events:none;z-index:1}@keyframes highlightPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes highlightFade{0%{opacity:1;border-color:var(--color-accent)}50%{opacity:1;border-color:var(--color-accent-hover)}to{opacity:0;border-color:transparent}}.status-qc-passed{background-color:#e8f5e8;border-left:3px solid #388e3c}.status-ready-install{background-color:#fff8e1;border-left:3px solid #f57c00}.status-installing{background-color:#fce4ec;border-left:3px solid #c2185b}.unscheduled-job-card.status-quote{opacity:.8}.gantt-job-card.status-cancelled,.unscheduled-job-card.status-cancelled{opacity:.6;filter:grayscale(50%)}.gantt-job-card.status-complete,.unscheduled-job-card.status-complete{box-shadow:0 0 0 2px var(--color-success)}.gantt-job-card.status-hold,.unscheduled-job-card.status-hold{border-style:dashed}.status-installing,.status-qc-passed,.status-ready-install{background:linear-gradient(135deg,#ffffff1a0,#ffffff0d)}.teams-list{max-height:400px;overflow-y:auto}.fitter-active-label{display:flex;align-items:center;gap:0;cursor:pointer;font-size:var(--font-size-md)}.delete-fitter-btn,.delete-team-btn{background:var(--color-danger-pale);color:var(--color-danger-dark);border:1px solid var(--color-danger-tint);border-radius:var(--radius-xs);padding:6px 8px;cursor:pointer;font-size:var(--font-size-lg);transition:all .2s ease}.delete-fitter-btn:hover,.delete-team-btn:hover{background:var(--color-danger-tint);color:var(--color-danger-darker)}.delete-team-btn:disabled{opacity:.5;cursor:not-allowed}.status-quote{background-color:var(--color-info-light);border-left:3px solid #0277bd;background:var(--color-info-light);color:#1565c0}.status-awaiting{background-color:#fff3e0;border-left:3px solid #ef6c00;background:#fff3e0;color:#ef6c00}.status-confirmed{background-color:#e8f5e8;border-left:3px solid #2e7d32;background:#e8f5e8;color:#2e7d32}.status-production{background-color:#f3e5f5;border-left:3px solid #7b1fa2;background:#f3e5f5;color:#7b1fa2}.status-ready-qc{background-color:#e1f5fe;border-left:3px solid #0288d1;background:#e1f5fe;color:#0288d1}.status-qc-passed{background:#e8f5e8;color:#388e3c}.status-ready-install{background:#fff8e1;color:#f57c00}.status-installing{background:#fce4ec;color:#c2185b}.status-complete{background-color:#e8f5e8;border-left:3px solid var(--color-success);background:#e8f5e8;color:var(--color-success-text)}.status-hold{background-color:#fff3e0;border-left:3px solid var(--color-warning);background:#fff3e0;color:var(--color-warning-text)}.status-cancelled{background-color:#ffebee;border-left:3px solid #f44336;background:#ffebee;color:#f44336}.status-other,.status-unknown{background-color:var(--color-gray-100);border-left:3px solid #757575;background:var(--color-gray-100);color:#757575}.available-job{cursor:grab;transition:all .2s ease;margin:2px 0;padding:6px 8px;border-radius:var(--radius-xs);border:1px solid rgba(0,0,0,.1)}.available-job:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.available-job.read-only:hover{transform:none;box-shadow:none}.invoice-job:hover .remove-job-btn{opacity:1}.enhanced-month-card{display:flex;flex-direction:column;min-height:300px;margin:12px;border:1px solid var(--color-neutral-300);background:var(--color-bg-secondary)}.enhanced-month-card .month-header{padding:12px 16px;border-bottom:1px solid var(--color-neutral-100);display:flex;justify-content:space-between;align-items:center;background:var(--color-gray-50);border-radius:var(--radius-md) var(--radius-md) 0 0}.enhanced-month-card .invoice-columns{flex:1;display:flex;gap:0;padding:8px}.enhanced-month-card .column-header{padding:8px 12px;border-bottom:1px solid var(--color-neutral-100);background:var(--color-bg-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.search-highlight{background-color:#ffeb3b;color:var(--color-neutral-700);font-weight:700;padding:1px 2px;border-radius:2px}.search-matches-indicator{color:#17a2b8;font-weight:700;font-size:var(--font-size-xs);margin-left:4px;background:#17a2b81a;padding:1px 4px;border-radius:var(--radius-xs)}.enhanced-card{min-height:120px}.enhanced-content{display:flex;flex-direction:column;gap:var(--space-sm);height:100%}.job-assignment-section{display:flex;flex-direction:column;gap:0;margin-top:auto;border-top:1px solid rgba(0,0,0,.1);padding-top:8px}.installer-assignment,.van-assignment{display:flex;flex-direction:column;gap:var(--space-xs)}.installer-assignment label,.van-assignment label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-neutral-600);margin:0}.van-selector{width:100%;padding:4px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-xs);font-size:var(--font-size-xs);background:var(--color-bg-secondary)}.installer-selector-container,.installer-selector-btn{width:100%}.installer-selector-btn:hover{background:var(--color-gray-200)}.enhanced-gantt-card{overflow:hidden}.gantt-job-header{justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xs)}.gantt-assignment-details{display:flex;flex-direction:column;gap:3px;margin:4px 0}.gantt-installer-section{display:flex;align-items:center;gap:6px}.gantt-label{font-size:var(--font-size-sm);min-width:16px}.gantt-installer-btn:hover{background:var(--color-bg-secondary);border-color:#fffc}.gantt-description{font-size:var(--font-size-2xs);line-height:1.2;margin-top:auto;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.management-tabs{display:flex;border-bottom:2px solid var(--color-gray-200);margin-bottom:var(--space-xl);background:var(--color-gray-50);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:0}.management-tab-btn{padding:12px 24px;border:0;background:0 0;cursor:pointer;font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-500);border-bottom:3px solid transparent;transition:all .2s ease;flex:1;border-radius:var(--radius-md) var(--radius-md) 0 0}.management-tab-btn:hover:not(.active){color:var(--color-accent);background:var(--color-gray-200)}.management-section{display:none}.management-section.active{display:block;animation:fadeIn .3s ease-in-out}.section-header{gap:var(--space-md);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:10px;border-bottom:1px solid var(--color-gray-200)}.management-list{background:var(--color-gray-50);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-gray-200)}.management-items{max-height:300px;overflow-y:auto}.installer-active-label:hover{background:var(--color-gray-50)}.installer-active-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-md);color:var(--color-gray-600);cursor:pointer;padding:4px;border-radius:var(--radius-xs);transition:background-color .2s ease}.installer-active-checkbox{width:16px;height:16px;cursor:pointer}.installer-selection-section{padding:10px 0}.selection-instruction{margin-bottom:var(--space-xl);color:var(--color-gray-600);font-size:var(--font-size-md);text-align:center;padding:12px;background:var(--color-gray-50);border-radius:var(--radius-sm);border-left:4px solid var(--color-accent)}.installer-checkboxes-container{flex-direction:column;gap:var(--space-md);max-height:300px;overflow-y:auto;padding:10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50)}.installer-checkbox-item{background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-gray-200);transition:all .2s ease;overflow:hidden}.installer-checkbox-item:hover{border-color:var(--color-accent);box-shadow:0 2px 4px #004a601a;transform:translateY(-1px)}.installer-checkbox-item.on-leave{background:var(--color-warning-light);border-color:var(--color-warning)}.installer-checkbox-item.on-leave:hover{border-color:var(--color-warning-dark);box-shadow:0 2px 4px #f59e0b33}.installer-checkbox-label.on-leave-label,.installer-checkbox-label.on-leave-label:hover{background:var(--color-warning-light)}.installer-leave-badge{background:var(--color-warning);color:#fff;white-space:nowrap}.invoice-job.status-not-sent{background-color:var(--color-danger-light)!important;border-color:var(--color-danger-mid)!important}.invoice-job.status-sent{background-color:var(--color-warning-light)!important;border-color:#fb923c!important}.invoice-job.status-paid{background-color:var(--color-success-tint)!important;border-color:var(--color-success-light)!important}.job-main-content{display:flex;align-items:center;width:100%;gap:var(--space-sm);margin-bottom:6px}.job-customer{font-size:var(--font-size-xs);color:var(--color-neutral-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;margin-bottom:6px;display:block}.job-invoice-value{font-weight:700;font-size:var(--font-size-sm);color:var(--color-accent);flex-shrink:0;margin-left:auto;background:#fffc;padding:2px 6px;border-radius:var(--radius-xs)}#completion-sent,#deposit-sent,#interim-sent{transition:background-color .2s ease,border-color .2s ease,color .2s ease}#completion-sent[value="not sent"],#deposit-sent[value="not sent"],#interim-sent[value="not sent"]{background-color:var(--color-danger-light)!important;border-color:var(--color-danger-mid)!important;color:var(--color-danger-darker)!important}#completion-sent[value=sent],#deposit-sent[value=sent],#interim-sent[value=sent]{background-color:var(--color-warning-light)!important;border-color:#fb923c!important;color:var(--color-orange-800)!important}#completion-sent[value=paid],#deposit-sent[value=paid],#interim-sent[value=paid]{background-color:var(--color-success-tint)!important;border-color:var(--color-success-light)!important;color:var(--color-success-darker)!important}.compact-checkbox-section h4{margin:0 0 12px;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800);border-bottom:1px solid var(--color-gray-200);padding-bottom:4px}.status-updated{animation:statusUpdate 1.5s ease-in-out}.assignment-type{flex:1;text-align:center;margin:0 8px;color:var(--color-slate-500);font-size:var(--font-size-smd)}.assignment-status{padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;min-width:60px}.assignment-status.status-not-sent{background:var(--color-danger-light);color:var(--color-danger-darker)}.assignment-status.status-sent{background:var(--color-warning-light);color:var(--color-orange-800)}.assignment-status.status-paid{background:var(--color-success-tint);color:var(--color-success-darker)}#orders-table th[data-sort]:focus,.invoice-job:focus{outline:2px solid var(--color-accent);outline-offset:2px}.filter-status-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--color-info-light),#f3e5f5);border:1px solid var(--color-accent);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:var(--space-xl);box-shadow:0 2px 4px #1976d21a}.filter-info{display:flex;align-items:center;gap:var(--space-md)}.filter-text{font-weight:500;color:#1565c0}.filter-stats{background:#1976d21a;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-md);font-weight:600;color:#0d47a1}.filter-configure-btn{background:var(--color-accent);color:#fff;border:0;padding:6px 12px;border-radius:var(--radius-xs);font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s}.filter-configure-btn:hover{background:#1565c0}.qc-filter-content{display:flex;flex-direction:column;gap:var(--space-xxl)}.current-filter-status h4{color:var(--color-gray-600);font-size:var(--font-size-lg);margin:0 0 12px}.current-filter-status{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:16px}.filter-impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-lg)}.impact-stat{display:flex;flex-direction:column;align-items:center;padding:12px;background:var(--color-gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.status-selection-section h4{margin:0 0 8px;color:var(--color-gray-600);font-size:var(--font-size-lg)}.help-text{font-style:italic;margin:0 0 16px;color:var(--color-gray-500);line-height:1.5}.status-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md);max-height:300px;overflow-y:auto;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:16px;background:var(--color-bg-secondary)}.status-checkbox-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:12px;background:var(--color-gray-50);transition:all .2s}.status-checkbox-item:hover{background:var(--color-gray-200);border-color:var(--color-accent)}.status-checkbox-item input[type=checkbox]:checked+.status-info{color:var(--color-accent);font-weight:600}.checkbox-label{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);-webkit-user-select:none;user-select:none;padding:8px;border-radius:var(--radius-xs);transition:background-color .2s ease;display:flex;align-items:center;gap:var(--space-md);cursor:pointer;margin:0}.checkbox-custom{width:18px;height:18px;border:2px solid var(--color-gray-500);border-radius:var(--radius-xs);position:relative;transition:all .2s}input[type=checkbox]:checked+.checkbox-custom{background:var(--color-accent);border-color:var(--color-accent)}input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:-2px;left:2px;color:#fff;font-size:var(--font-size-md);font-weight:700}.status-info{display:flex;align-items:center;gap:var(--space-sm);flex:1}.status-name{flex:1;font-weight:500}.status-color{width:16px;height:16px;border-radius:var(--radius-xs);border:1px solid var(--color-gray-300)}.job-count{font-size:var(--font-size-sm);color:var(--color-gray-500);font-style:italic}.filter-preview h4{margin:0 0 12px;color:var(--color-gray-600);font-size:var(--font-size-lg)}.modal-footer-info{display:flex;align-items:center;color:var(--color-gray-500);font-style:italic}.modal-footer-actions{display:flex;gap:var(--space-sm)}.loading-placeholder .spinner{width:20px;height:20px;border:2px solid var(--color-gray-100);border-top:2px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.status-checkbox-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.actual-time{display:flex;align-items:center;gap:0;padding:4px 8px;border-radius:var(--radius-xs);background-color:var(--color-gray-100);border-left:3px solid var(--color-neutral-500)}.estimate-label,.time-label{font-weight:500;color:var(--color-neutral-600);min-width:60px}#view-archived-job-modal .modal-content{max-width:900px;width:90vw;max-height:85vh;overflow:hidden}#view-archived-job-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-gray-200)}#view-archived-job-modal .modal-header h2{margin:0;font-size:var(--font-size-3xl);font-weight:600}#view-archived-job-modal .modal-body{padding:0;max-height:calc(85vh - 140px);overflow-y:auto}.archived-job-details{padding:24px;font-family:inherit}.details-section{background:var(--card-color, var(--color-bg-secondary));border:1px solid var(--color-gray-200);border-radius:var(--border-radius, 8px);padding:20px;margin-bottom:var(--space-xl)}.details-section:last-child{margin-bottom:0}.details-section h3{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--color-gray-100);color:var(--text-primary, var(--color-gray-900));font-weight:600;font-size:var(--font-size-xl)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.detail-item{background:var(--color-gray-50);padding:12px;border-radius:var(--radius-sm);border-left:3px solid var(--primary-color, var(--color-accent))}.detail-item label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary, var(--color-gray-500));text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.detail-item span{display:block;font-size:var(--font-size-md);color:var(--text-primary, var(--color-gray-900));font-weight:500}.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.progress-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.progress-item span:first-child{color:var(--text-secondary, var(--color-gray-500));font-weight:500}.progress-item span:last-child{font-size:var(--font-size-lg);font-weight:600}.description-content,.notes-content{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:16px;line-height:1.6;color:var(--text-primary, var(--color-gray-700));font-size:var(--font-size-md)}#view-archived-job-modal .modal-footer,.archive-pagination-container{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--color-gray-200);background:var(--color-gray-50)}.checkbox-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-gray-100);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-smd);color:var(--color-gray-700);white-space:nowrap;-webkit-user-select:none;user-select:none}.checkbox-filter:hover{background:var(--color-gray-200)}.checkbox-filter input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.checkbox-filter span{line-height:1}.timekeeper-clean-table{width:100%;border-collapse:collapse}.timekeeper-clean-table th{background:var(--color-gray-50);padding:12px 16px;font-weight:600;font-size:var(--font-size-smd);color:var(--color-gray-700);border-bottom:2px solid var(--color-gray-200);text-transform:uppercase;letter-spacing:.5px}.timekeeper-clean-table td{padding:12px 16px;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-md);vertical-align:middle}.timekeeper-clean-table tr:hover{background:var(--color-gray-50)}.timekeeper-clean-table .text-right{text-align:right}.timekeeper-clean-table .text-center{text-align:center}.timekeeper-clean-table .job-number{font-weight:600;color:var(--color-gray-800)}.timekeeper-clean-table .customer-name{color:var(--color-gray-700);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timekeeper-clean-table .estimated-hours,.timekeeper-clean-table .actual-hours{font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--font-size-smd)}.timekeeper-clean-table .variance-hours{font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--font-size-smd);font-weight:600}.timekeeper-clean-table .variance-over{color:var(--color-danger-dark)}.timekeeper-clean-table .variance-under{color:var(--color-success-mid)}.status-pill{display:inline-block;text-transform:uppercase;letter-spacing:.3px}.status-pill.status-ontime{background:var(--color-success-tint);color:var(--color-success-darker)}.status-pill.status-under{background:var(--color-info-light);color:var(--color-accent-hover)}.status-pill.status-over{background:var(--color-danger-light);color:var(--color-danger-darker)}.status-pill.status-nodata{background:var(--color-gray-100);color:var(--color-gray-500)}.efficiency-value{font-weight:600;font-size:var(--font-size-md)}.efficiency-value.efficiency-good{color:var(--color-success-mid)}.efficiency-value.efficiency-ok{color:#ca8a04}.efficiency-value.efficiency-poor{color:var(--color-danger-dark)}.job-breakdown-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .2s ease}.job-breakdown-modal-overlay.show{opacity:1}.job-breakdown-modal-container{background:var(--color-bg-secondary);border-radius:var(--radius-xl);max-width:1200px;max-height:85vh;width:95%;overflow:hidden;box-shadow:var(--shadow-xl);position:relative;display:flex;flex-direction:column;transform:scale(.95);transition:transform .2s ease}.job-breakdown-modal-overlay.show .job-breakdown-modal-container{transform:scale(1)}.job-breakdown-modal-container .modal-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:var(--color-gray-100);border-radius:50%;font-size:var(--font-size-3xl);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-500);transition:all .2s;z-index:1}.job-breakdown-modal-container .modal-close-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.job-breakdown-modal{padding:32px;overflow-y:auto}.job-breakdown-modal .modal-header-section{margin-bottom:var(--space-xxl);padding-right:40px}.job-breakdown-modal .modal-header-section h2{margin:0 0 4px;font-size:var(--font-size-3xl);font-weight:700;color:var(--color-gray-800)}.job-breakdown-modal .modal-header-section .customer-name{margin:0;font-size:var(--font-size-lg);color:var(--color-gray-500)}.job-breakdown-modal .time-summary-section{display:flex;gap:var(--space-lg);margin-bottom:var(--space-3xl)}.job-breakdown-modal .summary-card{flex:1;background:var(--color-gray-50);padding:16px 20px;text-align:center}.job-breakdown-modal .summary-card .label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.job-breakdown-modal .summary-card .value{display:block;font-size:var(--font-size-3xl);font-weight:700;color:var(--color-gray-800);font-family:SF Mono,Monaco,Consolas,monospace}.job-breakdown-modal .summary-card.over{background:var(--color-danger-pale)}.job-breakdown-modal .summary-card.over .value{color:var(--color-danger-dark)}.job-breakdown-modal .summary-card.under{background:var(--color-success-pale)}.job-breakdown-modal .summary-card.under .value{color:var(--color-success-mid)}.job-breakdown-modal .breakdown-table-section h3{margin:0 0 16px;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700)}.job-breakdown-modal .table-wrapper{overflow-x:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg)}.job-breakdown-modal .breakdown-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.job-breakdown-modal .breakdown-table th{background:var(--color-gray-50);padding:12px 16px;font-weight:600;color:var(--color-gray-700);text-align:left;border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.job-breakdown-modal .breakdown-table th.text-right{text-align:right}.job-breakdown-modal .breakdown-table th.total-header{background:var(--color-gray-100)}.job-breakdown-modal .breakdown-table td{padding:12px 16px;border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.job-breakdown-modal .breakdown-table td.text-right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--font-size-smd)}.job-breakdown-modal .breakdown-table td.total-cell{background:var(--color-gray-50)}.job-breakdown-modal .breakdown-table .employee-name-cell{display:flex;align-items:center;gap:10px}.job-breakdown-modal .breakdown-table .employee-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:var(--font-size-md);flex-shrink:0}.job-breakdown-modal .breakdown-table tbody tr:hover{background:var(--color-gray-50)}.job-breakdown-modal .breakdown-table tfoot .totals-row{background:var(--color-gray-100)}.job-breakdown-modal .breakdown-table tfoot .totals-row td{border-bottom:none;font-weight:600}.job-breakdown-modal .no-data-section{text-align:center;padding:40px;color:var(--color-gray-500)}.employee-breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.employee-breakdown-header h3{margin:0}.manage-hidden-btn{padding:8px 16px;background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-smd);color:var(--color-gray-700);cursor:pointer;transition:all .2s ease}.manage-hidden-btn:hover{background:var(--color-gray-200);border-color:var(--color-gray-400)}.employee-header-actions{display:flex;align-items:center;gap:var(--space-md)}.hide-employee-btn{padding:4px 8px;background:transparent;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--color-gray-500);cursor:pointer;transition:all .2s ease;opacity:.6}.employee-card:hover .hide-employee-btn{opacity:1}.hide-employee-btn:hover{background:var(--color-danger-pale);border-color:var(--color-danger-mid);color:var(--color-danger-dark)}.timekeeper-header h3{font-size:var(--font-size-sm);margin:0;padding:0}.timekeeper-summary h4{margin:0 0 4px;font-size:var(--font-size-2xs)}#job-timekeeper{grid-column:4;grid-row:1}.timekeeper-error .error-details,.timekeeper-error h4{color:var(--color-danger-text)}.timekeeper-error p{margin:0 0 10px;color:var(--color-text-muted, var(--color-gray-500))}.timekeeper-error .error-details{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:10px;margin:15px 0;font-size:var(--font-size-sm);font-family:monospace}.timekeeper-error .error-actions{margin-top:var(--space-xl)}.timekeeper-loading{padding:24px;text-align:center;background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-border) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.timekeeper-success{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.timekeeper-header h4{color:var(--color-text-primary);font-weight:600;margin:0;font-size:var(--font-size-lg)}.timekeeper-not-found{text-align:center;padding:40px 20px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--color-slate-300)}.timekeeper-error h4,.timekeeper-not-found h4{margin:0 0 12px;font-size:var(--font-size-xl)}.timekeeper-not-found h4{color:var(--color-text-primary)}.timekeeper-not-found p{margin:0 0 8px;color:var(--color-slate-500);line-height:1.5}.timekeeper-error{text-align:center;padding:40px 20px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:2px solid var(--color-danger-tint);background:linear-gradient(135deg,var(--color-danger-pale) 0,var(--color-danger-light) 100%)}.timekeeper-error h4{color:var(--color-danger-dark)}.notification-badge,.notification-button{display:flex!important;align-items:center!important}.notification-button{position:relative!important}#notification-indicator,#notification-indicator-collapsed{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px!important}#notification-indicator .notification-icon,#notification-indicator-collapsed .notification-icon{font-size:var(--font-size-2xl)!important;line-height:1!important}.notification-badge{position:absolute!important;top:-2px!important;right:-2px!important;background:var(--color-danger)!important;color:#fff!important;border-radius:var(--radius-md)!important;font-size:var(--font-size-xs)!important;font-weight:600!important;min-width:18px!important;height:18px!important;justify-content:center!important;z-index:10!important}.notification-badge[style*="display: none"]{display:none!important}.notification-button.has-notifications .notification-icon{animation:bellShake 2s ease-in-out infinite}.notifications-modal .modal-content{max-width:600px;width:90vw}.notifications-modal .modal-body{padding:0;max-height:60vh;overflow-y:auto}@media screen and (max-width:767px){.notifications-modal .modal-body{max-height:none}}.notifications-header{padding:16px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.notifications-actions,.notifications-filters{display:flex;gap:var(--space-sm)}.notification-item{padding:12px 16px;border-bottom:1px solid var(--color-gray-100);display:flex;gap:var(--space-md);align-items:flex-start;position:relative;cursor:pointer;transition:background .2s;content-visibility:auto;contain-intrinsic-size:auto 80px}.notification-item:hover{background:var(--color-bg-primary)}.notification-item.unread{background:var(--color-bg-primary);border-left:3px solid var(--color-accent)}.notification-item.important{border-left:3px solid var(--color-danger)}.notification-icon-large{width:36px;height:36px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);flex-shrink:0;color:#fff}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;margin-bottom:var(--space-xs);font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{color:var(--color-gray-500);font-size:var(--font-size-smd);line-height:1.4;margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-gray-500);flex-wrap:wrap}.notification-actions{display:flex;flex-direction:column;gap:var(--space-xs);opacity:0;transition:opacity .2s}.notification-item:hover .notification-actions{opacity:1}.notification-action{background:0 0;border:0;cursor:pointer;padding:4px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);transition:background .2s;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-action:hover{background:var(--color-gray-100)}.delete-notification-btn:hover{background:var(--color-danger-pale);color:var(--color-danger-text)}.no-notifications{padding:40px 20px;text-align:center;color:var(--color-gray-500)}.notification-toast{position:fixed;top:80px;right:20px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10000;max-width:300px;animation:slideInRight .3s ease;cursor:pointer}@media(max-width:767px){.notifications-header{flex-direction:column;align-items:stretch}.notifications-actions,.notifications-filters{justify-content:center}.notification-toast{right:10px;left:10px;max-width:none}}.current-mention-preview{margin-top:var(--space-sm);padding:8px 12px;background:var(--color-bg-primary);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent)}.hidden-employees-modal-overlay.show{opacity:1}.hidden-employees-modal-container .modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--color-gray-100);border-radius:50%;font-size:var(--font-size-2xl);color:var(--color-gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1}.hidden-employees-modal-container .modal-close-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.status-filter-chip.active{box-shadow:0 0 0 2px currentColor}.status-filter-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.tab-btn{padding:12px 24px;background:0 0;border:0;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:var(--color-neutral-600);transition:all .2s ease}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-btn:hover{background-color:var(--color-bg-primary);color:var(--color-accent)}@supports (-webkit-touch-callout:none){.app-container{min-height:-webkit-fill-available}}.invoice-job.reorder-target{border-top:3px solid var(--color-accent)!important;border-bottom:3px solid var(--color-accent)!important;background:#004a601a!important;transform:translateY(-2px);box-shadow:0 4px 12px #004a604d!important}.invoice-job{background:var(--color-bg-secondary);cursor:grab;margin:2px 0;padding:4px 6px;border-radius:var(--radius-xs);min-height:32px;display:flex;align-items:center;border:1px solid rgba(0,0,0,.1)}.invoice-job:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.invoice-job.dragging{opacity:.7;transform:rotate(2deg) scale(1.05);cursor:grabbing;z-index:1000;box-shadow:var(--shadow-xl)}.invoice-job.read-only{cursor:default}.invoice-column.drag-over{background:#004a601a;border:2px dashed var(--color-accent);border-radius:var(--radius-md)}.invoice-column.drag-over-invalid{background:#dc35451a;border:2px dashed var(--color-danger);border-radius:var(--radius-md)}.invoice-column .column-content{min-height:80px;padding:4px;border-radius:var(--radius-sm);transition:all .2s ease}.available-job.dragging{opacity:.7;transform:rotate(-2deg) scale(1.05);cursor:grabbing;z-index:1000;box-shadow:var(--shadow-xl)}.available-job.read-only{cursor:default}.invoice-job.status-not-sent{background:linear-gradient(135deg,var(--color-gray-50) 0,var(--color-gray-200) 100%);border-left:4px solid var(--color-gray-500)}.invoice-job.status-sent{background:linear-gradient(135deg,var(--color-warning-light) 0,var(--color-warning-light) 100%);border-left:4px solid var(--color-warning)}.invoice-job.status-paid{background:linear-gradient(135deg,var(--color-success-light) 0,var(--color-success-light) 100%);border-left:4px solid var(--color-success)}.remove-job-btn{position:absolute;top:2px;right:2px;background:var(--color-danger);color:#fff;border:0;border-radius:50%;width:18px;height:18px;font-size:var(--font-size-sm);line-height:1;cursor:pointer;opacity:0;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.remove-job-btn:hover{border-color:#ef444466;background:var(--color-danger-dark);transform:scale(1.1)}.enhanced-month-card .invoice-column{flex:1;display:flex;flex-direction:column;background:var(--color-neutral-50);border-radius:var(--radius-sm);border:1px solid var(--color-neutral-100)}.enhanced-month-card .column-content{flex:1;display:flex;flex-direction:column;padding:4px;overflow:visible}.extras-input-form .form-control{padding:10px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.date-range-actions .btn{padding:6px 12px;font-size:var(--font-size-smd);border-radius:var(--radius-xs);border:1px solid;cursor:pointer;transition:all .2s ease}.date-range-container .action-button.active{background-color:var(--color-success-dark);color:#fff}.percentage-status.warning{background:var(--color-warning-pale)}.percentage-status.error{background:var(--color-danger-pale)}.form-control.warning{border-color:var(--color-warning-dark);background-color:var(--color-warning-pale)}.percentage-value.warning{background-color:var(--color-warning-light);color:var(--color-warning-darker);border:1px solid #ffeeba}.percentage-value.error{background-color:var(--color-danger-light);color:var(--color-danger-darker);border:1px solid #f5c6cb;animation:shake .5s ease-in-out}.percentage-status.warning{color:var(--color-warning-darker)}.percentage-status.error{color:var(--color-danger-darker);animation:pulse 2s ease-in-out infinite}.notification.warning{background:linear-gradient(135deg,var(--color-warning),var(--color-orange));color:var(--color-gray-800);border-left:4px solid var(--color-orange)}@media(min-width:768px)and (max-width:1024px){.app-container{width:100%;height:100vh;overflow-y:auto}.header{padding:12px 20px;min-height:70px}.app-title{font-size:var(--font-size-2xl)}.tab-button{padding:10px 16px;font-size:var(--font-size-md);min-width:100px}#kanban-board,.kanban-board{display:flex!important;justify-content:flex-start!important;gap:15px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:20px!important}.board-column,.column,.kanban-column{flex:0 0 auto!important;width:280px!important;min-width:280px!important;max-width:280px!important;margin:0!important}.action-button,.btn,button{min-height:44px;padding:10px 16px;font-size:var(--font-size-md)}}@media(min-width:768px)and (max-width:1024px)and (orientation:landscape){.board-column,.column,.kanban-column{width:calc(16.666% - 8px)!important;min-width:calc(16.666% - 8px)!important;max-width:calc(16.666% - 8px)!important}}@media(max-width:767px){.header{flex-direction:column;padding:16px;gap:15px}.app-title{font-size:var(--font-size-3xl);text-align:center}.tabs-container{justify-content:center;flex-wrap:wrap;gap:5px}.tab-button{padding:12px 16px;min-height:48px;border-radius:var(--radius-md)}#kanban-board,.kanban-board{flex-direction:column;gap:var(--space-xl)!important;padding:16px!important}.board-column,.column,.kanban-column{width:100%!important;min-width:100%!important;max-width:100%!important}.action-button,.btn,.panel-action,button,select,input:not([type=checkbox]):not([type=radio]),.search-input{min-height:36px}.action-button,.btn,.panel-action,button{font-size:var(--font-size-lg)}}@media(max-width:767px)and (orientation:landscape){#kanban-board,.kanban-board{flex-direction:row;overflow-x:auto!important}.board-column,.column,.kanban-column{width:280px!important;min-width:280px!important;margin-right:15px!important}.header{flex-direction:row;align-items:center;min-height:60px}}@media(max-width:1024px){.kanban-board,.tabs-container{-webkit-overflow-scrolling:touch;scrollbar-width:none}.kanban-board::-webkit-scrollbar,.tabs-container::-webkit-scrollbar{display:none}input,select,textarea{font-size:var(--font-size-lg)!important}}.filter-btn:hover:not(.active){background-color:var(--color-bg-tertiary);border-color:var(--color-text-muted);color:var(--color-text-primary);box-shadow:var(--shadow-md);background:var(--color-gray-100)}.error-message{text-align:center;padding:20px;font-style:italic;color:var(--color-danger-dark);font-size:var(--font-size-sm);margin-top:var(--space-xs);font-weight:500;display:flex;align-items:center;gap:var(--space-xs)}.panel-actions{flex-wrap:nowrap;white-space:nowrap;display:flex;align-items:center;gap:var(--space-md)}@media(max-width:1200px){.panel-actions{gap:var(--space-sm)}.panel-actions .select-filter{min-width:100px;max-width:120px}#orders-table{font-size:var(--font-size-md)}#orders-table td,#orders-table th{padding:10px 6px}}.status-badge{align-items:center;justify-content:center;letter-spacing:.01em;width:100px;box-shadow:var(--shadow-sm);text-transform:capitalize;margin:4px;display:inline-block;color:#fff;text-align:center;min-width:70px}.pagination-btn{background-color:var(--color-bg-secondary);height:32px;min-width:36px;justify-content:center;box-shadow:var(--shadow-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;display:flex;align-items:center;color:var(--text-primary, var(--color-gray-700));font-weight:500;gap:var(--space-xs);white-space:nowrap;padding:6px 12px;border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-md);transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400)}.archived-read-only .form-group label,th[data-sort]:hover .sort-indicator{color:var(--color-gray-500)}.form-row .form-group.full-width{grid-column:1/-1}.order-row.non-editable{opacity:.8}@media print{.panel-actions{display:none!important}#orders-table{width:100%;font-size:var(--font-size-sm)}.order-type-badge,.status-badge{border:1px solid #000;color:#000!important;background:0 0!important}}.pagination-btn:focus{box-shadow:var(--input-focus-ring);outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:767px){.form-row{grid-template-columns:1fr;gap:var(--space-md)}.panel-actions{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.panel-actions .select-filter{min-width:auto;max-width:none}}@media(prefers-contrast:high){.order-type-badge,.pagination-btn,.status-badge{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.pagination-btn,.sort-indicator{transition:none}}.job-description{font-size:var(--font-size-xs);color:var(--color-neutral-600);line-height:1.3;margin-bottom:var(--space-sm);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.management-tab-btn.active{color:var(--color-accent);background:var(--color-bg-secondary);border-bottom-color:var(--color-accent);font-weight:600}.company-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-lg);padding:8px 0}.company-folder-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);padding:16px;cursor:pointer;position:relative;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;align-items:center;text-align:center}.company-folder-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px);border-color:var(--color-accent-hover)}.company-folder-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-900);margin-bottom:6px;word-break:break-word}.company-folder-meta{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-gray-500);align-items:center}.company-folder-pill{display:inline-block;background:var(--color-info-pale);color:var(--color-indigo-700);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-folder-edit-btn{position:absolute;top:6px;right:6px;background:none;border:none;cursor:pointer;font-size:var(--font-size-md);padding:4px;border-radius:var(--radius-xs);opacity:.6}.company-folder-edit-btn:hover{opacity:1;background:var(--color-gray-100)}.company-docs-breadcrumb{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding:8px 0;flex-wrap:wrap}.company-docs-current-folder{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900)}.company-docs-visible-pill{display:inline-block;background:var(--color-info-pale);color:var(--color-indigo-700)}.company-docs-list{display:flex;flex-direction:column;gap:6px;width:100%;grid-column:1 / -1}.company-doc-row{display:flex;align-items:center;gap:var(--space-md);padding:10px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);transition:border-color .15s;min-width:0}.company-doc-row:hover{border-color:var(--color-accent-hover)}.company-doc-link{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-gray-900);font-weight:500;font-size:var(--font-size-md)}.company-doc-link:hover{text-decoration:underline;color:var(--color-accent-hover)}.company-doc-name{overflow-wrap:anywhere;min-width:0}.company-doc-meta{font-size:var(--font-size-sm);color:var(--color-gray-500);white-space:nowrap}.company-folder-all-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);cursor:pointer}.company-folder-dept-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;padding:8px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.company-folder-dept-item{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:var(--font-size-smd);cursor:pointer}.company-folder-dept-item:hover{background:var(--color-gray-100);border-radius:var(--radius-xs)}.hs-settings-layout{display:flex;gap:var(--space-xxl);margin-top:var(--space-xl);align-items:flex-start}.hs-settings-nav{flex:0 0 210px;display:flex;flex-direction:column;gap:var(--space-xs);position:sticky;top:12px}.hs-nav-item{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-size:var(--font-size-md);line-height:1.3;color:var(--color-neutral-700);transition:background .12s,border-color .12s,color .12s}.hs-nav-item:hover{background:var(--color-neutral-100)}.hs-nav-item.active{background:var(--color-info-pale);border-color:#c7d2fe;color:var(--color-accent, var(--color-indigo-700));font-weight:600}.hs-settings-content{flex:1 1 auto;min-width:0}.hs-pane{animation:hsPaneFade .15s ease}@keyframes hsPaneFade{0%{opacity:.45}to{opacity:1}}@media(max-width:760px){.hs-settings-layout{flex-direction:column}.hs-settings-nav{flex-basis:auto;flex-direction:row;flex-wrap:wrap;position:static}.hs-nav-item{width:auto}}.pdf-drop-zone{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:24px;text-align:center;background:var(--color-gray-50);cursor:pointer;transition:all .3s ease;margin-bottom:var(--space-md)}.pdf-drop-zone:hover{border-color:var(--color-accent);background:var(--color-info-pale)}.pdf-drop-zone.dragging{border-color:var(--color-accent);background:var(--color-info-light);box-shadow:var(--input-focus-ring)}.drop-zone-text p{margin:0 0 8px;font-size:var(--font-size-lg);font-weight:500;color:var(--color-gray-700)}.drop-zone-help{display:block;margin-top:var(--space-sm);color:var(--color-gray-500);font-size:var(--font-size-sm)}.attached-pdfs-container{margin-top:var(--space-lg);padding:16px;background:var(--color-bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.attached-pdfs-container h5{margin:0 0 12px;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.attached-pdfs-list{display:flex;flex-direction:column;gap:var(--space-sm)}.pdf-item,.pdf-item-info{display:flex;align-items:center}.pdf-item{justify-content:space-between;padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);transition:all .2s ease}.pdf-item-info{gap:var(--space-md);flex:1;cursor:pointer}.pdf-item-icon{flex-shrink:0;font-size:var(--font-size-3xl)}.pdf-item-details{flex:1}.pdf-item-name{font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-800);margin:0 0 2px}.pdf-item-size{font-size:var(--font-size-sm);color:var(--color-gray-500)}.pdf-action-btn{border:1px solid var(--color-gray-200);cursor:pointer}.pdf-action-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.pdf-action-btn.view{color:var(--color-accent);border-color:var(--color-accent)}.pdf-action-btn.view:hover,tr.selected{background:var(--color-info-pale)}.pdf-action-btn.remove{color:var(--color-danger-text);border-color:var(--color-danger)}.pdf-action-btn.remove:hover{background:var(--color-danger-pale)}.pdf-viewer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:none;z-index:10000}.pdf-viewer-modal.active{display:flex;align-items:center;justify-content:center}.pdf-viewer-content{width:90%;height:90%;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;flex-direction:column}.pdf-viewer-header{padding:16px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.pdf-viewer-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800)}.pdf-viewer-body{flex:1;overflow:hidden;position:relative}.pdf-viewer-iframe{width:100%;height:100%;border:0}.compact-modal{max-width:680px!important;width:90%;max-height:90vh;display:flex;flex-direction:column}.compact-modal-body{padding:var(--space-md)!important;overflow-y:auto;overflow-x:hidden;flex:1}textarea.compact-input{min-height:50px}.compact-form-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.supplier-qty-row,.url-cost-row{display:grid;grid-template-columns:1fr 100px;gap:var(--space-md)}.url-cost-row{display:grid!important;grid-template-columns:1fr 120px}.type-where-row{display:grid;grid-template-columns:150px 1fr;gap:var(--space-md)}.ordered-date-row,.status-received-row{display:grid;grid-template-columns:1fr 160px;gap:var(--space-md)}.status-received-row{grid-template-columns:150px 1fr}.compact-label{margin-bottom:var(--space-xs)!important;color:var(--color-text-secondary);display:block}css .compact-drop-zone{padding:var(--space-md)!important;border:2px dashed var(--color-slate-300);border-radius:var(--radius-md);background:var(--color-bg-primary);cursor:pointer;transition:all .3s ease}.compact-drop-zone:hover{border-color:var(--color-accent);background:var(--color-info-pale);box-shadow:var(--input-focus-ring)}.compact-drop-zone.dragging{border-color:var(--color-accent-hover);background:var(--color-info-light);box-shadow:var(--input-focus-ring);border-style:solid}.drop-zone-content.compact{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.compact-drop-zone .drop-zone-text{color:var(--color-text-secondary)}.compact-drop-zone .drop-zone-help{color:var(--color-text-muted)}.attached-pdfs-container.compact{margin-top:var(--space-sm);padding:var(--space-sm)!important;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.attached-pdfs-list.compact{display:flex;flex-direction:column;gap:var(--space-xs)}.attached-pdfs-list.compact .pdf-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm)!important;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.attached-pdfs-list.compact .pdf-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.attached-pdfs-list.compact .pdf-item-info{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;flex:1}.attached-pdfs-list.compact .pdf-action-btn{padding:4px var(--space-sm)!important;font-size:var(--font-size-xs)!important;border:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:var(--radius-sm);cursor:pointer;margin-left:var(--space-xs);transition:all var(--transition-fast)}.attached-pdfs-list.compact .pdf-action-btn.view{color:var(--color-primary);border-color:var(--color-primary)}.attached-pdfs-list.compact .pdf-action-btn.view:hover{background:var(--color-primary-light, var(--color-info-pale))}.attached-pdfs-list.compact .pdf-action-btn.remove{color:var(--color-danger-text);border-color:var(--color-danger)}.attached-pdfs-list.compact .pdf-action-btn.remove:hover{background:var(--color-danger-light, var(--color-danger-pale))}.compact-footer{flex-shrink:0;padding:var(--space-md)!important;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.compact-form .form-group{margin-bottom:0}.compact-form .form-group.full-width{width:100%}#product-selector-modal .product-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}#product-selector-modal .product-search-input{align-self:stretch}.status-badge.clickable-status{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.status-badge.clickable-status:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.inline-status-editor{font-family:inherit}.status-dropdown{background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden}.status-dropdown-header{padding:12px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.status-dropdown-header .close-btn{background:0 0;border:0;font-size:var(--font-size-2xl);color:var(--color-gray-500);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs)}.status-dropdown-header .close-btn:hover{background-color:var(--color-gray-100)}.status-options{max-height:300px;overflow-y:auto;padding:8px}.status-dropdown-header .close-btn,.status-option{cursor:pointer;transition:background-color .2s ease}.status-option{padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.status-option:last-child{margin-bottom:0}.status-option.selected{font-weight:600}.status-preview{display:inline-block;padding:4px 10px;border-radius:var(--radius-xs);font-size:var(--font-size-smd);font-weight:500;width:100%;text-align:center}.installer-checkbox-label:hover{background:var(--color-gray-50)}.large-modal{width:90%;max-width:800px;max-height:85vh}@media(max-width:767px){.management-tabs{flex-direction:column}.management-tab-btn,.management-tab-btn.active{border-radius:0;border-bottom:1px solid var(--color-gray-200)}.management-tab-btn.active{border-left:4px solid var(--color-accent)}.management-list-header{grid-template-columns:1fr;gap:var(--space-sm)}.section-header{flex-direction:column;align-items:stretch;gap:10px}.installer-checkbox-label{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.installer-name,.installer-phone{margin-left:30px}.large-modal,.medium-modal{width:95%;max-width:none;margin:10px}}.loading-placeholder{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--color-gray-500);font-style:italic}.gantt-installer-btn,.gantt-van-btn,.installer-selector-btn,.van-selector-btn{background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);padding:4px 8px;font-size:var(--font-size-xs)!important;cursor:pointer;transition:all .2s ease;max-width:150px;overflow:hidden;flex:1;text-align:left}.gantt-installer-btn:hover,.gantt-van-btn:hover,.installer-selector-btn:hover,.van-selector-btn:hover{background:var(--color-gray-200);border-color:var(--color-accent)}.management-list-header{font-weight:600;border-bottom:2px solid var(--color-gray-300);margin-bottom:10px;background:var(--color-gray-200);color:var(--color-gray-600);font-size:var(--font-size-md);display:grid;grid-template-columns:1fr 60px 1fr 60px;gap:var(--space-md);padding:8px 0}.archived-read-only .form-control:disabled,.archived-read-only .read-only-field{background-color:var(--color-gray-50)!important;color:var(--color-gray-500)!important;cursor:not-allowed!important;opacity:.8}.status-card.success{background:linear-gradient(135deg,var(--color-success-light),var(--color-success-light));border:2px solid var(--color-success)}.status-card.warning{background:linear-gradient(135deg,var(--color-warning-light),var(--color-warning-light));border:2px solid var(--color-warning)}.stat-value.over{color:var(--color-danger-text)}.utilization-fill.over{background:linear-gradient(90deg,var(--color-danger),var(--color-danger-dark))}.capacity-job-row.selected:hover{background-color:var(--color-info-light)}.filter-btn{white-space:nowrap;font-weight:500;background-color:var(--color-bg-secondary);color:var(--color-text-primary);height:28px;min-width:60px;justify-content:center;box-shadow:var(--shadow-sm);padding:8px 16px;border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:var(--font-size-md);display:flex;align-items:center;gap:6px}.filter-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(max-width:767px){#todo-view{height:calc(100vh - 50px)}.todo-main-content{padding:12px}.todo-controls-section{flex-direction:column;gap:var(--space-md)}.todo-stats{margin-left:0;justify-content:space-around;width:100%}.filter-buttons{justify-content:center}}.extras-checkboxes-container::-webkit-scrollbar-thumb:hover,.todo-main-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.table-container{flex:1;overflow:auto;min-height:0;position:relative;border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);overflow-x:auto}.stat-card.success{border-color:var(--color-success);background:var(--color-success-pale)}.stat-card.warning{border-color:var(--color-warning);background:var(--color-warning-pale)}.stat-card.danger{border-color:var(--color-danger);background:var(--color-danger-pale)}.capacity-job-row.overdue{background-color:var(--color-danger-pale);border-left:4px solid var(--color-danger-dark)}.capacity-job-row.critical{background-color:#fff7ed;border-left:4px solid #ea580c}.capacity-job-row.this-month{background-color:var(--color-warning-pale);border-left:4px solid #eab308}.capacity-job-row.next-month{background-color:var(--color-success-pale);border-left:4px solid var(--color-success-bright)}.add-additional-btn{cursor:pointer;flex-shrink:0;font-size:var(--font-size-md);font-weight:600;line-height:1;padding:6px 8px;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);background:var(--color-gray-50);transition:all .2s ease;white-space:nowrap}.header{position:relative;transition:all .3s ease;min-height:60px;overflow:visible!important;display:flex;align-items:center}.gantt-job-card.selected{box-shadow:var(--input-focus-ring);transform:scale(1.02);z-index:100}.gantt-job-card:hover{transform:scale(1.01);box-shadow:var(--shadow-md)}.scheduled-search-container .search-input{transition:all .2s}.gantt-job-card.search-highlight{box-shadow:0 0 0 3px #fbbf2480!important;animation:highlight-pulse 2s infinite;z-index:100}.gantt-job-card.search-focus{box-shadow:var(--input-focus-ring)!important;transform:scale(1.05);z-index:101;animation:focus-pulse 1.5s infinite}@media screen and (max-width:767px){.todo-header-container{flex-direction:column;gap:var(--space-sm);align-items:stretch}.user-greeting h2{font-size:var(--font-size-xl)}.user-greeting p{font-size:var(--font-size-smd)}.todo-quick-add-section{border-radius:0;box-shadow:none;border-bottom:1px solid var(--color-gray-200)}.quick-add-container{flex-direction:column;gap:var(--space-sm)}.quick-add-input{min-height:44px;font-size:var(--font-size-lg)}.todo-controls-section{flex-direction:column;gap:var(--space-sm);padding:8px 0}.todo-filter-section{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px}.filter-buttons{display:flex;gap:var(--space-xs);padding:6px;flex-wrap:nowrap;white-space:nowrap}.filter-btn{min-height:36px;font-size:var(--font-size-smd);padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap}.todo-stats{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.todo-stats .stat-card{min-width:70px;padding:8px;font-size:var(--font-size-sm);flex-shrink:0}.todos-list-container{padding:8px;border-radius:0;min-height:auto}.todo-category-section{margin-bottom:var(--space-lg)}.category-header{margin-bottom:var(--space-sm);padding-bottom:6px}.category-header h3{font-size:var(--font-size-md)}.todo-item{padding:12px;gap:10px;align-items:flex-start;margin-bottom:6px;min-height:44px}.todo-item:hover{transform:none;box-shadow:none}.todo-item:active{background:var(--color-gray-100)}.todo-checkbox{padding:8px;margin:-8px 0 -8px -8px}.todo-toggle{width:24px;height:24px}.todo-content{min-width:0}.todo-title{font-size:var(--font-size-xs)}.todo-text{font-size:var(--font-size-md);line-height:1.4;word-break:break-word}.todo-meta{gap:var(--space-sm);margin-top:var(--space-xs)}.due-date{font-size:var(--font-size-sm)}.todo-actions{opacity:1;flex-shrink:0}.todo-action-btn{min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl)}.follow-up-tasks{margin-top:var(--space-sm);padding-top:8px}.follow-up-item{padding:4px 0;min-height:36px;align-items:center}.follow-up-checkbox{width:20px;height:20px}.follow-up-text{font-size:var(--font-size-smd)}.empty-state{padding:40px 16px;margin:12px auto}}.gantt-atrisk{color:var(--color-danger-text);font-size:var(--font-size-xs);cursor:help}.gantt-container{width:100%;overflow:hidden;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.gantt-wrapper{display:flex;flex-direction:column;width:100%;overflow:hidden}.gantt-header-row{display:flex;flex-shrink:0;border-bottom:2px solid var(--color-slate-300)}.gantt-body-row{display:flex;flex:1;overflow:hidden}.gantt-table-header{display:flex;width:535px;flex-shrink:0;height:58px;align-items:center;background:var(--color-bg-tertiary);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-secondary);border-right:2px solid var(--color-slate-300)}.gantt-th,.gantt-td{padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.gantt-col-job{width:58px}.gantt-col-customer{width:96px;flex:1;min-width:74px}.gantt-col-pm{width:54px}.gantt-col-progress{width:70px;display:flex;align-items:center;gap:var(--space-xs)}.gantt-crew-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:2px 4px;font-size:var(--font-size-2xs);color:var(--color-text-secondary);cursor:pointer;font-family:monospace;letter-spacing:-.5px}.gantt-crew-btn:hover{background:var(--color-border);border-color:var(--color-slate-300)}.gantt-crew-popover-label{font-size:var(--font-size-sm);font-weight:600}.gantt-table-body{width:535px;flex-shrink:0;overflow-y:hidden;overflow-x:hidden;overscroll-behavior:contain;max-height:calc(100vh - 220px);border-right:2px solid var(--color-slate-300);background:var(--color-bg-secondary);scrollbar-width:none}.gantt-table-body::-webkit-scrollbar{width:0;display:none}.gantt-table-row{display:flex;align-items:center;min-height:30px;border-bottom:1px solid var(--color-gray-300);transition:background .15s}.gantt-table-row.gantt-row-alt,.gantt-timeline-row.gantt-row-alt{background:#64748b21}.gantt-table-row:hover,.gantt-table-row.gantt-row-alt:hover{background:var(--color-bg-primary)}.gantt-job-link{color:var(--color-accent);cursor:pointer;font-weight:600;text-decoration:none}.gantt-job-link:hover{text-decoration:underline}.gantt-progress-bar{width:36px;height:8px;background:var(--color-border);border-radius:var(--radius-xs);overflow:hidden}.gantt-timeline-header{flex:1;overflow:hidden;background:var(--color-bg-tertiary);height:58px;min-height:58px}.gantt-timeline-header-scroll{display:block;height:58px}.gantt-timeline-wrapper{flex:1;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;max-height:calc(100vh - 220px);position:relative}.gantt-month-row{display:flex;height:24px;border-bottom:1px solid var(--color-border)}.gantt-month-cell{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--color-border);overflow:hidden}.gantt-day-row{display:flex;height:34px}.gantt-day-cell{gap:2px;padding:2px;overflow:visible!important;min-height:200px;height:auto!important;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--color-bg-tertiary);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.gantt-day-label{font-weight:600;line-height:1}.gantt-day-num{line-height:1}.gantt-day-cell.gantt-weekend{background:var(--color-border);color:var(--color-text-muted)}.gantt-day-cell.gantt-bank-holiday{background:#fce7f3;color:#be185d;font-weight:700}.gantt-day-cell.gantt-today-col{background:var(--color-danger-pale);color:var(--color-danger-text);font-weight:700}.gantt-week-cell{display:flex;align-items:center;justify-content:flex-start;border-right:1px solid var(--color-border);font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-muted);padding-left:4px;overflow:hidden;white-space:nowrap}.gantt-week-cell.gantt-today-col{background:var(--color-danger-pale);color:var(--color-danger-text);font-weight:700}.gantt-week-label{line-height:1}.gantt-grid-week-divider{position:absolute;top:0;width:0;border-left:1px solid var(--color-border);pointer-events:none}.gantt-timeline-body{position:relative;min-height:200px}.gantt-grid-col{position:absolute;top:0;border-right:1px solid var(--color-bg-primary);pointer-events:none}.gantt-grid-col.gantt-weekend{background:#94a3b824}.gantt-grid-col.gantt-bank-holiday{background:repeating-linear-gradient(-45deg,#ec489914,#ec489914 4px,#fce7f366 4px,#fce7f366 8px)}.gantt-grid-col.gantt-today-col{background:#fef2f24d}.gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);z-index:3;pointer-events:none}.gantt-today-line:before{content:"";position:absolute;top:0;left:-3px;width:8px;height:8px;background:var(--color-danger);border-radius:50%}.gantt-timeline-row{position:absolute;left:0;right:0;border-bottom:1px solid var(--color-gray-300)}.gantt-bar{position:absolute;top:10px;height:13px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);font-weight:600;cursor:grab;z-index:2;transition:opacity .2s,box-shadow .15s;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 1px #ffffff8c,0 1px 2px #00000029}.gantt-bar:hover{filter:brightness(1.06);z-index:4;box-shadow:0 0 0 1px #ffffffb3,0 2px 6px #0000003d}.gantt-bar-remaining{position:absolute;top:0;right:0;bottom:0;background:#ffffff57;border-radius:0 var(--radius-sm) var(--radius-sm) 0;pointer-events:none;z-index:1}.gantt-bar:active{cursor:grabbing}.gantt-bar-active{z-index:3}.gantt-bar-tk{font-size:8px;font-weight:700;background:#ffffff59;border-radius:2px;padding:0 2px;margin-right:2px;vertical-align:middle}.gantt-bar-lock{font-size:var(--font-size-sm);cursor:pointer;padding:0 4px;vertical-align:middle;opacity:.9;display:inline-block;z-index:5;position:relative}.gantt-bar-lock:hover{opacity:1;transform:scale(1.3)}.gantt-bar-unlock{opacity:0;transition:opacity .15s}.gantt-bar:hover .gantt-bar-unlock{opacity:.5}.gantt-bar:hover .gantt-bar-unlock:hover{opacity:1}.gantt-bar-locked{cursor:default!important;border:1px dashed rgba(255,255,255,.5)}.gantt-bar-empty{border:1px dashed currentColor;background-color:transparent!important}.gantt-bar-minimized{border-radius:var(--radius-xs);height:18px;position:absolute;cursor:default}.gantt-bar-segment{position:absolute;top:0;bottom:0;z-index:1}.gantt-bar-segment:first-child{border-radius:var(--radius-xs) 0 0 var(--radius-xs)}.gantt-bar-segment:last-child{border-radius:0 var(--radius-xs) var(--radius-xs) 0}.gantt-bar-segment:only-child{border-radius:var(--radius-xs)}.gantt-bar-overrun{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--color-danger),var(--color-danger) 3px,var(--color-danger-dark) 3px,var(--color-danger-dark) 6px);border-radius:0 var(--radius-xs) var(--radius-xs) 0;z-index:2;pointer-events:none;opacity:.9}.gantt-bar-has-overrun,.gantt-bar-has-under-budget{overflow:hidden;border-radius:var(--radius-xs)}.gantt-bar-under-budget{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--color-success-bright),var(--color-success-bright) 3px,var(--color-success-mid) 3px,var(--color-success-mid) 6px);border-radius:0 var(--radius-xs) var(--radius-xs) 0;z-index:2;pointer-events:none;opacity:.9}.gantt-install-marker{position:absolute;color:var(--color-danger-text);font-size:var(--font-size-smd);line-height:1;transform:translate(-50%,-50%);z-index:4;pointer-events:none;text-shadow:0 0 2px var(--color-bg-secondary),0 0 2px var(--color-bg-secondary)}.gantt-install-marker--qc{color:var(--color-success-text)}.gantt-glass-marker{position:absolute;color:var(--color-info-text);font-size:var(--font-size-smd);line-height:1;transform:translate(-50%,-50%);z-index:4;pointer-events:none;text-shadow:0 0 2px var(--color-bg-secondary),0 0 2px var(--color-bg-secondary)}.gantt-install-day{position:absolute;top:0;bottom:0;background:#7c3aed21;box-shadow:inset 1px 0 #7c3aed4d,inset -1px 0 #7c3aed4d;z-index:0}.gantt-install-line{position:absolute;height:0;border-top:1px dashed var(--color-slate-300);opacity:.28;z-index:1;pointer-events:none}.gantt-dept-connector{position:absolute;pointer-events:none;overflow:visible;opacity:.3}.gantt-dept-connector path{stroke:var(--color-slate-300);stroke-width:1;stroke-dasharray:3 3}.gantt-legend{display:flex;gap:var(--space-lg);padding:4px;background:var(--color-bg-primary);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.gantt-legend-item{display:flex;align-items:center;gap:6px}.gantt-legend-swatch{width:14px;height:14px;border-radius:var(--radius-xs);display:inline-block}.gantt-legend-diamond{display:inline-block;font-size:var(--font-size-smd);line-height:1}.gantt-picker-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.gantt-picker-modal{background:var(--color-bg-secondary);border-radius:var(--radius-lg);width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.gantt-picker-header{padding:16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.gantt-picker-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.gantt-picker-close-btn{background:none;border:none;font-size:var(--font-size-3xl);color:var(--color-text-muted);cursor:pointer;padding:0 4px;line-height:1}.gantt-picker-close-btn:hover{color:var(--color-text-primary)}.gantt-picker-actions{display:flex;gap:6px}.gantt-picker-actions .action-button{font-size:var(--font-size-sm)}.gantt-picker-list{flex:1;overflow-y:auto;max-height:50vh;padding:4px 0}.gantt-picker-item{display:flex;align-items:center;gap:var(--space-sm);padding:6px 12px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background .15s;border-bottom:1px solid var(--color-bg-primary)}.gantt-picker-item:hover{background:var(--color-bg-tertiary)}.gantt-picker-item input[type=checkbox]{flex-shrink:0;width:15px;height:15px;cursor:pointer;accent-color:var(--color-accent)}.gantt-picker-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gantt-picker-item-job{font-weight:600;color:var(--color-text-primary)}.gantt-picker-item-customer{color:var(--color-slate-500);font-size:var(--font-size-xs)}.gantt-picker-item-pm{color:var(--color-text-muted);font-size:var(--font-size-xs)}.gantt-picker-item .gantt-clock-indicator{font-size:var(--font-size-2xs);color:var(--color-success-bright);flex-shrink:0}.gantt-picker-footer{padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-primary);font-size:var(--font-size-smd);color:var(--color-slate-500);font-weight:500;display:flex;align-items:center;justify-content:space-between;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.gantt-context-menu{position:fixed;background:var(--color-bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:2000;min-width:160px;padding:4px 0}.gantt-context-menu-item{padding:8px 12px;font-size:var(--font-size-smd);color:var(--color-text-primary);cursor:pointer}.gantt-context-menu-item:hover{background:var(--color-bg-tertiary)}.gantt-worker-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1500;display:flex;justify-content:center}.gantt-worker-modal{background:var(--color-bg-secondary);border-radius:var(--radius-lg);width:1100px;max-width:96vw;max-height:96vh;margin:10px;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.gantt-worker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.gantt-worker-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.gantt-worker-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 20px}.gantt-worker-footer{padding:12px 20px;border-top:1px solid var(--color-border);background:var(--color-bg-primary);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.gantt-worker-columns{display:flex;gap:var(--space-md);height:100%}.gantt-worker-column{flex:1;min-width:0;display:flex;flex-direction:column}.gantt-worker-dept-title{font-size:var(--font-size-smd);font-weight:700;padding-bottom:4px;margin-bottom:0;border-bottom:2px solid currentColor;flex-shrink:0}.gantt-worker-assigned{display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-xs);min-height:60px;overflow-y:auto;padding:6px 0;border-bottom:1px solid var(--color-border);margin-bottom:0;flex-shrink:0}.gantt-worker-chip{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary)}.gantt-worker-half{color:var(--color-text-muted);font-size:var(--font-size-2xs)}.gantt-worker-chip-auto{border-color:var(--color-success-bright);background:var(--color-success-pale)}.gantt-worker-auto-tag{font-size:var(--font-size-2xs);font-weight:700;color:var(--color-success-bright);margin-right:3px}.gantt-worker-remove{cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1;margin-left:2px}.gantt-worker-remove:hover{color:var(--color-danger-text)}.gantt-worker-available{overflow-y:auto;border:none;border-radius:0;padding:6px 0;flex:1;min-height:0}.gantt-worker-group-label{font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;padding:4px 6px 2px;letter-spacing:.5px}.gantt-worker-add-row{display:flex;align-items:center;gap:6px;padding:2px 6px;font-size:var(--font-size-sm);color:var(--color-text-primary);border-radius:var(--radius-xs)}.gantt-worker-add-row:hover{background:var(--color-bg-tertiary)}.gantt-worker-add-btn{background:var(--color-accent);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:var(--font-size-md);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gantt-worker-add-btn:hover{background:var(--color-accent-hover)}.gantt-worker-on-other{border-left:3px solid var(--color-warning);padding-left:2px}.gantt-worker-info{display:flex;flex-direction:column;min-width:0}.gantt-worker-breakdown{font-size:var(--font-size-2xs);color:var(--color-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-col-depts{width:82px;flex-shrink:0;position:relative;align-self:stretch;overflow:visible;padding:0}.gantt-dept-tag{position:absolute;left:6px;right:4px;height:13px;display:flex;align-items:center;gap:6px;font-size:var(--font-size-2xs);font-weight:500;color:var(--color-text-secondary);overflow:hidden;white-space:nowrap}.gantt-dept-tag-sw{width:7px;height:7px;border-radius:2px;flex-shrink:0}.gantt-dept-tag-name{overflow:hidden;text-overflow:ellipsis}.gantt-deptgroup-th{padding:0 10px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.gantt-dept-header{background:color-mix(in srgb,var(--dept-color, var(--color-slate-400)) 16%,var(--color-bg-tertiary));border-bottom:1px solid var(--color-slate-300);border-left:5px solid var(--dept-color, var(--color-slate-400));cursor:pointer}.gantt-dept-header:hover{background:color-mix(in srgb,var(--dept-color, var(--color-slate-400)) 26%,var(--color-bg-tertiary))}.gantt-dept-child{border-left:5px solid color-mix(in srgb,var(--dept-color, var(--color-slate-400)) 45%,transparent)}.gantt-job-row{border-left:5px solid var(--row-color, var(--color-accent))}.gantt-job-row,.gantt-job-row-tl{border-bottom:3px solid var(--color-gray-400)}.gantt-lock-btn{cursor:pointer;font-size:var(--font-size-md);margin-right:5px;opacity:.7;filter:grayscale(1);-webkit-user-select:none;user-select:none;flex-shrink:0;transition:opacity .15s,transform .1s}.gantt-lock-btn:hover{opacity:1;transform:scale(1.15)}.gantt-lock-btn.locked{opacity:1;filter:none}.gantt-dept-header-cell{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:0 10px;overflow:hidden}.gantt-dept-caret{font-size:var(--font-size-2xs);color:var(--color-text-muted);width:10px;flex-shrink:0}.gantt-dept-swatch{width:11px;height:11px;border-radius:2px;flex-shrink:0}.gantt-dept-name{font-size:var(--font-size-sm);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-dept-count{margin-left:auto;flex-shrink:0;font-size:var(--font-size-xs);font-family:monospace;color:var(--color-text-secondary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 6px}.gantt-dept-child-cell{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:0 10px 0 28px;overflow:hidden}.gantt-dept-child-cust{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-row-complete{background:var(--color-success-pale)}.gantt-complete-banner{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:0 10px;min-width:0}.gantt-complete-text{display:flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-success-dark, var(--color-success-darker));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-complete-check{color:var(--color-success-text);font-weight:700;flex-shrink:0}.gantt-complete-cust{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis}.gantt-remove-job-btn{flex-shrink:0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger-text);background:var(--color-bg-secondary);border:1px solid var(--color-danger-tint);border-radius:var(--radius-xs);padding:2px 10px;cursor:pointer;transition:background .15s}.gantt-remove-job-btn:hover{background:var(--color-danger-pale)}.gantt-dept-rollup{position:absolute;border-radius:var(--radius-sm);opacity:.9;z-index:2;box-shadow:0 0 0 1px #ffffff8c,0 1px 2px #00000029}.gantt-drag-ghost{position:absolute;border-radius:var(--radius-xs);opacity:.3;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);font-size:var(--font-size-2xs);font-weight:600;color:#fff;border:1px dashed rgba(0,0,0,.4);overflow:hidden;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.4)}.todo-header-container{display:flex;justify-content:space-between;align-items:center;flex:1;gap:var(--space-xl)}.todo-header-container .user-greeting{flex:1}.todo-header-container #add-task-btn{white-space:nowrap}.quick-add-input:focus{outline:0;border-color:var(--color-accent)}.todo-controls-section,.todo-filter-section{display:flex;align-items:center;flex-wrap:wrap}.todo-filter-section{gap:var(--space-md)}.todos-list-container{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:20px}.todo-category-section{margin-bottom:var(--space-xxl)}.category-header h3{font-size:var(--font-size-lg);font-weight:600;margin:0}.category-count{background:var(--color-gray-100);padding:2px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-gray-500)}.todo-item:hover{background:var(--color-gray-50);box-shadow:var(--shadow-md);transform:translateY(-1px)}.todo-item.completed{opacity:.6;background:var(--color-gray-50)}.todo-item.overdue{border-left:4px solid var(--color-danger)}.todo-checkbox{margin-right:12px;padding-top:2px}.todo-toggle{width:20px;height:20px;cursor:pointer}.todo-content{flex:1}.todo-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.todo-text.line-through{text-decoration:line-through;color:var(--color-gray-500)}.todo-notes{display:block;color:var(--color-gray-500);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.todo-meta{gap:var(--space-md);flex-wrap:wrap}.follow-up-tasks{margin-top:var(--space-md);padding-top:12px;border-top:1px solid var(--color-border)}.followup-modal-item{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.followup-input{flex:1;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--font-size-md);font-family:inherit;line-height:1.5;resize:none;overflow:hidden;min-height:42px;transition:height .1s ease}.due-date{font-size:var(--font-size-sm);color:var(--color-gray-500)}.due-date.overdue{color:var(--color-danger-text);font-weight:600}.has-reminder{color:var(--color-info-text);background:var(--color-info-pale)}.todo-actions{display:flex;gap:var(--space-sm);opacity:0;transition:opacity .2s}.todo-item:hover .todo-actions{opacity:1}.todo-action-btn{background:0 0;border:0;cursor:pointer;font-size:var(--font-size-lg);padding:4px;border-radius:var(--radius-xs);transition:background .2s}.todo-action-btn:hover{background:var(--color-gray-200)}.user-greeting h2{font-size:var(--font-size-3xl);color:var(--color-gray-800);margin:0}.user-greeting p{color:var(--color-gray-500);margin:4px 0 0}.todo-controls-section{justify-content:space-between;gap:var(--space-xl);flex-shrink:0;padding:4px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-gray-200)}.todo-main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;background:var(--color-gray-50);min-height:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.todos-list .todo-item:last-child{margin-bottom:var(--space-xl)}.quick-add-container{align-items:center;display:flex;gap:var(--space-md);margin:0 auto}.todo-stats{display:flex;gap:var(--space-lg);margin-left:auto}#todos-list::-webkit-scrollbar,#team-todos-list::-webkit-scrollbar,#assigned-todos-list::-webkit-scrollbar,.todo-main-content::-webkit-scrollbar{width:8px}#todos-list::-webkit-scrollbar-track,#team-todos-list::-webkit-scrollbar-track,#assigned-todos-list::-webkit-scrollbar-track,.todo-main-content::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-xs)}.todo-main-content::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:var(--radius-xs)}#todos-list,#team-todos-list,#assigned-todos-list{max-height:60vh;overflow-y:auto;overflow-x:hidden;border-radius:var(--radius-md);padding:0;-webkit-overflow-scrolling:touch;position:relative}#todos-list::-webkit-scrollbar-thumb,#team-todos-list::-webkit-scrollbar-thumb,#assigned-todos-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:var(--radius-xs);transition:background .3s ease}.todos-list{padding:8px;display:flex;flex-direction:column;gap:var(--space-sm);position:relative;z-index:0}.todo-item{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;gap:var(--space-md);transition:all .2s;cursor:pointer;margin-bottom:var(--space-xs);flex-shrink:0;min-height:60px}.todos-list:after{content:"";height:20px;flex-shrink:0}#todos-list:after,#todos-list:before{content:"";position:absolute;left:0;right:0;height:20px;pointer-events:none;z-index:1}#todos-list:before{top:0;background:linear-gradient(to bottom,rgba(255,255,255,.9),transparent)}#todos-list:after{bottom:0;background:linear-gradient(to top,rgba(255,255,255,.9),transparent)}#todo-text{min-height:80px!important;resize:vertical!important;line-height:1.6}#todo-modal .form-control,#todo-modal input[type=date],#todo-modal input[type=text],#todo-modal input[type=time],#todo-modal select,#todo-modal textarea{line-height:1.5;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:var(--color-gray-800);background-color:var(--color-bg-secondary)}#todo-modal input::placeholder,#todo-modal textarea::placeholder{opacity:1;font-style:normal}#todo-modal .form-control:focus,#todo-modal input:focus,#todo-modal textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}#todo-modal .form-label{color:var(--color-gray-700);margin-bottom:6px;display:block}.quick-add-input{transition:border-color .2s;flex:1;border:2px solid var(--color-gray-200);border-radius:var(--radius-md);font-weight:400;padding:12px;-moz-osx-font-smoothing:grayscale}.quick-add-input,.todo-text{line-height:1.5;color:var(--color-gray-800)}.todo-text{margin-bottom:6px;font-size:var(--font-size-md)}@supports (-webkit-touch-callout:none){#todo-modal input,#todo-modal textarea{font-size:var(--font-size-lg)!important}}#todo-view{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.todo-quick-add-section{border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-shrink:0;padding:12px 20px;border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-50)}.todo-quick-add-section input.quick-add-input{height:48px}.todo-mode-tabs{display:flex;gap:var(--space-xs);padding:0 20px;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-200)}.todo-mode-tab{background:transparent;border:none;padding:10px 16px;font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-500);cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.todo-mode-tab:hover{color:var(--color-gray-800)}.todo-mode-tab.active{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}.todo-mode-panel{display:none}.todo-mode-panel.active{display:block}.todo-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-md);background:var(--color-gray-200);color:var(--color-gray-700);font-size:var(--font-size-xs);font-weight:600;line-height:1}.todo-mode-tab.active .todo-tab-count{background:var(--color-accent);color:#fff}.todo-owner-chip,.todo-from-chip,.todo-team-chip,.todo-completed-by,.todo-added-by,.todo-status-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.todo-owner-chip{background:#ccfbf1;color:#115e59}.todo-owner-chip.is-me{background:var(--color-accent);color:#fff}.todo-from-chip{background:var(--color-purple-100);color:#6b21a8}.todo-team-chip{background:#ccfbf1;color:#115e59}.todo-item.is-team-task{border-left:3px solid var(--color-teal-600)}.todo-completed-by{background:var(--color-gray-100);color:var(--color-gray-600)}.todo-added-by{padding:0;background:transparent;color:var(--color-gray-500);font-weight:400}.todo-status-chip.done{background:var(--color-success-tint);color:var(--color-green-800)}.todo-status-chip.pending{background:var(--color-warning-light);color:var(--color-warning-darker)}.todo-claim-btn{padding:2px 10px;border:1px dashed var(--color-gray-400);border-radius:var(--radius-md);background:transparent;color:var(--color-gray-600);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .15s}.todo-claim-btn:hover{border-style:solid;border-color:var(--color-accent);background:var(--color-info-light);color:var(--color-accent-hover)}.assigned-group{margin-bottom:18px}.assigned-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding:6px 4px;margin-bottom:var(--space-xs);border-bottom:1px solid var(--color-gray-200)}.assigned-group-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800)}.assigned-group-count{font-size:var(--font-size-sm);color:var(--color-gray-500)}.assigned-todo-item .todo-content{padding-left:4px}.team-task-member-row{display:flex;align-items:center;gap:10px;cursor:pointer}.team-task-member-name{font-weight:500;color:var(--color-gray-800)}.team-task-member-email{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-gray-500)}.todo-modal-heading{display:flex;align-items:center;gap:10px;min-width:0}.todo-modal-heading h2{margin:0}.todo-scope-badge{flex-shrink:0;background:#ffffff2e;color:#fff;letter-spacing:.3px;white-space:nowrap}.todo-scope-badge.is-team{background:var(--color-teal-600)}.todo-form-section{padding:12px 16px;margin-bottom:var(--space-lg, 16px);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50)}.todo-form-section .form-row:last-child,.todo-form-section .form-group:last-child{margin-bottom:0}.todo-form-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.todo-form-section-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500)}.todo-inline-check{display:inline-flex!important;align-items:center;gap:var(--space-sm);margin:0 0 12px;cursor:pointer}.todo-form-section-head .todo-inline-check{margin-bottom:0;color:var(--color-gray-600)}.todo-inline-check input[type=checkbox]{flex-shrink:0}.todo-field-error{font-weight:500}.todo-meta-strip{display:flex;flex-wrap:wrap;gap:6px 10px;padding-top:12px;border-top:1px solid var(--color-gray-200);font-size:var(--font-size-sm);color:var(--color-gray-500)}.todo-meta-strip>span:not(:last-child):after{content:"·";margin-left:10px;color:var(--color-gray-500)}@media(max-width:640px){.todo-form-section .form-row{grid-template-columns:1fr;gap:0}.todo-form-section .form-group{margin-bottom:var(--space-md)}.todo-form-section .form-group:last-child{margin-bottom:0}.todo-form-section-head{flex-direction:column;align-items:flex-start}}.todo-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md);padding:8px 20px 12px}.todo-calendar-nav{display:flex;align-items:center;gap:var(--space-sm)}.todo-calendar-title{margin:0 0 0 8px;font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-800)}.todo-calendar-views{display:inline-flex;background:var(--color-gray-100);border-radius:var(--radius-md);padding:2px;gap:2px}.cal-view-btn{background:transparent;border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-smd);font-weight:500;color:var(--color-gray-500);cursor:pointer;transition:all .15s}.cal-view-btn:hover{color:var(--color-gray-800)}.cal-view-btn.active{background:var(--color-bg-secondary);color:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.todo-calendar-body{padding:0 20px 16px}.todo-calendar-legend{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:12px 20px 20px;font-size:var(--font-size-sm);color:var(--color-gray-500)}.cal-legend-dot.assigned-to-me{background:var(--color-accent)}.cal-legend-dot.assigned-by-me{background:#a855f7}.cal-legend-dot.team-task{background:var(--color-teal-600)}.cal-legend-dot.completed{background:var(--color-gray-400)}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary)}.cal-month-weekday{background:var(--color-gray-50);padding:10px 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;text-align:center;border-bottom:1px solid var(--color-gray-200)}.cal-month-cell{min-height:120px;padding:6px;border-right:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100);display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .1s;position:relative}.cal-month-cell:nth-child(7n){border-right:none}.cal-month-cell:hover{background:var(--color-gray-50)}.cal-month-cell.other-month{background:var(--color-neutral-50);color:var(--color-gray-500)}.cal-month-cell.is-today{background:var(--color-info-pale)}.cal-month-cell.is-today .cal-month-daynum{background:var(--color-accent-hover);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.cal-month-daynum{font-size:var(--font-size-smd);font-weight:500;color:var(--color-gray-600);margin-bottom:2px;padding-left:2px}.cal-event{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-xs);background:var(--color-info-light);color:var(--color-accent-hover);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-left:3px solid var(--color-accent);transition:background .1s}.cal-event:hover{background:var(--color-info-light)}.cal-event.assigned-by-me{background:var(--color-purple-100);color:#6b21a8;border-left-color:#a855f7}.cal-event.assigned-by-me:hover{background:#e9d5ff}.cal-event.team-task{background:#ccfbf1;color:#115e59;border-left-color:var(--color-teal-600)}.cal-event.team-task:hover{background:#99f6e4}.cal-event.completed{background:var(--color-gray-100);color:var(--color-gray-500);border-left-color:var(--color-gray-400);text-decoration:line-through}.cal-more-link{font-size:var(--font-size-xs);color:var(--color-gray-500);cursor:pointer;padding:2px 6px}.cal-more-link:hover{color:var(--color-accent-hover)}.cal-week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary)}.cal-day-grid{display:grid;grid-template-columns:60px 1fr;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary)}.cal-week-header,.cal-day-header{background:var(--color-gray-50);padding:10px 8px;text-align:center;border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500)}.cal-week-header.is-today,.cal-day-header.is-today{background:var(--color-info-pale);color:var(--color-accent-hover)}.cal-week-header .cal-weekday-name,.cal-day-header .cal-weekday-name{display:block;text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.4px}.cal-week-header .cal-weekday-num,.cal-day-header .cal-weekday-num{display:block;font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-800);margin-top:2px}.cal-week-header.is-today .cal-weekday-num,.cal-day-header.is-today .cal-weekday-num{color:var(--color-accent-hover)}.cal-hour-label{border-right:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100);padding:2px 6px;font-size:var(--font-size-xs);color:var(--color-gray-500);text-align:right;height:40px}.cal-time-cell{border-right:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100);height:40px;position:relative;cursor:pointer}.cal-time-cell:hover{background:var(--color-gray-50)}.cal-time-cell:last-child{border-right:none}.cal-timed-event{position:absolute;left:4px;right:4px;background:var(--color-info-light);color:var(--color-accent-hover);border-left:3px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 6px;font-size:var(--font-size-xs);overflow:hidden;cursor:pointer;z-index:2}.cal-timed-event:hover{z-index:3;box-shadow:var(--shadow-md)}.cal-timed-event.assigned-by-me{background:var(--color-purple-100);color:#6b21a8;border-left-color:#a855f7}.cal-timed-event.team-task{background:#ccfbf1;color:#115e59;border-left-color:var(--color-teal-600)}.cal-timed-event.completed{background:var(--color-gray-100);color:var(--color-gray-500);border-left-color:var(--color-gray-400);text-decoration:line-through}.cal-timed-event .cal-event-time{font-weight:600;margin-bottom:2px}.cal-all-day-label{grid-column:1;padding:4px 6px;font-size:var(--font-size-xs);color:var(--color-gray-500);text-align:right;border-bottom:1px solid var(--color-gray-200);border-right:1px solid var(--color-gray-100)}.cal-all-day-cell{border-right:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);padding:2px;min-height:26px;display:flex;flex-direction:column;gap:2px}.cal-all-day-cell:last-child{border-right:none}.cal-event-assignee{font-size:var(--font-size-2xs);opacity:.75;margin-left:4px}@media(max-width:640px){.todo-header-container{flex-direction:row;align-items:center;gap:var(--space-sm);padding:8px 12px}.user-greeting h2{font-size:var(--font-size-lg);margin:0}.user-greeting p{display:none}#add-task-btn{padding:6px 12px;font-size:var(--font-size-smd);white-space:nowrap}.todo-mode-tabs{padding:0 12px;margin-bottom:6px}.todo-mode-tab{padding:8px 12px;font-size:var(--font-size-smd)}.todo-calendar-toolbar{padding:4px 12px 8px;gap:6px}.todo-calendar-nav{flex-wrap:wrap;gap:6px;width:100%}.todo-calendar-nav .btn{padding:4px 8px;font-size:var(--font-size-sm)}.todo-calendar-title{margin-left:4px;font-size:var(--font-size-md);flex:1;text-align:right}.todo-calendar-views{width:100%;justify-content:center}.cal-view-btn{flex:1;padding:6px 8px;font-size:var(--font-size-sm)}.todo-calendar-body{padding:0 8px 12px}.todo-calendar-legend{padding:8px 12px 16px;gap:10px;font-size:var(--font-size-xs)}.cal-month-weekday{padding:6px 2px;font-size:var(--font-size-2xs);letter-spacing:.3px}.cal-month-cell{min-height:64px;padding:2px;gap:2px}.cal-month-daynum{font-size:var(--font-size-xs);padding-left:0}.cal-month-cell.is-today .cal-month-daynum{width:20px;height:20px;font-size:var(--font-size-xs)}.cal-event{font-size:var(--font-size-2xs);padding:1px 4px;border-left-width:2px}.cal-more-link{font-size:var(--font-size-2xs);padding:1px 4px}.cal-week-grid{grid-template-columns:36px repeat(7,1fr)}.cal-day-grid{grid-template-columns:36px 1fr}.cal-week-header,.cal-day-header{padding:6px 2px;font-size:var(--font-size-2xs)}.cal-week-header .cal-weekday-name,.cal-day-header .cal-weekday-name{font-size:var(--font-size-2xs);letter-spacing:.2px}.cal-week-header .cal-weekday-num,.cal-day-header .cal-weekday-num{font-size:var(--font-size-md);margin-top:0}.cal-hour-label{padding:1px 4px;font-size:var(--font-size-2xs);height:36px}.cal-time-cell{height:36px}.cal-timed-event{left:2px;right:2px;padding:2px 4px;font-size:var(--font-size-2xs);border-left-width:2px}.cal-all-day-label{padding:2px 4px;font-size:var(--font-size-2xs)}.cal-all-day-cell{padding:2px;min-height:22px}.cal-event-assignee{display:none}}.autocomplete-results{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:1000;margin-top:2px}.autocomplete-result-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background-color .15s ease}.autocomplete-result-item:hover,.autocomplete-result-item.selected{background-color:var(--color-info-pale)}.autocomplete-result-item:last-child{border-bottom:none}.autocomplete-result-description{color:var(--color-gray-500);font-size:var(--font-size-smd);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.autocomplete-result-meta{display:flex;gap:var(--space-md);margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-gray-500)}.autocomplete-no-results{padding:20px;text-align:center}.autocomplete-loading{padding:20px;text-align:center;color:var(--color-gray-500);font-size:var(--font-size-md)}.past-order-times{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:var(--radius-md);background:var(--color-warning-light);color:var(--color-warning-darker);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.orders-table-enhanced th.reorder-col,.orders-table-enhanced td.reorder-cell{width:40px;text-align:center;padding-left:0;padding-right:4px}.order-reorder-btn{border:none;background:transparent;cursor:pointer;font-size:var(--font-size-md);line-height:1;padding:4px 6px;border-radius:var(--radius-xs);opacity:.35;transition:opacity .12s ease,background .12s ease}.order-row:hover .order-reorder-btn{opacity:.85}.order-reorder-btn:hover{opacity:1;background:var(--color-warning-light)}.order-reorder-btn:focus-visible{opacity:1;outline:2px solid var(--color-accent);outline-offset:1px}.order-chosen{background:var(--color-success-pale);border:1px solid var(--color-success-light);border-radius:var(--radius-md);padding:10px 12px}.order-chosen-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-green-700);margin-bottom:2px}.order-chosen-item{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800);white-space:pre-wrap;word-break:break-word}.order-chosen-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}#meetings-tab{order:11;position:relative}#meetings-view{margin:0;overflow-y:auto;height:100%;width:100%}#meetings-view .view-header{margin-bottom:var(--space-md)}#meetings-view .view-description{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:4px 0 0}.meeting-card{background:var(--color-bg-primary);border:1px solid var(--color-border);padding:24px;margin-bottom:var(--space-xxl)}.meeting-card.current-meeting{border-color:var(--color-accent);border-width:2px;background:linear-gradient(to bottom,var(--color-bg-primary),rgba(59,130,246,.02))}.meeting-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-xl);padding-bottom:16px;border-bottom:1px solid var(--color-border)}.meeting-card-date{color:var(--color-text-secondary);font-size:var(--font-size-md);display:flex;align-items:center;gap:0}.meeting-card-actions{display:flex;gap:var(--space-sm)}.meeting-section{margin-bottom:var(--space-xxl)}.meeting-section:last-child{margin-bottom:0}.meeting-notes{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;min-height:80px}.meeting-notes-text{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;font-family:inherit;font-size:var(--font-size-md)}.no-notes{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:20px}.meeting-date{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-top:var(--space-xs)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.section-header h4{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.action-controls{display:flex;align-items:center;gap:var(--space-sm)}.action-items-list{display:flex;flex-direction:column;gap:var(--space-md);min-height:100px;max-height:600px;overflow-y:auto}.action-items-list .no-action-items{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:32px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.action-item-card{background:var(--color-bg-primary);border:1px solid var(--color-border);padding:16px;transition:all .2s ease}.action-item-card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #3b82f61a}.action-item-card.completed{opacity:.7;background:var(--color-bg-tertiary)}.action-item-card.in-progress{border-left:3px solid var(--color-warning)}.action-item-card.pending{border-left:3px solid var(--color-border)}.action-item-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-sm)}.action-item-title{display:flex;align-items:center;gap:10px;flex:1}.action-item-title h5{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.action-item-card.completed .action-item-title h5{text-decoration:line-through;color:var(--color-text-secondary)}.action-status-toggle{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;padding:0;line-height:1;transition:transform .2s}.action-status-toggle:hover{transform:scale(1.2)}.action-description{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:8px 0;line-height:1.5}.action-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);font-size:var(--font-size-smd);color:var(--color-text-secondary);margin-top:var(--space-md)}.action-item-meta span{display:flex;align-items:center;gap:var(--space-xs)}.follow-up-actions{margin-top:var(--space-md);padding-top:12px;border-top:1px solid var(--color-border)}.follow-up-header{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.follow-up-item{display:flex;align-items:center;gap:var(--space-sm);padding:4px 0;font-size:var(--font-size-md)}.follow-up-checkbox{width:16px;height:16px;cursor:pointer}.follow-up-text{flex:1;color:var(--color-text-primary)}.follow-up-text.line-through{text-decoration:line-through;color:var(--color-text-secondary)}.follow-up-modal-item{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.follow-up-input{flex:1;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--font-size-md);font-family:inherit;line-height:1.5;resize:none;overflow:hidden;min-height:36px;transition:height .1s ease}.action-assignee{color:var(--color-text-primary);font-weight:500}.action-due-date{color:var(--color-text-secondary)}.meeting-comments{display:flex;flex-direction:column;gap:var(--space-md);max-height:400px;overflow-y:auto;margin-bottom:var(--space-lg);padding:8px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.meeting-comments .no-comments{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:32px 16px}.meeting-comment.own-comment{background:#3b82f60d;border-color:var(--color-accent)}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.comment-header strong{font-weight:600;color:var(--color-text-primary);font-size:var(--font-size-md)}.comment-time{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.comment-text{color:var(--color-text-primary);line-height:1.5;font-size:var(--font-size-md);white-space:pre-wrap}.add-comment-section{display:flex;gap:var(--space-md);align-items:flex-start}.add-comment-section textarea{flex:1;padding:10px 12px;background:var(--color-bg-primary);min-height:60px}.add-comment-section textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.meeting-comment{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.meeting-attendees-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.meeting-attendees{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-md)}.attendee-badge{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;padding:8px 12px;border-radius:var(--radius-2xl);font-size:var(--font-size-md);font-weight:500;display:inline-flex;align-items:center;gap:0;box-shadow:0 2px 4px #3b82f633;transition:all .2s ease}.attendee-badge:before{content:none;font-size:var(--font-size-sm)}.attendee-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.no-attendees{color:var(--color-text-secondary);font-style:italic;font-size:var(--font-size-smd)}.meetings-layout{display:flex;gap:var(--space-xl);flex:1;min-height:0}.meetings-sidebar{width:300px;flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:16px;border-bottom:2px solid var(--color-border);background:var(--color-bg-primary)}.sidebar-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.meetings-sidebar-list{flex:1;overflow-y:auto;padding:8px}.sidebar-meeting-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-sm);cursor:pointer;transition:all .2s ease}.sidebar-meeting-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translate(4px)}.sidebar-meeting-item.active{border-color:var(--color-accent);border-width:2px;background:linear-gradient(to right,rgba(59,130,246,.05),var(--color-bg-primary))}.sidebar-meeting-item.current{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;border-color:var(--color-accent-hover)}.sidebar-meeting-item.current:hover{background:linear-gradient(135deg,var(--color-accent-hover),var(--color-accent-hover));transform:translate(4px)}.sidebar-meeting-item.current .sidebar-meeting-title,.sidebar-meeting-item.current .sidebar-meeting-date,.sidebar-meeting-item.current .sidebar-meeting-meta{color:#fff!important}.sidebar-meeting-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-meeting-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:6px}.sidebar-meeting-meta{display:flex;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sidebar-meeting-badge{background:var(--color-accent);color:#fff;padding:2px 6px;border-radius:var(--radius-md);font-size:var(--font-size-2xs);font-weight:600}.sidebar-meeting-item.current .sidebar-meeting-badge{background:#ffffff4d}.meetings-main-content{flex:1;overflow-y:auto;padding-right:8px}.past-meetings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.past-meeting-date{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-md)}#meeting-modal .modal-content,#action-item-modal .modal-content{max-width:800px}#action-item-modal .modal-body{max-height:70vh;overflow-y:auto}#action-item-modal .form-group{position:relative;margin-bottom:var(--space-lg)}#action-item-modal .form-label{display:block;margin-bottom:6px;color:var(--color-text-primary)}#action-item-modal .form-control{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;background:var(--color-bg-primary);transition:border-color .2s,box-shadow .2s}#action-item-modal .form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}#action-item-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}#action-item-modal select.form-control{cursor:pointer}#action-item-modal .form-help{display:block;margin-top:var(--space-xs);font-size:var(--font-size-sm)}#action-item-modal #job-search-results{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:250px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10000;margin-top:0}#action-item-modal .autocomplete-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color .15s}#action-item-modal .autocomplete-result-item:last-child{border-bottom:none}#action-item-modal .autocomplete-result-item:hover{background:var(--color-bg-tertiary)}#action-item-modal .autocomplete-result-item strong{color:var(--color-accent);font-weight:600}#action-item-modal .autocomplete-result-item small{display:block;margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}#action-item-modal .autocomplete-no-results{padding:12px 16px;text-align:center}#action-item-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}#action-item-modal .form-actions-left,#action-item-modal .form-actions-right{display:flex;gap:var(--space-md)}#action-item-modal input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer;accent-color:var(--color-accent)}#action-item-modal #clear-job-link-btn{min-width:80px;flex-shrink:0}#action-item-modal .action-assignees-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md);padding:12px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border);max-height:200px;overflow-y:auto}#action-item-modal .action-assignee-checkbox{display:flex;align-items:center;gap:var(--space-sm);padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s}#action-item-modal .action-assignee-checkbox:hover{background:var(--color-bg-tertiary)}#action-item-modal .action-assignee-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-accent)}#action-item-modal .action-assignee-checkbox span{font-size:var(--font-size-md);color:var(--color-text-primary)}#action-item-modal .no-users{text-align:center;color:var(--color-text-secondary);font-style:italic;padding:16px}.meeting-modal-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary)}.attendees-list{display:flex;flex-direction:column;gap:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px;max-height:250px;overflow-y:auto}.attendee-checkbox{display:flex;align-items:center;gap:var(--space-md);padding:12px;border-radius:var(--radius-sm);transition:all .2s;cursor:pointer;border-bottom:1px solid var(--color-border)}.attendee-checkbox:last-child{border-bottom:none}.attendee-checkbox:hover{background:var(--color-bg-primary)}.attendee-checkbox input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;margin:0;flex-shrink:0}.attendee-checkbox span{cursor:pointer;font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);-webkit-user-select:none;user-select:none;flex:1}@media(max-width:767px){#meetings-view{padding:8px}.meeting-card{padding:12px;margin-bottom:14px;border-radius:var(--radius-md)}.meeting-card-header{flex-direction:column;gap:10px;padding-bottom:12px;margin-bottom:14px}.meeting-card-actions{width:100%;justify-content:stretch}.meeting-card-actions button{flex:1;min-height:44px;font-size:var(--font-size-smd)}.meeting-section{margin-bottom:var(--space-lg)}.past-meetings-list,.attendees-list{grid-template-columns:1fr}.action-item{padding:12px}.action-item-header{flex-direction:column;gap:var(--space-sm)}.meeting-comments{padding:12px}#meeting-modal .modal-content{width:100%;height:100%;max-width:100%;margin:0;border-radius:0}}.hardware-ordering-container{max-height:60vh;overflow-y:auto;padding:8px}.hardware-section{margin-bottom:var(--space-xxl);padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.hardware-section h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.hardware-section h3 input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-accent)}.hardware-items-list{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.hardware-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-md);padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all .2s}.hardware-item:hover{border-color:var(--color-accent);box-shadow:0 2px 4px #3b82f61a}.hardware-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-accent);margin:0}.hardware-item-details{display:flex;flex-direction:column;gap:var(--space-xs)}.hardware-item-name{font-weight:500;color:var(--color-text-primary);font-size:var(--font-size-md)}.hardware-item-meta{display:flex;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.hardware-item-meta span{display:inline-flex;align-items:center;gap:var(--space-xs)}.hardware-item-qty{display:flex;align-items:center;gap:0}.hardware-item-qty label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.hardware-item-qty input{width:60px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-xs);text-align:center;font-size:var(--font-size-md)}.hardware-item-price{font-weight:600;color:var(--color-accent);font-size:var(--font-size-md);min-width:80px;text-align:right}.hw-order-modal-content{max-width:1100px;max-height:90vh}.hw-order-filters{padding:16px 24px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);display:flex;flex-direction:column;gap:var(--space-md)}.hw-order-search-container{flex:1}.hw-order-search-input{padding:var(--input-padding-y) 16px var(--input-padding-y) 16px;border:2px solid var(--color-gray-200);transition:all .2s}.hw-order-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.hw-order-filter-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap}.hw-order-filter-btn{padding:8px 16px;border:2px solid var(--color-gray-200);background:var(--color-bg-secondary);border-radius:var(--radius-xl);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s}.hw-order-filter-btn:hover{border-color:var(--color-accent);background:var(--color-info-pale)}.hw-order-filter-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.hw-order-container{max-height:60vh;overflow-y:auto;padding:16px}.hw-order-section{margin-bottom:var(--space-xl);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary)}.hw-order-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.hw-order-section-header:hover{background:var(--color-gray-100)}.hw-order-section-title{display:flex;align-items:center;gap:10px;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800)}.hw-order-section-toggle{font-size:var(--font-size-2xl);color:var(--color-gray-500);transition:transform .2s}.hw-order-section.collapsed .hw-order-section-toggle{transform:rotate(-90deg)}.hw-order-section-content{padding:12px;max-height:500px;overflow-y:auto;transition:max-height .3s ease}.hw-order-section.collapsed .hw-order-section-content{max-height:0;padding:0;overflow:hidden}.hw-order-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:12px;margin-bottom:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all .2s}.hw-order-item:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #3b82f61a}.hw-order-item-checkbox{width:18px;height:18px;cursor:pointer}.hw-order-item-details{flex:1}.hw-order-item-name{font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-xs)}.hw-order-item-meta{display:flex;gap:var(--space-md);font-size:var(--font-size-smd);color:var(--color-gray-500)}.hw-order-item-supplier{font-weight:500}.hw-order-item-code{background:var(--color-gray-100);padding:2px 8px;border-radius:var(--radius-xs);font-family:Courier New,monospace}.hw-order-item-qty{display:flex;align-items:center;gap:0}.hw-order-item-qty-label{font-size:var(--font-size-smd);color:var(--color-gray-500)}.hw-order-item-qty-input{width:60px;padding:6px 8px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);text-align:center;font-size:var(--font-size-md);font-weight:500}.hw-order-footer-info{flex:1;font-size:var(--font-size-md);color:var(--color-gray-500);font-weight:500}.hw-order-footer-actions{display:flex;gap:10px}#hw-order-selected-count{font-weight:600;color:var(--color-accent)}.hw-settings-wrapper{padding:0}.hw-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xxl);padding-bottom:20px;border-bottom:2px solid var(--color-gray-200)}.hw-brochure-panel:not(:empty){margin-bottom:var(--space-lg)}.hw-suppliers-panel:not(:empty){margin-bottom:var(--space-lg)}.hw-suppliers{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:8px 12px;background:var(--color-gray-50)}.hw-suppliers-summary{cursor:pointer;font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.hw-suppliers-count{font-weight:500;color:var(--color-gray-500)}.hw-suppliers-hint{margin:8px 0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.hw-supplier-rows{display:flex;flex-direction:column;gap:6px}.hw-supplier-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:10px}.hw-supplier-name{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700)}.hw-supplier-email{padding:6px 10px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font:inherit;font-size:var(--font-size-smd)}.hw-brochure-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.hw-brochure-label{font-weight:600;color:var(--color-gray-700);font-size:var(--font-size-md)}.hw-settings-title h3{margin:0 0 8px;font-size:var(--font-size-3xl);color:var(--color-gray-800)}.hw-settings-subtitle{margin:0;color:var(--color-gray-500);font-size:var(--font-size-md)}.hw-settings-actions{display:flex;gap:10px}.hw-settings-btn-primary,.hw-settings-btn-secondary{display:inline-flex;gap:0}.hw-settings-filters{background:var(--color-gray-50);padding:20px;border-radius:var(--radius-md);margin-bottom:var(--space-xl);border:1px solid var(--color-gray-200)}.hw-filter-search{margin-bottom:var(--space-lg)}.hw-filter-search-input{padding:var(--input-padding-y) 16px var(--input-padding-y) 16px;border:2px solid var(--color-gray-200);transition:all .2s}.hw-filter-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.meetings-empty-state{padding:16px;text-align:center}#meetings-view.mobile-meetings-active{height:100%;display:flex;flex-direction:column;overflow:hidden}#meetings-view.mobile-meetings-active .view-header,#meetings-view.mobile-meetings-active .meetings-layout{display:none}#meetings-view.mobile-meeting-detail-active{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}#meetings-view.mobile-meeting-detail-active .view-header{display:none}#meetings-view.mobile-meeting-detail-active .meetings-layout{display:flex;flex-direction:column;height:100%;padding:48px 8px 80px}#meetings-view.mobile-meeting-detail-active .meetings-sidebar{display:none}#meetings-view.mobile-meeting-detail-active .meetings-main-content{width:100%;max-width:100%;padding:0}#meetings-view.mobile-meeting-detail-active .meeting-card{border-radius:var(--radius-md);margin:0}.hw-filter-label{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.5px}.hw-filter-select{border:2px solid var(--color-gray-200);background:var(--color-bg-secondary);transition:all .2s}.hw-filter-select:focus{outline:none;border-color:var(--color-accent)}.hw-settings-table-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-xl)}.hw-settings-table{width:100%;border-collapse:collapse}.hw-settings-thead{background:var(--color-gray-50);border-bottom:2px solid var(--color-gray-200)}.hw-settings-thead th{padding:12px 16px;text-align:left;font-size:var(--font-size-smd);font-weight:700;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.5px}.hw-th-actions{text-align:center!important;width:100px}.hw-th-qty{text-align:center!important;width:60px}.hw-th-type,.hw-th-hardware{width:120px}.hw-th-code{width:140px}.hw-settings-tbody tr{border-bottom:1px solid var(--color-gray-100);transition:background .2s}.hw-settings-tbody tr:hover{background:var(--color-gray-50)}.hw-settings-tbody tr:last-child{border-bottom:none}.hw-settings-tbody td{padding:12px 16px;font-size:var(--font-size-md);color:var(--color-gray-800)}.hw-settings-tbody td code{background:var(--color-gray-100);padding:2px 8px;border-radius:var(--radius-xs);font-family:Courier New,monospace;font-size:var(--font-size-smd);color:var(--color-gray-600)}.hw-empty-state{text-align:center!important;padding:56px 20px!important}.hw-loading{color:var(--color-gray-500);font-size:var(--font-size-md)}.hw-settings-footer{display:flex;align-items:center;gap:var(--space-sm);padding:16px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.hw-count-badge{background:var(--color-accent);color:#fff;padding:0;border-radius:var(--radius-xl);font-weight:700;font-size:var(--font-size-md)}.hw-count-label{color:var(--color-gray-500);font-size:var(--font-size-md);font-weight:500}.hw-edit-modal-content{max-width:700px;border-radius:var(--radius-lg)}.hw-edit-modal-header{background:var(--gradient-special);color:#fff;padding:24px 28px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.hw-edit-modal-title{margin:0;font-weight:700;display:flex;align-items:center;gap:10px}.hw-edit-modal-body{padding:28px;background:var(--color-bg-secondary)}.hw-edit-form{display:flex;flex-direction:column;gap:var(--space-xxl)}.hw-edit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.hw-edit-form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.hw-edit-form-group-full{grid-column:1 / -1}.hw-edit-label{color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.5px}.hw-edit-input,.hw-edit-select{padding:var(--input-padding-y) 16px var(--input-padding-y) 16px;border:2px solid var(--color-gray-200);color:var(--color-gray-800);background:var(--color-bg-secondary);transition:all .2s}.hw-edit-input:focus,.hw-edit-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #667eea1a}.hw-edit-input::placeholder{color:var(--color-gray-400)}.hw-edit-select{cursor:pointer}.hw-edit-form-note{background:var(--color-info-pale);border:1px solid var(--color-info-light);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-top:var(--space-xs)}.hw-edit-note-text{font-size:var(--font-size-smd);color:var(--color-accent-hover);line-height:1.5;margin:0}.hw-edit-modal-footer{padding:20px 28px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-200);display:flex;justify-content:flex-end;gap:var(--space-md);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.hw-edit-btn-cancel,.hw-edit-btn-save{border:none}.hw-edit-btn-cancel:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.hw-edit-btn-save{box-shadow:0 2px 8px #667eea4d}.hw-edit-btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.hw-edit-btn-save:active{transform:translateY(0)}@media(max-width:767px){.hw-edit-form-grid{grid-template-columns:1fr}.hw-edit-modal-content{max-width:95%}}#hardware-ordering-modal{z-index:10002}.hw-image-field{display:flex;gap:var(--space-md);align-items:flex-start;flex-wrap:wrap}.hw-image-preview{width:120px;height:120px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-gray-50);color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden}.hw-image-preview img{width:100%;height:100%;object-fit:contain;background:var(--color-bg-secondary)}.hw-image-actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start;min-width:0;flex:1 1 200px}.hw-desc-cell{font-weight:500}.hw-desc-cell span{vertical-align:middle}.hw-table-thumb{width:32px;height:32px;object-fit:contain;vertical-align:middle;margin-right:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-secondary)}#install-warranty-pack-modal .iwp-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg);margin-bottom:6px}#install-warranty-pack-modal .iwp-grid .iwp-wide{grid-column:1 / -1}#install-warranty-pack-modal .iwp-ro{padding:8px 10px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-md);min-height:38px;display:flex;align-items:center;word-break:break-word}#install-warranty-pack-modal .iwp-note{padding:10px 12px;margin-bottom:14px;background:var(--color-warning-pale);border:1px solid var(--color-amber-200);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--color-warning-darker)}#install-warranty-pack-modal .iwp-flag{padding:6px 10px;margin-top:6px;background:var(--color-danger-pale);border:1px solid var(--color-danger-tint);border-radius:var(--radius-sm);font-size:var(--font-size-smd);color:var(--color-danger-text)}#install-warranty-pack-modal .iwp-muted{color:var(--color-gray-500);font-size:var(--font-size-md)}#install-warranty-pack-modal .iwp-items{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding-right:4px}#install-warranty-pack-modal .iwp-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px 12px;background:var(--color-bg-secondary)}#install-warranty-pack-modal .iwp-item-head{font-size:var(--font-size-lg);margin-bottom:var(--space-xs);color:var(--color-gray-800)}#install-warranty-pack-modal .iwp-spec{margin:4px 0 0;padding-left:16px;font-size:var(--font-size-smd);color:var(--color-gray-700)}#install-warranty-pack-modal .iwp-spec li{margin:1px 0}@media(max-width:640px){#install-warranty-pack-modal .iwp-grid{grid-template-columns:1fr}}#approval-recipients-modal .modal-content{max-width:620px}.apr-intro{margin:0 0 var(--space-md);color:var(--color-text-secondary)}.apr-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.apr-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.apr-row.is-off{opacity:.6}.apr-row input[type=checkbox]{width:18px;height:18px}.apr-who{min-width:0}.apr-name{font-weight:600;color:var(--color-text-primary)}.apr-email{color:var(--color-text-secondary);overflow-wrap:anywhere}.apr-source{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.apr-role{min-width:170px}.apr-add{display:grid;grid-template-columns:1fr 1.4fr auto;gap:var(--space-sm);margin-bottom:var(--space-md)}.apr-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-sm)}.apr-error{color:var(--color-danger-text);font-weight:600;margin:0 0 var(--space-sm)}@media(max-width:600px){.apr-row{grid-template-columns:auto 1fr}.apr-role{grid-column:2;min-width:0;width:100%}.apr-add{grid-template-columns:1fr}}#admin-view{overflow-y:auto;height:100%}.clickable-card{cursor:pointer;transition:box-shadow .15s,transform .15s;position:relative}.clickable-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.admin-category-nav{position:sticky;top:0;z-index:20;display:flex;gap:15px;margin:20px 0 30px;padding:16px;background:var(--gradient-special);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.admin-category-btn{flex:1;padding:16px 24px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--font-size-lg);transition:all .3s ease}.admin-category-btn:hover{background:#fff3;border-color:#fff9;transform:translateY(-2px)}.admin-category-btn.active{background:var(--color-bg-secondary);color:var(--color-accent);border-color:#fff;box-shadow:var(--shadow-lg)}.admin-category{display:none}.admin-category.active{display:block}.category-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:2px solid var(--color-gray-100);margin-bottom:var(--space-xl)}.category-header h2{color:#2c3e50;margin-bottom:var(--space-sm)}.category-header p{color:var(--color-gray-500);margin:0}.admin-sections-nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;padding:10px;background:var(--color-gray-50);border-radius:var(--radius-md)}.admin-section-btn{padding:6px;border:2px solid var(--color-gray-300);background:var(--color-bg-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:120px;flex:0 0 auto}.admin-section-btn:hover{border-color:var(--color-accent);background:var(--color-info-pale)}.admin-section-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.admin-section{display:none}.admin-section.active{display:block}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:16px;border-bottom:2px solid var(--color-gray-300)}.section-toolbar h2{margin:0;font-size:var(--font-size-3xl);color:var(--color-neutral-700)}#training-overview-section.active,#toolbox-talks-section.active{display:block!important;padding:0!important;overflow:visible}#training-overview-section .matrix-scroll-container,#toolbox-talks-section .matrix-scroll-container,#monthly-checkins-section .matrix-scroll-container{overflow-x:scroll;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none;margin-top:0;padding-top:0}#training-overview-section .matrix-scroll-container::-webkit-scrollbar,#toolbox-talks-section .matrix-scroll-container::-webkit-scrollbar,#monthly-checkins-section .matrix-scroll-container::-webkit-scrollbar{display:none}.matrix-sticky-scrollbar{position:fixed;bottom:0;left:0;right:0;height:17px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-300);overflow-x:auto;overflow-y:hidden;z-index:1000;display:none}.matrix-sticky-scrollbar.active{display:block}.matrix-sticky-scrollbar-inner{height:1px}.section-toolbar--sticky{position:sticky;top:0;z-index:300;background:var(--color-bg-secondary);box-shadow:var(--shadow-md)}.section-edit-btn{background:none;border:1px solid var(--color-gray-300);color:var(--color-neutral-600);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-smd);cursor:pointer;transition:all .15s}.section-edit-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.section-edit-btn.active{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-darker)}.card-delete-btn{display:none;position:absolute;top:8px;right:8px;background:var(--color-bg-secondary);border:1px solid var(--color-danger-mid);color:var(--color-danger-text);border-radius:50%;width:24px;height:24px;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-sm);padding:0;z-index:5;box-shadow:var(--shadow-sm);transition:background .15s}.card-delete-btn:hover{background:var(--color-danger-pale)}.training-matrix-table,.toolbox-matrix-table{border-collapse:separate!important;border-spacing:0;margin:0!important;border-top:none!important}.training-matrix-table thead,.toolbox-matrix-table thead{visibility:hidden;height:0!important;max-height:0!important;line-height:0;overflow:hidden}.training-matrix-table thead tr,.toolbox-matrix-table thead tr{height:0!important;max-height:0!important}.training-matrix-table thead th,.toolbox-matrix-table thead th{padding:0!important;border:none!important;height:0!important;max-height:0!important;line-height:0;font-size:0}.matrix-sticky-header{position:sticky;top:55px;z-index:250;background:var(--color-gray-50);overflow:hidden;display:none;margin-bottom:-1px;border-bottom:1px solid var(--color-gray-300);box-shadow:var(--shadow-md)}.matrix-sticky-header.active{display:block}.matrix-sticky-header+.matrix-scroll-container{margin-top:0!important;padding-top:0!important}.matrix-sticky-header+.matrix-scroll-container table{margin-top:0!important}#toolbox-sticky-header{margin-bottom:0!important;padding-bottom:0!important}#toolbox-talks-section .toolbox-matrix-container{margin-top:0!important;padding-top:0!important}.matrix-sticky-header table{border-collapse:collapse!important;border-spacing:0;table-layout:fixed}.matrix-sticky-header th{background:var(--color-gray-50)!important;border:1px solid var(--color-gray-300)!important;border-bottom:2px solid var(--color-gray-300)!important;padding:8px;text-align:center;font-size:var(--font-size-sm);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:120px;box-sizing:border-box}.matrix-sticky-header th:first-child{text-align:left;min-width:150px;max-width:150px}.training-matrix-table .department-header-row td,.toolbox-matrix-table .department-header-row td{position:sticky;left:0;z-index:50;background:var(--color-gray-200);background-clip:padding-box}.training-matrix-table thead th:first-child,.toolbox-matrix-table thead th:first-child,.training-matrix-table tbody td:first-child,.toolbox-matrix-table tbody td:first-child{position:sticky;left:0;z-index:100!important;background:inherit}.toolbox-header-cell{cursor:pointer;transition:background-color .2s}.toolbox-header-cell:hover{background:var(--color-gray-200)!important}.toolbox-header-cell .header-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.toolbox-header-cell .header-title{font-weight:600;font-size:var(--font-size-sm)}.toolbox-header-cell .header-doc-status{font-size:var(--font-size-2xs);padding:2px 6px;border-radius:var(--radius-md);background:var(--color-gray-200);color:var(--color-neutral-600)}.toolbox-header-cell .header-doc-status.has-doc{background:var(--color-success-light);color:var(--color-success-darker)}.checkins-matrix-table{border-collapse:separate!important;border-spacing:0;margin:0!important;border-top:none!important}.checkins-matrix-table thead{visibility:hidden;height:0!important;max-height:0!important;line-height:0;overflow:hidden}.checkins-matrix-table thead tr{height:0!important;max-height:0!important}.checkins-matrix-table thead th{padding:0!important;border:none!important;height:0!important;max-height:0!important;line-height:0;font-size:0}.checkins-matrix-container{overflow-x:auto;margin:0;padding:0}.checkins-matrix-table tbody td{border:1px solid var(--color-gray-300);padding:8px;text-align:center;vertical-align:middle}.checkins-matrix-table tbody td:first-child{text-align:left;font-weight:500;min-width:180px;max-width:180px;position:sticky;left:0;z-index:100;background:var(--color-bg-secondary)}.checkins-matrix-table tbody tr:hover td,.checkins-matrix-table tbody tr:hover td:first-child{background:var(--color-gray-50)}.checkins-matrix-table .department-header-row td{background:var(--color-gray-200);font-weight:600;color:var(--color-gray-600);padding:10px 8px}.checkins-matrix-table .department-header-row td:first-child{position:sticky;left:0;z-index:50;white-space:nowrap}.checkin-status-dot{display:inline-block;width:20px;height:20px;border-radius:50%;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.checkin-status-dot:hover{transform:scale(1.2);box-shadow:var(--shadow-md)}.checkin-status-dot.checkin-green{background:var(--color-success);border-color:#1e7e34}.checkin-status-dot.checkin-amber{background:var(--color-warning);border-color:#d39e00}.checkin-status-dot.checkin-red{background:var(--color-danger);border-color:#bd2130}.checkin-status-dot.checkin-pending{background:var(--color-gray-200);border-color:var(--color-gray-400)}.checkin-status-dot.checkin-draft{border-style:dashed;border-color:var(--color-neutral-500, var(--color-gray-500));opacity:.85}.checkin-cell{cursor:pointer;padding:12px 8px!important;transition:background-color .2s}.checkin-cell:hover{background:var(--color-gray-200)!important}.checkin-section{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);margin-bottom:15px;overflow:hidden}.checkin-section-header{background:var(--color-gray-50);padding:12px 16px;font-weight:600;font-size:var(--font-size-md);border-bottom:1px solid var(--color-gray-300);display:flex;align-items:center;gap:var(--space-sm)}.checkin-section-header span:first-child{font-size:var(--font-size-lg)}.checkin-section .form-group{padding:16px;margin:0}.checkin-editor{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.checkin-editor:focus-within{border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d926}.checkin-editor-toolbar{display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.editor-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-gray-600);cursor:pointer;font-size:var(--font-size-smd);line-height:1}.editor-btn:hover{background:var(--color-gray-200);color:var(--color-gray-800)}.editor-btn:active,.editor-btn.active{background:var(--color-gray-300);color:var(--color-gray-800)}.editor-divider{width:1px;height:18px;background:var(--color-gray-300);margin:0 4px}.checkin-editor-content{min-height:120px;max-height:300px;overflow-y:auto;padding:12px 16px;font-size:var(--font-size-md);line-height:1.6;color:var(--color-gray-800);outline:none}.checkin-editor-content:empty:before{content:attr(data-placeholder);color:var(--color-gray-500);pointer-events:none}.checkin-editor-content ul,.checkin-editor-content ol{margin:4px 0;padding-left:24px}.checkin-editor-content li{margin-bottom:2px}.checkin-documents-dropzone{border:2px dashed var(--color-slate-300);border-radius:var(--radius-md);padding:28px;text-align:center;cursor:pointer;transition:all .2s ease;margin:15px;background:var(--color-bg-primary)}.checkin-documents-dropzone:hover,.checkin-documents-dropzone.drag-over{border-color:var(--color-accent);background:var(--color-info-pale)}.checkin-documents-dropzone .dropzone-content{pointer-events:none}.checkin-documents-dropzone p{margin:5px 0;color:var(--color-slate-500);font-size:var(--font-size-md)}.checkin-documents-dropzone .dropzone-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.checkin-documents-list{padding:0 16px 16px}.checkin-document-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-smd)}.checkin-document-item .doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-document-item .doc-size{color:var(--color-slate-500);font-size:var(--font-size-sm)}.checkin-document-item .doc-remove{background:none;border:none;color:var(--color-danger-text);cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-md)}.checkin-document-item .doc-remove:hover{background:var(--color-danger-light)}.checkin-kpis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;padding:16px}.checkin-kpi-item{display:flex;align-items:center;gap:var(--space-md);padding:12px;background:var(--color-gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.checkin-kpi-item .kpi-label{flex:1;font-size:var(--font-size-smd);font-weight:500}.checkin-kpi-item .kpi-status{display:flex;gap:var(--space-xs)}.checkin-kpi-item .kpi-status-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;opacity:.4}.checkin-kpi-item .kpi-status-btn:hover{opacity:.8}.checkin-kpi-item .kpi-status-btn.active{opacity:1;transform:scale(1.1)}.checkin-kpi-item .kpi-status-btn.kpi-green{background:var(--color-success);border-color:#1e7e34}.checkin-kpi-item .kpi-status-btn.kpi-amber{background:var(--color-warning);border-color:#d39e00}.checkin-kpi-item .kpi-status-btn.kpi-red{background:var(--color-danger);border-color:#bd2130}.checkin-kpi-item .kpi-label-text{display:flex;align-items:center;gap:var(--space-sm)}.kpi-critical-badge{display:inline-block;background:var(--color-danger);color:#fff;text-transform:uppercase}.checkin-kpi-item-vertical{background:var(--color-gray-50);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:var(--space-md);border:1px solid var(--color-gray-200)}.checkin-kpi-item-vertical .kpi-header-row{margin-bottom:10px}.checkin-kpi-item-vertical .kpi-label-text{font-weight:600;font-size:var(--font-size-md);color:var(--color-neutral-700);display:flex;align-items:center;gap:var(--space-sm)}.checkin-kpi-item-vertical .kpi-options-vertical{display:flex;flex-direction:column;gap:6px}.checkin-kpi-item-vertical .kpi-option-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease;border:2px solid transparent}.checkin-kpi-item-vertical .kpi-option-row:hover{background:var(--color-gray-200)}.checkin-kpi-item-vertical .kpi-option-row.selected{background:var(--color-info-light);border-color:var(--color-accent)}.checkin-kpi-item-vertical .kpi-status-btn{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;opacity:.6;transition:all .15s ease;flex-shrink:0}.checkin-kpi-item-vertical .kpi-status-btn.active{opacity:1;transform:scale(1.15);box-shadow:0 0 0 3px #0000001a}.checkin-kpi-item-vertical .kpi-status-btn.kpi-green{background:var(--color-success);border-color:#1e7e34}.checkin-kpi-item-vertical .kpi-status-btn.kpi-amber{background:var(--color-warning);border-color:#d39e00}.checkin-kpi-item-vertical .kpi-status-btn.kpi-red{background:var(--color-danger);border-color:#bd2130}.checkin-kpi-item-vertical .kpi-option-label{font-weight:600;font-size:var(--font-size-sm);width:45px;flex-shrink:0;color:var(--color-neutral-550)}.checkin-kpi-item-vertical .kpi-option-desc{font-size:var(--font-size-smd);color:var(--color-neutral-600);flex:1}#checkin-actions-container{padding:16px 16px 0}.checkin-action-item{display:flex;gap:var(--space-sm);margin-bottom:10px;align-items:flex-start}.checkin-action-item .action-description{flex:1;resize:none;overflow:hidden;min-height:34px;margin:0;line-height:1.5;font-size:var(--font-size-md);padding:6px 12px;font-family:inherit}.checkin-action-item .action-responsible,.checkin-action-item .action-deadline{width:130px;flex-shrink:0;height:34px}.checkin-action-item .remove-action-btn{background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-xs);width:34px;height:34px;flex-shrink:0;padding:0;cursor:pointer;font-size:var(--font-size-lg);line-height:1}#add-checkin-action-btn{margin:10px 15px 15px}#manage-kpis-modal .modal-content{width:90%;max-width:900px;max-height:85vh}.checkin-action-item .remove-action-btn:hover{background:#bd2130}.checkin-rating-options{padding:16px}.checkin-rating-option{display:inline-flex;align-items:center;cursor:pointer}.checkin-rating-option input[type=radio]{display:none}.checkin-rating-label{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 20px;border:2px solid var(--color-gray-300);border-radius:var(--radius-md);font-weight:500;transition:all .2s}.checkin-rating-option input[type=radio]:checked+.checkin-rating-label{border-width:3px}.checkin-rating-option input[type=radio]:checked+.checkin-rating-green{border-color:var(--color-success);background:var(--color-success-light)}.checkin-rating-option input[type=radio]:checked+.checkin-rating-amber{border-color:var(--color-warning);background:var(--color-warning-light)}.checkin-rating-option input[type=radio]:checked+.checkin-rating-red{border-color:var(--color-danger);background:var(--color-danger-light)}.checkin-rating-options-vertical{display:flex;flex-direction:column;gap:var(--space-sm);padding:10px 16px}.checkin-rating-option-row{display:flex;align-items:center;gap:var(--space-md);padding:12px 16px;border-radius:var(--radius-md);cursor:pointer;border:2px solid transparent;background:var(--color-bg-secondary);transition:all .15s ease}.checkin-rating-option-row:hover{background:var(--color-info-pale)}.checkin-rating-option-row.selected{border-color:var(--color-accent);background:#e8ecff}.checkin-rating-option-row input[type=radio]{display:none}.checkin-rating-option-row .rating-label{font-weight:600;font-size:var(--font-size-smd);width:50px;flex-shrink:0}.checkin-rating-option-row .rating-desc{font-size:var(--font-size-smd);color:var(--color-neutral-550);flex:1}.kpi-list-item{display:grid;grid-template-columns:1fr 100px 80px 80px 40px;gap:10px;margin-bottom:10px;align-items:center;padding:10px;background:var(--color-gray-50);border-radius:var(--radius-sm)}.kpi-list-item input,.kpi-list-item select{width:100%}.kpi-list-item .remove-kpi-btn{background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-xs);padding:6px 10px;cursor:pointer}.kpi-list-item-editable{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:16px;margin-bottom:var(--space-md)}.kpi-list-item-editable:hover{border-color:var(--color-accent)}.kpi-edit-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.kpi-edit-header .kpi-name-input{flex:1;font-weight:500;font-size:var(--font-size-md)}.kpi-critical-checkbox{display:flex;align-items:center;gap:6px;font-size:var(--font-size-smd);color:var(--color-neutral-600);cursor:pointer;white-space:nowrap}.kpi-critical-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.kpi-edit-header .remove-kpi-btn{background:var(--color-danger-light);color:var(--color-danger-dark);border:none;border-radius:var(--radius-xs);width:28px;height:28px;font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.kpi-edit-header .remove-kpi-btn:hover{background:var(--color-danger-dark);color:#fff}.kpi-tooltips-edit{display:flex;flex-direction:column;gap:var(--space-sm)}.kpi-tooltip-edit-row{display:flex;align-items:center;gap:10px}.kpi-tooltip-edit-row .kpi-color-indicator{width:14px;height:14px;border-radius:50%;flex-shrink:0}.kpi-tooltip-edit-row .kpi-green-indicator{background:var(--color-success-bright)}.kpi-tooltip-edit-row .kpi-amber-indicator{background:var(--color-warning)}.kpi-tooltip-edit-row .kpi-red-indicator{background:var(--color-danger)}.kpi-tooltip-edit-row label{font-size:var(--font-size-smd);font-weight:500;color:var(--color-neutral-600);width:50px;flex-shrink:0}.kpi-tooltip-edit-row input{flex:1;font-size:var(--font-size-smd)}#checkins-sticky-header{margin-bottom:0!important;padding-bottom:0!important}#monthly-checkins-section .checkins-matrix-container{margin-top:0!important;padding-top:0!important}#checkins-sticky-header-content th:first-child{position:sticky;left:0;z-index:100;background:var(--color-gray-50)}.drivers-grid,.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.documents-grid,.safety-documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.driver-card,.vehicle-card,.document-card,.van-check-card,.defect-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);padding:20px;transition:all .2s ease}.driver-card:hover,.vehicle-card:hover,.document-card:hover,.van-check-card:hover,.defect-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.driver-header,.vehicle-header,.check-header,.defect-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--color-gray-300)}.driver-header h3,.vehicle-header h3,.check-header h4,.defect-header h4{margin:0;font-size:var(--font-size-xl);color:var(--color-neutral-700)}.licence-status{padding:0;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600}.licence-status.valid{background:var(--color-success-light);color:var(--color-success-darker)}.licence-status.expired{background:var(--color-danger-light);color:var(--color-danger-darker);padding:2px 8px 2px 4px}.status-pass{color:var(--color-success-text);font-weight:600}.status-warning{color:var(--color-warning-text);font-weight:600}.status-fail{color:var(--color-danger-text);font-weight:600}.driver-info p,.vehicle-card p,.van-check-card p,.defect-card p{margin:8px 0;font-size:var(--font-size-md);color:var(--color-neutral-600)}.check-info{margin-top:10px}.vehicle-van-checks-section{margin-top:15px;padding-top:16px;border-top:1px solid var(--color-gray-200)}.van-checks-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-gray-50);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease}.van-checks-header:hover{background:var(--color-gray-200)}.van-checks-toggle{font-size:var(--font-size-sm);color:var(--color-neutral-600);transition:transform .2s ease}.van-checks-header.expanded .van-checks-toggle{transform:rotate(90deg)}.van-checks-count{background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;min-width:24px;text-align:center}.van-checks-header .add-vehicle-check-btn{margin-left:auto;padding:4px 10px;font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0}.van-checks-content{margin-top:10px;padding:10px;background:var(--color-neutral-50);border-radius:var(--radius-sm);max-height:400px;overflow-y:auto}.empty-van-checks{text-align:center;padding:16px}.van-check-item{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;transition:box-shadow .2s ease}.van-check-item:last-child{margin-bottom:0}.van-check-item:hover{box-shadow:var(--shadow-md)}.van-check-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.check-date-badge{background:var(--color-gray-200);color:var(--color-gray-600)}.check-status{font-size:var(--font-size-sm);font-weight:600;padding:2px 10px;border-radius:var(--radius-xs)}.check-status.status-pass{background:var(--color-success-light);color:var(--color-success-darker)}.check-status.status-warning{background:var(--color-warning-light);color:var(--color-warning-darker)}.van-check-item-info{display:flex;gap:15px;font-size:var(--font-size-smd);color:var(--color-neutral-600);margin-bottom:var(--space-sm)}.van-check-action-points{font-size:var(--font-size-sm);color:var(--color-danger-text);background:var(--color-danger-pale);padding:6px 10px;border-radius:var(--radius-xs);margin-bottom:var(--space-sm);border-left:3px solid var(--color-danger)}.van-check-item-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.van-checks-list{display:flex;flex-direction:column;gap:15px;margin-top:var(--space-xl)}.check-date,.defect-status{font-size:var(--font-size-sm);font-weight:600;color:var(--color-neutral-600)}.document-card{text-align:left;position:relative}.document-card.selected{border-color:var(--color-accent);background:var(--color-info-pale);box-shadow:0 4px 12px #667eea33}.document-select-checkbox{position:absolute;top:10px;right:10px;z-index:5}.document-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent)}.document-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--color-gray-300)}.document-card h4{margin:10px 0 5px;font-size:var(--font-size-lg);color:var(--color-neutral-700);font-weight:600}.document-card p{margin:5px 0;font-size:var(--font-size-smd);color:var(--color-neutral-600)}.document-card .document-type{color:var(--color-accent);font-weight:500;margin-bottom:10px}.document-card .document-vehicle,.document-card .document-date,.document-card .document-expiry,.document-card .document-size{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.document-card .btn-sm{margin-top:10px;width:100%}.folder-breadcrumb{background:linear-gradient(135deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%);border:2px solid var(--color-accent);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:var(--space-xl);display:flex;align-items:center;gap:15px;grid-column:1 / -1}.folder-breadcrumb h3{margin:0;font-size:var(--font-size-xl);color:var(--color-accent);font-weight:700;flex:1}.folder-breadcrumb .btn{white-space:nowrap}.bulk-action-toolbar{background:var(--gradient-special);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:15px;grid-column:1 / -1;box-shadow:0 4px 12px #667eea4d}.bulk-action-toolbar .selection-count{color:#fff;font-weight:700;font-size:var(--font-size-lg)}.bulk-action-toolbar .bulk-actions{display:flex;gap:10px}.bulk-action-toolbar .btn{background:var(--color-bg-secondary);color:var(--color-accent);border:none;font-weight:600}.bulk-action-toolbar .btn:hover{background:#ffffffe6;transform:translateY(-1px)}.folder-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:var(--space-xl);max-height:400px;overflow-y:auto;padding:10px}.folder-selection-card{text-align:center;background:var(--gradient-special);color:#fff;border:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:20px 16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea33}.folder-selection-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #667eea66;border-color:var(--color-accent-hover)}.folder-selection-card .folder-name{font-weight:600;font-size:var(--font-size-md);word-break:break-word;margin:0}.modal-description{color:var(--color-neutral-600);font-size:var(--font-size-md);margin:0 0 10px}.modal-description #selected-docs-count{font-weight:700;color:var(--color-accent)}.no-folders-message{text-align:center;padding:40px 20px;color:var(--color-neutral-500)}.no-folders-message p:first-child{font-size:48px;margin-bottom:10px}.no-folders-message .text-muted{font-size:var(--font-size-md);color:var(--color-neutral-500);margin:0}@media(max-width:767px){.admin-sections-nav{flex-wrap:wrap}.drivers-grid,.vehicles-grid,.documents-grid{grid-template-columns:1fr}.section-toolbar{flex-direction:column;align-items:flex-start;gap:15px}}.modal#driver-modal,.modal#van-check-modal,.modal#vehicle-modal,.modal#document-modal,.modal#defect-modal{z-index:10000}.modal#driver-modal .modal-content,.modal#van-check-modal .modal-content,.modal#vehicle-modal .modal-content,.modal#document-modal .modal-content,.modal#defect-modal .modal-content{max-width:600px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.modal#van-check-modal .modal-content{max-width:700px}.modal#driver-modal .modal-header,.modal#van-check-modal .modal-header,.modal#vehicle-modal .modal-header,.modal#document-modal .modal-header,.modal#defect-modal .modal-header{background:var(--gradient-special);color:#fff;padding:20px 24px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal#driver-modal .modal-header h2,.modal#van-check-modal .modal-header h2,.modal#vehicle-modal .modal-header h2,.modal#document-modal .modal-header h2,.modal#defect-modal .modal-header h2{margin:0;font-weight:600;color:#fff}.modal#driver-modal .close-button,.modal#van-check-modal .close-button,.modal#vehicle-modal .close-button,.modal#document-modal .close-button,.modal#defect-modal .close-button{opacity:.9;font-size:28px;background:transparent;border:none;transition:opacity .2s}.modal#driver-modal .close-button:hover,.modal#van-check-modal .close-button:hover,.modal#vehicle-modal .close-button:hover,.modal#document-modal .close-button:hover,.modal#defect-modal .close-button:hover{opacity:1;transform:scale(1.1)}.modal#driver-modal .modal-body,.modal#van-check-modal .modal-body,.modal#vehicle-modal .modal-body,.modal#document-modal .modal-body,.modal#defect-modal .modal-body{padding:var(--space-xl);max-height:70vh;overflow-y:auto}.modal#driver-modal .form-group,.modal#van-check-modal .form-group,.modal#vehicle-modal .form-group,.modal#document-modal .form-group,.modal#defect-modal .form-group{margin-bottom:var(--space-lg)}.modal#driver-modal .form-label,.modal#van-check-modal .form-label,.modal#vehicle-modal .form-label,.modal#document-modal .form-label,.modal#defect-modal .form-label{display:block;margin-bottom:6px;color:var(--color-neutral-700)}.modal#driver-modal .form-control,.modal#van-check-modal .form-control,.modal#vehicle-modal .form-control,.modal#document-modal .form-control,.modal#defect-modal .form-control{padding:var(--input-padding-y) 12px var(--input-padding-y) 12px;border:2px solid var(--color-neutral-200);transition:all .2s ease}.modal#driver-modal .form-control:focus,.modal#van-check-modal .form-control:focus,.modal#vehicle-modal .form-control:focus,.modal#document-modal .form-control:focus,.modal#defect-modal .form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #667eea1a}.modal#driver-modal .form-control:invalid,.modal#van-check-modal .form-control:invalid,.modal#vehicle-modal .form-control:invalid,.modal#document-modal .form-control:invalid,.modal#defect-modal .form-control:invalid{border-color:var(--color-danger)}.modal#driver-modal .form-label input[type=checkbox],.modal#van-check-modal .form-label input[type=checkbox],.modal#vehicle-modal .form-label input[type=checkbox],.modal#document-modal .form-label input[type=checkbox],.modal#defect-modal .form-label input[type=checkbox]{margin-right:8px;vertical-align:middle}.fleet-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);padding:16px;background:var(--color-gray-50);border-radius:var(--radius-md);border:2px solid var(--color-neutral-200)}.fleet-checklist label{display:flex;align-items:center;padding:8px;background:var(--color-bg-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:all .2s ease;color:var(--color-gray-600)}.fleet-checklist label:hover{background:var(--color-gray-200);transform:translate(2px)}.fleet-checklist input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;flex-shrink:0}.fleet-checklist input[type=checkbox]:checked+span,.fleet-checklist label:has(input:checked){color:var(--color-success-text);font-weight:600}.modal#driver-modal .modal-footer,.modal#van-check-modal .modal-footer,.modal#vehicle-modal .modal-footer,.modal#document-modal .modal-footer,.modal#defect-modal .modal-footer{padding:16px 24px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-300);display:flex;justify-content:flex-end;gap:var(--space-sm);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal#defect-modal select option{padding:8px}.modal#document-modal input[type=file]{padding:8px;border:2px dashed var(--color-accent);background:var(--color-info-pale);cursor:pointer}.modal#document-modal input[type=file]:hover{border-color:var(--color-accent-hover);background:var(--color-info-pale)}.modal#incident-log-modal{z-index:10001}.modal#incident-log-modal .modal-content{max-width:900px;max-height:90vh;overflow-y:auto}.modal#incident-log-modal .modal-header{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:20px 24px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal#incident-log-modal .modal-body{padding:var(--space-xl)}#incident-list-container h3{margin:0 0 20px}.incident-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);padding:16px;margin-bottom:var(--space-md);transition:all .2s ease}.incident-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.incident-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.incident-type{display:inline-block;padding:0;background:var(--color-info-pale);color:var(--color-accent);border-radius:var(--radius-lg);font-weight:600;font-size:.9em;margin-right:10px}.incident-date{color:var(--color-neutral-600);font-size:.9em}.incident-details{color:var(--color-neutral-550);font-size:.95em;line-height:1.6}.incident-details p{margin:4px 0}.incident-details strong{color:#2c3e50}.form-section-header{margin:24px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--color-accent)}.form-section-header h3{margin:0;color:var(--color-accent);font-size:1.1em;font-weight:600}.empty-state{text-align:center;padding:40px 20px}.empty-state p{font-size:var(--font-size-lg);margin:8px 0}.empty-hint{font-size:.9em;color:var(--color-neutral-500)}.form-help{line-height:1.3;font-style:italic;display:block;margin-top:var(--space-xs)}@media(max-width:767px){.modal#driver-modal .modal-content,.modal#van-check-modal .modal-content,.modal#vehicle-modal .modal-content,.modal#document-modal .modal-content,.modal#defect-modal .modal-content,.modal#incident-log-modal .modal-content{max-width:95%;margin:20px}.fleet-checklist{grid-template-columns:1fr}.modal#driver-modal .modal-footer,.modal#van-check-modal .modal-footer,.modal#vehicle-modal .modal-footer,.modal#document-modal .modal-footer,.modal#defect-modal .modal-footer{flex-direction:column}.modal#driver-modal .btn,.modal#van-check-modal .btn,.modal#vehicle-modal .btn,.modal#document-modal .btn,.modal#defect-modal .btn,.modal#incident-log-modal .btn{width:100%}.incident-header{flex-direction:column;align-items:flex-start}}.driver-card,.vehicle-card,.document-card,.defect-card{background:var(--color-bg-secondary);border:2px solid var(--color-neutral-200);padding:20px;transition:all .3s ease}.driver-card:hover,.vehicle-card:hover,.document-card:hover,.defect-card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #667eea26;transform:translateY(-2px)}.driver-card h4,.vehicle-card h4,.document-card h4,.defect-card h4{margin:0 0 12px;font-size:var(--font-size-xl);color:var(--color-neutral-700);font-weight:600}.driver-card p,.vehicle-card p,.document-card p,.defect-card p{margin:6px 0;font-size:var(--font-size-md);color:var(--color-neutral-600)}.driver-card .btn-sm,.vehicle-card .btn-sm,.document-card .btn-sm,.defect-card .btn-sm{margin-top:var(--space-md);padding:6px 12px;font-size:var(--font-size-smd);border-radius:var(--radius-xs)}.defect-card.open{border-left:4px solid var(--color-danger)}.defect-card.resolved{border-left:4px solid var(--color-success);opacity:.8}.defect-status{display:inline-block;padding:0;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600}.defect-card .defect-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.form-row{margin-bottom:var(--space-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.area-checklist{margin-top:var(--space-xl);padding:16px;background:var(--color-info-pale);border-radius:var(--radius-md);border:2px solid var(--color-accent)}.employees-grid{display:flex;flex-direction:column;gap:30px;margin-top:var(--space-xl)}.department-section{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.department-section.unassigned-section{background:#fff8e1;border-color:#ffcc80}.department-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:12px;border-bottom:2px solid var(--color-gray-300)}.department-header h3{margin:0;font-size:var(--font-size-xl);color:#2c3e50;font-weight:600}.department-count{background:var(--color-gray-500);color:#fff;padding:4px 12px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600}.department-employees{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg);margin-top:var(--space-xs)}.employees-grid .employee-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);padding:20px;transition:all .2s ease;cursor:pointer}.employees-grid .employee-card.is-manager{border:2px solid var(--color-accent);background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-bg-secondary) 100%)}.employees-grid .employee-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.employees-grid .employee-card h3{margin:0;color:#2c3e50}.employees-grid .employee-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);gap:10px}.employees-grid .employee-card .card-badges{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-end}.employees-grid .employee-card .status-badge.status-manager{background:var(--color-accent);color:#fff}.workshop-checks-list,.site-checks-list{display:flex;flex-direction:column;gap:15px;margin-top:var(--space-xl)}.equip-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:var(--space-lg);align-items:start}.equip-col{display:flex;flex-direction:column;background:var(--color-neutral-50, var(--color-gray-50));border:1px solid var(--color-neutral-200, var(--color-gray-200));border-radius:var(--radius-md);min-height:80px;overflow:hidden}.equip-col-head{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--color-neutral-100, var(--color-gray-100));border-bottom:1px solid var(--color-neutral-200, var(--color-gray-200))}.equip-col-title{font-weight:700;font-size:var(--font-size-md);color:var(--color-neutral-800, var(--color-gray-800))}.equip-col-count{display:inline-block;min-width:20px;text-align:center;padding:0 6px;font-size:var(--font-size-sm);border-radius:var(--radius-full);background:var(--color-neutral-300, var(--color-gray-300));color:var(--color-neutral-800, var(--color-gray-800));margin-left:4px}.equip-col-filter{padding:2px 6px}.equip-col-list{display:flex;flex-direction:column;gap:10px;padding:12px}.equip-col-empty{text-align:center;padding:10px 0}.equip-col-list .equip-tower-group{margin-bottom:0}.equip-board-tabs{display:none;gap:6px;margin-top:var(--space-lg);flex-wrap:wrap}.equip-board-tab{flex:1 1 auto;padding:8px 10px;border:1px solid var(--color-neutral-300, var(--color-gray-300));background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-smd);font-weight:600;cursor:pointer;color:var(--color-neutral-600, var(--color-gray-600))}.equip-board-tab.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(max-width:900px){.equip-board-tabs{display:flex}.equip-board{grid-template-columns:1fr}.equip-board .equip-col{display:none}.equip-board[data-active-col=in_service] .equip-col[data-equip-col=in_service],.equip-board[data-active-col=repair_required] .equip-col[data-equip-col=repair_required],.equip-board[data-active-col=removed] .equip-col[data-equip-col=removed],.equip-board[data-active-col=retired] .equip-col[data-equip-col=retired]{display:flex}.equip-col-head{flex-direction:row;align-items:center;justify-content:space-between}}.eqb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10100;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.equip-types-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.equip-types-editor{background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text, var(--color-neutral-900));border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:var(--shadow-xl)}.equip-types-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.equip-types-editor-head h3{margin:0;font-size:var(--font-size-xl)}.equip-types-close{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-neutral-500, var(--color-neutral-450))}.equip-types-editor-note{font-size:var(--font-size-smd);color:var(--color-neutral-500, var(--color-neutral-600));margin:0 0 14px;line-height:1.4}.equip-type-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.equip-type-row{display:flex;gap:var(--space-sm);align-items:center}.equip-type-row .equip-type-label{flex:1}.equip-type-remove{padding:6px 10px;flex:0 0 auto}.equip-types-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.equipment-card{position:relative;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);padding:12px;transition:box-shadow .2s ease}.equipment-card:hover{box-shadow:var(--shadow-md)}.equipment-card.is-retired{background:var(--color-neutral-100);border-color:var(--color-neutral-300);overflow:hidden}.equipment-card.is-retired .equip-card-desc,.equipment-card.is-retired .equip-card-meta,.equipment-card.is-retired .equip-card-body h3{filter:grayscale(1);opacity:.6}.equip-retired-ribbon{position:absolute;top:10px;right:-30px;transform:rotate(45deg);background:var(--color-neutral-600, var(--color-gray-600));color:#fff;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;padding:2px 32px;z-index:2;box-shadow:var(--shadow-sm);pointer-events:none}.equipment-card.is-out-of-service{background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.equipment-card.is-out-of-service .equip-card-desc,.equipment-card.is-out-of-service .equip-card-meta,.equipment-card.is-out-of-service .equip-card-body h3{filter:grayscale(1);opacity:.6}.equip-due-badge.out-of-service{background:var(--color-neutral-500, var(--color-gray-500))}.equip-tower-group{border:1px solid var(--color-neutral-300, var(--color-gray-300));border-radius:var(--radius-md);margin-bottom:18px;background:var(--color-neutral-50, var(--color-gray-50));overflow:hidden}.equip-tower-grouphead{display:flex;align-items:center;gap:var(--space-md);padding:12px 16px;background:var(--color-neutral-100, var(--color-gray-100));border-bottom:1px solid var(--color-neutral-300, var(--color-gray-300));cursor:pointer}.equip-tower-grouphead:hover{background:var(--color-neutral-200, var(--color-gray-200))}.equip-tower-headmain{flex:1;min-width:0}.equip-tower-inspect{flex:0 0 auto}.equip-tower-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-neutral-800, var(--color-gray-800))}.equip-tower-sub{font-size:var(--font-size-sm);color:var(--color-neutral-600, var(--color-gray-600));margin-top:2px}.equip-tower-meta{font-size:var(--font-size-sm);color:var(--color-neutral-600, var(--color-gray-600));margin-top:var(--space-xs)}.equip-tower-duewrap{margin-top:6px}.equip-tower-hint{font-size:var(--font-size-xs);color:var(--color-accent);margin-top:6px}.equip-components-list{max-height:320px;overflow-y:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:4px}.equip-component-row{display:flex;align-items:center;gap:10px;padding:4px 10px;border-radius:var(--radius-sm)}.equip-component-row.is-other{opacity:.75}.equip-component-cb{flex:0 0 auto;cursor:pointer}.equip-component-open{flex:1;display:flex;align-items:center;gap:var(--space-sm);min-width:0;text-align:left;background:none;border:none;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;color:inherit;font:inherit}.equip-component-open:hover{background:var(--color-neutral-100, var(--color-gray-100))}.equip-component-open:hover .equip-component-id{text-decoration:underline}.equip-component-id{font-weight:700;flex:0 0 auto}.equip-component-desc{color:var(--color-neutral-600, var(--color-gray-600));flex:1;min-width:0}.equip-component-flag{flex:0 0 auto;font-size:var(--font-size-xs);font-weight:600;color:var(--color-warning, var(--color-amber-700));background:#b453091a;border-radius:var(--radius-full);padding:1px 8px}.equip-childcheck-headrow,.equip-childcheck-row{display:grid;grid-template-columns:minmax(140px,1.4fr) 150px minmax(140px,1.6fr);gap:10px;align-items:center}.equip-childcheck-headrow{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-neutral-600, var(--color-gray-600));padding:4px 6px;border-bottom:1px solid var(--color-gray-200)}.equip-childcheck-row{padding:8px 6px;border-bottom:1px solid var(--color-gray-100)}.equip-childcheck-id{font-weight:700}.equip-childcheck-desc{color:var(--color-neutral-600, var(--color-gray-600))}.equip-childcheck-cond{display:flex;gap:10px}.equip-single-cond{display:flex;gap:var(--space-lg);padding:6px 0}@media(max-width:640px){.equip-childcheck-headrow{display:none}.equip-childcheck-row{grid-template-columns:1fr;gap:6px}}.equip-scan-status{margin:0 0 12px;font-weight:500;color:var(--color-neutral-700, var(--color-gray-700))}.equip-scan-viewport{position:relative;width:100%;max-width:420px;aspect-ratio:4 / 3;margin:0 auto 12px;background:#000;border-radius:var(--radius-md);overflow:hidden}.equip-scan-video{width:100%;height:100%;object-fit:cover;display:block}.equip-scan-reticle{position:absolute;top:18%;right:14%;bottom:18%;left:14%;border:3px solid rgba(255,255,255,.85);border-radius:var(--radius-lg);box-shadow:0 0 0 100vmax #00000040;pointer-events:none}.equip-scan-note{margin:0 0 12px;padding:10px 12px;background:var(--color-neutral-100, var(--color-gray-100));border-radius:var(--radius-md);font-size:var(--font-size-smd);color:var(--color-neutral-700, var(--color-gray-700))}.equip-scan-manual{margin-top:var(--space-xs)}.equip-scan-manual-row{display:flex;gap:var(--space-sm)}.equip-scan-manual-row .form-control{flex:1}.equip-scan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--space-lg)}.equip-card-body{min-width:0}.equipment-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.equipment-card .card-header h3{margin:0;font-size:var(--font-size-md);line-height:1.3}.equip-card-desc{font-size:var(--font-size-smd);color:var(--color-neutral-700);margin-top:var(--space-xs)}.equip-card-meta{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--space-xs)}.equip-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:10px}.equip-card-footer .btn{padding:4px 10px;font-size:var(--font-size-sm)}.equip-due-badge{display:inline-block;color:#fff}.equip-due-badge.ok{background:var(--color-gray-500)}.equip-due-badge.due-soon{background:var(--color-warning)}.equip-due-badge.overdue{background:var(--color-danger)}.equipment-inspection-history{display:flex;flex-direction:column;gap:10px}.equip-history-row{border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:10px 12px;background:var(--color-gray-50)}.equip-history-head{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--font-size-smd)}.equip-history-inspector{color:var(--color-neutral-600)}.equip-history-next{margin-left:auto;color:var(--color-neutral-600);font-size:var(--font-size-sm)}.equip-history-defects{margin-top:6px;font-size:var(--font-size-smd);color:var(--color-neutral-700);white-space:pre-wrap}.equip-history-photo{cursor:pointer}.status-badge.status-expired{background:var(--color-danger);color:#fff}.equip-checks-hint{font-size:var(--font-size-smd);color:var(--color-neutral-600);margin:0 0 8px}.equip-checklist{display:flex;flex-direction:column;gap:2px}.equip-check-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:6px 4px;border-bottom:1px solid var(--color-gray-100)}.equip-check-label{font-size:var(--font-size-smd);color:var(--color-neutral-800);flex:1}.equip-check-opts{display:flex;gap:6px;flex:0 0 auto}.equip-opt{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap}@media(max-width:767px){.equip-opt{white-space:normal}}.equip-opt-pass:has(input:checked){background:var(--color-success-tint);border-color:var(--color-success-mid);color:var(--color-green-800);font-weight:600}.equip-opt-fail:has(input:checked){background:var(--color-danger-light);border-color:var(--color-danger-dark);color:var(--color-danger-darker);font-weight:600}.equip-opt-na:has(input:checked){background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-600);font-weight:600}.equip-outcome-row{display:flex;align-items:center;gap:var(--space-sm);margin:12px 0}.equip-fail-box{border:1px solid var(--color-danger);background:var(--color-danger-pale);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md)}.equip-fail-hint{font-size:var(--font-size-smd);color:var(--color-danger-dark, var(--color-danger-text));margin:0 0 10px}.equip-fail-outcome{display:flex;flex-direction:column;gap:var(--space-sm)}.equip-fail-outcome .equip-opt{justify-content:flex-start}.equip-fail-mgronly{font-size:var(--font-size-xs);color:var(--color-neutral-600, var(--color-gray-600));font-weight:400}.equip-sign-confirm{display:flex;align-items:flex-start;gap:var(--space-sm);color:var(--color-neutral-800);cursor:pointer;margin-bottom:var(--space-sm)}.equip-sign-confirm input{margin-top:2px}.equip-history-checks{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin-top:6px}.equip-chk{font-size:var(--font-size-xs)}.equip-chk.is-pass{color:var(--color-green-800)}.equip-chk.is-fail{color:var(--color-danger-darker);font-weight:600}.equip-chk.is-na{color:var(--color-gray-500)}.equip-history-action{margin-top:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-danger-dark, var(--color-danger-text))}.equip-history-sign{margin-top:6px;font-size:var(--font-size-xs);color:var(--color-neutral-600)}.status-badge.status-warning{background:var(--color-warning);color:#fff}.status-badge.status-info{background:var(--color-info);color:#fff}.accident-dashboard{margin-top:var(--space-lg)}.acc-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.acc-stat{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:12px;text-align:center}.acc-stat.is-open{border-color:var(--color-warning)}.acc-stat-num{display:block;font-size:var(--font-size-3xl);font-weight:800;color:var(--color-accent);line-height:1}.acc-stat.is-open .acc-stat-num{color:var(--color-warning-text)}.acc-stat-label{display:block;font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--space-xs)}.acc-dash-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md);margin-top:var(--space-md)}.acc-dash-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);padding:12px}.acc-dash-card h4{margin:0 0 8px;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--color-neutral-600)}.acc-bar-row{display:grid;grid-template-columns:110px 1fr 28px;gap:var(--space-sm);align-items:center;font-size:var(--font-size-sm);margin-bottom:5px}.acc-bar-track{background:var(--color-gray-100);border-radius:var(--radius-full);height:8px;overflow:hidden}.acc-bar-fill{display:block;height:100%;background:var(--color-accent);border-radius:var(--radius-full)}.acc-bar-val{text-align:right;font-weight:600}.acc-mini-row{display:flex;justify-content:space-between;font-size:var(--font-size-smd);padding:2px 0;border-bottom:1px solid var(--color-gray-100)}.acc-mini-val{font-weight:700}.accident-book-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.accident-card{position:relative;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);padding:12px;transition:box-shadow .2s ease}.accident-card:hover{box-shadow:var(--shadow-md)}.accident-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.accident-card .card-header h3{margin:0;font-size:var(--font-size-md)}.accident-card .badge-group{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.acc-card-meta{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:6px}.acc-card-desc{font-size:var(--font-size-smd);color:var(--color-neutral-700);margin-top:6px}.acc-card-footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.acc-check{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer}.acc-imm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-lg)}.acc-investigation{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin:12px 0}.acc-investigation-summary{padding:10px 12px;cursor:pointer;font-weight:700;color:var(--color-accent);list-style:none}.acc-investigation-summary::-webkit-details-marker{display:none}.acc-investigation[open] .acc-investigation-summary{border-bottom:1px solid var(--color-gray-200)}.acc-investigation-body{padding:12px}.acc-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.acc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--color-info-pale);border:1px solid var(--color-accent);border-radius:var(--radius-full);padding:2px 8px;font-size:var(--font-size-sm)}.acc-chip button{border:none;background:none;cursor:pointer;color:var(--color-danger-text);font-size:var(--font-size-sm)}.acc-factor-chips{display:flex;flex-wrap:wrap;gap:6px}.acc-factor{padding:4px 10px;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.acc-factor.is-on{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.acc-action-row{display:grid;grid-template-columns:24px 1fr 110px 130px 24px;gap:var(--space-sm);align-items:center;padding:4px 0;border-bottom:1px solid var(--color-gray-100)}.acc-action-row .form-control{padding:4px 6px;font-size:var(--font-size-sm)}.acc-action-text{font-size:var(--font-size-smd)}.acc-action-row.is-done .acc-action-text{text-decoration:line-through;color:var(--color-neutral-500)}.acc-action-rm{border:none;background:none;color:var(--color-danger-text);cursor:pointer}.acc-history{display:flex;flex-direction:column;gap:var(--space-xs)}.acc-hist-row{display:flex;gap:10px;font-size:var(--font-size-sm);padding:2px 0;border-bottom:1px solid var(--color-gray-100)}.acc-hist-when{color:var(--color-neutral-500);white-space:nowrap}.acc-hist-who{font-weight:600;white-space:nowrap}.acc-hist-text{color:var(--color-neutral-700)}.acc-emp-records{margin-top:var(--space-xs)}.acc-emp-card{background:var(--color-info-pale);border:1px solid #bae6fd;padding:12px}.acc-emp-head{font-weight:700;font-size:var(--font-size-smd);color:var(--color-accent-hover, #075985);margin-bottom:var(--space-sm)}.acc-emp-induction{font-size:var(--font-size-smd);margin-bottom:var(--space-sm)}.acc-emp-induction .acc-emp-link,.acc-emp-link{color:var(--color-accent);margin-left:6px;font-size:var(--font-size-sm)}.acc-emp-training-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-neutral-600);margin:6px 0 4px}.acc-emp-train-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);padding:2px 0}.doc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-md)}.doc-view-switch{display:inline-flex;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);overflow:hidden}.doc-view-switch button{border:0;background:var(--color-bg-primary, #fff);padding:6px 14px;font:inherit;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);cursor:pointer}.doc-view-switch button.is-on{background:var(--color-accent);color:#fff}.doc-search{flex:1 1 220px;max-width:340px}.doc-status{display:inline-block;font-size:var(--font-size-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.doc-status-current{background:var(--color-success-light, #dcfce7);color:var(--color-success-dark, #166534)}.doc-status-expiring{background:var(--color-warning-light, #fef3c7);color:var(--color-warning-text, #92400e)}.doc-status-expired{background:var(--color-danger-pale, #fee2e2);color:var(--color-danger, #b91c1c)}.doc-status-superseded{background:var(--color-gray-100, #f3f4f6);color:var(--color-text-secondary)}.doc-status-auto{background:#e0f2fe;color:#0369a1}.doc-status-line{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:2px 0}.doc-archive-note,.doc-archive-intro{grid-column:1 / -1;font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:8px 12px}.doc-archive-note .link-btn{border:0;background:none;padding:0;color:var(--color-accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.vehicle-doc-history{margin:8px 0 16px;padding:10px 12px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.vehicle-doc-history-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0;font-size:var(--font-size-sm)}.vehicle-doc-history-meta{color:var(--color-text-secondary)}.training-history-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.employee-linked-certs{margin-top:10px;padding:10px;border:1px solid var(--color-neutral-300);border-radius:6px}.employee-linked-cert{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0;font-size:var(--font-size-sm)}.employee-linked-cert-meta{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.fleet-policies{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-md);border-left:5px solid var(--color-accent);margin-top:var(--space-xl)}.fleet-policies h3{margin:0 0 8px}.fleet-policy-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--color-gray-200)}.fleet-policy-row:first-of-type{border-top:0}.fleet-policy-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.fleet-policy-meta{flex-basis:100%;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.fleet-policy-actions{display:flex;gap:var(--space-sm)}.fleet-policy-chip{font-size:var(--font-size-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.fleet-policy-chip.ok{background:var(--color-success-light, #dcfce7);color:var(--color-success-dark, #166534)}.fleet-policy-chip.due{background:var(--color-warning-light, #fef3c7);color:var(--color-warning-text, #92400e)}.fleet-policy-chip.overdue{background:var(--color-danger-pale, #fee2e2);color:var(--color-danger, #b91c1c)}.reminders-dashboard{display:flex;flex-direction:column;gap:var(--space-xxl);margin-top:var(--space-xl)}.reminder-group{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);border-left:5px solid var(--color-gray-300)}.reminder-group.critical{border-left-color:var(--color-danger);background:var(--color-danger-pale)}.reminder-group.warning{border-left-color:#fd7e14;background:#fff8f0}.reminder-group.info{border-left-color:var(--color-warning);background:var(--color-warning-pale)}.reminder-group.success{border-left-color:var(--color-success);background:var(--color-success-pale)}.reminder-group h3{margin:0 0 16px;font-size:var(--font-size-xl);font-weight:600;display:flex;align-items:center;gap:var(--space-sm)}.reminders-list{display:grid;gap:var(--space-md)}.reminder-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-bg-secondary);border:2px solid var(--color-neutral-200);transition:all .2s ease}.reminder-card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #667eea26;transform:translate(4px)}.reminder-info{flex:1}.reminder-title{font-weight:600;font-size:var(--font-size-md);color:var(--color-neutral-700);margin-bottom:var(--space-xs)}.reminder-details{font-size:var(--font-size-smd);color:var(--color-neutral-600)}.reminder-date{font-weight:600;padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-smd);white-space:nowrap}.reminder-group.critical .reminder-date{background:var(--color-danger);color:#fff}.reminder-group.warning .reminder-date{background:#fd7e14;color:#fff}.reminder-group.info .reminder-date{background:var(--color-warning);color:var(--color-neutral-700)}.reminder-group.success .reminder-date{background:var(--color-success);color:#fff}.reminder-empty{padding:20px;text-align:center}@media(max-width:767px){.reminder-card{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.reminder-date{align-self:flex-start}}@media(min-width:1367px){.header{min-height:45px!important;position:relative}.header .tabs-container{display:none!important}.header .header-content{display:flex!important;margin-left:auto;gap:var(--space-md);align-items:center}.header .header-content .user-info,.header .header-content #settings-btn{display:none!important}.header .header-content .connection-indicator,.header .header-content .notification-button{display:flex!important}.header .app-title{display:block!important;position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-800);white-space:nowrap;line-height:1}.hamburger-menu-btn{display:flex;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:4px;margin-right:12px;z-index:10;border-radius:var(--radius-xs);transition:all .3s ease}.hamburger-menu-btn:hover{background:#ffffff26;transform:scale(1.05)}.hamburger-line{width:100%;height:3px;background-color:var(--app-header-text);border-radius:2px;transition:all .3s ease}.hamburger-menu-btn.active .hamburger-line:nth-child(1){transform:translateY(10px) rotate(45deg)}.hamburger-menu-btn.active .hamburger-line:nth-child(2){opacity:0}.hamburger-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-10px) rotate(-45deg)}.desktop-sidebar-menu{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none;transition:opacity .3s ease;opacity:0}.desktop-sidebar-menu.active{pointer-events:all;opacity:1}.sidebar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;transition:opacity .3s ease}.desktop-sidebar-menu.active .sidebar-overlay{opacity:1}.sidebar-content{position:absolute;top:0;left:-320px;width:320px;height:100%;background:var(--color-bg-secondary);box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:left .3s ease;overflow-y:auto}.desktop-sidebar-menu.active .sidebar-content{left:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--color-gray-200);flex-shrink:0}.sidebar-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-800)}.sidebar-close-btn{background:transparent;border:none;font-size:32px;line-height:1;cursor:pointer;color:var(--color-gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:background .2s ease,color .2s ease}.sidebar-close-btn:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-nav .tab-button{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:12px 20px;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:var(--font-size-md);color:var(--color-gray-600);transition:background .2s ease,color .2s ease;text-align:left;position:relative}.sidebar-nav .tab-button:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.sidebar-nav .tab-button.active{background:var(--color-info-pale);color:var(--color-accent-hover);font-weight:600}.sidebar-nav .tab-button.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-accent-hover)}.sidebar-nav .tab-text{flex:1}.sidebar-nav .notification-badge{position:static!important;top:auto!important;right:auto!important;margin-left:auto;margin-right:8px;display:flex;align-items:center;justify-content:center}.sidebar-footer{border-top:1px solid var(--color-gray-200);padding:16px 20px;flex-shrink:0}.sidebar-footer .user-info{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md);padding:12px;background:var(--color-gray-50);border-radius:var(--radius-md)}.sidebar-footer .user-email{font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-800)}.sidebar-footer .user-role{font-size:var(--font-size-sm);color:var(--color-gray-500)}.sidebar-footer .connection-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;background:var(--color-gray-50);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.sidebar-footer .action-button{width:100%;justify-content:center;margin-bottom:var(--space-sm)}.sidebar-footer .action-button:last-child{margin-bottom:0}}.panel-actions #inventory-category-filter,.panel-actions #orders-status-filter{margin-left:auto!important}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.form-section-divider{margin:16px 0;border-bottom:2px solid var(--color-accent);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.gantt-picker-item.selected{background:var(--color-info-pale)}.training-history-chip{display:inline-flex;align-items:center;gap:var(--space-xs);border:1px solid var(--color-neutral-400, var(--color-gray-400));background:#ffffffbf;color:var(--color-gray-700);cursor:pointer;white-space:nowrap}.training-history-chip:hover{background:var(--color-bg-secondary);border-color:var(--color-neutral-500, var(--color-gray-500))}.checkin-editor-content--grow{max-height:none}.gantt-col-drag{width:16px;flex-shrink:0;cursor:grab;color:var(--color-text-muted);font-size:var(--font-size-2xs);text-align:center;-webkit-user-select:none;user-select:none}.gantt-col-drag:hover{color:var(--color-accent)}.gantt-col-drag:active{cursor:grabbing}.gantt-row-dragging{opacity:.4}.gantt-row-drop-above{box-shadow:inset 0 2px 0 0 var(--color-accent)}.gantt-row-drop-below{box-shadow:inset 0 -2px 0 0 var(--color-accent)}.gantt-worker-dept-hours{font-size:var(--font-size-xs);font-weight:400;opacity:.7;margin-left:4px}.gantt-worker-hours-summary{display:flex;gap:6px;font-size:var(--font-size-2xs);padding:2px 0 4px;color:var(--color-slate-500);flex-wrap:wrap;flex-shrink:0}.gantt-worker-hours-tk{color:var(--color-success-bright);font-weight:600}.gantt-worker-hours-assigned{color:var(--color-accent);font-weight:600}.gantt-worker-hours-remaining{color:var(--color-slate-500)}.gantt-worker-hours-done .gantt-worker-hours-remaining{color:var(--color-success-bright);font-weight:600}.gantt-worker-hours-over .gantt-worker-hours-remaining{color:var(--color-danger-text);font-weight:600}.gantt-worker-chip-row{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-xs)}.gantt-worker-days-row{display:flex;align-items:center;gap:var(--space-xs);padding-left:10px}.gantt-worker-days-input{width:38px;padding:2px 4px;border:1px solid var(--color-slate-300);border-radius:var(--radius-xs);font-size:var(--font-size-sm);text-align:center;background:var(--color-bg-secondary)}.gantt-worker-days-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--input-focus-ring)}.gantt-worker-days-clock-done{font-size:var(--font-size-2xs);color:var(--color-success-bright);font-weight:600;white-space:nowrap}.gantt-worker-days-total{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.gantt-worker-conflict-icon{color:var(--color-warning-text);font-size:var(--font-size-md);cursor:help;flex-shrink:0}.gantt-sidebar-collapsed .gantt-table-header,.gantt-sidebar-collapsed .gantt-table-body{width:180px;min-width:180px}.gantt-sidebar-collapsed .gantt-th:not(.gantt-col-job):not(.gantt-col-customer),.gantt-sidebar-collapsed .gantt-td:not(.gantt-col-job):not(.gantt-col-customer){display:none}.gantt-sidebar-collapsed .gantt-col-customer{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#time-clock-view{overflow-y:auto!important}.time-clock-container{max-width:520px;margin:0 auto;padding:16px}.clock-status-card{padding:20px 24px;margin-bottom:var(--space-lg);background:var(--color-bg-secondary);border-left:4px solid var(--color-gray-300);transition:border-color .3s,box-shadow .3s}.clock-status-card.clock-status-in{border-left-color:var(--color-success-bright);box-shadow:0 1px 3px #22c55e1f,0 4px 12px #22c55e0f}.clock-status-card.clock-status-out{border-left-color:var(--color-gray-300)}.clock-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.clock-status-left{display:flex;align-items:center;gap:10px}.clock-dot{width:10px;height:10px;border-radius:50%;background:var(--color-gray-300);flex-shrink:0}.clock-status-in .clock-dot{background:var(--color-success-bright);box-shadow:0 0 0 3px #22c55e33;animation:clock-pulse 2s ease-in-out infinite}@keyframes clock-pulse{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e14}}.clock-status-label{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-500)}.clock-status-in .clock-status-label{color:var(--color-green-700)}.clock-timer-display{font-size:36px;font-weight:700;font-variant-numeric:tabular-nums;font-family:SF Mono,Cascadia Code,Consolas,monospace;color:var(--color-gray-300);letter-spacing:1px;line-height:1}.clock-status-in .clock-timer-display{color:var(--color-gray-900)}.clock-current-info{margin:12px 0 4px}.clock-info-chips{display:flex;gap:var(--space-sm);flex-wrap:wrap}.clock-chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-xl);font-size:var(--font-size-smd);font-weight:500}.clock-chip-job{background:var(--color-info-pale);color:var(--color-accent-hover)}.clock-chip-dept{background:var(--color-warning-light);color:var(--color-warning-darker);text-transform:capitalize}.clock-out-note-row{margin-top:var(--space-md)}.clock-out-note-row #clock-out-note{width:100%}.clock-status-card .clock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-md);padding-top:16px;border-top:1px solid var(--color-gray-100)}.btn.btn-clock-in{flex:1;min-height:48px;font-size:var(--font-size-md);font-weight:600;background:linear-gradient(135deg,var(--color-success-bright) 0%,var(--color-success-mid) 100%)!important;background-color:var(--color-success-mid)!important;color:#fff;border:none;border-radius:var(--radius-lg);transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #22c55e40}.btn.btn-clock-in:hover{background:linear-gradient(135deg,var(--color-success-mid) 0%,var(--color-green-700) 100%)!important;background-color:var(--color-green-700)!important;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e59}.btn.btn-clock-in:active{transform:translateY(0)}.btn.btn-clock-switch{flex:1;min-height:48px;font-size:var(--font-size-md);font-weight:600;background:linear-gradient(135deg,var(--color-info) 0%,var(--color-blue-600) 100%)!important;background-color:var(--color-blue-600)!important;color:#fff;border:none;border-radius:var(--radius-lg);transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #3b82f640}.btn.btn-clock-switch:hover{background:linear-gradient(135deg,var(--color-blue-600) 0%,#1d4ed8 100%)!important;background-color:#1d4ed8!important;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.btn.btn-clock-switch:active{transform:translateY(0)}.btn.btn-clock-out{flex:1;min-height:48px;font-size:var(--font-size-md);font-weight:600;background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-dark) 100%)!important;background-color:var(--color-danger-dark)!important;color:#fff;border:none;border-radius:var(--radius-lg);transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #ef444440}.btn.btn-clock-out:hover{background:linear-gradient(135deg,var(--color-danger-dark) 0%,var(--color-danger-darker) 100%)!important;background-color:var(--color-danger-darker)!important;transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn.btn-clock-out:active{transform:translateY(0)}.clock-picker{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;overflow:hidden;display:none}.clock-picker.expanded{display:block}.clock-picker-handle{display:none}.clock-picker-title{font-size:var(--font-size-md);font-weight:700;margin:0;padding:16px 20px 12px;color:var(--color-gray-900)}.clock-picker-body{padding:0 20px 8px}.clock-picker-field{margin-bottom:14px}.clock-picker-field label{display:block;margin-bottom:6px;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.clock-job-search{width:100%;min-height:42px;font-size:var(--font-size-md);margin-bottom:var(--space-sm);border:1.5px solid var(--color-gray-200);padding:var(--input-padding-y) 12px;background:var(--color-gray-50);color:var(--color-gray-900);transition:border-color .15s,box-shadow .15s}.clock-job-search:focus{border-color:var(--color-accent);box-shadow:var(--input-focus-ring);outline:none;background:var(--color-bg-secondary)}.clock-job-list{width:100%;min-height:120px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:var(--font-size-md);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50);color:var(--color-gray-900);padding:4px}.clock-job-group-label{padding:6px 10px 2px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.clock-job-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.clock-job-item:active{background:var(--color-info-light)}.clock-job-item-selected{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff}.clock-job-empty{text-align:center;cursor:default}.clock-dept-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.clock-dept-btn{min-height:42px;text-transform:capitalize}.clock-dept-btn:hover{background:var(--color-info-pale);border-color:var(--color-accent);color:var(--color-accent-hover)}.clock-dept-btn.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 6px #3b82f64d}.clock-picker-actions{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--color-gray-100);background:var(--color-gray-50)}.btn-clock-confirm{flex:1;min-height:46px}.btn-clock-confirm:disabled{opacity:.4;cursor:not-allowed}.btn-clock-cancel{min-height:46px}.clock-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9998;opacity:0;transition:opacity .25s}.clock-sheet-backdrop.visible{opacity:1}.clock-sessions-section{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-sm)}.clock-sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.clock-sessions-title{font-size:var(--font-size-md);font-weight:700;margin:0;color:var(--color-gray-900)}.clock-today-total{font-size:var(--font-size-xl);font-weight:700;color:var(--color-accent)}.clock-sessions-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.clock-session-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-gray-50);border-radius:var(--radius-md);border-left:3px solid var(--color-gray-300);font-size:var(--font-size-smd);transition:background .15s}.clock-session-info{display:flex;flex-direction:column;gap:1px}.clock-session-job{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-smd)}.clock-session-dept{color:var(--color-gray-500);font-size:var(--font-size-sm);text-transform:capitalize}.clock-session-time{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.clock-session-range{font-size:var(--font-size-sm);color:var(--color-gray-500)}.clock-session-hours{font-weight:700;color:var(--color-gray-900);font-size:var(--font-size-md)}.clock-no-sessions{color:var(--color-gray-500);text-align:center;padding:20px 16px;font-size:var(--font-size-smd)}.clock-week-summary{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 16px;background:var(--color-bg-primary);border-radius:var(--radius-md)}.clock-week-main,.clock-week-overtime{display:flex;flex-direction:column}.clock-week-label{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:2px}.clock-week-hours{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-900)}.clock-week-contracted{font-weight:400;color:var(--color-gray-500)}.clock-week-ot{font-size:var(--font-size-xl);font-weight:700;color:var(--color-warning-text);text-align:right}.clock-history-section{margin-top:var(--space-lg)}.clock-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.clock-history-title{margin:0;font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-900)}.clock-history-nav{display:flex;gap:6px;align-items:center}.clock-history-btn{min-width:32px;min-height:32px;border:none;display:flex}.clock-history-btn:hover{background:var(--color-gray-200)}.clock-history-range{font-size:var(--font-size-smd);color:var(--color-gray-500);min-width:120px;text-align:center}.clock-history-list{display:flex;flex-direction:column;gap:var(--space-xs)}.clock-history-totals{margin-top:var(--space-sm);padding:8px 12px;background:var(--color-info-pale);border-radius:var(--radius-md);display:flex;justify-content:space-between;font-size:var(--font-size-smd);font-weight:600}.clock-history-days{color:var(--color-gray-500)}.clock-tab:active{background:var(--color-gray-50)}.clock-holiday-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--space-xxl);max-width:960px;margin:0 auto;padding:16px}@media(max-width:768px){.clock-holiday-layout{grid-template-columns:1fr;gap:var(--space-lg);padding:12px}}.clock-holiday-sidebar{display:flex;flex-direction:column}.clock-holiday-main{min-width:0;max-height:calc(100vh - 140px);overflow-y:auto}@media(max-width:768px){.clock-holiday-main{max-height:none;overflow-y:visible}}.clock-holiday-mini-cal{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-top:var(--space-md)}.clock-holiday-cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.clock-holiday-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:var(--font-size-sm)}.clock-holiday-cal-grid .cal-header{font-weight:600;color:var(--color-gray-500);padding:4px 0;font-size:var(--font-size-xs)}.clock-holiday-cal-grid .cal-day{padding:6px 2px;border-radius:var(--radius-sm);cursor:default;position:relative;color:var(--color-gray-700);border:none;background:transparent;font:inherit;width:100%}.clock-holiday-cal-grid .cal-day.cal-clickable{cursor:pointer}.clock-holiday-cal-grid .cal-day.cal-clickable:hover{background:var(--color-gray-100)}.clock-holiday-cal-grid .cal-day.cal-selected{outline:2px solid var(--color-accent-hover);outline-offset:-2px}.clock-holiday-cal-grid .cal-day .cal-team-dot{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-danger);pointer-events:none}.clock-holiday-cal-grid .cal-day.cal-other-month{color:var(--color-gray-300)}.clock-holiday-cal-grid .cal-day.cal-today{font-weight:700;box-shadow:inset 0 0 0 2px var(--color-accent)}.clock-holiday-cal-grid .cal-day.cal-weekend{color:var(--color-gray-500)}.clock-holiday-cal-grid .cal-day.cal-leave-approved{background:var(--color-accent);color:#fff;font-weight:600}.clock-holiday-cal-grid .cal-day.cal-leave-pending{background:var(--color-warning-light);color:var(--color-warning-darker);font-weight:600;border:1px dashed var(--color-warning)}.clock-holiday-cal-grid .cal-day.cal-leave-sick{background:var(--color-danger);color:#fff;font-weight:600}.clock-holiday-cal-grid .cal-day.cal-bank-holiday{background:var(--color-purple)1a;color:var(--color-purple);font-weight:600}.clock-holiday-cal-legend{display:flex;gap:var(--space-md);margin-top:10px;font-size:var(--font-size-xs);color:var(--color-gray-500);flex-wrap:wrap}.cal-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.cal-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.clock-holiday-cal-day-info{margin-top:var(--space-md);padding:10px 12px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-smd)}.clock-holiday-cal-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.clock-holiday-cal-day-title{font-weight:600;color:var(--color-gray-900)}.clock-holiday-cal-day-close{background:transparent;border:none;font-size:var(--font-size-2xl);line-height:1;color:var(--color-gray-500);cursor:pointer;padding:0 4px}.clock-holiday-cal-day-close:hover{color:var(--color-gray-900)}.clock-holiday-cal-bh-line{color:var(--color-violet);font-weight:500;margin-bottom:6px}.clock-holiday-cal-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.clock-holiday-cal-day-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.clock-holiday-cal-day-name{font-weight:500;color:var(--color-gray-900)}.clock-holiday-cal-day-meta{color:var(--color-gray-500);font-size:var(--font-size-sm);display:flex;align-items:center;gap:6px}.clock-holiday-cal-pill-pending{background:var(--color-warning-light);color:var(--color-warning-darker)}.clock-holiday-cal-book{display:block;width:100%;margin-top:10px}@media(min-width:768px){.clock-dept-buttons{grid-template-columns:repeat(5,1fr)}}@media screen and (max-width:767px){.time-clock-container{max-width:100%;padding:12px}.clock-status-card{padding:16px;border-radius:var(--radius-lg)}.clock-timer-display{font-size:28px}.clock-status-label{font-size:var(--font-size-md)}.clock-status-card .clock-actions{flex-direction:column;gap:var(--space-sm)}.btn-clock-in,.btn-clock-switch,.btn-clock-out{min-height:50px;font-size:var(--font-size-md)}.clock-dept-buttons{grid-template-columns:repeat(2,1fr)}.clock-picker{position:fixed;bottom:0;left:0;right:0;top:56px;z-index:9999;margin:0;border:none;border-radius:0;overflow:hidden;display:flex!important;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);box-shadow:var(--shadow-xl)}.clock-picker:not(.expanded){pointer-events:none}.clock-picker.expanded{transform:translateY(0);pointer-events:auto;display:flex!important;flex-direction:column}.clock-picker-handle{display:block;width:36px;height:4px;background:var(--color-gray-300);border-radius:2px;margin:10px auto 4px;flex-shrink:0}.clock-picker-title{font-size:var(--font-size-lg);padding:10px 20px 12px;text-align:center;flex-shrink:0}.clock-picker-body{padding:0 16px 8px;flex:1;display:flex;flex-direction:column;overflow:hidden}.clock-picker-field.clock-picker-job-field{flex:1;display:flex;flex-direction:column;overflow:hidden}.clock-job-search{font-size:var(--font-size-lg)}.clock-job-list{flex:1;min-height:0;max-height:none;font-size:var(--font-size-md)}.clock-picker-actions{flex-direction:column;flex-shrink:0;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.btn-clock-confirm,.btn-clock-cancel{width:100%;min-height:48px;font-size:var(--font-size-lg)}.clock-sessions-section{padding:12px;border-radius:var(--radius-lg)}.clock-session-item{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:2px;padding:10px}.clock-session-info{flex:1;min-width:0}.clock-session-time{text-align:right;align-items:flex-end;margin-left:auto}.clock-tab{padding:12px 8px;font-size:var(--font-size-smd);min-height:44px}.clock-leave-summary{gap:6px}.clock-leave-stat{padding:8px 4px}.clock-leave-stat-value{font-size:var(--font-size-lg)}.clock-leave-stat-label{font-size:var(--font-size-2xs)}}.tc-review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#0f172a8c;display:flex;align-items:flex-end;justify-content:center}.tc-review-sheet{background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text-primary, var(--color-gray-900));width:100%;max-width:560px;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}@media(min-width:560px){.tc-review-overlay{align-items:center}.tc-review-sheet{border-radius:var(--radius-xl)}}.tc-review-head{padding:16px 16px 8px;border-bottom:1px solid var(--color-gray-200)}.tc-review-head h3{margin:0 0 2px;font-size:var(--font-size-lg)}.tc-review-head p{margin:0;font-size:var(--font-size-md);color:var(--color-gray-500)}.tc-review-body{overflow-y:auto;padding:12px 16px;flex:1}.tc-review-job{margin-bottom:18px}.tc-review-job h4{margin:0 0 8px;font-size:var(--font-size-lg);color:var(--color-accent)}.tc-review-progress{margin:0 0 var(--space-xs);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent)}.tc-review-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--space-sm);font-size:var(--font-size-smd);color:var(--color-gray-500)}.tc-chip{padding:4px 10px;border-radius:var(--radius-lg);border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);font-size:var(--font-size-smd);cursor:pointer}.tc-review-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tc-review-item{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px}.tc-review-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.tc-ref{font-weight:700}.tc-badge--muted{background:var(--color-gray-100);color:var(--color-gray-600)}.tc-badge--white{background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);color:var(--color-gray-700)}.tc-badge--yellow{background:#f59e0b29;color:var(--color-amber-700)}.tc-badge--red{background:#dc262624;color:var(--color-danger-text)}.tc-badge--green{background:#22c55e29;color:var(--color-green-700)}.tc-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tc-seg-btn{padding:10px 6px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);font-size:var(--font-size-md);cursor:pointer;min-height:44px}.tc-seg-btn.is-on{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.tc-review-warn{margin:8px 0 4px;font-size:var(--font-size-smd);color:var(--color-amber-700)}.tc-review-photo{margin-top:6px;display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.tc-photo-btn{padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--color-accent);color:var(--color-accent);background:var(--color-bg-secondary);font-size:var(--font-size-md);cursor:pointer}.tc-review-nochange{margin-top:var(--space-sm);font-size:var(--font-size-md);display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tc-review-nochange.is-hidden{display:none}.tc-review-nochange select{padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300)}.tc-review-foot{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--color-gray-200)}.tc-review-foot .btn{flex:1;min-height:48px}.tc-review-confirm:disabled{opacity:.5;cursor:not-allowed}#time-clock-admin-view{overflow-y:auto!important}body.wall-calendar-mode #time-clock-admin-view .tca-tab-bar,body.wall-calendar-mode #time-clock-admin-view .tca-panel{display:none!important}body.wall-calendar-mode #time-clock-admin-view #tca-leave-panel{display:block!important}#time-admin-category>#time-clock-admin-view>.view-header{display:none}body.wall-calendar-mode #admin-view .admin-category-nav{display:none!important}body.wall-calendar-mode #admin-view>.view-container>.view-header{display:none!important}body.wall-calendar-mode #time-admin-category>.category-header{display:none!important}body.wall-calendar-mode #time-admin-category>#time-clock-admin-view>.view-header{display:flex!important}#time-clock-admin-view .tca-panel{overflow-y:auto;flex:1;min-height:0}.tca-tab-bar{display:flex;flex-wrap:wrap;gap:10px;padding:10px;background:var(--color-gray-50);border-radius:var(--radius-md)}.tca-tab:hover{border-color:var(--color-accent);background:var(--tab-hover-bg)}.tca-tab.active{border-color:var(--tab-active-border);background:var(--tab-active-bg);color:var(--tab-active-text)}.tca-date-nav{display:flex;align-items:center;gap:var(--space-md);padding:4px 20px 8px}.tca-nav-btn{width:32px;display:flex}.tca-nav-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.tca-date-label{font-size:var(--font-size-md);font-weight:600;color:var(--color-neutral-700)}.tca-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-neutral-550);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}@keyframes tca-pulse{0%,to{opacity:1}50%{opacity:.4}}.tca-live-name{font-weight:600;font-size:var(--font-size-md)}.tca-empty{padding:12px 0}.tca-user-name{font-weight:600;font-size:var(--font-size-md)}.tca-inline-time{width:100%;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-family:inherit;background:transparent}.tca-inline-time:hover{border-color:var(--color-gray-200);background:var(--color-neutral-50)}.tca-inline-time:focus{border-color:var(--color-accent);outline:none;background:var(--color-bg-secondary)}.tca-loc-tag{display:inline-flex;align-items:center;gap:3px;max-width:100%;font-size:var(--font-size-2xs);font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:opacity .15s}.tca-loc-tag:hover{opacity:.75;text-decoration:underline}.tca-loc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tca-loc-in{color:var(--color-green-700)}.tca-loc-out{color:var(--color-danger-dark)}.tca-loc-arrow{flex:0 0 auto;font-size:var(--font-size-xs);line-height:1}.tca-loc-out .tca-loc-arrow{transform:rotate(90deg);display:inline-block}.tca-loc-auto{font-size:var(--font-size-2xs);font-weight:500;font-style:italic;color:var(--color-neutral-450);white-space:nowrap;cursor:default}#tca-approvals-detail-table{table-layout:fixed;width:100%}#tca-approvals-detail-table thead th:nth-child(1){width:100px}#tca-approvals-detail-table thead th:nth-child(2){width:64px}#tca-approvals-detail-table thead th:nth-child(3){width:90px}#tca-approvals-detail-table thead th:nth-child(4){width:84px}#tca-approvals-detail-table thead th:nth-child(5){width:90px}#tca-approvals-detail-table thead th:nth-child(6){width:84px}#tca-approvals-detail-table thead th:nth-child(7){width:96px}#tca-approvals-detail-table thead th:nth-child(8){width:88px}#tca-approvals-detail-table thead th:nth-child(9){width:230px}#tca-approvals-detail-table thead th:nth-child(10){width:74px}#tca-approvals-detail-table thead th:nth-child(11){width:44px}#tca-approvals-detail-table thead th:nth-child(12){width:76px}#tca-approvals-detail-table thead th:nth-child(13){width:38px}.tca-td-loc,#tca-approvals-detail-table .tca-td-job{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tca-geofence-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.tca-geofence-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200)}.tca-geofence-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.tca-geofence-detail{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px}.tca-geofence-actions{display:flex;gap:6px}.tca-geofence-modal-content{max-width:650px;width:95%}#tca-geofence-map{z-index:0}.tca-muted{color:var(--color-neutral-600)}.tca-btn-delete{padding:0;width:20px;height:20px;font-size:var(--font-size-sm);line-height:1;border:none;background:none;color:var(--color-gray-300);cursor:pointer;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.tca-btn-delete:hover{background:var(--color-danger-light);color:var(--color-danger-dark);border-color:var(--color-danger-mid)}.tca-table-wrap{overflow-x:auto}.tca-th-name{text-align:left!important;min-width:140px;position:sticky;left:0;background:var(--color-gray-50);z-index:1}.tca-edit-modal{max-width:520px;width:520px}#wc-settings-modal{background-color:#00000080!important;z-index:1050}.wc-mobile-month{display:none}.wc-day-detail-list{display:flex;flex-direction:column;gap:var(--space-sm)}.wc-day-detail-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-neutral-50)}.wc-day-detail-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.wc-day-detail-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.wc-day-detail-type{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-left:auto}@media(max-width:768px){.tca-timeline-wrap,#tca-leave-panel #tca-leave-add-btn,#tca-leave-panel #tca-shutdown-btn,#tca-leave-panel #tca-year-end-btn,#tca-leave-panel #wc-settings-btn,#tca-leave-panel .tca-cal-actions,#tca-leave-panel .tca-cal-filter{display:none!important}#tca-leave-panel .tca-cal-header{flex-wrap:wrap;gap:6px;padding:4px 0;justify-content:center}.wc-mobile-month{display:block;padding:4px;width:100%;box-sizing:border-box;overflow:hidden}.wc-mm-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-xs)}.wc-mm-dow-row>div{text-align:center;font-size:var(--font-size-2xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;padding:2px 0}.wc-mm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;width:100%}.wc-mm-cell{aspect-ratio:1;min-width:0;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);background:var(--color-bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2px 1px;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.wc-mm-cell.wc-mm-other-month{opacity:.35}.wc-mm-cell.wc-mm-weekend{background:var(--color-gray-100)}.wc-mm-cell.wc-mm-bank-holiday{background:#ede9fe}.wc-mm-cell.wc-mm-today{border-color:var(--color-accent);border-width:2px;padding:1px 0}.wc-mm-cell.wc-mm-selected{outline:2px solid var(--color-accent-hover);outline-offset:-2px;background:var(--color-info-pale)}.wc-mobile-day-detail{margin-top:var(--space-md);padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.wc-mobile-day-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wc-mobile-day-detail-header h4{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800)}#wc-mobile-day-detail-close{font-size:var(--font-size-xl)!important;padding:2px 10px!important;line-height:1}.wc-mm-day-num{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-800);line-height:1}.wc-mm-cell.wc-mm-other-month .wc-mm-day-num{color:var(--color-gray-500)}.wc-mm-badge{margin-top:2px;min-width:16px;height:16px;border-radius:var(--radius-md);background:var(--color-danger);color:#fff;font-size:var(--font-size-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.wc-mm-bh-label{margin-top:1px;font-size:7px;color:var(--color-violet);font-weight:600;text-align:center;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:0 1px}}#tca-leave-types-modal{z-index:1080}.tca-edit-modal .modal-body{padding:var(--space-xl)}.tca-edit-modal .modal-body .form-group{margin-bottom:var(--space-lg)}.tca-edit-modal .modal-body label{color:var(--color-text-secondary);margin-bottom:6px;display:block}.tca-edit-modal .modal-body .form-control{transition:border-color .15s,box-shadow .15s;background:var(--color-bg-primary)}.tca-edit-modal .modal-body .form-control:focus{border-color:var(--color-accent);box-shadow:var(--input-focus-ring);outline:none}.tca-edit-modal .modal-body select.form-control[size]{border-radius:var(--radius-md);padding:4px;font-size:var(--font-size-smd);max-height:120px;margin-top:6px}.tca-edit-modal .modal-body select.form-control[size] option{padding:6px 10px;border-radius:var(--radius-xs)}.tca-edit-modal .modal-body #tca-add-job-list{margin-top:6px;max-height:180px;min-height:100px}.tca-add-job-picked{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:6px;padding:10px 12px;background:linear-gradient(135deg,var(--color-info-pale),var(--color-info-light));border:1.5px solid var(--color-accent-light);border-radius:var(--radius-md)}.tca-add-job-picked-label{flex:1;font-weight:600;color:var(--color-accent-hover);font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tca-add-job-change-link{background:none;border:none;color:var(--color-accent-hover);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);transition:background .1s}.tca-add-job-change-link:hover{background:#2563eb1a}.tca-edit-modal .modal-body textarea.form-control{min-height:60px}.tca-shutdown-emp-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px;background:var(--color-bg-primary)}.tca-shutdown-emp-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.tca-shutdown-emp-item:hover{background:var(--color-bg-tertiary)}.tca-shutdown-emp-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.tca-shutdown-emp-item label{font-size:var(--font-size-md)!important;font-weight:400!important;color:var(--color-text-primary)!important;margin-bottom:0!important;cursor:pointer;flex:1}.tca-shutdown-emp-item .tca-shutdown-emp-dept{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:var(--radius-md)}.tca-shutdown-preview{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:12px 16px;font-size:var(--font-size-smd);color:var(--color-text-secondary);margin-top:var(--space-sm)}.tca-shutdown-progress{margin-top:var(--space-md);padding:12px 16px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-smd);color:var(--color-text-secondary)}.tca-shutdown-progress .progress-bar{height:6px;background:var(--color-border);border-radius:var(--radius-xs);margin-top:var(--space-sm);overflow:hidden}.tca-shutdown-progress .progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-xs);transition:width .3s}.tca-edit-modal .clock-dept-buttons{display:flex;flex-wrap:wrap;gap:6px}.tca-edit-modal .clock-dept-btn{padding:6px 12px;font-size:var(--font-size-smd);border-radius:var(--radius-full);background:var(--color-bg-primary);transition:all .15s}.tca-edit-modal .clock-dept-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-tertiary)}.tca-edit-modal .clock-dept-btn.active,.tca-edit-modal .clock-dept-btn.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.modal-footer-right{display:flex;gap:var(--space-sm)}.tca-leave-modal-footer{justify-content:space-between!important}.tca-leave-modal-footer .modal-footer-left,.tca-leave-modal-footer .modal-footer-center,.tca-leave-modal-footer .modal-footer-right{display:flex;gap:var(--space-sm)}.tca-dept-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tca-dept-item{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-smd)}.tca-dept-name{font-weight:500}.tca-dept-remove{background:none;border:none;color:var(--color-neutral-600);cursor:pointer;font-size:var(--font-size-lg);line-height:1;padding:0 2px}.tca-dept-remove:hover{color:var(--color-danger-dark)}.tca-dept-add-row{display:flex;gap:var(--space-sm);align-items:center}.tca-dept-add-row input{max-width:220px;padding:var(--input-padding-y) 10px var(--input-padding-y) 10px}.tca-settings-layout{gap:0;height:100%}.tca-settings-sidebar{width:180px;min-width:180px;background:var(--color-gray-50);border-right:1px solid var(--color-gray-200);padding:16px 0;display:flex;flex-direction:column;gap:2px}.tca-settings-sidebar-title{color:var(--color-neutral-450);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:0 16px 10px;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-xs)}.tca-settings-nav{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;color:var(--color-neutral-550);font-size:var(--font-size-smd);font-weight:500;cursor:pointer;transition:background .15s,color .15s;border-left:3px solid transparent}.tca-settings-nav:hover{background:var(--color-neutral-100);color:var(--color-neutral-700)}.tca-settings-nav.active{background:var(--color-info-pale);color:var(--color-accent);border-left-color:var(--color-accent);font-weight:600}.tca-settings-content{flex:1;padding:20px 24px;overflow-y:auto}.tca-settings-section{display:block}.tca-settings-section[style*="display: none"]{display:none!important}.tca-leave-types-preview{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.tca-leave-type-preview-card{display:flex;align-items:center;gap:var(--space-md);padding:10px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200)}.tca-leave-type-color{width:14px;height:14px;border-radius:50%;flex-shrink:0}.tca-leave-type-label{font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-800)}.tca-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg)}.tca-global-defaults-btn{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-smd);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.tca-global-defaults-btn:hover{background:var(--color-indigo-700)}.tca-settings-desc{color:var(--color-neutral-600);font-size:var(--font-size-smd);margin-bottom:var(--space-lg)}.tca-emp-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-neutral-700)}#tca-leave-modal,#tca-leave-history-modal,#tca-leave-types-modal,#tca-edit-modal,#tca-add-modal,#clock-request-modal,#clock-holiday-modal{background-color:#00000080}.tca-leaver-calc-section{margin-top:var(--space-xl);padding-top:16px;border-top:1px solid var(--color-border)}.tca-leaver-calc-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.tca-working-days{display:flex;flex-direction:column;gap:6px}.tca-day-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-neutral-50)}.tca-day-row.disabled{opacity:.5;background:var(--color-gray-100)}.tca-day-check{display:flex;align-items:center;gap:6px;min-width:110px;font-size:var(--font-size-smd);font-weight:500}.tca-day-times{display:flex;align-items:center;gap:6px;font-size:var(--font-size-smd)}.tca-day-times input[type=time]{padding:2px 6px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd)}.tca-recurring-options{background:var(--color-info-pale);border:1px solid #c7d2fe;border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-sm)}.tca-recurring-options .form-group{margin-bottom:10px}.tca-recurring-options .form-group:last-child{margin-bottom:0}.tca-recurring-options label{color:var(--color-gray-700)}.tca-day-times span{color:var(--color-neutral-500)}.tca-breaks-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-sm)}.tca-break-row{display:flex;align-items:center;gap:var(--space-sm);padding:8px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-neutral-50);font-size:var(--font-size-smd)}.tca-break-row label{font-weight:500;min-width:60px}.tca-break-row input{padding:2px 6px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd)}.tca-break-row input[type=time]{width:100px}.tca-break-row input[type=number]{width:60px}.tca-break-remove{margin-left:auto;background:none;border:none;color:var(--color-danger-dark);cursor:pointer;font-size:var(--font-size-lg);padding:0 4px}.tca-toil-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-sm)}.tca-toil-row{display:flex;align-items:center;gap:var(--space-sm);padding:8px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-neutral-50);font-size:var(--font-size-smd)}.tca-toil-row label{font-weight:500;min-width:50px}.tca-toil-row input[type=number]{width:70px;padding:2px 6px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd)}.tca-toil-row input[type=text]{flex:1;padding:2px 6px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd)}.tca-toil-remove{background:none;border:none;color:var(--color-danger-dark);cursor:pointer;font-size:var(--font-size-lg);padding:0 4px}.tca-checkbox-row label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.tca-checkbox-row input[type=checkbox]{width:16px;height:16px}.tca-manager-cover-list{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-width:420px}.tca-manager-cover-row{display:flex;align-items:center;gap:var(--space-sm);padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-md);cursor:pointer}.tca-manager-cover-row:hover{background:var(--color-gray-100)}.tca-manager-cover-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.tca-manager-cover-row:has(input:disabled){opacity:.6;cursor:not-allowed}.tca-manager-cover-hint{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-gray-600);white-space:nowrap}.tca-report-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-bottom:var(--space-md)}.tca-report-table{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.tca-report-table th,.tca-report-table td{padding:8px 10px;border:1px solid var(--color-gray-200);text-align:right}.tca-report-table th{background:var(--color-gray-50);font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-neutral-550);text-align:center}.tca-report-table td:first-child,.tca-report-table th:first-child{text-align:left;font-weight:500;position:sticky;left:0;background:var(--color-bg-secondary);z-index:1;min-width:140px}.tca-report-table th:first-child{background:var(--color-gray-50)}.tca-report-ot{color:#ea580c;font-weight:600}.tca-report-pay{font-weight:600;color:var(--color-success-mid)}.tca-bradford-green{color:var(--color-success-mid);font-weight:600}.tca-bradford-yellow{color:#ca8a04;font-weight:600}.tca-bradford-amber{color:#ea580c;font-weight:600}.tca-bradford-red{color:var(--color-danger-dark);font-weight:600}.tca-bradford-types-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;padding:4px 0}.tca-bradford-types-list label{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--color-border, var(--color-gray-200));border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-smd);-webkit-user-select:none;user-select:none;transition:background .12s}.tca-bradford-types-list label:hover{background:var(--color-gray-50)}.tca-bradford-types-list input[type=checkbox]{margin:0}.tca-bradford-types-list .tca-bradford-type-swatch{display:inline-block;width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.tca-report-total-row td{font-weight:700;background:var(--color-info-pale);border-top:2px solid var(--color-accent)}.tca-billable-summary{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.tca-billable-card{flex:1;min-width:140px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);padding:12px 16px;text-align:center}.tca-billable-card-label{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-gray-500);font-weight:600;margin-bottom:var(--space-xs)}.tca-billable-card-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-800)}.tca-billable-green{color:var(--color-success-mid)}.tca-billable-red{color:var(--color-danger-dark)}.tca-billable-subtotal-row td{font-weight:600;background:var(--color-success-pale);border-top:1px solid var(--color-green-200)}.tca-nonbillable-total-row td{font-weight:600;background:var(--color-danger-pale);border-top:1px solid var(--color-danger-tint)}.tca-leave-list{display:flex;flex-direction:column;gap:var(--space-lg)}.tca-leave-emp-name{font-weight:600;font-size:var(--font-size-md)}.tca-leave-stat-label{color:var(--color-neutral-450);font-size:var(--font-size-xs)}.tca-leave-entry-date{min-width:90px;font-weight:500}.tca-leave-entry-type{min-width:100px;color:var(--color-neutral-600)}.tca-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);flex-wrap:wrap;gap:var(--space-sm)}.tca-cal-actions{display:flex;gap:var(--space-sm)}.tca-cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md);padding:8px 12px;background:var(--color-gray-50);border-radius:var(--radius-sm)}.tca-cal-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.tca-cal-legend-dot{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.tca-cal-filter select{min-width:160px;max-width:220px}.tca-timeline-wrap{overflow:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);max-height:calc(100vh - 220px)}.tca-timeline-table{width:100%;border-collapse:collapse;min-width:900px}.tca-timeline-table th,.tca-timeline-table td{text-align:center;font-size:var(--font-size-sm);border:1px solid var(--color-neutral-100);padding:0}.tca-timeline-table thead{position:sticky;top:0;z-index:3}.tca-timeline-dow{padding:4px 0;font-weight:500;color:var(--color-neutral-450);background:var(--color-neutral-50);font-size:var(--font-size-2xs);text-transform:uppercase;width:46px;min-width:46px}.tca-timeline-daynum{padding:4px 0;font-weight:600;font-size:var(--font-size-sm);background:var(--color-neutral-50);color:var(--color-neutral-700);width:46px;min-width:46px}.tca-tl-bank-holiday{background:#faf5ff!important;color:var(--color-violet)!important}.tca-tl-bday{font-size:var(--font-size-2xs);position:absolute;top:1px;right:1px;line-height:1;pointer-events:none}.tca-timeline-table th.tca-tl-name-header{text-align:left;padding:4px 12px;white-space:nowrap;position:sticky;left:0;z-index:2;background:var(--color-neutral-50);font-size:var(--font-size-xs);color:var(--color-neutral-450);text-transform:uppercase}.tca-tl-weekend{background:var(--color-gray-200)!important}.tca-tl-today{background:var(--color-info-light)!important;border-left:3px solid var(--color-accent)!important}.tca-tl-day.tca-tl-weekend.tca-tl-today{background:var(--color-gray-200)!important}.tca-tl-day.tca-tl-bank-holiday{background:repeating-linear-gradient(-45deg,#ec48991a,#ec48991a 3px,#fce7f380 3px,#fce7f380 6px)!important}.tca-timeline-table td.tca-tl-name{text-align:left;padding:6px 8px;position:sticky;left:0;z-index:1;background:var(--color-bg-secondary);white-space:nowrap;border-right:2px solid var(--color-gray-200)}.tca-tl-emp-info{display:flex;align-items:center;gap:var(--space-sm)}.tca-tl-balance{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:22px;border-radius:var(--radius-lg);font-size:var(--font-size-2xs);font-weight:700;color:#fff;padding:0 6px;flex-shrink:0;cursor:pointer}.tca-tl-balance:hover{opacity:.8}.tca-tl-balance.positive{background:var(--color-success-bright)}.tca-tl-balance.negative{background:var(--color-danger)}.tca-tl-balance.zero{background:var(--color-gray-500)}.tca-tl-emp-name{font-size:var(--font-size-smd);font-weight:500;color:var(--color-accent-hover);cursor:pointer}.tca-tl-emp-name:hover{text-decoration:underline}.tca-timeline-table td.tca-tl-day{cursor:pointer;transition:background .1s;padding:0;height:34px;vertical-align:middle;position:relative}.tca-timeline-table td.tca-tl-day:hover{background:var(--color-info-light)!important}.tca-timeline-table td.tca-tl-day.tca-drag-selected{background:var(--color-info-light)!important;outline:2px solid var(--color-accent);outline-offset:-2px}.tca-tl-leave-marker{display:block;cursor:pointer;position:absolute;top:4px;bottom:4px;left:0;right:0;border-radius:var(--radius-xs)}.tca-tl-leave-marker.tca-lm-start{border-radius:var(--radius-xs) 0 0 var(--radius-xs);right:0}.tca-tl-leave-marker.tca-lm-mid{border-radius:0;left:0;right:0}.tca-tl-leave-marker.tca-lm-end{border-radius:0 var(--radius-xs) var(--radius-xs) 0;left:0}.tca-tl-leave-marker:hover{opacity:.8}.tca-leave-types-list{display:flex;flex-direction:column;gap:var(--space-sm)}.tca-leave-type-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);padding:8px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-neutral-50)}.tca-leave-type-row input[type=text]{flex:1;padding:4px 8px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);font-size:var(--font-size-smd)}.tca-leave-type-row input[type=color]{width:32px;height:28px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);padding:1px;cursor:pointer}.tca-leave-type-check{display:flex;align-items:center;gap:3px;font-size:var(--font-size-sm);color:var(--color-gray-600);white-space:nowrap;cursor:pointer}.tca-leave-type-check input[type=checkbox]{margin:0}.tca-leave-type-remove{background:none;border:none;color:var(--color-danger-dark);cursor:pointer;font-size:var(--font-size-lg);padding:0 4px}.tca-leave-history-modal{max-width:98vw;width:98vw;height:95vh;display:flex;flex-direction:column}.tca-leave-history-modal .modal-header{display:flex;align-items:center;gap:var(--space-lg)}.tca-lh-year-nav{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto;margin-right:16px;font-size:var(--font-size-smd)}.tca-lh-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tca-lh-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md);margin-bottom:var(--space-xl);flex-shrink:0}.tca-lh-stat-card{text-align:center;padding:12px 8px;border:1px solid var(--color-gray-200);background:var(--color-neutral-50)}.tca-lh-stat-clickable:hover{background:#f0edff;border-color:var(--color-violet)}.tca-lh-stat-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-neutral-450);text-transform:uppercase;margin-bottom:var(--space-xs)}.tca-lh-stat-value{font-size:var(--font-size-2xl);font-weight:700}.tca-lh-stat-value.green{color:var(--color-success-mid)}.tca-lh-stat-value.amber{color:var(--color-warning-text)}.tca-lh-stat-value.red{color:var(--color-danger-text)}.tca-lh-stat-value.blue{color:var(--color-accent)}.tca-lh-stat-sub{margin-top:var(--space-xs);font-size:var(--font-size-xs);font-weight:500;color:var(--color-neutral-450);line-height:1.3}.tca-lh-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);flex:1;min-height:0;overflow:hidden}.tca-lh-col{display:flex;flex-direction:column;min-height:0;overflow:hidden}.tca-lh-col h4{font-size:var(--font-size-md);font-weight:600;margin-bottom:10px;color:var(--color-neutral-700)}.tca-lh-entries,.tca-lh-toil{font-size:var(--font-size-smd);flex:1;min-height:0;overflow-y:auto}.tca-lh-entry-row{display:grid;grid-template-columns:130px 200px 50px 65px 110px 60px;gap:6px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.tca-lh-entry-row:hover{background:var(--color-gray-50)}.tca-lh-type-cell{display:flex;align-items:center;gap:6px}.tca-lh-type-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tca-lh-toil-row,.tca-lh-toil-header-row{display:grid;grid-template-columns:110px 80px 1fr;gap:var(--space-sm);align-items:start;padding:6px 8px;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.tca-lh-toil-row>span,.tca-lh-toil-header-row>span{word-break:break-word}.tca-lh-toil-header-row{font-weight:600;color:var(--color-neutral-550);border-bottom:2px solid var(--color-gray-200);font-size:var(--font-size-xs);text-transform:uppercase}.tca-lh-toil-row:hover{background:var(--color-gray-50)}.tca-lh-header-row{display:grid;grid-template-columns:130px 200px 50px 65px 110px 60px;gap:6px;padding:6px 8px;font-weight:600;color:var(--color-neutral-550);border-bottom:2px solid var(--color-gray-200);font-size:var(--font-size-xs);text-transform:uppercase}.tca-lh-btn-edit,.tca-lh-btn-delete{background:none;border:none;cursor:pointer;font-size:var(--font-size-smd);padding:2px 4px;color:var(--color-neutral-600)}.tca-lh-btn-delete:hover{color:var(--color-danger-dark)}.tca-date-inner{display:flex;align-items:center;gap:6px}.tca-date-inner .tca-date-text{flex:1}.tca-date-inner .tca-day-badge{margin-left:auto;flex-shrink:0}.tca-date-inner .tca-day-add-btn{flex-shrink:0;margin-left:auto}.tca-day-add-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-bg-secondary);color:var(--color-neutral-450);font-size:var(--font-size-md);font-weight:600;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s;vertical-align:middle}.tca-day-add-btn:hover{background:var(--color-info-pale);color:var(--color-accent);border-color:var(--color-accent)}.tca-td-job{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.tca-td-dept{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-neutral-600);text-align:left}.tca-td-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-neutral-600);font-size:var(--font-size-sm);text-align:left}.tca-td-duration{font-weight:600;white-space:nowrap}.tca-td-daytotal{font-weight:600;white-space:nowrap;color:var(--color-gray-700)}.tca-clocked-in-tag{display:inline-block;padding:1px 6px;background:var(--color-success-tint);color:var(--color-success-darker);border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:600}.tca-home-panel{padding:24px 32px}.tca-home-greeting h2{margin:0 0 4px;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-neutral-900)}.tca-home-sub{margin:0 0 24px;font-size:var(--font-size-md);color:var(--color-neutral-450)}.tca-home-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.tca-home-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;border:1px solid var(--color-gray-200);border-top:3px solid var(--color-gray-200);background:var(--color-neutral-50);text-align:center;transition:border-color .2s,box-shadow .2s}.tca-home-stat-card:hover{border-top-color:#d4a017;box-shadow:var(--shadow-md)}.tca-home-stat-card.tca-home-stat-clickable:hover{border-top-color:var(--color-accent);box-shadow:0 2px 12px #3b82f626;transform:translateY(-1px)}.tca-home-stat-label{font-size:var(--font-size-md);font-weight:700;color:var(--color-neutral-900);margin-bottom:var(--space-sm)}.tca-home-stat-value{font-size:28px;font-weight:600;color:var(--color-warning-text)}.tca-whos-in-widget{margin-top:var(--space-xxl)}.tca-whos-in-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-neutral-900);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #d4a017}.tca-whos-in-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.tca-whos-in-column{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden;min-height:120px}.tca-whos-in-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:var(--font-size-md);font-weight:700;color:#fff}.tca-whos-in-header-green{background:var(--color-success-mid)}.tca-whos-in-header-blue{background:var(--color-blue-600)}.tca-whos-in-header-amber{background:var(--color-warning-dark)}.tca-whos-in-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:700;padding:0 6px;background:#ffffff40;color:#fff}.tca-whos-in-list{padding:8px}.tca-whos-in-dept-group{margin-bottom:var(--space-sm)}.tca-whos-in-dept-group:last-child{margin-bottom:0}.tca-whos-in-dept-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:4px 6px 2px;margin-bottom:var(--space-xs)}.tca-whos-in-emp{padding:6px 8px;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.tca-whos-in-emp:last-child{margin-bottom:0}.tca-whos-in-emp-green{background:var(--color-success-pale);border-left:3px solid var(--color-success-mid)}.tca-whos-in-emp-amber{background:var(--color-warning-pale);border-left:3px solid var(--color-warning-dark)}.tca-whos-in-emp-name{font-size:var(--font-size-smd);font-weight:600;color:var(--color-neutral-900)}.tca-whos-in-emp-detail{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:1px}.tca-whos-in-empty{padding:20px 12px;text-align:center}.tca-whos-in-emp-clickable{cursor:pointer;transition:filter .12s ease,transform .12s ease}.tca-whos-in-emp-clickable:hover{filter:brightness(.96);transform:translate(1px)}.tca-whos-in-emp-clickable:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:1px}@media(max-width:767px){.tca-whos-in-grid{grid-template-columns:1fr}}.tca-home-overtime-section{margin-top:var(--space-xxl)}.tca-home-overtime-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-neutral-900);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--color-danger)}.tca-home-overtime-table{width:100%;border-collapse:collapse;background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.tca-home-overtime-table thead th{background:var(--color-neutral-50);padding:10px 12px;text-align:left;font-size:var(--font-size-smd);font-weight:600;color:var(--color-neutral-550);border-bottom:1px solid var(--color-gray-200)}.tca-home-overtime-table tbody td{padding:10px 12px;font-size:var(--font-size-md);color:var(--color-neutral-700);border-bottom:1px solid var(--color-neutral-100)}.tca-home-overtime-table tbody tr:last-child td{border-bottom:none}.tca-home-overtime-table tbody tr:hover{background:var(--color-neutral-50)}.tca-home-overtime-value{font-weight:700;color:var(--color-danger-text)}.tca-rtw-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-left:4px solid var(--color-warning);padding:12px 16px;transition:box-shadow .2s,border-color .2s}.tca-rtw-card:hover{box-shadow:var(--shadow-md);border-left-color:var(--color-warning-dark)}.tca-rtw-card-info{display:flex;flex-direction:column;gap:var(--space-xs)}.tca-rtw-card-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-neutral-900)}.tca-rtw-card-dates{font-size:var(--font-size-smd);color:var(--color-neutral-600)}.tca-rtw-card-duration{font-size:var(--font-size-sm);color:var(--color-neutral-500);font-style:italic}.tca-rtw-card-btn{background:var(--color-warning);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:var(--font-size-smd);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.tca-rtw-card-btn:hover{background:var(--color-warning-dark)}.tca-rtw-badge{background:var(--color-warning);color:#fff;font-size:var(--font-size-xs);font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:var(--radius-md);padding:0 4px;display:inline-block;margin-left:6px;vertical-align:middle}.tca-rtw-checklist{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px 16px;margin-top:var(--space-sm)}.tca-rtw-checklist-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 10px}.tca-rtw-check-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;cursor:pointer;font-size:var(--font-size-md);color:var(--color-neutral-700);border-bottom:1px solid var(--color-neutral-100)}.tca-rtw-check-item:last-child{border-bottom:none;padding-bottom:0}.tca-rtw-check-item input[type=checkbox]{margin-top:2px;width:18px;height:18px;flex-shrink:0;accent-color:var(--color-warning)}.tca-rtw-check-item span{line-height:1.4}.tca-clickable-cell{cursor:pointer;transition:background .15s;border-radius:var(--radius-xs)}.tca-clickable-cell:hover{background:var(--color-info-pale)}#tca-approvals-detail-table tr.tca-row-jobmatch{background:#fff7d6}#tca-approvals-detail-table tr.tca-row-jobmatch:hover{background:#fdefb8}#tca-approvals-detail-table tr.tca-row-jobmatch .tca-td-job{font-weight:700;box-shadow:inset 3px 0 0 var(--color-warning, #e0a800)}.tca-inline-dropdown{position:fixed;z-index:9999;min-width:180px;max-height:240px;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px 0}.tca-job-dropdown{min-width:280px;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.tca-dropdown-search{padding:8px 10px;border:none;border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-smd);outline:none;width:100%;box-sizing:border-box}.tca-dropdown-list{overflow-y:auto;flex:1}.tca-dropdown-item{padding:6px 12px;font-size:var(--font-size-smd);cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tca-dropdown-item:hover{background:var(--color-info-pale)}.tca-dropdown-item.tca-dropdown-selected{background:var(--color-info-light);font-weight:600;color:#312e81}.tca-dropdown-more{padding:6px 12px;font-size:var(--font-size-xs);color:var(--color-neutral-450);text-align:center;font-style:italic}.tca-inline-note-input{width:100%;padding:4px 8px;border:1px solid var(--color-accent);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-family:inherit;outline:none;background:var(--color-bg-secondary);box-sizing:border-box}.tca-td-notes:has(.tca-inline-note-input){overflow:visible;white-space:normal}.tca-note-out-readonly{display:inline-block;margin-top:3px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.tca-add-entry-menu{position:absolute;z-index:10200;background:var(--color-bg-primary, var(--color-bg-secondary));border:1px solid var(--color-border, var(--color-neutral-300));border-radius:var(--radius-md);box-shadow:var(--shadow-md, 0 6px 18px rgba(0, 0, 0, .16));padding:4px;min-width:168px;display:flex;flex-direction:column;gap:2px}.tca-add-entry-opt{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--font-size-smd);color:var(--color-text-primary, var(--color-neutral-900));cursor:pointer}.tca-add-entry-opt:hover{background:var(--color-bg-tertiary, var(--color-gray-100))}.tca-requests-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.tca-requests-header h3{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-800)}.tca-requests-filters{display:flex;gap:var(--space-xs);background:var(--color-gray-100);padding:2px;border-radius:var(--radius-md)}.tca-req-filter{padding:6px 12px;border:none;background:transparent;color:var(--color-gray-500);font-size:var(--font-size-smd);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.tca-req-filter:hover{color:var(--color-gray-800)}.tca-req-filter.active{background:var(--color-bg-secondary);color:var(--color-gray-800);box-shadow:var(--shadow-sm)}.tca-requests-list{display:flex;flex-direction:column;gap:var(--space-sm)}.tca-request-card{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);transition:border-color .15s,background-color .15s;cursor:pointer}.tca-request-card:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}.tca-request-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tca-request-card.tca-req-pending{border-left:3px solid var(--color-warning)}.tca-request-card.tca-req-approved{border-left:3px solid var(--color-success)}.tca-request-card.tca-req-declined{border-left:3px solid var(--color-danger)}.tca-request-info{flex:1;min-width:0}.tca-request-top{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.tca-request-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.tca-request-type-badge{text-transform:uppercase;letter-spacing:.3px}.tca-request-type-badge.type-modify-clock-in{background:var(--color-info-light);color:var(--color-accent-hover)}.tca-request-type-badge.type-modify-clock-out{background:#fce7f3;color:#9d174d}.tca-request-type-badge.type-add-time-entry{background:var(--color-success-light);color:var(--color-success-darker)}.tca-request-type-badge.type-time-addition{background:var(--color-warning-light);color:var(--color-warning-darker)}.tca-request-type-badge.type-default{background:var(--color-gray-100);color:var(--color-gray-700)}.tca-request-detail{font-size:var(--font-size-smd);color:var(--color-gray-500);margin:2px 0}.tca-request-detail strong{color:var(--color-gray-700)}.tca-leave-detail{display:flex;flex-direction:column;gap:6px}.tca-leave-line{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--font-size-smd)}.tca-leave-dates{font-weight:600;color:var(--color-gray-700)}.tca-leave-amount{font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-800)}.tca-leave-breakdown{font-size:var(--font-size-sm);color:var(--color-gray-500)}.tca-leave-balance{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tca-leave-edit-row{display:flex;align-items:baseline;gap:10px;font-size:var(--font-size-smd);flex-wrap:wrap}.tca-leave-edit-row .tca-leave-edit-label{display:inline-block;min-width:70px;font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.tca-leave-edit-row.tca-leave-edit-now .tca-leave-edit-label{color:var(--color-accent-hover)}.tca-leave-edit-row.tca-leave-edit-cancel .tca-leave-edit-label{color:var(--color-danger-darker)}.tca-leave-edit-line{font-weight:600;color:var(--color-gray-700)}.tca-request-reason{font-size:var(--font-size-smd);color:var(--color-gray-600);margin-top:6px;padding:8px 10px;background:var(--color-gray-50);border-radius:var(--radius-sm);border-left:2px solid var(--color-gray-300)}.tca-request-date{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs)}.tca-request-reviewer{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px;font-style:italic}.tca-request-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.tca-req-approve-btn{padding:6px 12px;border:none;background:var(--color-success);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s}.tca-req-approve-btn:hover{background:var(--color-success-dark)}.tca-req-decline-btn{padding:6px 12px;border:none;background:var(--color-danger);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s}.tca-req-decline-btn:hover{background:var(--color-danger-dark)}.tca-request-status-tag{padding:4px 10px;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tca-request-status-tag.pending{background:var(--color-warning-light);color:var(--color-warning-darker)}.tca-request-status-tag.approved{background:var(--color-success-light);color:var(--color-success-darker)}.tca-request-status-tag.declined,.tca-request-status-tag.rejected{background:var(--color-danger-light);color:var(--color-danger-darker)}.tca-request-status-tag.cancelled{background:var(--color-gray-200);color:var(--color-gray-600)}.tca-tab{padding:6px;border:2px solid var(--tab-inactive-border);background:var(--tab-inactive-bg);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;color:var(--tab-inactive-text);white-space:nowrap;min-width:120px;flex:0 0 auto;transition:var(--btn-transition);position:relative}.tca-tab-badge{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:6px;transform:translateY(-50%);min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-md);background:var(--color-danger);color:#fff;font-size:var(--font-size-2xs);font-weight:700;line-height:1}.tca-tab.has-badge{padding-right:32px}.tca-tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:var(--font-size-md);font-weight:500;color:var(--color-neutral-600);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;white-space:nowrap}.tca-tab-btn:hover{color:var(--color-neutral-700)}.tca-tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tca-debug-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.tca-debug-stat-label{color:var(--color-warning-darker);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.tca-debug-stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-neutral-900)}.tca-debug-duplicates{background:var(--color-danger-pale);border:1px solid var(--color-danger-mid);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--font-size-smd);color:var(--color-danger-darker)}.tca-debug-stat{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-warning-light);border-radius:var(--radius-sm);font-size:var(--font-size-smd);gap:var(--space-sm)}.tca-debug-stat .tca-debug-stat-label{font-weight:500;color:var(--color-warning-darker);font-size:var(--font-size-sm)}.tca-debug-stat .tca-debug-stat-value{font-weight:700;color:var(--color-neutral-900);font-size:var(--font-size-md)}.tca-debug-stat-primary{border-color:var(--color-accent-light);background:var(--color-info-pale)}.tca-debug-stat-primary .tca-debug-stat-label{color:var(--color-accent-hover)}.tca-debug-stat-warn{border-color:var(--color-danger-mid);background:var(--color-danger-pale)}.tca-debug-stat-warn .tca-debug-stat-label{color:var(--color-danger-darker)}.tca-debug-stat-warn .tca-debug-stat-value{color:var(--color-danger-dark)}.tca-debug-stat-divider{grid-column:1 / -1;background:transparent;border:none;border-top:1px solid var(--color-warning-light);padding:6px 0 2px;font-weight:600;color:var(--color-warning-darker);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;justify-content:flex-start}.tca-debug-dup-title{font-weight:700;margin-bottom:6px}.tca-debug-dup-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:4px 0;border-bottom:1px solid var(--color-danger-tint);font-size:var(--font-size-sm)}.tca-debug-dup-row:last-child{border-bottom:none}.tca-debug-dup-info{flex:1}.tca-debug-dup-ids{display:flex;gap:var(--space-xs);flex-shrink:0}.tca-debug-del-btn{font-size:var(--font-size-xs);padding:2px 6px;background:var(--color-danger-light);border:1px solid var(--color-danger-mid);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap}.tca-debug-del-btn:hover{background:var(--color-danger-tint)}.tca-debug-dup-none{color:var(--color-success-darker);font-weight:500;font-size:var(--font-size-smd);padding:4px 0}.tca-debug-history{margin-top:var(--space-md);border-top:1px solid var(--color-gray-200);padding-top:12px}.tca-debug-hist-header{font-size:var(--font-size-smd);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.tca-debug-hist-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-smd);margin-bottom:2px}.tca-debug-hist-row:nth-child(2n){background:#00000005}.tca-debug-hist-current{background:var(--color-info-pale)!important;font-weight:600}.tca-debug-hist-month{color:var(--text-secondary, var(--color-gray-500))}.tca-debug-hist-current .tca-debug-hist-month{color:var(--primary, var(--color-accent-hover))}.tca-debug-hist-count{font-weight:500}.tca-day-badge{display:inline-flex;align-items:center;margin-left:6px;white-space:nowrap;vertical-align:middle}.tca-day-badge+.tca-day-badge{margin-left:4px}.tca-day-badge-request{background:var(--color-warning-light);color:var(--color-warning-darker);border:1px solid var(--color-warning-bright);cursor:pointer;transition:background .12s,border-color .12s}.tca-day-badge-request:hover{background:var(--color-warning-light);border-color:var(--color-warning)}.tca-day-badge-request:focus-visible{outline:2px solid var(--color-warning);outline-offset:1px}.tca-request-popover{position:fixed;z-index:1000;max-width:360px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 10px 30px #0000001f,0 4px 8px #0000000f;font-size:var(--font-size-smd);color:var(--color-gray-800)}.tca-request-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-warning-pale);border-top-left-radius:10px;border-top-right-radius:10px}.tca-request-popover-title{font-weight:600;color:var(--color-warning-darker)}.tca-request-popover-close{background:none;border:0;font-size:var(--font-size-2xl);line-height:1;color:var(--color-gray-500);cursor:pointer;padding:0 4px}.tca-request-popover-close:hover{color:var(--color-gray-800)}.tca-request-popover-body{padding:8px;max-height:60vh;overflow-y:auto}.tca-request-popover-card{padding:10px 12px;border:1px solid var(--color-bg-tertiary);border-radius:var(--radius-md);background:var(--color-gray-50)}.tca-request-popover-card+.tca-request-popover-card{margin-top:var(--space-sm)}.tca-request-popover-type{font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-warning-darker)}.tca-request-popover-detail{margin-top:var(--space-xs);color:var(--color-gray-800)}.tca-request-popover-time{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-gray-900)}.tca-request-popover-reason{margin-top:6px;font-style:italic;color:var(--color-gray-600);font-size:var(--font-size-sm)}.tca-request-popover-meta{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-gray-500)}.tca-request-popover-actions{display:flex;gap:var(--space-sm);margin-top:10px}.tca-request-popover-actions .btn{flex:1}.tca-approvals-toolbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-md) var(--space-lg);margin-bottom:var(--space-md)}.tca-approvals-toolbar .tca-approvals-chips{justify-self:end;align-self:center}#tca-approvals-chips.hidden{display:flex!important;visibility:hidden}.tca-approvals-title{margin:0;font-size:var(--font-size-2xl);font-weight:700;color:#0f172a;justify-self:start}@media(max-width:900px){.tca-approvals-toolbar{grid-template-columns:1fr;justify-items:start}.tca-approvals-toolbar .tca-approvals-chips{justify-self:start}}.tca-approvals-chips{display:flex;gap:var(--space-sm);flex-wrap:wrap}.tca-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tca-chip:hover{background:var(--color-border)}.tca-chip-active{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.tca-chip-active:hover{background:var(--color-accent-hover)}.tca-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:var(--font-size-xs);font-weight:700;background:#00000014;border-radius:var(--radius-full)}.tca-chip-active .tca-chip-count{background:#ffffff40}.tca-approvals-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tca-approvals-filters .tca-approvals-team-filter{flex:0 0 auto;min-width:140px}.tca-approvals-filters .tca-approvals-show-ex{margin-left:auto}.tca-approvals-show-ex{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-secondary);white-space:nowrap;cursor:pointer}.tca-approvals-period-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-sm);margin-bottom:14px;padding:8px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tca-approvals-nav-center{display:flex;align-items:center;justify-self:center;gap:var(--space-sm)}.tca-approvals-nav-actions{display:flex;align-items:center;justify-self:end;gap:var(--space-sm)}.tca-approvals-nav-actions.tca-approvals-nav-left{justify-self:start}#tca-approvals-edit-dates.hidden{display:inline-flex!important;visibility:hidden}.tca-approvals-period-info{display:flex;flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:var(--space-xs) var(--space-md);padding:0 4px;min-width:300px;max-width:100%}.tca-approvals-period-info .tca-date-label{font-size:var(--font-size-md);font-weight:700}.tca-approvals-split{display:flex;align-items:flex-start;gap:var(--space-lg)}.tca-approvals-split>#tca-approvals-list-view{flex:0 0 240px;max-width:240px;align-self:stretch;display:flex;flex-direction:column;position:sticky;top:8px;max-height:calc(100vh - 200px)}.tca-approvals-split>#tca-approvals-detail-view{flex:1 1 auto;min-width:0}.tca-approvals-split .tca-approvals-filters{flex-wrap:wrap}.tca-approvals-split .tca-approvals-filters input[type=text],.tca-approvals-split .tca-approvals-filters .tca-approvals-team-filter{flex:1 1 100%;min-width:0}.tca-approvals-split .tca-approvals-show-ex{margin-left:0}.tca-approvals-list{display:flex;flex-direction:column;overflow-y:auto;min-height:0;padding:4px 0}.tca-sidebar-emp{display:flex;align-items:center;gap:var(--space-sm);padding:8px 16px;cursor:pointer;font-size:var(--font-size-smd);font-weight:500;color:var(--color-neutral-700);transition:background .15s;border-left:3px solid transparent}.tca-sidebar-emp:hover{background:var(--color-info-pale)}.tca-sidebar-emp.tca-sidebar-selected{background:var(--color-info-light);border-left-color:var(--color-accent);color:#312e81;font-weight:600}.tca-sidebar-emp.tca-sidebar-status-pending{background:var(--color-warning-light)}.tca-sidebar-emp.tca-sidebar-status-approved{background:var(--color-success-tint)}.tca-sidebar-emp.tca-sidebar-status-rejected{background:var(--color-danger-light)}.tca-sidebar-emp.tca-sidebar-selected.tca-sidebar-status-pending{background:var(--color-amber-200);border-left-color:var(--color-warning-dark);color:var(--color-warning-darker)}.tca-sidebar-emp.tca-sidebar-selected.tca-sidebar-status-approved{background:var(--color-green-200);border-left-color:var(--color-success-mid);color:#14532d}.tca-sidebar-emp.tca-sidebar-selected.tca-sidebar-status-rejected{background:var(--color-danger-tint);border-left-color:var(--color-danger-dark);color:#7f1d1d}.tca-sidebar-emp-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tca-sidebar-emp.tca-sidebar-ex .tca-sidebar-emp-name{color:var(--color-text-muted);font-style:italic}.tca-sidebar-active-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success-bright);flex-shrink:0}.tca-approvals-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;text-transform:capitalize;letter-spacing:.3px;white-space:nowrap}.tca-status-pending{color:#fff;background:var(--color-warning)}.tca-status-approved{color:#fff;background:var(--color-success-mid)}.tca-status-rejected{color:#fff;background:var(--color-danger-dark)}.tca-btn-approve,.tca-btn-reject,.tca-btn-undo{flex:1 1 0;padding:6px 10px;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background .15s}.tca-btn-approve{color:#fff;background:var(--color-success-mid)}.tca-btn-approve:hover{background:var(--color-green-700)}.tca-btn-reject{color:#fff;background:var(--color-danger-dark)}.tca-btn-reject:hover{background:var(--color-danger-darker)}.tca-btn-undo{color:var(--color-text-secondary);background:var(--color-border)}.tca-btn-undo:hover{background:var(--color-slate-300)}.tca-approvals-detail-placeholder{display:flex;align-items:center;justify-content:center;min-height:320px;border:1px dashed var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-bg-tertiary)}.tca-approvals-detail-placeholder-inner{text-align:center;color:var(--color-text-muted);max-width:280px}.tca-approvals-detail-placeholder p{margin:0;font-size:var(--font-size-md);line-height:1.5}#tca-approvals-back{display:none}@media(max-width:900px){.tca-approvals-period-nav{display:flex;flex-wrap:wrap;justify-content:center}.tca-approvals-nav-left{justify-self:auto}.tca-approvals-split{flex-direction:column}.tca-approvals-split>#tca-approvals-list-view{flex:1 1 auto;max-width:none;width:100%;position:static;max-height:none}.tca-approvals-split.tca-detail-open>#tca-approvals-list-view{display:none}.tca-approvals-split:not(.tca-detail-open)>#tca-approvals-detail-view{display:none}#tca-approvals-back{display:inline-flex}}.tca-approvals-detail-toolbar{display:flex;align-items:center;gap:var(--space-lg);padding:12px 0;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-200);flex-wrap:wrap}.tca-approvals-detail-emp{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);min-width:0}.tca-approvals-detail-name{font-size:var(--font-size-xl);font-weight:700;color:#0f172a}.tca-approvals-detail-actions{display:flex;gap:var(--space-sm)}.tca-approvals-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:var(--space-lg)}.tca-approvals-summary-card{background:var(--color-bg-primary);border:1px solid var(--color-border);padding:10px 12px}.tca-approvals-summary-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.tca-approvals-summary-value{margin-top:2px;font-size:var(--font-size-lg);font-weight:700;color:#0f172a}.tca-approvals-summary-sub{margin-top:3px;font-size:var(--font-size-2xs);font-weight:500;line-height:1.3;color:var(--color-text-muted)}.tca-approvals-summary-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,box-shadow .15s}.tca-approvals-summary-clickable:hover{border-color:var(--color-text-muted);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.tca-approvals-summary-clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tca-approvals-summary-active{background:var(--color-info-pale)!important;border-color:var(--color-accent)!important;box-shadow:0 0 0 1px var(--color-accent) inset}.tca-approvals-summary-active .tca-approvals-summary-label{color:var(--color-accent-hover)}.tca-approvals-summary-ot .tca-approvals-summary-value{color:var(--color-green-700)}.tca-approvals-summary-under .tca-approvals-summary-value{color:var(--color-danger-darker)}.tca-input-sm{width:auto;padding:2px 8px}.tca-day-badge.tca-day-badge--custom{background:var(--color-warning)1a;color:var(--color-warning-text);border:1px solid var(--color-warning)40}.tca-report-mode-bar{display:flex;gap:var(--space-sm);margin:12px 0 12px 12px}.tca-approvals-payday{font-weight:600;font-size:var(--font-size-sm);margin:0}.tca-approvals-edit-dates{padding:2px 10px;font-size:var(--font-size-sm)}.tca-leave-year-nav{display:flex;align-items:center;gap:var(--space-sm)}.tca-leave-year-nav .tca-leave-year-label{font-weight:600;font-size:var(--font-size-md);min-width:120px;text-align:center}.tca-report-actions--split{justify-content:space-between}.tca-approvals-period-range{font-size:var(--font-size-sm);margin:0}.tca-empty.tca-empty--centered{text-align:center;padding:24px}.tca-billable-date-range{display:flex;gap:var(--space-md);align-items:center;margin-bottom:var(--space-md);flex-wrap:wrap}.tca-billable-date-range label{font-weight:500}.tca-section-subtitle{margin:16px 0 8px;font-size:var(--font-size-md);font-weight:600}.tca-cal-filter,.tca-cal-actions{display:flex;gap:var(--space-sm);align-items:center}.tca-date-nav.tca-date-nav--inline{margin-bottom:0}.wc-settings-btn-icon{display:inline-flex}.tca-settings-input--sm{max-width:160px}.tca-settings-input--md{max-width:200px}.tca-settings-input--lg{max-width:360px}.tca-settings-block{display:flex;flex-direction:column;gap:var(--space-lg);max-width:400px}.tca-settings-desc--mt-sm{margin-top:var(--space-xs)}.tca-settings-desc--mt-xs{margin-top:6px}.tca-settings-desc--mb-sm{margin-bottom:var(--space-sm)}.tca-settings-desc--mb-md{margin-bottom:var(--space-md)}.tca-settings-divider{margin:24px 0;border:none;border-top:1px solid var(--color-gray-200)}.tca-maintenance-title{margin:0 0 4px}.tca-settings-maintenance-block{margin-top:var(--space-lg)}.tca-scope-bar{display:inline-flex;gap:4px;margin:0 0 var(--space-sm);padding:3px;border-radius:var(--radius-full);background:var(--color-gray-100)}.tca-scope-btn{border:0;background:transparent;padding:5px 12px;border-radius:var(--radius-full);font:inherit;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.tca-scope-btn.is-on{background:var(--color-bg-primary, #fff);color:var(--color-accent);font-weight:600;box-shadow:var(--shadow-sm)}.tca-cover-note{flex-basis:100%;font-size:var(--font-size-xs);font-weight:600;color:var(--color-warning-darker)}.tca-request-types-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-md)}.tca-request-type-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200)}.tca-request-type-card span{font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-800)}.tca-request-type-delete{width:28px;height:28px;border:none;background:transparent;color:var(--color-gray-500);font-size:var(--font-size-xl);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.tca-request-type-delete:hover{background:var(--color-danger-light);color:var(--color-danger-text)}.tca-notif-name{flex:1;font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-800)}.clock-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--color-gray-200);margin-bottom:var(--space-lg);padding:0 16px}.clock-tab{flex:1;padding:10px 20px;border:none;background:none;font-size:var(--font-size-md);font-weight:500;color:var(--color-gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;position:relative}.clock-tab:hover{color:var(--color-gray-700)}.clock-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.clock-tab-badge{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-md);background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);font-weight:600;margin-left:6px;vertical-align:middle}.clock-requests-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.clock-requests-list{display:flex;flex-direction:column;gap:var(--space-sm)}.clock-request-item{padding:12px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.clock-request-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.clock-request-item-type{font-weight:600;font-size:var(--font-size-smd);color:var(--color-gray-800)}.clock-request-item-status{padding:2px 8px;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.clock-request-item-status.pending{background:var(--color-warning-light);color:var(--color-warning-darker)}.clock-request-item-status.approved{background:var(--color-success-light);color:var(--color-success-darker)}.clock-request-item-status.declined{background:var(--color-danger-light);color:var(--color-danger-darker)}.clock-request-item-detail{font-size:var(--font-size-sm);color:var(--color-gray-500)}.clock-request-item-reason{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:var(--space-xs);font-style:italic}.clock-leave-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg)}.clock-leave-stat{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px 8px;text-align:center}.clock-leave-stat-value{display:block;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-800)}.clock-leave-stat-label{display:block;font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.clock-holiday-item{padding:12px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.clock-holiday-section-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500);margin:8px 0 -2px 2px}.clock-holiday-section-title:first-child{margin-top:0}.clock-holiday-section-count{font-weight:500;color:var(--color-gray-500)}.clock-holiday-item.clickable{cursor:pointer;transition:background .12s,border-color .12s,transform .06s}.clock-holiday-item.clickable:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}.clock-holiday-item.clickable:active{transform:scale(.998)}.clock-holiday-item.clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.clock-holiday-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.clock-holiday-item-type{font-weight:600;font-size:var(--font-size-smd);color:var(--color-gray-800)}.clock-holiday-item-detail{font-size:var(--font-size-sm);color:var(--color-gray-500)}.clock-holiday-item-note{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:var(--space-xs);font-style:italic}.clock-cert-badge{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs)}.clock-cert-badge.uploaded{background:var(--color-success-light);color:var(--color-success-darker)}.clock-cert-badge.missing{background:var(--color-warning-light);color:var(--color-warning-darker)}.btn-upload-cert{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);padding:2px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-700);cursor:pointer;margin-top:var(--space-xs);transition:background .15s}.btn-upload-cert:hover{background:var(--color-gray-100)}.btn-upload-cert.uploading{opacity:.6;pointer-events:none}.tca-cert-section{margin-top:var(--space-sm);padding:10px 12px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.tca-cert-section label{color:var(--color-gray-700);margin-bottom:6px;display:block}.tca-cert-status{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-smd)}.tca-cert-status .cert-icon{font-size:var(--font-size-lg)}.tca-cert-link{color:var(--color-accent-hover);text-decoration:underline;cursor:pointer;font-size:var(--font-size-smd)}.tca-cert-link:hover{color:var(--color-accent-hover)}.tca-cert-no{color:var(--color-gray-500);font-size:var(--font-size-smd);font-style:italic}.tca-tl-leave-marker.tca-lm-pending{opacity:.45;border:1.5px dashed rgba(0,0,0,.3)}.tca-leave-period-btns{display:flex;gap:6px}button.tca-leave-period-btn{flex:1;border:1.5px solid var(--color-gray-300);color:var(--color-gray-700);transition:all .15s;box-shadow:none}button.tca-leave-period-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-secondary)}button.tca-leave-period-btn.active{background:var(--color-accent);border-color:var(--color-accent-hover);color:#fff;font-weight:600;box-shadow:0 0 0 2px #3b82f640,0 1px 2px #00000014}button.tca-leave-period-btn.active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.tca-approvals-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-md)}.tca-recommended-approver{background:var(--color-info-pale);border:1px solid var(--color-info-light);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--font-size-sm);color:var(--color-accent-hover);margin-bottom:var(--space-md)}.tca-approvers-list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px}.tca-approver-tag{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--color-gray-200);border-radius:var(--radius-lg);padding:4px 10px;font-size:var(--font-size-sm);color:var(--color-gray-700)}.tca-audit-filters{margin-bottom:var(--space-lg)}.tca-audit-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end}.tca-audit-filter-row .form-group{margin-bottom:0;min-width:140px}.tca-audit-filter-row .form-group label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.tca-audit-filter-row .form-control{padding:var(--input-padding-y) 8px var(--input-padding-y) 8px}.tca-audit-filter-btn-group{display:flex;align-items:flex-end}.tca-audit-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.tca-audit-table{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.tca-audit-table thead th{background:var(--color-bg-secondary);padding:10px 12px;text-align:left;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--color-border);white-space:nowrap}.tca-audit-table tbody td{padding:8px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.tca-audit-table tbody tr:last-child td{border-bottom:none}.tca-audit-table tbody tr:hover{background:var(--color-bg-secondary)}.tca-audit-action-badge{display:inline-block;text-transform:uppercase}.tca-audit-action-badge.create{background:var(--color-success-light);color:var(--color-success-darker)}.tca-audit-action-badge.update{background:var(--color-info-light);color:var(--color-accent-hover)}.tca-audit-action-badge.delete{background:var(--color-danger-light);color:var(--color-danger-darker)}.tca-audit-action-badge.other{background:var(--color-gray-100);color:var(--color-gray-700)}.tca-audit-details{max-width:300px;word-break:break-word;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tca-audit-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-md);padding:0 4px}.tca-audit-count{font-size:var(--font-size-smd);color:var(--color-text-secondary)}.tca-audit-loading{text-align:center;padding:24px;color:var(--color-text-secondary);font-size:var(--font-size-smd)}.clock-request-modal-content{max-width:500px}.clock-request-step-label{display:block;color:var(--color-text-primary);margin-bottom:var(--space-md)}.clock-request-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.clock-request-type-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);cursor:pointer;transition:all .15s;text-align:center}.clock-request-type-btn:hover{border-color:var(--color-accent);background:var(--color-bg-tertiary)}.clock-request-type-btn .req-type-label{font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-primary)}.clock-request-type-btn .req-type-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.clock-request-time-group{display:flex;gap:var(--space-md)}.clock-request-time-group>div,.clock-request-time-group>.form-group{flex:1}.clock-request-current-info{padding:10px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-smd);color:var(--color-text-primary);margin-bottom:var(--space-md)}.clock-request-current-info strong{font-weight:600}.clock-request-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;margin-top:-4px;margin-bottom:var(--space-md)}.clock-request-fields{margin-bottom:var(--space-xs)}.clock-request-dept-buttons{margin-bottom:var(--space-sm)}.clock-request-dept-buttons .clock-dept-btn{padding:6px 12px;font-size:var(--font-size-sm)}.push-notification-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:99990;max-width:560px;width:calc(100% - 40px);animation:pushBannerSlideUp .4s ease-out}@keyframes pushBannerSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.push-banner-content{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.push-banner-icon{font-size:28px;flex-shrink:0}.push-banner-text{flex:1;display:flex;flex-direction:column;gap:2px}.push-banner-text strong{font-size:var(--font-size-md);color:var(--color-gray-800)}.push-banner-text span{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.4}.push-banner-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.push-banner-btn{padding:8px 16px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-smd);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s}.push-banner-btn:active{transform:scale(.97)}.push-banner-enable{background:var(--color-accent);color:#fff}.push-banner-enable:hover{background:var(--color-accent-hover)}.push-banner-dismiss{background:var(--color-gray-100);color:var(--color-gray-500)}.push-banner-dismiss:hover{background:var(--color-gray-200)}.push-pref-master-btn{padding:6px 16px;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-smd);font-weight:600;cursor:pointer;transition:background .2s}.push-pref-master-btn.push-enabled{background:var(--color-success-light);color:var(--color-success-darker)}.push-pref-master-btn.push-disabled{background:var(--color-accent);color:#fff}.push-pref-master-btn.push-disabled:hover{background:var(--color-accent-hover)}@media(max-width:640px){.push-banner-content{flex-wrap:wrap}.push-banner-actions{width:100%;justify-content:flex-end}}.notif-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:72px;font-size:var(--font-size-smd);font-weight:500;color:var(--color-gray-700);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);transition:background .15s;flex-shrink:0}.notif-toggle:hover{background:var(--color-info-pale);border-color:#bae6fd}.notif-toggle input[type=checkbox]{cursor:pointer}.notif-toggle input[type=checkbox]:disabled{opacity:.5}.notif-category h4{display:flex;align-items:center;gap:var(--space-sm)}.js-overlay{z-index:10040}.js-card{max-width:760px}.js-summary{margin:0 0 10px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.js-add{display:grid;gap:8px;padding:10px;margin-bottom:12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-bg-secondary, #f6f8fa)}.js-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.js-add-row #js-new-ref{width:130px;flex:none}.js-add-row #js-new-text{flex:1;min-width:200px}.js-pending{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.js-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.js-add-btn{margin-left:auto;background:var(--color-accent);border-color:var(--color-accent);color:#fff}.js-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.js-snag{padding:10px 12px;border:1px solid var(--color-gray-200);border-left:4px solid #f97316;border-radius:var(--radius-md);background:var(--color-bg-primary, #fff)}.js-snag--in_progress{border-left-color:#eab308}.js-snag--resolved{border-left-color:#16a34a;opacity:.85}.js-snag-head{display:flex;align-items:flex-start;gap:8px}.js-ref{flex:none;font-weight:700;font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);background:var(--color-gray-100)}.js-text{flex:1;font-weight:600}.js-status{flex:none;border:1px solid transparent;border-radius:var(--radius-full);padding:3px 10px;font-size:var(--font-size-xs);font-weight:700;cursor:pointer}span.js-status{cursor:default}.js-status--open{background:#ffedd5;color:#9a3412}.js-status--in_progress{background:#fef9c3;color:#854d0e}.js-status--resolved{background:#dcfce7;color:#166534}.js-photos{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.js-photos img{width:84px;height:84px;object-fit:cover;border-radius:6px;display:block}.js-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:4px 0}.js-row label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm)}.js-row select{max-width:240px}.js-notes{list-style:none;margin:6px 0 0;padding:0;font-size:var(--font-size-sm)}.js-notes li{padding:3px 0;border-top:1px dashed var(--color-gray-200)}.js-notes span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.js-note-add{display:flex;gap:6px;margin-top:6px}.js-note-add input{flex:1}.snag-count-chip{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:var(--radius-full);background:#ffedd5;color:#9a3412;font-size:var(--font-size-2xs, 10px);font-weight:700;white-space:nowrap}.snag-count-chip.is-done{background:#dcfce7;color:#166534}#add-user-btn,#add-user-btn:hover{background:var(--color-accent);color:#fff}#add-user-btn:active{background:var(--color-accent-hover)}#refresh-users-btn{background:var(--color-gray-500)}#refresh-users-btn:active{background:var(--color-gray-600)}.user-primary-name{font-weight:500;color:var(--color-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mention-preview{font-style:italic;font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.user-action-btn{margin:0;font-weight:500;background:var(--color-gray-100);color:var(--color-gray-700);height:32px;padding:6px 10px;border:none;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-md);min-height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}.user-action-btn:active{opacity:.8}.user-action-btn.edit{background-color:var(--color-accent);color:#fff}.user-action-btn.toggle{background-color:var(--color-gray-500);color:#fff}.user-action-btn.delete{background-color:var(--color-danger);color:#fff}.pending-user-email{font-weight:600;color:var(--color-gray-800)}.pending-user-date{font-size:var(--font-size-sm);color:var(--color-gray-500)}.btn-approve{padding:6px 12px;background:var(--color-success-dark);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-smd);font-weight:500}.btn-approve:active{background:#047857}.approve-modal{max-width:640px}.approve-modal-body{max-height:70vh;overflow-y:auto}.approve-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;margin-bottom:var(--space-lg)}.approve-section-title{margin:0 0 12px;color:var(--color-text-primary);font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:.5px}.approve-email-line{margin:0 0 12px;color:var(--color-slate-500);font-size:var(--font-size-smd)}.approve-email-line strong{color:var(--color-text-primary)}.approve-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.approve-grid:last-child{margin-bottom:0}.approve-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:8px 0 0}.approve-actions{display:flex;justify-content:space-between;padding-top:8px}.approve-actions .btn{padding:10px 20px}#approve-user-submit-btn{background:var(--color-success-dark);color:#fff}#user-permission-modal .modal-content{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:0!important;display:grid!important;grid-template-rows:auto 1fr auto!important;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;display:grid;grid-template-rows:auto 1fr auto}.perm-modal-header{background:linear-gradient(135deg,var(--color-accent-hover) 0%,var(--color-accent) 100%);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.perm-modal-header-info{display:flex;align-items:center;gap:var(--space-md)}.perm-modal-title{margin:0;font-size:var(--font-size-xl)}.perm-modal-email{opacity:.9;font-size:var(--font-size-smd)}.perm-modal-close{color:#fff;font-size:var(--font-size-3xl);background:none;border:none;cursor:pointer;padding:4px}.perm-user-info{padding:16px 20px;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border)}.perm-user-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.perm-field-label{font-weight:600;font-size:var(--font-size-smd);color:var(--color-gray-700);display:block;margin-bottom:6px}.perm-field-row{display:flex;gap:var(--space-sm);align-items:center}.perm-field-hint{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs)}.perm-field-hint .mention-tag{background:var(--color-info-light);padding:2px 6px;border-radius:var(--radius-xs);color:var(--color-accent-hover)}.perm-change-btn{padding:6px 12px;background:var(--color-gray-500);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}.perm-edit-role-btn{padding:6px 12px;background:var(--color-purple);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}.perm-modal-body{padding:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.perm-editor{padding:0;display:contents}.perm-modal-footer{padding:12px 20px;background:var(--color-bg-primary);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}#permission-summary{font-size:var(--font-size-sm);color:var(--color-gray-500);flex:1;min-width:0}.perm-footer-actions{display:flex;gap:var(--space-sm);flex-shrink:0}@media screen and (max-width:767px){.user-action-btn{min-height:40px;min-width:40px;padding:8px 12px}.approve-modal{max-width:100%;width:100%;height:100%;margin:0;border-radius:0}.approve-modal-body{max-height:none}.approve-grid{grid-template-columns:1fr}.approve-actions{flex-direction:column;gap:var(--space-sm)}.approve-actions .btn{width:100%;min-height:44px}.perm-user-info-grid{grid-template-columns:1fr;gap:var(--space-md)}.perm-modal-footer{flex-direction:column;gap:var(--space-sm)}.perm-footer-actions{width:100%;flex-direction:column}.perm-footer-actions button{width:100%;min-height:44px}#permission-summary{text-align:center}.perm-grid,.perm-grid.cols-2,.perm-grid.cols-3,.perm-grid.cols-4{grid-template-columns:1fr}.perm-section-header,.perm-section-content{padding:12px 16px}.mobile-views-grid{grid-template-columns:repeat(2,1fr)}#job-modal #job-timekeeper,#job-modal .timekeeper-column{display:none}}@media screen and (min-width:768px)and (max-width:1366px){.perm-grid.cols-4{grid-template-columns:repeat(3,1fr)}}.sidebar-order-list{display:flex;flex-direction:column;gap:6px;max-width:520px}.sidebar-order-item{display:flex;align-items:center;gap:var(--space-md);padding:10px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,border-color .15s,background .15s}.sidebar-order-item:hover{border-color:#c7d2fe;box-shadow:var(--shadow-sm)}.sidebar-order-item.dragging{opacity:.5;cursor:grabbing}.sidebar-order-item.drag-over{border-color:var(--color-accent);background:var(--color-info-pale)}.sidebar-order-item.is-hidden{opacity:.55;background:var(--color-gray-50)}.sidebar-order-handle{color:var(--color-gray-500);font-size:var(--font-size-lg);line-height:1;cursor:grab}.sidebar-order-label{flex:1;font-weight:500;font-size:var(--font-size-md);color:var(--color-gray-800)}.sidebar-order-item.is-hidden .sidebar-order-label{color:var(--color-gray-500);text-decoration:line-through}.sidebar-order-toggle{background:none;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;transition:all .15s}.sidebar-order-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.sidebar-order-item.is-hidden .sidebar-order-toggle{background:var(--color-bg-secondary);border-color:var(--color-gray-300)}.tab-button.tab-user-hidden,.sidebar-nav .tab-button.tab-user-hidden{display:none!important}@media screen and (max-width:767px){:root{--mc-card-bg: var(--color-bg-secondary, #ffffff);--mc-card-border: var(--color-border, var(--color-gray-200));--mc-card-radius: var(--radius-md, 8px);--mc-card-padding: var(--space-md, 12px);--mc-card-gap: var(--space-md, 12px);--mc-card-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));--mc-text-primary: var(--color-text-primary);--mc-text-secondary: var(--color-text-secondary, var(--color-gray-500));--mc-text-muted: var(--color-text-muted, var(--color-gray-400));--mc-accent: var(--color-accent, var(--color-accent-hover));--mc-success: var(--color-success, var(--color-success-dark));--mc-bg-subtle: var(--color-bg-tertiary, var(--color-gray-50));--mc-font-size-xs: clamp(10px, 2.8vw, 11px);--mc-font-size-sm: clamp(11px, 3vw, 12px);--mc-font-size-md: clamp(13px, 3.5vw, 14px);--mc-font-size-base: clamp(14px, 3.8vw, 15px);--mc-font-size-lg: clamp(15px, 4vw, 16px);--mc-font-size-xl: clamp(17px, 4.5vw, 18px);--mc-min-tap: 44px}.mobile-job-card,.mobile-order-card,.mobile-inventory-card,.mobile-meeting-card,.mobile-checkin-card{background:var(--mc-card-bg);border:1px solid var(--mc-card-border);border-radius:var(--mc-card-radius);padding:var(--mc-card-padding);margin-bottom:var(--mc-card-gap);box-shadow:var(--mc-card-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,box-shadow .1s ease;min-height:var(--mc-min-tap)}.mobile-job-card:active,.mobile-order-card:active,.mobile-inventory-card:active,.mobile-meeting-card:active,.mobile-checkin-card:active,.mobile-scheduler-card:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.mobile-job-card[data-readonly=true]{cursor:default}.mobile-job-card[data-readonly=true]:active{transform:none;box-shadow:var(--mc-card-shadow)}.mc-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm, 8px);gap:var(--space-sm, 8px)}.mc-status-badge{padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--mc-font-size-xs);font-weight:500;color:#fff;white-space:nowrap;flex-shrink:0;min-height:24px;display:inline-flex;align-items:center}.mc-job-number{font-weight:600;color:var(--mc-accent);font-size:var(--mc-font-size-lg)}.mc-job-customer{font-weight:500;margin-bottom:var(--space-xs);font-size:var(--mc-font-size-base);color:var(--mc-text-primary)}.mc-job-description{font-size:var(--mc-font-size-md);color:var(--mc-text-secondary);margin-bottom:var(--space-sm, 8px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mc-job-value{font-size:var(--mc-font-size-sm);color:var(--mc-success);margin-bottom:var(--space-sm, 8px)}.mc-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-sm, 8px);border-top:1px solid var(--mc-card-border);font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary);min-height:var(--mc-min-tap)}.mc-order-description{font-weight:500;font-size:var(--mc-font-size-md);flex:1;margin-right:var(--space-sm, 8px);color:var(--mc-text-primary)}.mc-order-supplier{font-size:var(--mc-font-size-md);color:var(--mc-text-secondary);margin-bottom:var(--space-sm, 8px)}.mc-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm, 8px);font-size:var(--mc-font-size-sm);color:var(--mc-text-primary)}.mc-card-grid-full{grid-column:span 2;margin-top:var(--space-xs);padding-top:4px;border-top:1px solid var(--mc-card-border)}.mc-supplier-link{color:var(--mc-accent);font-size:var(--mc-font-size-xs);text-decoration:underline;min-height:var(--mc-min-tap);display:inline-flex;align-items:center}.mc-inv-code{font-size:var(--mc-font-size-md);font-weight:600;color:var(--mc-accent);margin-bottom:var(--space-xs)}.mc-inv-description{font-size:var(--mc-font-size-md);margin-bottom:var(--space-sm, 8px);color:var(--mc-text-primary)}.mc-inv-stock-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm, 8px);background:var(--mc-bg-subtle);border-radius:var(--radius-xs);margin-bottom:var(--space-sm, 8px)}.mc-inv-qty-label{font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary)}.mc-inv-qty-value{font-size:var(--mc-font-size-lg);font-weight:600;color:var(--mc-text-primary)}.mc-inv-cost{font-size:var(--mc-font-size-sm);color:var(--mc-success);margin-bottom:var(--space-xs)}.mc-inv-meta{font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary)}.mobile-scheduler-card{border-radius:var(--mc-card-radius);padding:var(--mc-card-padding);margin-bottom:var(--mc-card-gap);box-shadow:var(--shadow-md);position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease;min-height:var(--mc-min-tap)}.mobile-scheduler-card.mc-user-assigned{border:3px solid var(--color-warning-bright);box-shadow:0 4px 16px #fbbf2466;transform:scale(1.03)}.mc-sched-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm, 8px)}.mc-sched-date{font-weight:600;color:#000;font-size:var(--mc-font-size-md)}.mc-sched-job-number{font-weight:600;font-size:var(--mc-font-size-lg);color:#000}.mc-sched-title{font-weight:600;margin-bottom:var(--space-xs);font-size:var(--mc-font-size-md);color:#000}.mc-sched-description{font-size:var(--mc-font-size-md);color:#000;margin-bottom:var(--space-sm, 8px)}.mc-sched-van,.mc-sched-installers{font-size:var(--mc-font-size-sm);color:#000;margin-bottom:var(--space-xs)}.mc-sched-you-badge{position:absolute;bottom:8px;right:8px;padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--mc-font-size-xs);background:var(--color-warning-bright);color:var(--color-gray-900);font-weight:600;min-height:28px;display:inline-flex;align-items:center}.mc-meeting-date{font-weight:600;color:var(--mc-accent);font-size:var(--mc-font-size-md)}.mc-meeting-title{font-weight:500;margin-bottom:var(--space-sm, 8px);font-size:var(--mc-font-size-base);color:var(--mc-text-primary)}.mc-meeting-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm, 8px);font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary)}.mc-meeting-next{margin-top:var(--space-sm, 8px);padding-top:var(--space-sm, 8px);border-top:1px solid var(--mc-card-border);font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary)}.mc-checkin-header-card{background:var(--gradient-special);color:#fff;border-radius:var(--radius-lg, 12px);padding:var(--space-lg, 16px);margin-bottom:var(--space-lg, 16px)}.mc-checkin-header-card .mc-checkin-name{font-size:var(--mc-font-size-xl);font-weight:600}.mc-checkin-header-card .mc-checkin-role{font-size:var(--mc-font-size-md);opacity:.9}.mobile-checkin-card{border-left-width:4px;border-left-style:solid}.mc-checkin-month{font-weight:600;font-size:var(--mc-font-size-lg);color:var(--mc-text-primary)}.mc-rating-badge{padding:4px 10px;border-radius:var(--radius-lg);font-size:var(--mc-font-size-sm);font-weight:500}.mc-checkin-wins-label,.mc-checkin-actions-label{font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary);margin-bottom:2px}.mc-checkin-wins-text{font-size:var(--mc-font-size-md);color:var(--mc-text-primary)}.mc-checkin-action-count{font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary);margin-top:var(--space-sm, 8px)}.mc-empty-state{text-align:center;padding:40px var(--space-lg, 16px);color:var(--mc-text-secondary)}.mc-empty-state-text{font-size:var(--mc-font-size-md)}.mobile-loading-indicator{text-align:center;padding:20px;color:var(--mc-text-secondary);background:var(--mc-card-bg);border-radius:var(--mc-card-radius);margin:var(--mc-card-gap) 0}.mobile-loading-indicator .mc-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-gray-100);border-top:2px solid var(--mc-accent);border-radius:50%;animation:spin 1s linear infinite}.mobile-loading-indicator .mc-spinner-text{margin-top:var(--space-sm, 8px);font-size:var(--mc-font-size-sm)}.mobile-job-cards,.mobile-order-cards,.mobile-inventory-cards,.mobile-scheduler-cards,.mobile-meetings-cards,.mobile-checkins-cards{padding-bottom:80px}.mobile-scheduler-container,.mobile-meetings-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-sm, 8px);background:var(--mc-bg-subtle)}.mobile-ready#main-content{margin-top:56px;padding:0!important;height:calc(100vh - 56px)!important;overflow:hidden!important;position:relative}.mobile-ready .view-container{height:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.mobile-ready .dashboard-panels{height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important}.mobile-ready .dashboard-panel{height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;margin:0!important;border-radius:0}.mobile-ready .panel-header{padding:var(--mc-card-padding);background:var(--mc-card-bg);border-bottom:1px solid var(--mc-card-border);flex-shrink:0;position:sticky;top:0;z-index:10}.mobile-ready .panel-content{flex:1!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:var(--space-sm, 8px)!important}.mobile-ready .mobile-job-cards,.mobile-ready .mobile-order-cards,.mobile-ready .mobile-inventory-cards{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;flex:1}.mobile-ready .panel-header .search-container{width:100%}.mobile-ready .panel-header input[type=search],.mobile-ready .panel-header input[type=text]{width:100%;min-height:var(--mc-min-tap);font-size:var(--font-size-lg)}#orientation-hint{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--color-warning, var(--color-warning-bright));color:var(--color-warning-darker);padding:var(--space-sm, 8px) var(--space-lg, 16px);border-radius:var(--radius-xs);font-size:var(--mc-font-size-sm);z-index:1001;box-shadow:var(--mc-card-shadow)}.mobile-meeting-back-btn{position:fixed;top:10px;left:10px;z-index:10000;padding:var(--space-sm, 8px) var(--space-lg, 16px);background:var(--mc-accent);color:#fff;border:none;border-radius:var(--radius-sm, 6px);font-size:var(--mc-font-size-md);font-weight:500;box-shadow:var(--shadow-md);cursor:pointer;min-height:var(--mc-min-tap);min-width:var(--mc-min-tap)}.mobile-meeting-back-btn:active{background:var(--color-accent-hover);transform:scale(.97)}.mobile-user-info{padding:var(--space-lg, 16px);border-bottom:1px solid var(--mc-card-border);background:var(--mc-bg-subtle)}.mobile-nav-divider{border-top:1px solid var(--mc-card-border);margin:var(--space-sm, 8px) 0}#checkin-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 16px)}.mc-checkin-modal-content{background:var(--mc-card-bg);border-radius:var(--radius-lg, 12px);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.mc-checkin-modal-header{padding:var(--space-lg, 16px);border-bottom:1px solid var(--mc-card-border);display:flex;justify-content:space-between;align-items:center}.mc-checkin-modal-header .mc-modal-title{font-weight:600;font-size:var(--mc-font-size-xl)}.mc-checkin-modal-header .mc-modal-subtitle{font-size:var(--mc-font-size-md);color:var(--mc-text-secondary)}.mc-checkin-modal-close{background:none;border:none;font-size:var(--font-size-3xl);cursor:pointer;padding:var(--space-sm, 8px);min-width:var(--mc-min-tap);min-height:var(--mc-min-tap);display:flex;align-items:center;justify-content:center}.mc-checkin-modal-body{padding:var(--space-lg, 16px)}.mc-checkin-modal-body .mc-section{margin-bottom:var(--space-lg, 16px)}.mc-checkin-modal-body .mc-section-label{font-weight:600;margin-bottom:var(--space-xs)}.mc-checkin-modal-body .mc-section-label--wins{color:var(--color-success-text)}.mc-checkin-modal-body .mc-section-label--barriers{color:var(--color-warning-text)}.mc-checkin-modal-body .mc-section-label--support{color:var(--mc-accent)}.mc-checkin-modal-body .mc-section-text{font-size:var(--mc-font-size-md);white-space:pre-wrap}.mc-checkin-modal-body .mc-kpi-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-gray-100);min-height:var(--mc-min-tap);align-items:center}.mc-checkin-modal-body .mc-kpi-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.mc-checkin-modal-body .mc-action-item{padding:var(--space-sm, 8px);background:var(--mc-bg-subtle);border-radius:var(--radius-sm, 6px);margin-bottom:6px}.mc-checkin-modal-body .mc-action-item-desc{font-size:var(--mc-font-size-md)}.mc-checkin-modal-body .mc-action-item-meta{font-size:var(--mc-font-size-sm);color:var(--mc-text-secondary);margin-top:var(--space-xs)}.mc-checkin-modal-body .mc-doc-link{display:block;padding:var(--space-sm, 8px);background:var(--mc-bg-subtle);border-radius:var(--radius-sm, 6px);margin-bottom:var(--space-xs);text-decoration:none;color:var(--mc-accent);min-height:var(--mc-min-tap);line-height:var(--mc-min-tap)}#todo-modal .followup-input{font-size:var(--font-size-lg);min-height:60px;padding:var(--mc-card-padding);line-height:1.5;width:100%;box-sizing:border-box;resize:vertical;overflow-y:auto}.content-section.mobile-view-exit{opacity:0}.content-section.mobile-view-enter{animation:mobileViewFadeIn .15s ease-out forwards}@keyframes mobileViewFadeIn{0%{opacity:0}to{opacity:1}}.mobile-nav-drawer.swiping{transition:none!important}#board-view .kanban-view-container{display:none!important}.mobile-kanban-container{display:flex;flex-direction:column;gap:var(--space-md);padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.mobile-kanban-header{display:flex;align-items:center;gap:var(--space-md);padding:4px 0}.mobile-kanban-header h2{font-size:var(--font-size-2xl);font-weight:600;margin:0;color:var(--mc-text-primary, var(--color-text-primary))}.mobile-kanban-section{border:1px solid var(--mc-card-border, var(--color-border));border-radius:var(--radius-md);overflow:hidden;background:var(--mc-card-bg, var(--color-bg-secondary))}.mobile-kanban-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--mc-card-bg, var(--color-bg-secondary));min-height:48px}.mobile-kanban-section-header:active{background:var(--color-bg-tertiary)}.mk-section-left{display:flex;align-items:center;gap:10px}.mk-section-indicator{width:14px;height:14px;border-radius:var(--radius-xs);flex-shrink:0}.mk-section-title{font-weight:600;font-size:var(--font-size-lg);color:var(--mc-text-primary, var(--color-text-primary))}.mk-section-count{background:var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;padding:2px 8px;border-radius:var(--radius-md);min-width:22px;text-align:center}.mk-section-chevron{color:var(--color-text-muted);font-size:var(--font-size-lg);flex-shrink:0}.mobile-kanban-section-content{border-top:1px solid var(--mc-card-border, var(--color-border));padding:8px;display:flex;flex-direction:column;gap:var(--space-sm);transition:max-height .2s ease}.mobile-kanban-section-content.collapsed{display:none}.mk-empty-column{text-align:center;padding:16px;color:var(--color-text-muted);font-size:var(--font-size-md);font-style:italic}.mobile-kanban-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;transition:background .1s}.mobile-kanban-card:active{background:var(--color-border);transform:scale(.98)}.mk-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.mk-card-number{font-weight:700;color:var(--mc-accent, var(--color-accent-hover));font-size:var(--font-size-md)}.mk-card-date{font-size:var(--font-size-sm);color:var(--color-slate-500);background:var(--color-border);padding:2px 6px;border-radius:var(--radius-xs)}.mk-card-customer{font-weight:500;font-size:var(--font-size-md);color:var(--mc-text-primary, var(--color-text-primary));margin-bottom:2px}.mk-card-desc{font-size:var(--font-size-smd);color:var(--color-slate-500);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-xs)}.mk-card-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.mk-card-meta span{display:inline-block}#settings-modal .modal-content{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:0!important}#settings-modal .settings-tabs{flex-direction:row;overflow-x:auto!important;-webkit-overflow-scrolling:touch;gap:0!important;padding:0!important;flex-wrap:nowrap!important;white-space:nowrap}#settings-modal .settings-tab{flex-shrink:0!important;padding:10px 12px!important;font-size:var(--font-size-smd)!important}#settings-modal .settings-content{padding:12px!important}#settings-modal .modal-footer{flex-wrap:wrap;gap:var(--space-sm);padding:12px!important}#settings-modal .modal-footer .standard-buttons{display:flex;gap:var(--space-sm);width:100%}#settings-modal .modal-footer button{flex:1;min-height:44px}.tca-report-mode-bar{flex-wrap:wrap!important;gap:var(--space-xs)!important}.tca-report-mode-bar button{flex:1 1 auto;min-width:80px;font-size:var(--font-size-sm)!important;padding:8px 6px!important}}.production-stages-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);max-width:420px}.production-stage-row{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:8px 12px}.production-stage-row .stage-name-input{flex:1;border:none;background:transparent;font-size:var(--font-size-md);color:var(--color-gray-700);outline:none}.production-stage-row .stage-name-input:focus{background:var(--color-bg-secondary);border:1px solid var(--color-accent-hover);border-radius:var(--radius-xs);padding:2px 6px}.production-stage-remove-btn{background:none;border:none;color:var(--color-gray-500);cursor:pointer;font-size:var(--font-size-xl);padding:0 4px;line-height:1}.production-stage-remove-btn:hover{color:var(--color-danger-text)}.production-stage-add-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.rams-inline-body{padding-bottom:4px}.rams-inline-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 4px;margin-top:var(--space-sm);background:var(--color-bg-primary, var(--color-bg-secondary));border-top:1px solid var(--color-gray-200)}.rams-autosave-status{align-self:center;font-size:var(--font-size-md);color:var(--color-gray-500)}.rams-readonly-banner{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700);background:var(--color-amber-50, var(--color-warning-pale));border:1px solid var(--color-amber-200);border-radius:var(--radius-md);padding:8px 10px;margin-bottom:var(--space-md)}.rams-section-block{margin-bottom:var(--space-xl)}.rams-h{font-size:var(--font-size-md);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);border-bottom:2px solid var(--color-gray-100);padding-bottom:4px;margin:0 0 10px}.rams-pi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.rams-pi-field{display:flex;flex-direction:column;gap:3px}.rams-pi-field>label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.rams-textblock{margin-bottom:var(--space-md)}.rams-textblock-label{display:block;font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-xs)}.rams-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs) var(--space-lg)}.rams-tick{display:flex;align-items:flex-start;gap:6px;font-size:var(--font-size-smd);color:var(--color-gray-700)}.rams-tick input{margin-top:2px}.rams-tick em{color:var(--color-gray-500);font-style:normal;font-size:var(--font-size-sm)}.rams-pic-svg{width:100%;height:100%;display:block}.rams-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--space-sm)}.rams-icon-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs);padding:8px 4px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50);cursor:pointer;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.rams-icon-cell.is-on{border-color:var(--color-accent);background:var(--color-info-pale)}.rams-icon-cell:not(.is-on){opacity:.5}.rams-icon-ic{width:46px;height:46px}.rams-icon-lbl{font-size:var(--font-size-xs);line-height:1.15;color:var(--color-gray-700)}.rams-icon-lbl em{display:block;font-style:normal;font-size:var(--font-size-2xs);color:var(--color-gray-500)}.rams-icon-cell input{margin:0}.rams-ro-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--space-sm)}.rams-ro-icon-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:8px 4px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.rams-ro-icon-cell.is-on{border-color:var(--color-accent)}.rams-ro-icon-cell:not(.is-on){opacity:.45}.rams-ro-icon-ic{width:44px;height:44px}.rams-ro-icon-lbl{font-size:var(--font-size-xs);line-height:1.15;color:var(--color-gray-700)}.rams-ro-icon-lbl em{display:block;font-style:normal;font-size:var(--font-size-2xs);color:var(--color-gray-500)}.rams-ro-icon-tick{font-size:var(--font-size-md);color:var(--color-accent)}.rams-risk-scroll{overflow-x:auto}.rams-risk-table{width:100%;min-width:920px;border-collapse:collapse;font-size:var(--font-size-sm)}.rams-risk-table th,.rams-risk-table td{border:1px solid var(--color-gray-200);padding:4px 6px;text-align:left;vertical-align:top}.rams-risk-table th{background:var(--color-gray-50);font-weight:700;text-align:center;font-size:var(--font-size-xs);line-height:1.2}.rams-risk-table th.rams-grp,.rams-ro-risk th.rams-grp{background:var(--color-accent);color:#fff;text-transform:uppercase;letter-spacing:.03em}.rams-num{text-align:center;width:42px}.rams-risk-table th,.rams-ro-risk th{white-space:normal}.rams-row-ref{font-weight:700;color:var(--color-accent)}.rams-row-survey{background:#f59e0b14}.rams-score{font-weight:700;text-align:center}.rams-trivial{background:var(--color-success-tint);color:var(--color-green-800)}.rams-acceptable{background:#d9f99d;color:#3f6212}.rams-moderate{background:#fef9c3;color:#854d0e}.rams-substantial{background:#fed7aa;color:var(--color-orange-800)}.rams-intolerable{background:var(--color-danger-tint);color:var(--color-danger-darker)}.rams-contacts{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.rams-contact-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.rams-contact-role{min-width:150px;font-weight:600;font-size:var(--font-size-smd);color:var(--color-gray-700)}.rams-contact-row .form-control{flex:1;min-width:140px}.rams-contact-installers-h{font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--color-gray-600);margin:6px 0 4px}.rams-doclist{margin:0;padding-left:16px;font-size:var(--font-size-md)}.rams-doclist a{color:var(--color-accent)}.rams-ss-table{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.rams-ss-table th,.rams-ss-table td{border:1px solid var(--color-gray-200);padding:4px 8px;text-align:left}.rams-ss-table th{background:var(--color-gray-50)}@media(max-width:640px){.rams-pi-grid,.rams-ticks{grid-template-columns:1fr}}.rams-set-textblock{margin-bottom:10px}.rams-set-textblock>label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:3px}.rams-set-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:6px}.rams-set-row .rams-set-std{max-width:140px}.rams-set-riskcard,.rams-set-tradecard{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px;background:var(--color-gray-50)}.rams-set-riskcard-head{display:flex;gap:var(--space-sm);align-items:center}.rams-set-riskcard-head .form-control{flex:1;font-weight:600}.rams-set-ra-num{font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary, var(--color-blue-600));background:var(--color-primary-50, var(--color-info-pale));border:1px solid var(--color-primary-100, var(--color-info-light));border-radius:var(--radius-sm);padding:2px 6px;white-space:nowrap}.rams-set-methodsec{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:var(--space-md);background:var(--color-gray-50)}.rams-set-methodsec-h{font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-800);margin-bottom:var(--space-sm);padding-bottom:6px;border-bottom:1px solid var(--color-gray-200)}.rams-set-scores{display:flex;align-items:center;gap:6px;font-size:var(--font-size-smd);color:var(--color-gray-600);flex-wrap:wrap}.rams-set-num{width:52px}.rams-set-triggers{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rams-set-triggers-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.rams-trigger-chip{border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-600);cursor:pointer}.rams-trigger-chip.is-on{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.rams-so-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10200;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.rams-so-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10250;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.rams-so-loading-box{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--shadow-xl)}.rams-so-spinner{width:40px;height:40px;border-radius:50%;border:4px solid var(--color-neutral-200, var(--color-border));border-top-color:var(--color-accent);animation:rams-so-spin .8s linear infinite}.rams-so-loading-text{font-size:var(--font-size-md);font-weight:600;color:var(--color-neutral-700, var(--color-gray-700))}@keyframes rams-so-spin{to{transform:rotate(360deg)}}.rams-so-dialog{background:var(--color-bg-secondary);border-radius:var(--radius-lg);width:100%;max-width:860px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.rams-so-dialog.rams-ro-dialog{width:94%;max-width:1000px;height:94vh;max-height:94vh}.rams-ro-dialog .rams-so-header{padding:12px 20px;background:var(--modal-header-bg, var(--color-accent));border-bottom:2px solid var(--modal-header-border, var(--color-accent));color:var(--modal-header-text, #fff)}.rams-ro-dialog .rams-so-header h2{color:#fff;font-size:var(--font-size-xl);font-weight:600}.rams-ro-dialog .rams-so-x{width:32px;height:32px;border-radius:var(--radius-md, 8px);background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:var(--font-size-xl)}.rams-so-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-accent);color:#fff}.rams-so-header h2{margin:0;font-size:var(--font-size-lg);color:#fff}.rams-so-x{background:#ffffff2e;color:#fff;border:none;width:30px;height:30px;border-radius:var(--radius-sm);font-size:var(--font-size-2xl);cursor:pointer}.rams-so-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 20px}.rams-so-banner{font-size:var(--font-size-md);font-weight:600;color:var(--color-warning-darker);background:var(--color-amber-50, var(--color-warning-pale));border:1px solid var(--color-amber-200);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:var(--space-lg)}.rams-so-sign{margin-top:22px;padding:16px;border:2px solid var(--color-accent);border-radius:var(--radius-md);background:#004a600a}.rams-so-confirm-label{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-md);cursor:pointer}.rams-so-confirm-label input{margin-top:3px}.rams-so-continue{margin-top:var(--space-md)}.rams-so-continue:disabled{opacity:.5;cursor:not-allowed}.rams-so-hint{margin-top:6px;font-size:var(--font-size-sm);color:var(--color-gray-500);font-style:italic}.rams-so-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--color-gray-200)}.rams-so-dialog.rams-so-retry{width:92%;max-width:420px;height:auto}.rams-so-retry-msg{font-size:var(--font-size-lg);line-height:1.5;color:var(--color-gray-800);margin:4px 0}.is-rams-bar{display:flex;justify-content:flex-end;margin:0 0 10px}.is-rams-view{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:var(--font-size-md);font-weight:700;padding:8px 16px;min-height:40px;border:1.5px solid var(--color-accent);border-radius:var(--radius-full);background:var(--color-info-pale, var(--color-bg-primary));color:var(--color-accent);cursor:pointer}.is-rams-view:hover{background:var(--color-info-light, #dcecf0)}.is-rams-view:active{transform:translateY(1px)}.is-rams-lock{text-align:center;padding:32px 20px;max-width:420px;margin:0 auto}.is-rams-lock h3{margin:0 0 8px;font-size:var(--font-size-lg);color:var(--color-gray-900)}.is-rams-lock p{margin:0 0 18px;color:var(--color-gray-600);font-size:var(--font-size-lg);line-height:1.5}.is-rams-accept{min-height:46px;font-size:var(--font-size-lg);font-weight:700;padding:0 20px;width:100%;max-width:320px}.rams-signoff-list{display:flex;flex-direction:column;gap:6px}.rams-signoff-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;padding:6px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50)}.rams-signoff-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-800)}.rams-signoff-when{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-left:auto}.rams-signoff-badge{white-space:nowrap}.rams-signoff-badge.is-current{background:var(--color-success-tint);color:var(--color-green-800)}.rams-signoff-badge.is-old{background:var(--color-warning-light);color:var(--color-warning-darker)}.rams-readonly .rams-ro-section{margin-bottom:18px}.rams-ro-h{font-size:var(--font-size-smd);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);border-bottom:2px solid var(--color-gray-100);padding-bottom:4px;margin:0 0 8px}.rams-ro-sub{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;color:var(--color-gray-500);margin:8px 0 4px}.rams-readonly p{margin:0 0 6px;font-size:var(--font-size-md);line-height:1.45}.rams-ro-kv{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.rams-ro-kv th{text-align:left;font-weight:600;color:var(--color-gray-600);padding:2px 10px 2px 0;white-space:nowrap;vertical-align:top;width:1%}.rams-ro-kv td{padding:2px 0}.rams-ro-table{width:100%;border-collapse:collapse;font-size:var(--font-size-smd)}.rams-ro-table th,.rams-ro-table td{border:1px solid var(--color-gray-200);padding:4px 8px;text-align:left;vertical-align:top}.rams-ro-table th{background:var(--color-gray-50)}.rams-ro-table td.rams-note-ref{font-weight:700;color:var(--color-accent);white-space:nowrap;width:1%}.rams-ro-ul{margin:0;padding-left:16px;font-size:var(--font-size-md)}.rams-ro-ul a{color:var(--color-accent)}.rams-ro-block{margin-bottom:10px}.rams-ro-block h4{margin:0 0 4px;font-size:var(--font-size-md);color:var(--color-gray-700)}.rams-ro-risk{width:100%;min-width:920px;border-collapse:collapse;font-size:var(--font-size-sm)}.rams-ro-risk th,.rams-ro-risk td{border:1px solid var(--color-gray-200);padding:4px 6px;text-align:left;vertical-align:top}.rams-ro-risk th{background:var(--color-gray-50);font-weight:700;text-align:center;font-size:var(--font-size-xs);line-height:1.2}#checklists-view .cl-empty{color:var(--color-gray-500);font-style:italic;padding:16px}#checklists-content{overflow-y:auto;display:block}.cl-weeknav{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:14px}.cl-week-label{font-weight:600;font-size:var(--font-size-lg);color:var(--color-gray-800)}.cl-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.cl-grid{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:460px}.cl-grid th,.cl-grid td{border-bottom:1px solid var(--color-gray-100)}.cl-grid thead th{position:sticky;top:0;z-index:2;background:var(--color-accent);color:#fff;padding:10px 8px;text-align:center;font-weight:700}.cl-task-head{text-align:left!important}.cl-grid .cl-task-head,.cl-grid .cl-task{position:sticky;left:0;z-index:1;min-width:200px;max-width:60vw}.cl-grid thead .cl-task-head{z-index:3}.cl-task{background:var(--color-bg-secondary);padding:10px 12px;text-align:left;color:var(--color-gray-800);line-height:1.35;border-right:1px solid var(--color-gray-100)}.cl-day{width:44px}.cl-section-row .cl-section-title{background:var(--color-gray-50);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:var(--font-size-sm);color:var(--color-accent);padding:8px 12px}.cl-cell-td{text-align:center;padding:8px 4px}#checklists-view input.cl-cell{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:22px;height:22px;cursor:pointer;margin:0;background:var(--color-bg-secondary);border:2px solid var(--color-gray-400);border-radius:var(--radius-xs)}#checklists-view input.cl-cell:checked{background:var(--color-accent);border-color:var(--color-accent)}#checklists-view input.cl-cell:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:var(--font-size-md)}#checklists-view input.cl-cell:disabled{cursor:not-allowed;opacity:.6}.cl-grid tbody tr:hover .cl-task{background:var(--color-gray-50)}.cl-daypicker{display:flex;gap:6px;margin-bottom:14px}.cl-daypill{flex:1;padding:12px 0;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-bg-secondary);font-weight:700;font-size:var(--font-size-md);color:var(--color-gray-600);cursor:pointer}.cl-daypill.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cl-modetabs{display:inline-flex;gap:var(--space-xs);padding:4px;background:var(--color-gray-100);border-radius:var(--radius-md);margin-bottom:14px}.cl-modetab{border:none;background:transparent;padding:6px 16px;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-600);cursor:pointer}.cl-modetab.is-active{background:var(--color-bg-secondary);color:var(--color-accent);box-shadow:var(--shadow-sm)}.cl-weekly{max-width:760px}.cl-wsection-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);margin:4px 0 8px}.cl-wrow{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-md);line-height:1.4;cursor:pointer}#checklists-view input.cl-wcell{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;margin:1px 0 0;width:28px;height:28px;cursor:pointer;flex-shrink:0;background:var(--color-bg-secondary);border:2px solid var(--color-gray-400);border-radius:var(--radius-sm)}#checklists-view input.cl-wcell:checked{background:var(--color-accent);border-color:var(--color-accent)}#checklists-view input.cl-wcell:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:var(--font-size-xl)}#checklists-view input.cl-wcell:disabled{cursor:not-allowed;opacity:.6}.cl-notes-block{margin-top:var(--space-lg)}.cl-label{display:block;font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700);margin-bottom:5px}.cl-text{width:100%;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:8px 10px;font:inherit;resize:none;max-height:40vh;overflow-y:auto;min-height:64px;box-sizing:border-box}.cl-daynotes{display:flex;flex-direction:column;gap:var(--space-sm)}.cl-daynote-row{display:grid;grid-template-columns:110px 1fr;align-items:start;gap:10px}.cl-daynote-label{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700);padding-top:8px}.cl-daynote{min-height:44px}@media(max-width:768px){.cl-daynote-row{grid-template-columns:1fr;gap:var(--space-xs)}.cl-daynote-label{padding-top:0}}.cl-signoff-block{margin-top:var(--space-lg);padding:12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50)}.cl-signoff-label{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-md);cursor:pointer}.cl-signoff-label input{margin-top:2px}.cl-signed{display:block;margin-top:var(--space-sm);font-size:var(--font-size-smd);font-weight:600;color:var(--color-success-dark, var(--color-green-700))}.cl-review-head{margin:10px 0 12px;font-size:var(--font-size-lg);color:var(--color-accent)}.cl-live{font-size:var(--font-size-xs);font-weight:700;color:var(--color-green-800);margin-left:8px;vertical-align:middle}.cl-review-list{display:flex;flex-direction:column;gap:var(--space-sm);max-width:760px}.cl-review-card{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;width:100%;text-align:left;cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);padding:12px;font:inherit}.cl-review-card:hover{background:var(--color-gray-50);border-color:var(--color-accent)}.cl-review-name{font-weight:700;color:var(--color-gray-800);flex:1;min-width:120px}.cl-review-prog{font-size:var(--font-size-smd);color:var(--color-gray-500)}.cl-review-badges{display:inline-flex;gap:6px}.cl-badge{background:var(--color-gray-100);color:var(--color-gray-600)}.cl-badge-ok{background:var(--color-success-tint);color:var(--color-green-800)}.cl-badge-warn{background:#fef9c3;color:#854d0e}.cl-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:14px;flex-wrap:wrap}.cl-fillroles{margin-bottom:var(--space-lg);padding:12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-gray-50)}.cl-rolechips{display:flex;flex-wrap:wrap;gap:10px 16px}.cl-rolechip{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-md)}.cl-edit-section{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md)}.cl-edit-sechead{display:flex;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm)}.cl-edit-sectitle{flex:1;font-weight:700;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:6px 8px}.cl-edit-task{display:flex;gap:var(--space-sm);align-items:center;margin:6px 0}.cl-edit-tasklabel{flex:1;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:6px 8px;font:inherit}.qc-modal .modal-content.qc-modal-content{width:96%;max-width:1400px;height:94vh;max-height:94vh;display:flex;flex-direction:column;border-radius:var(--radius-lg)}.qc-modal-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px}.qc-footer{display:flex;justify-content:flex-end;gap:10px}.qc-readonly-banner{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700);background:var(--color-amber-50, var(--color-warning-pale));border:1px solid var(--color-amber-200);border-radius:var(--radius-md);padding:8px 10px;margin-bottom:var(--space-md)}.qc-section{margin-bottom:18px}.qc-section-title{font-size:var(--font-size-smd);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);border-bottom:2px solid var(--color-gray-100);padding-bottom:4px;margin-bottom:var(--space-sm)}.qc-row{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-md);line-height:1.4;cursor:pointer}.qc-row:last-of-type{border-bottom:none}#job-items-modal input.qc-tick{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;margin:1px 0 0;width:24px;height:24px;cursor:pointer;flex-shrink:0;background:var(--color-bg-secondary);border:2px solid var(--color-gray-400);border-radius:var(--radius-sm)}#job-items-modal input.qc-tick:checked{background:var(--color-accent);border-color:var(--color-accent)}#job-items-modal input.qc-tick:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:var(--font-size-md)}#job-items-modal input.qc-tick:disabled{cursor:not-allowed;opacity:.6}.qc-edit-finalrow{display:flex;align-items:center;gap:10px;margin-bottom:14px}.qc-edit-lbl{font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-700)}.qc-editor input[type=text]{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:6px 8px;font:inherit}.qc-edit-section{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md);background:var(--color-gray-50)}.qc-edit-sechead{display:flex;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm);flex-wrap:wrap}.qc-edit-sectitle{flex:1;min-width:160px;font-weight:700}.qc-edit-signlabel{width:180px}.qc-edit-checklabel{width:200px}.qc-edit-task{display:flex;gap:var(--space-sm);align-items:center;margin:6px 0}.qc-edit-tasklabel{flex:1}.qc-edit-finallabel{flex:1;max-width:260px}.qc-edit-gatelbl{font-size:var(--font-size-sm);color:var(--color-gray-600);display:flex;align-items:center;gap:6px}.qc-edit-gate{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:4px 8px;font:inherit}.qc-edit-hint{font-size:var(--font-size-smd);color:var(--color-gray-500);margin-bottom:var(--space-md)}.pq-toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.pq-additem{display:inline-flex;align-items:center;gap:6px}.pq-additem-input{width:160px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:6px 8px;font:inherit}.pq-grid-wrap{overflow-x:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.pq-grid{border-collapse:collapse;width:100%;font-size:var(--font-size-md)}.pq-grid th,.pq-grid td{border-bottom:1px solid var(--color-gray-100);border-right:1px solid var(--color-gray-100);padding:6px 8px;text-align:center}.pq-grid th:last-child,.pq-grid td:last-child{border-right:none}.pq-th{position:sticky;top:0;background:var(--color-gray-50);z-index:1;font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--color-gray-600);white-space:nowrap}.pq-th--qc{color:var(--color-accent);background:#004a600f}.pq-th--item,.pq-th--notes,.pq-ref-cell{text-align:left}.pq-ref-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.pq-ref-cell{min-width:80px}.pq-ref{flex:0 0 auto;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}.pq-ref{font-weight:800;color:var(--color-gray-800)}.pq-ref-type{font-size:var(--font-size-xs);color:var(--color-gray-500)}.pq-ref-cell .pq-batch-chip{margin-left:0;margin-top:2px}.pq-grid td{padding-top:2px;padding-bottom:2px}.pq-ref-input{font:inherit;font-weight:800;color:var(--color-gray-800);width:110px;padding:2px 4px;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:var(--color-bg-secondary)}.pq-ref--editable{cursor:text;border-radius:var(--radius-sm);padding:0 2px;max-width:120px}.pq-ref--editable:hover,.pq-ref--editable:focus-visible{background:var(--color-gray-100);outline:none}.pq-ref-input:hover{border-color:var(--color-gray-300);background:var(--color-bg-secondary)}.pq-ref-input:focus{border-color:var(--color-accent);background:var(--color-bg-secondary);outline:none}.pq-card-head .pq-ref-input{font-size:var(--font-size-lg);width:140px}.pq-card-head .pq-ref--editable{max-width:none}.pq-cell{vertical-align:middle}.pq-qc{background:#004a6008}.pq-qc--pass{background:var(--color-success-pale)}.pq-qc--fail{background:var(--color-danger-pale)}.pq-build-tick{width:20px;height:20px;cursor:pointer}.pq-build-tick:disabled{cursor:not-allowed;opacity:.5}.pq-qc-btns{display:inline-flex;gap:var(--space-xs)}.pq-qc-btn{width:26px;height:26px;border-radius:var(--radius-sm);cursor:pointer;font-weight:800;font-size:var(--font-size-md);border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-500);display:inline-flex;align-items:center;justify-content:center;line-height:1}.pq-pass.is-on{background:var(--color-success, var(--color-success-mid));border-color:var(--color-success, var(--color-success-mid));color:#fff}.pq-fail.is-on{background:var(--color-danger, var(--color-danger-dark));border-color:var(--color-danger, var(--color-danger-dark));color:#fff}.pq-qc-text{font-weight:800}.pq-qc-text--pass{color:var(--color-green-800)}.pq-qc-text--fail{color:var(--color-danger-text)}.pq-qc-text--none{color:var(--color-gray-500)}.pq-qc-photos{cursor:pointer;display:inline-flex;align-items:center;gap:3px;min-height:28px;min-width:40px;padding:2px 8px;justify-content:center;border:1px solid var(--color-gray-200);border-radius:var(--radius-full);background:var(--color-bg-primary, #fff);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.pq-qc-photos:hover{background:var(--color-gray-100);border-color:var(--color-accent)}.pq-qc-photos:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.pq-qc-move{cursor:pointer;border:1px solid var(--color-gray-300);background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text-secondary, var(--color-gray-500));border-radius:var(--radius-xs);font-size:var(--font-size-xs);line-height:1;padding:2px 4px;margin-left:2px}.pq-qc-move:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pq-qc-move:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.pq-notes-cell{text-align:left;min-width:160px}.pq-note-stamp{display:block}.pq-note-stamp:empty{display:none}.pq-notes-input{width:100%;box-sizing:border-box;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:4px 6px;font:inherit;font-size:var(--font-size-smd);resize:none;min-height:30px;max-height:40vh;overflow-y:auto}.pq-notes{display:flex;flex-direction:column;gap:4px;text-align:left}.pq-note{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-gray-50);padding:4px 6px}.pq-note-text{white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-smd);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pq-note.is-open .pq-note-text{display:block;-webkit-line-clamp:unset}.pq-notes-more{align-self:flex-start;background:none;border:none;padding:0;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-accent);font-weight:600}.pq-notes-more:hover{text-decoration:underline}.pq-splice-gate{display:flex;align-items:center;gap:6px;justify-content:center}.pq-splice-stage.pq-qc--pass{background:var(--color-success-pale)}.pq-splice-stage.pq-qc--fail{background:var(--color-danger-pale)}.pq-note-meta{font-size:var(--font-size-2xs);color:var(--color-gray-500);margin-top:2px}.pq-note-add{display:flex;gap:6px;align-items:flex-start}.pq-note-add .pq-notes-input{flex:1 1 auto}.pq-note-add-btn{flex:0 0 auto}.pq-card-notes{padding:8px 12px;border-top:1px solid var(--color-gray-100)}.pq-splice{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);margin-bottom:var(--space-md)}.pq-splice-title{font-weight:800;padding:8px 12px;border-bottom:1px solid var(--color-gray-100);background:var(--color-gray-50)}.pq-splice-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(220px,2fr)}.pq-splice-stage{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border-right:1px solid var(--color-gray-100);text-align:center}.pq-splice-stage:last-child{border-right:none}.pq-splice-stage.is-done{background:var(--color-success-pale)}.pq-splice-name{font-size:var(--font-size-xs);font-weight:700;color:var(--color-gray-600)}.pq-splice-hint{font-weight:400;color:var(--color-gray-500)}.pq-splice-notes{align-items:stretch;text-align:left}.pq-splice-thumbs{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.pq-splice-thumbs img{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.pq-splice-photo-btn{cursor:pointer}.pq-splice-photo-btn.is-busy{opacity:.6;pointer-events:none}@media(max-width:768px){.pq-splice-grid{grid-template-columns:1fr 1fr 1fr}.pq-splice-notes{grid-column:1 / -1;border-top:1px solid var(--color-gray-100)}}.pq-toolbar .pq-layout-toggle{margin-left:auto}.pq-gate-pair{display:flex;gap:8px;margin:0 0 8px}.pq-gate-pair .is-act--done{flex:1 1 auto}.pq-fail-btn{color:var(--color-danger-darker);border-color:var(--color-danger-tint, #fecaca)}.pq-stage-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.pq-stage-row>label{display:flex;align-items:center;gap:10px;flex:1 1 auto}.pq-stage-row .is-task-text{flex:1 1 auto}.pq-stage-row .pq-stage-ctrl{display:flex;align-items:center;gap:6px}.pq-stage-row .is-stamps{flex-basis:100%}.pq-stage-row.pq-qc--pass{background:var(--color-success-pale)}.pq-stage-row.pq-qc--fail{background:var(--color-danger-pale)}.pq-page-materials{margin-bottom:4px}.pq-page-remove{display:block;margin:12px auto 0;color:var(--color-gray-500);font-size:var(--font-size-sm)}.pq-list-note{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-row .pq-batch-chip{align-self:flex-start}.pq-remove-cell{width:32px}.pq-remove-btn{border:none;background:none;cursor:pointer;color:var(--color-gray-500);font-size:var(--font-size-xl);line-height:1;padding:2px 6px}.pq-remove-btn:hover{color:var(--color-danger, var(--color-danger-dark))}.pq-stamp{display:block;font-size:var(--font-size-2xs);line-height:1.2;color:var(--color-gray-500);margin-top:2px;white-space:nowrap}.pq-qc--fail .pq-stamp{color:var(--color-danger-text)}.qc-row .pq-stamp{margin-left:auto;align-self:center}.pq-cards{display:flex;flex-direction:column;gap:var(--space-md)}.pq-card{border:1px solid var(--color-gray-200);background:var(--color-bg-secondary);overflow:hidden}.pq-card-head{display:flex;align-items:baseline;gap:10px;padding:10px 12px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100)}.pq-card-head .pq-ref{font-size:var(--font-size-lg)}.pq-card-head .pq-ref-type{display:inline;font-size:var(--font-size-sm)}.pq-card-head .pq-remove-btn{margin-left:auto}.pq-card-stages{display:flex;flex-direction:column}.pq-card-stage{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-gray-100);min-height:44px}.pq-card-stage:last-child{border-bottom:none}.pq-card-stage--qc.pq-qc--pass{background:var(--color-success-pale)}.pq-card-stage--qc.pq-qc--fail{background:var(--color-danger-pale)}.pq-card-stage-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800)}.pq-card-stage-ctrl{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:nowrap;justify-content:flex-end}.pq-card-qc-ctrl{flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.pq-card-qc-ctrl .pq-stamp,.pq-card-stage-ctrl .pq-stamp{margin-top:0}.pq-card-stage .pq-build-tick{width:26px;height:26px}.pq-card-stage--qc .pq-qc-btn{width:auto;height:32px;padding:0 12px}.pq-card .pq-notes-input{border:none;border-top:1px solid var(--color-gray-100);border-radius:0}.pq-gates{margin-top:var(--space-lg)}.pq-gates-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);margin-bottom:var(--space-sm)}.pq-gate{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-bg-secondary)}.pq-gate-summary{cursor:pointer;padding:10px 12px;font-weight:700;font-size:var(--font-size-md);color:var(--color-gray-800);display:flex;align-items:center;gap:var(--space-sm)}.pq-gate-count{font-weight:600;font-size:var(--font-size-sm);color:var(--color-gray-500);background:var(--color-gray-100);border-radius:var(--radius-md);padding:1px 6px}.pq-gate-body{padding:4px 12px 12px;border-top:1px solid var(--color-gray-100)}.pq-gate-sub{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;color:var(--color-gray-500);margin:8px 0 4px}.pq-history{margin-top:var(--space-lg);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.pq-history-summary{cursor:pointer;padding:10px 12px;font-weight:700;font-size:var(--font-size-md);color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-sm)}.pq-history-body{padding:4px 12px 12px;border-top:1px solid var(--color-gray-100);max-height:320px;overflow-y:auto}.pq-hist-row{display:grid;grid-template-columns:130px 70px 1fr;gap:var(--space-sm);align-items:baseline;padding:4px 0;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-smd)}.pq-hist-row:last-child{border-bottom:none}.pq-hist-when{color:var(--color-gray-500);font-size:var(--font-size-sm);white-space:nowrap}.pq-hist-who{font-weight:700;color:var(--color-gray-800);white-space:nowrap}.pq-hist-text{color:var(--color-gray-700)}@media(max-width:768px){.pq-hist-row{grid-template-columns:1fr;gap:1px;padding:8px 0}.pq-hist-when{order:3}}.pq-th--mat{text-align:center}.pq-mat-cell{text-align:center;white-space:nowrap}.pq-mat-btn{border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:2px 6px;cursor:pointer;display:inline-flex;gap:3px;align-items:center;min-height:26px;min-width:32px;justify-content:center}.pq-mat-btn:hover{border-color:var(--color-gray-300);background:var(--color-bg-secondary)}.pq-mat-add{color:var(--color-gray-300);font-weight:700}.pq-mat-btn:hover .pq-mat-add,.pq-mat-btn:focus-visible .pq-mat-add{color:var(--color-gray-500)}.pq-mat-chip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:800;line-height:1}.pq-mat--ok{background:var(--color-success-tint);color:var(--color-green-800)}.pq-mat--warn{background:var(--color-warning-light);color:var(--color-warning-darker)}.pq-mat--bad{background:var(--color-danger-light);color:var(--color-danger-darker)}.pq-mat-none{color:var(--color-gray-300)}.pq-card-materials{display:flex;align-items:center;gap:var(--space-sm);padding:6px 0 0}.pq-card-mat-label{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-gray-500)}.item-materials-content{max-width:560px}.item-materials-intro{margin:0 0 12px;font-size:var(--font-size-md);color:var(--color-gray-600)}.item-mat-row{display:grid;grid-template-columns:90px minmax(150px,1fr);gap:8px 10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-gray-100)}.item-mat-row:last-child{border-bottom:none}.item-mat-name{font-weight:700}.item-mat-note{grid-column:2;font-size:var(--font-size-md)}@media(max-width:520px){.item-mat-row{grid-template-columns:1fr}.item-mat-note{grid-column:1}}.pq-batch-chip{display:inline-block;margin-left:6px;color:#fff;vertical-align:middle;white-space:nowrap}.pq-batch-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}.pq-batch-filter-label{font-size:var(--font-size-smd);font-weight:600;color:var(--color-text-secondary, var(--color-gray-500))}.pq-batch-fchip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);background:var(--color-surface, var(--color-bg-secondary));font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text-primary, var(--color-gray-900))}.pq-batch-fchip:hover{background:var(--color-gray-100)}.pq-batch-fchip.is-on{border-color:var(--color-primary, var(--color-blue-600));background:var(--color-info-light, var(--color-info-pale));font-weight:600}.pq-batch-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.pq-batch-fcount{color:var(--color-text-secondary, var(--color-gray-500));font-size:var(--font-size-sm)}.pq-views{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--color-gray-100);margin-left:auto}.pq-view{border:0;background:transparent;border-radius:8px;padding:5px 12px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.pq-view.is-on{background:#fff;color:var(--color-accent, #004a60);box-shadow:var(--shadow-sm)}.pq-snag-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.pq-snag-warn{margin:0 0 8px;padding:6px 10px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:var(--font-size-sm);font-weight:600}.pq-snags{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}.pq-snag{padding:8px 10px;border-radius:8px;border:1px solid #fecaca;border-left:4px solid #dc2626;background:#fff;display:grid;gap:4px}.pq-snag.is-fixed{border-color:#bbf7d0;border-left-color:#16a34a;background:#f8fffa}.pq-snag-text{font-weight:600}.pq-snag-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pq-snag-fix{font-size:var(--font-size-sm);color:#166534}.pq-snag-photos{display:inline-flex;flex-wrap:wrap;gap:4px}.pq-snag-photos img{width:56px;height:56px;object-fit:cover;border-radius:6px;display:block}.pq-thumb{border:0;padding:0;background:none;cursor:zoom-in;border-radius:6px}.pq-snag-add{display:grid;gap:6px;padding:10px;border-radius:8px;background:var(--color-gray-50, #f8fafc);border:1px dashed var(--color-gray-300);margin-bottom:12px}.pq-snag-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pq-snag-add-btn{margin-left:auto}.pq-ov-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}.pq-ov-order{display:inline-flex;gap:6px;margin-left:auto}.pq-ov-chip{border:1px solid var(--color-gray-300);background:#fff;border-radius:999px;padding:4px 12px;font-size:var(--font-size-sm);cursor:pointer}.pq-ov-chip.is-on{background:#e6f2f5;border-color:var(--color-accent, #004a60);color:var(--color-accent, #004a60);font-weight:600}.pq-ov{display:grid;gap:10px}.pq-ov-card{border:1px solid var(--color-gray-200);border-radius:12px;background:#fff;padding:10px 12px;display:grid;gap:8px}.pq-ov-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pq-ov-title{border:0;background:none;padding:0;font-weight:800;font-size:var(--font-size-md, 15px);color:var(--color-accent, #004a60);cursor:pointer}button.pq-ov-title:not([data-pq-open]){cursor:default}.pq-ov-thumbs{display:flex;flex-wrap:wrap;gap:6px}.pq-ov-thumb{position:relative;border:0;padding:0;background:none;cursor:zoom-in;border-radius:8px;overflow:hidden}.pq-ov-thumb img{width:92px;height:92px;object-fit:cover;display:block}.pq-ov-thumb:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#16a34a}.pq-ov-thumb--gate-fail:after,.pq-ov-thumb--snag:after{background:#dc2626}.pq-ov-thumb--splice:after{background:var(--color-accent, #004a60)}.pq-ov-none{margin:0}.pq-ov-events,.pq-ov-timeline{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pq-ov-timeline{gap:8px}.pq-ov-ev{display:grid;gap:1px;padding:5px 8px;border-left:3px solid var(--color-gray-300);background:var(--color-gray-50, #f8fafc);border-radius:0 6px 6px 0;font-size:var(--font-size-sm)}.pq-ov-ev--note{border-left-color:#6366f1}.pq-ov-ev--gate-pass{border-left-color:#16a34a}.pq-ov-ev--gate-fail,.pq-ov-ev--snag{border-left-color:#dc2626}.pq-ov-ev--fix{border-left-color:#16a34a}.pq-ov-ev--splice{border-left-color:var(--color-accent, #004a60)}.pq-ov-ev-text{white-space:pre-wrap;overflow-wrap:anywhere}.pq-ov-ev-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pq-ov-timeline .pq-ov-thumbs{margin-top:4px}.pq-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10070;background:#0f172aeb;display:flex;align-items:center;justify-content:center;padding:48px 56px}.pq-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.pq-lightbox img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:6px}.pq-lightbox figcaption{color:#e2e8f0;font-size:var(--font-size-sm);text-align:center}.pq-lightbox figcaption a{color:#fff}.pq-lb-x,.pq-lb-prev,.pq-lb-next{position:absolute;border:0;background:#ffffff26;color:#fff;border-radius:999px;width:44px;height:44px;font-size:26px;line-height:1;cursor:pointer}.pq-lb-x{top:12px;right:12px}.pq-lb-prev{left:8px;top:50%;transform:translateY(-50%)}.pq-lb-next{right:8px;top:50%;transform:translateY(-50%)}@media(max-width:640px){.pq-lightbox{padding:52px 8px 24px}.pq-ov-thumb img{width:76px;height:76px}.pq-views{margin-left:0}}.jp-empty{padding:24px 8px;text-align:center}.jp-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-xl);padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--color-gray-200)}.jp-headline{display:flex;align-items:baseline;gap:var(--space-sm)}.jp-headline-count{font-size:2rem;font-weight:800;line-height:1;color:var(--color-gray-900);font-variant-numeric:tabular-nums}.jp-headline-label{font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.jp-headline-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums;margin-left:4px}.jp-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0 0 4px}.jp-chip{display:flex;flex-direction:column;gap:2px;min-width:132px;padding:8px 12px;border:1px solid var(--color-gray-200);border-left:3px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-gray-50)}.jp-chip-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.jp-chip-count{font-size:var(--font-size-2xl);font-weight:800;line-height:1.1;color:var(--color-gray-900);font-variant-numeric:tabular-nums}.jp-chip-of{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-500)}.jp-chip-value{font-size:var(--font-size-smd);font-weight:700;color:var(--color-gray-600);font-variant-numeric:tabular-nums}.jp-chip.jp-tone-ready{border-left-color:var(--color-success, var(--color-success-mid));background:var(--color-success-pale)}.jp-chip.jp-tone-progress{border-left-color:var(--color-warning, var(--color-warning-dark));background:var(--color-warning-pale)}.jp-chip.jp-tone-rework{border-left-color:var(--color-danger, var(--color-danger-dark));background:var(--color-danger-pale)}.jp-chip.is-complete{border-left-color:var(--color-success, var(--color-success-mid))}.jp-section-title{margin:18px 0 8px;font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-500)}.jp-table-wrap{overflow:auto;max-height:74vh;border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.jp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.jp-table th{text-align:left;padding:8px 12px;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500);border-bottom:1px solid var(--color-gray-300);white-space:nowrap}.jp-table td{padding:8px 12px;border-bottom:1px solid var(--color-gray-100);vertical-align:middle}.jp-table--progress th+th,.jp-table--progress td+td{border-left:1px solid var(--color-gray-100)}.jp-table--progress thead th{position:sticky;top:0;z-index:2;background:var(--color-gray-100);border-bottom-width:2px}.jp-table--progress tbody tr:hover>td{background:var(--color-gray-50)}.jp-table--progress tbody tr.jp-row--held:hover>td{background:#fef6e0}.jp-table tbody tr:last-child td{border-bottom:none}.jp-ref{font-weight:800;color:var(--color-gray-800);white-space:nowrap}.jp-value,th.jp-value{text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}.jp-prog{white-space:nowrap;min-width:116px}.jp-bar{display:inline-block;width:68px;height:6px;border-radius:var(--radius-xs);background:var(--color-gray-200);overflow:hidden;vertical-align:middle}.jp-bar>span{display:block;height:100%;background:var(--color-accent);border-radius:var(--radius-xs)}.jp-prog-text{margin-left:8px;font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-500);font-variant-numeric:tabular-nums}.jp-state{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;background:var(--color-gray-100);color:var(--color-gray-600);white-space:nowrap}.jp-state--ready{background:var(--color-success-tint);color:var(--color-green-800)}.jp-state--rework{background:var(--color-danger-light);color:var(--color-danger-darker)}.jp-inst-cell{min-width:168px}.jp-inst{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap;border:1px solid transparent}.jp-inst--in-production{background:var(--color-gray-100);color:var(--color-gray-500)}.jp-inst--ready{background:var(--color-bg-secondary);border-color:var(--color-gray-400);color:var(--color-gray-800)}.jp-inst--in-progress{background:var(--color-warning-light);color:var(--color-warning-darker)}.jp-inst--blocked{background:var(--color-danger-light);color:var(--color-danger-darker)}.jp-inst--complete{background:var(--color-success-tint);color:var(--color-green-800)}.jp-inst-detail{display:block;margin-top:3px;font-size:var(--font-size-sm);color:var(--color-gray-500)}.jp-chip.jp-inst-chip--ready{border-left-color:var(--color-gray-800)}.jp-chip.jp-inst-chip--in-progress{border-left-color:var(--color-warning, var(--color-warning-dark));background:var(--color-warning-pale)}.jp-chip.jp-inst-chip--blocked{border-left-color:var(--color-danger, var(--color-danger-dark));background:var(--color-danger-pale)}.jp-chip.jp-inst-chip--complete{border-left-color:var(--color-success, var(--color-success-mid));background:var(--color-success-pale)}.jp-survey{white-space:nowrap;color:var(--color-gray-700)}.jp-muted{color:var(--color-gray-500)}@media(max-width:640px){.jp-chip{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}.jp-table--progress .jp-th-survey,.jp-table--progress .jp-survey,.jp-table--progress .jp-th-prod,.jp-table--progress .jp-prog{display:none}}.jp-table th.jp-inv-head{text-align:center}.jp-table--progress th.jp-inv-first,.jp-table--progress td.jp-inv-first{border-left:2px solid var(--color-gray-300)}.jp-inv-pct,.jp-inv-scope{display:block;font-weight:600;text-transform:none;letter-spacing:0}.jp-inv-pct{font-size:var(--font-size-sm);color:var(--color-gray-600)}.jp-inv-scope{font-size:var(--font-size-xs);color:var(--color-gray-500)}.jp-inv-cell{text-align:center;white-space:nowrap;padding:6px 8px}.jp-inv-pill{display:inline-flex;flex-direction:column;align-items:center;gap:1px;min-width:84px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid transparent;line-height:1.25}.jp-inv-amount{font-weight:700;font-variant-numeric:tabular-nums}.jp-inv-date{font-size:var(--font-size-xs);font-weight:600;opacity:.8}.jp-inv--unsent .jp-inv-pill{background:var(--color-danger-pale);border-color:var(--color-danger-tint);color:var(--color-danger-darker)}.jp-inv--sent .jp-inv-pill{background:var(--color-warning-pale);border-color:var(--color-amber-200);color:var(--color-warning-darker)}.jp-inv--paid .jp-inv-pill{background:var(--color-success-pale);border-color:var(--color-green-200);color:var(--color-green-800)}.jp-inv--none{color:var(--color-gray-300)}.jp-inv-key{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.jp-key-swatch{display:inline-block;width:14px;height:14px;border-radius:var(--radius-xs);margin-left:10px;border:1px solid transparent}.jp-key-swatch.jp-inv--unsent{background:var(--color-danger-pale);border-color:var(--color-danger-tint)}.jp-key-swatch.jp-inv--sent{background:var(--color-warning-pale);border-color:var(--color-amber-200)}.jp-key-swatch.jp-inv--paid{background:var(--color-success-pale);border-color:var(--color-green-200)}.jp-key-swatch:first-child{margin-left:0}.jp-inv-warn{margin:10px 0 0;padding:8px 12px;border-left:3px solid var(--color-danger, var(--color-danger-dark));background:var(--color-danger-pale);color:var(--color-danger-darker);font-size:var(--font-size-smd)}@media(max-width:640px){.jp-inv-scope{display:none}}.jp-alerts{list-style:none;margin:0;padding:0}.jp-alert{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm);padding:8px 10px;border-left:3px solid var(--color-danger, var(--color-danger-dark));background:var(--color-danger-pale);border-radius:0 var(--radius-xs) var(--radius-xs) 0;margin-bottom:var(--space-xs)}.jp-alert-ref{font-weight:800}.jp-alert-what{color:var(--color-gray-600)}.jp-alert-state{font-weight:700;font-size:var(--font-size-smd);padding:1px 8px;border-radius:var(--radius-full)}.jp-alert--warn{background:var(--color-warning-light);color:var(--color-warning-darker)}.jp-alert--bad{background:var(--color-danger-light);color:var(--color-danger-darker)}.jp-alert-note{flex:1 1 100%;font-size:var(--font-size-smd);color:var(--color-gray-600)}.jp-install-bar{position:relative;height:22px;border-radius:var(--radius-xs);background:var(--color-gray-200);overflow:hidden;margin:0 0 10px}.jp-install-bar>span{display:block;height:100%;background:var(--color-success, var(--color-success-mid))}.jp-install-bar>em{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:var(--font-size-sm);font-weight:700;color:var(--color-gray-800)}.jp-install-overrun{position:absolute;right:0;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--color-danger),var(--color-danger) 3px,var(--color-danger-dark) 3px,var(--color-danger-dark) 6px);opacity:.85}.jp-install-bar>em{z-index:1}.jp-install-labour{margin:0 0 10px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.jp-install-labour--over{color:var(--color-danger-text);font-weight:600}.jp-install-forecast{font-weight:400;color:var(--color-text-secondary)}.jp-install-note,.jp-install-tasks{margin:8px 0 0;font-size:var(--font-size-md);color:var(--color-gray-600)}.jp-install-tasks strong,.jp-install-note--bad{color:var(--color-danger, var(--color-danger-dark))}.jp-install-note--held{color:var(--color-warning-darker)}.jp-note-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;border:1px solid var(--color-gray-300);background:var(--color-gray-100);color:var(--color-gray-600);font:700 .68rem/1 Georgia,Times New Roman,serif;font-style:italic;cursor:help;vertical-align:middle}.jp-note-info:hover,.jp-note-info:focus-visible{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.jp-row--held>td{background:var(--color-warning-pale)}.jp-hold-badge{display:inline-block;margin-left:6px;text-transform:uppercase;letter-spacing:.04em;background:var(--color-amber-200);color:var(--color-warning-darker);cursor:help}.jp-hold-cell{text-align:right;white-space:nowrap}.jp-hold-btn{border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-sm);font-weight:700;color:var(--color-gray-600);cursor:pointer;min-height:30px}.jp-hold-btn:hover{border-color:var(--color-warning, var(--color-warning-dark));color:var(--color-warning-darker)}.jp-hold-btn.is-held{background:var(--color-amber-200);border-color:var(--color-warning-dark);color:var(--color-warning-darker)}.item-hold-content{max-width:460px}.item-hold-intro{margin:0 0 12px;font-size:var(--font-size-md);color:var(--color-gray-600)}.item-hold-label{display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500)}.item-hold-note{width:100%;padding:10px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font:inherit;resize:vertical;min-height:76px}.item-hold-note:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.item-hold-hint{margin:8px 0 0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.jp-inv--editable{padding:6px 8px}.jp-inv-btn{display:block;width:100%;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer;text-align:center}.jp-inv-btn:hover .jp-inv-pill,.jp-inv-btn:focus-visible .jp-inv-pill{outline:2px solid var(--color-accent);outline-offset:1px}.jp-inv--none .jp-inv-pill{min-width:84px;border-style:dashed;border-color:var(--color-gray-300);color:var(--color-gray-500)}.jp-inv-status{font-size:var(--font-size-sm);font-weight:700}.jp-inv-legend{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-xs) var(--space-xxl);margin-top:10px}.jp-inv-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.jp-install-photos{color:var(--color-gray-500);font-size:var(--font-size-smd)}#job-progress-body .jp-sel-cell{width:28px;text-align:center;padding:0 2px}#job-progress-body .jp-sel{cursor:pointer}.jp-batch-chip{display:inline-block;margin-left:6px;color:#fff;background:var(--batch, var(--color-gray-500));vertical-align:middle}.jp-batch-key{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-sm);margin:4px 0 10px}.jp-batch-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--color-gray-200);border-left:4px solid var(--batch, var(--color-gray-400));background:var(--color-surface, var(--color-bg-secondary));font-size:var(--font-size-smd);cursor:pointer;transition:box-shadow .12s,background .12s}.jp-batch-top{display:flex;align-items:flex-start;gap:7px}.jp-batch-top .jp-batch-swatch{margin-top:3px}.jp-batch-top .jp-batch-name{flex:1 1 auto;min-width:0;font-size:var(--font-size-md);line-height:1.25;white-space:normal}.jp-batch-top .jp-batch-actions{flex:0 0 auto}.jp-batch-meta{display:flex;flex-direction:column;gap:3px;padding-left:20px;font-size:var(--font-size-sm)}.jp-bm-row{display:grid;grid-template-columns:58px 1fr;gap:var(--space-sm);align-items:baseline}.jp-bm-k{font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.jp-bm-v{color:var(--color-gray-700);font-variant-numeric:tabular-nums;min-width:0}.jp-bm-rework{color:var(--color-danger, var(--color-danger-dark));font-weight:600}.jp-bm-ready{color:var(--color-success-darker, var(--color-green-800));font-weight:600}.jp-batch-card .jp-batch-due{color:var(--color-gray-600)}.jp-batch-card:hover{background:var(--color-gray-50)}.jp-batch-card:focus-visible{outline:2px solid var(--batch, var(--color-blue-600));outline-offset:1px}.jp-batch-card.is-viewing{background:var(--batch, var(--color-blue-600));border-color:var(--batch, var(--color-blue-600));box-shadow:0 0 0 1px var(--batch, var(--color-blue-600))}.jp-batch-card.is-viewing .jp-batch-name,.jp-batch-card.is-viewing .jp-batch-count,.jp-batch-card.is-viewing .jp-batch-roll,.jp-batch-card.is-viewing .jp-batch-stage{color:#fff}.jp-batch-card.is-viewing .jp-batch-swatch{box-shadow:0 0 0 1px #fff9}.jp-batch-card.is-viewing .jp-bm-k{color:#ffffffb3}.jp-batch-card.is-viewing .jp-bm-v,.jp-batch-card.is-viewing .jp-batch-due{color:#fff}.jp-batch-card.is-viewing .jp-batch-due{color:var(--color-amber-200)}.jp-batch-card.is-viewing .jp-batch-edit,.jp-batch-card.is-viewing .jp-batch-del{color:#ffffffd9}.jp-batch-card.is-viewing .jp-batch-edit:hover,.jp-batch-card.is-viewing .jp-batch-del:hover{background:#ffffff2e}.jp-batch-focus{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;border-radius:var(--radius-full);vertical-align:middle;font-size:var(--font-size-sm);font-weight:600;text-transform:none;letter-spacing:0;color:var(--color-text-secondary, var(--color-gray-500));background:var(--color-gray-100);border-left:4px solid var(--batch, var(--color-gray-400))}.jp-batch-focus-clear{border:none;background:transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-primary, var(--color-blue-600));font-weight:600;padding:0 2px}.jp-batch-focus-clear:hover{text-decoration:underline}.jp-batch-swatch{width:12px;height:12px;border-radius:var(--radius-xs);background:var(--batch, var(--color-gray-400));flex:0 0 auto}.jp-batch-name{font-weight:700;color:var(--color-text-primary, var(--color-gray-900))}.jp-batch-count{color:var(--color-text-secondary, var(--color-gray-500))}.jp-batch-due{color:var(--color-warning-dark, var(--color-amber-700));font-weight:600}.jp-batch-roll{color:var(--color-text-secondary, var(--color-gray-500))}.jp-batch-stage{color:var(--color-text-secondary, var(--color-gray-500));font-style:italic}.jp-batch-stage--done{color:var(--color-success-darker, var(--color-green-800));font-style:normal;font-weight:600}.jp-batch-note{cursor:help}.jp-batch-actions{margin-left:4px;display:inline-flex;gap:2px}.jp-batch-edit,.jp-batch-del,.jp-batch-board{border:none;background:transparent;cursor:pointer;font-size:var(--font-size-md);padding:2px 4px;border-radius:var(--radius-xs);color:var(--color-text-secondary, var(--color-gray-500))}.jp-batch-edit:hover{background:var(--color-gray-100)}.jp-batch-del:hover{background:var(--color-danger-lightest, #fdeaea)}.jp-batch-board{filter:grayscale(1);opacity:.5}.jp-batch-board:hover{background:var(--color-gray-100);opacity:.8}.jp-batch-board.is-on{filter:none;opacity:1;background:var(--color-info-light, var(--color-info-pale));box-shadow:inset 0 0 0 1px var(--color-primary, var(--color-blue-600))}.jp-batch-board:disabled{cursor:default;opacity:1;filter:none}.jp-batch-empty{margin:4px 0 10px}.jp-batch-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin:0 0 12px}.jp-batch-add{font-size:var(--font-size-smd);color:var(--color-text-secondary, var(--color-gray-500));display:inline-flex;align-items:center;gap:6px}.jp-batch-add select{padding:2px 6px}.jp-batch-editor{border:1px solid var(--color-primary, var(--color-blue-600));border-radius:var(--radius-md);padding:10px 12px;margin:0 0 12px;background:var(--color-info-light, var(--color-info-pale));display:flex;flex-direction:column;gap:var(--space-sm)}.jp-batch-editor-row{display:flex;gap:var(--space-sm);flex-wrap:wrap}.jp-batch-in-name{flex:1 1 240px;padding:6px 8px}.jp-batch-in-due{flex:0 0 auto;padding:6px 8px}.jp-batch-in-note{width:100%;padding:6px 8px;resize:vertical}.jp-batch-colours{display:flex;gap:6px;flex-wrap:wrap}.jp-colour-swatch{width:24px;height:24px;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;padding:0}.jp-colour-swatch.is-active{border-color:var(--color-text-primary, var(--color-gray-900));box-shadow:0 0 0 2px #fff inset}.jp-batch-editor-actions{display:flex;align-items:center;gap:var(--space-sm)}.jp-batch-editor-count{margin-right:auto;font-size:var(--font-size-smd);color:var(--color-text-secondary, var(--color-gray-500))}.jp-ism-strip{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}.jp-ism-card{flex:1 1 180px;min-width:160px;border:1px solid var(--color-gray-200);background:var(--color-surface, var(--color-bg-secondary));padding:8px 12px}.jp-ism-head{font-weight:700;font-size:var(--font-size-smd);color:var(--color-text-primary, var(--color-gray-900));margin-bottom:6px}.jp-ism-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-smd);padding:2px 0}.jp-ism-row span{color:var(--color-text-secondary, var(--color-gray-500))}.jp-ism-row b{font-variant-numeric:tabular-nums}.jp-ism-paid b{color:var(--color-success-darker, var(--color-green-800))}.jp-ism-sent b{color:var(--color-warning-dark, var(--color-warning-darker))}.jp-ism-unsent b{color:var(--color-danger-dark, var(--color-danger-darker))}.jp-batch-inv{font-size:var(--font-size-smd)}.jp-batch-inv th{text-align:center;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-secondary, var(--color-gray-500));padding:6px 8px;border-bottom:1px solid var(--color-gray-200)}.jp-batch-inv th.jp-bi-name-head{text-align:left}.jp-bi-name{display:flex;align-items:center;gap:6px;font-weight:600;padding:6px 8px;white-space:nowrap}.jp-bi-count{color:var(--color-text-secondary, var(--color-gray-500));font-weight:400;font-size:var(--font-size-sm)}.jp-bi-cell{text-align:center;padding:4px 8px;border-left:1px solid var(--color-gray-100);vertical-align:middle}.jp-bi-cell .jp-bi-amt{display:block;font-weight:700;font-variant-numeric:tabular-nums}.jp-bi-cell .jp-bi-status{display:block;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.02em;opacity:.85}.jp-bi--unsent{background:var(--color-danger-pale);color:var(--color-danger-darker)}.jp-bi--sent{background:var(--color-warning-pale);color:var(--color-warning-darker)}.jp-bi--paid{background:var(--color-success-pale);color:var(--color-green-800)}.jp-bi--partial{background:#fff7ed;color:var(--color-orange-800)}.jp-bi--editable{cursor:pointer;transition:filter .12s}.jp-bi--editable:hover{filter:brightness(.96)}.jp-batch-inv tbody tr:nth-child(2n) .jp-bi-name{background:var(--color-gray-50)}.is-empty{padding:24px 8px;text-align:center;color:var(--color-gray-500)}.is-progress{position:relative;height:24px;border-radius:var(--radius-xs);background:var(--color-gray-200);overflow:hidden;margin-bottom:var(--space-md)}.is-progress>span{display:block;height:100%;background:var(--color-success, var(--color-success-mid))}.is-progress>em{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:var(--font-size-sm);font-weight:700;color:var(--color-gray-800)}.is-list{list-style:none;margin:0;padding:0}.is-row{display:flex;align-items:center;gap:var(--space-sm);border:1px solid var(--color-gray-200);border-left:4px solid var(--color-gray-300);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-bg-secondary)}.is-row--in-production{border-left-color:var(--color-gray-300);background:var(--color-gray-50)}.is-row--ready{border-left-color:var(--color-gray-800)}.is-row--in-progress{border-left-color:var(--color-warning-dark);background:#fffdf5}.is-row--blocked{border-left-color:var(--color-danger-dark);background:var(--color-danger-pale)}.is-row--complete{border-left-color:var(--color-success, var(--color-success-mid));background:var(--color-neutral-50)}.is-open{flex:1;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;background:none;border:none;text-align:left;padding:12px;cursor:pointer;min-height:56px;font:inherit}.is-ref{font-weight:800;font-size:var(--font-size-lg)}.is-stage{font-size:var(--font-size-smd);color:var(--color-gray-500)}.is-stage--in-progress{color:var(--color-warning-darker);font-weight:700}.is-stage--blocked{color:var(--color-danger-darker);font-weight:700}.is-stage--complete{color:var(--color-green-800);font-weight:700}.is-detail-note{flex-basis:100%;font-size:var(--font-size-sm);color:var(--color-gray-500)}.is-act{border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:10px 12px;margin-right:8px;font-weight:700;font-size:var(--font-size-md);cursor:pointer;min-height:44px}.is-act--go{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.is-act--done{background:var(--color-success, var(--color-success-mid));border-color:var(--color-success, var(--color-success-mid));color:#fff}.is-act:disabled{opacity:.45;cursor:not-allowed}.is-wide{display:block;width:100%;margin:0 0 8px}.is-finish{margin-top:var(--space-xl)}.is-back{background:none;border:none;padding:6px 0 10px;color:var(--color-accent);font-weight:700;cursor:pointer;font-size:var(--font-size-md)}.is-detail-head{display:flex;align-items:baseline;gap:10px;margin-bottom:var(--space-md)}.is-detail-head h3{margin:0;font-size:var(--font-size-2xl)}.is-status{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);border-left-width:5px;margin-bottom:var(--space-md);background:var(--color-bg-secondary)}.is-held{padding:12px;margin-bottom:var(--space-md);border:1px solid var(--color-amber-200);border-left:5px solid var(--color-warning-dark);border-radius:var(--radius-md);background:var(--color-warning-pale)}.is-held-title{margin:0;font-weight:800;color:var(--color-warning-darker)}.is-held-note{margin:4px 0 0;color:var(--color-warning-darker)}.is-row--held{background:var(--color-warning-pale)}.is-hold-badge{padding:1px 6px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--color-amber-200);color:var(--color-warning-darker)}.is-status-label{font-weight:800;font-size:var(--font-size-lg)}.is-status-detail{font-size:var(--font-size-smd);color:var(--color-gray-600)}.is-status--in-production{background:var(--color-gray-50);border-left-color:var(--color-gray-400)}.is-status--ready{border-left-color:var(--color-gray-800)}.is-status--in-progress{background:var(--color-warning-pale);border-left-color:var(--color-warning-dark);border-color:var(--color-amber-200)}.is-status--in-progress .is-status-label{color:var(--color-warning-darker)}.is-status--blocked{background:var(--color-danger-pale);border-left-color:var(--color-danger-dark);border-color:var(--color-danger-tint)}.is-status--blocked .is-status-label{color:var(--color-danger-darker)}.is-status--complete{background:var(--color-success-pale);border-left-color:var(--color-success, var(--color-success-mid));border-color:var(--color-green-200)}.is-status--complete .is-status-label{color:var(--color-green-800)}.is-h{margin:22px 0 6px;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500)}.is-h--alert{color:var(--color-danger-darker);font-weight:800}.is-why{margin:4px 0 0;font-size:var(--font-size-smd);color:var(--color-gray-500)}.is-meta{font-size:var(--font-size-sm);color:var(--color-gray-500)}.is-stamps{display:flex;flex-wrap:wrap;gap:4px 10px;flex-basis:100%}.is-link{background:none;border:none;padding:0;color:var(--color-accent);text-decoration:underline;cursor:pointer;font-size:var(--font-size-smd)}.is-tasks,.is-notes,.is-trims,.is-problems{list-style:none;margin:0;padding:0}.is-task,.is-note,.is-trim{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--color-gray-100)}.is-task label,.is-trim label{display:flex;align-items:center;gap:var(--space-sm);flex:1 1 200px;cursor:pointer}.is-task input,.is-trim input{width:22px;height:22px}.is-task.is-done .is-task-text,.is-trim.is-done .is-task-text{text-decoration:line-through;color:var(--color-gray-500)}.is-note{flex-direction:column;align-items:flex-start;gap:2px}.is-note p{margin:0}.is-none{padding:10px 0;color:var(--color-gray-500);font-size:var(--font-size-md)}.is-problem{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;margin-bottom:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);background:var(--color-gray-50)}.is-problem--blocking{border-color:var(--color-danger-tint);background:var(--color-danger-pale)}.is-problem-text{margin:0;font-weight:700}.is-problem--blocking .is-problem-text{color:var(--color-danger-darker)}.is-problem.is-done .is-problem-text{font-weight:400;color:var(--color-gray-500);text-decoration:line-through}.is-past{margin-top:10px}.is-past>summary{cursor:pointer;font-size:var(--font-size-smd);color:var(--color-gray-500)}.is-add{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin-top:var(--space-sm)}.is-add input[type=text]{flex:1 1 180px;min-height:44px;padding:8px 10px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font:inherit}.is-blocking{display:flex;align-items:center;gap:6px;font-size:var(--font-size-smd)}.is-blocking input{width:20px;height:20px}.is-photos{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.is-photos img{width:84px;height:84px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-gray-200);display:block}.is-photo-add{display:inline-block;padding:8px 12px;border:1px dashed var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-smd);font-weight:700;color:var(--color-gray-600);cursor:pointer;min-height:40px;line-height:24px}.is-photos input[type=file]:focus-visible+.is-photo-add{outline:2px solid var(--color-accent)}.is-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px}.is-slot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;border:1px dashed var(--color-gray-300);border-radius:var(--radius-md)}.is-slot--has{border-style:solid;border-color:var(--color-success, var(--color-success-mid));background:var(--color-neutral-50)}.is-slot--na{border-style:solid;border-color:var(--color-gray-300);background:var(--color-gray-50)}.is-slot-label{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.is-slot img{width:100%;max-width:180px;height:auto;border-radius:var(--radius-sm);display:block}.is-slot-na{font-size:var(--font-size-md);color:var(--color-gray-600)}.is-slot label.is-act{display:inline-block;text-align:center}.is-slot input[type=file]:focus-visible+label.is-act{outline:2px solid var(--color-accent)}.is-done-tasks{margin-top:6px}.is-done-tasks>summary{cursor:pointer;font-size:var(--font-size-smd);font-weight:600;color:var(--color-gray-500);padding:4px 0;list-style:none}.is-done-tasks>summary::-webkit-details-marker{display:none}.is-done-tasks>summary:before{content:"▸ "}.is-done-tasks[open]>summary:before{content:"▾ "}.is-ni{margin-top:14px;border-top:1px solid var(--color-gray-200);padding-top:10px}.is-ni>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.is-ni>summary::-webkit-details-marker{display:none}.is-ni>summary.is-h{margin:0}.is-ni>summary:after{content:"▸";margin-left:auto;color:var(--color-gray-500)}.is-ni[open]>summary:after{content:"▾"}.is-slot-na-opt{margin-top:6px}.is-slot-na-opt>summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-500);list-style:none;padding:2px 0}.is-slot-na-opt>summary::-webkit-details-marker{display:none}.is-na-reasons{display:flex;flex-direction:column;gap:6px;margin-top:6px}.is-na-reasons .is-act{width:100%}.is-na-other{display:flex;gap:6px}.is-na-other input[type=text]{flex:1;min-width:0;padding:8px 10px;font-size:var(--font-size-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md)}.is-slot-na-text{display:block;font-weight:600;color:var(--color-warning-700, var(--color-amber-700))}.is-next{margin-top:14px;background:var(--color-accent);border-color:var(--color-accent);color:#fff}.is-snag-block{margin:10px 0}.is-review{background:#f59e0b1f;color:var(--color-warning-700, var(--color-amber-700));border-radius:var(--radius-md);padding:8px 10px;font-weight:600;margin:0 0 8px}.is-snags{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.is-snags .is-snag{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);border:1px solid var(--color-gray-200);border-left:3px solid var(--color-gray-400);border-radius:var(--radius-md);padding:6px 10px;font-size:var(--font-size-md)}.is-snags .is-snag--remedial{border-left-color:var(--color-warning);background:#f59e0b0f}.is-snag-text{flex:1;min-width:0}.is-snag-acts{display:flex;gap:10px}.is-snag-gen{width:100%;background:var(--color-bg-secondary);color:var(--color-warning-700, var(--color-amber-700));border:1px dashed var(--color-warning)}.is-snag-form{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:6px}.is-snag-form textarea{width:100%;padding:8px 10px;font-size:var(--font-size-md);border-radius:var(--radius-md);border:1px solid var(--color-gray-300);resize:vertical}.is-snag-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.is-snag-thumbs{display:flex;flex-wrap:wrap;gap:6px}.is-snag-thumb{position:relative;width:60px;height:60px;cursor:pointer}.is-snag-thumb img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);border:2px solid transparent}.is-snag-thumb input{position:absolute;top:3px;left:3px;width:18px;height:18px}.is-snag-thumb input:checked+img{border-color:var(--color-accent)}.is-snag-thumb--new img{border-color:var(--color-success, var(--color-success-mid))}.is-signoff{margin-top:14px;border-top:1px solid var(--color-gray-200);padding-top:12px}.is-signoff--done{background:var(--color-neutral-50);border:1px solid var(--color-success, var(--color-success-mid));border-radius:var(--radius-md);padding:10px 12px}.is-signoff-title{margin:0 0 4px;font-weight:700;color:var(--color-success, var(--color-green-700))}.is-sheet-bar{margin:8px 0}.is-sheet-bar .is-act{width:100%}.is-lead-signoff{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:var(--space-md) 0 0;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);font-size:var(--font-size-sm)}.is-lead-signoff--done{border-color:var(--color-success, var(--color-success-mid))}.is-lead-signoff-sub{display:block;color:var(--color-text-secondary);font-size:var(--font-size-xs)}#schedule-sheet-body{padding:4px 2px 16px}.sch-loading,.sch-empty{color:var(--color-text-secondary, var(--color-gray-500));padding:16px}.sch-intro{color:var(--color-text-secondary, var(--color-gray-500));font-size:var(--font-size-smd);margin:2px 2px 10px}.sch-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0 2px 12px}.sch-table-wrap{overflow:auto;max-height:max(320px,calc(100dvh - 250px));border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.sch-table{border-collapse:collapse;width:100%;font-size:var(--font-size-smd);white-space:nowrap}.sch-table thead th{background:var(--color-gray-100);color:var(--color-text-secondary, var(--color-gray-600));font-weight:600;text-align:center;padding:6px;vertical-align:middle}.sch-group-row th{position:sticky;top:0;z-index:4}.sch-group-th{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--color-text-primary, var(--color-gray-700));border-bottom:1px solid var(--color-gray-200)}.sch-col-row th{position:sticky;top:var(--sch-head1, 33px);z-index:4;font-size:var(--font-size-xs);border-bottom:2px solid var(--color-gray-300)}.sch-table th.sch-ref-th,.sch-table th.sch-room-th{text-align:left;border-bottom:2px solid var(--color-gray-300)}.sch-scaff-th,.sch-status-th{border-bottom:2px solid var(--color-gray-300);font-size:var(--font-size-xs)}.sch-grp-start{border-left:1px solid var(--color-gray-200)}.sch-group-th+.sch-group-th{border-left:1px solid var(--color-gray-200)}.sch-group-th.sch-grp-1,.sch-group-th.sch-grp-3{background:var(--color-gray-50)}.sch-table tbody td{padding:4px 6px;border-bottom:1px solid var(--color-gray-100);text-align:center;vertical-align:middle}.sch-table tbody tr:hover{background:var(--color-gray-50)}.sch-ref-td,.sch-ref-th{position:sticky;left:0;z-index:1;background:var(--color-surface, var(--color-bg-secondary))}.sch-table thead th.sch-ref-th{z-index:3;background:var(--color-gray-100)}.sch-ref-td{font-weight:700;text-align:left;color:var(--color-text-primary, var(--color-gray-900))}.sch-room-td{text-align:left}.sch-room{width:90px;padding:2px 4px;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary, var(--color-gray-900));font-size:var(--font-size-smd)}.sch-room:focus{outline:2px solid var(--color-primary, var(--color-blue-600));outline-offset:-1px}.sch-date{padding:2px 4px;border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary, var(--color-gray-900));font-size:var(--font-size-sm)}.sch-st{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.sch-batch-td{text-align:left;max-width:150px}.sch-batch-chip{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;color:var(--color-text-primary, var(--color-gray-900));background:color-mix(in srgb,var(--b, var(--color-slate-500)) 16%,transparent);border-left:3px solid var(--b, var(--color-slate-500))}.sch-batch-none{color:var(--color-gray-500)}.sch-status-btn{border:none;cursor:pointer;font:inherit;line-height:1.2;display:inline-flex;align-items:center;gap:6px}.sch-status-btn:hover{filter:brightness(.96)}.sch-date.sch-date--derived{color:var(--color-primary, var(--color-blue-600));font-style:italic;border-color:color-mix(in srgb,var(--color-primary, var(--color-blue-600)) 40%,var(--color-gray-200))}.sch-tri{width:24px;height:24px;padding:0;cursor:pointer;border:1.5px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text-primary, var(--color-gray-900));font-size:var(--font-size-md);font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .1s,border-color .1s}.sch-tri:hover{border-color:var(--color-gray-400)}.sch-tri--blank{color:transparent}.sch-tri--yes{background:var(--color-success-light, var(--color-success-tint));border-color:var(--color-success, var(--color-success-mid));color:var(--color-success-darker, var(--color-green-800))}.sch-tri--no{background:var(--color-danger-light);border-color:var(--color-danger, var(--color-danger-dark));color:var(--color-danger-dark, var(--color-danger-darker))}.sch-tri--na{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-500);font-size:var(--font-size-2xs);font-weight:700}.sch-bulk-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sch-bulk-th:hover{background:var(--color-gray-200);text-decoration:underline}.sch-toolbar{display:flex;align-items:flex-start;gap:var(--space-md)}.sch-toolbar .sch-intro{flex:1;margin-bottom:0}.sch-pdf-btn{flex:0 0 auto;white-space:nowrap}.sch-date--red{border-left:4px solid var(--color-danger, var(--color-danger-dark))}.sch-date--amber{border-left:4px solid var(--color-warning-dark)}.sch-date--green{border-left:4px solid var(--color-success, var(--color-success-mid))}.sch-note{display:inline-block;cursor:pointer;margin-left:4px;vertical-align:middle;font-size:var(--font-size-sm);color:var(--color-gray-300)}.sch-note.has-note{color:inherit}.sch-note:hover{color:var(--color-primary, var(--color-blue-600))}.sch-notes-td{text-align:center}.sch-notes-td .sch-note{font-size:var(--font-size-lg);margin-left:0}.sch-note-edit{width:150px;padding:2px 6px;border:1px solid var(--color-primary, var(--color-blue-600));border-radius:var(--radius-xs);font-size:var(--font-size-smd);vertical-align:middle}.sch-st--red{background:var(--color-danger);color:#fff}.sch-st--yellow{background:var(--color-warning);color:#fff}.sch-st--orange{background:#f97316;color:#fff}.sch-st--blue{background:var(--color-blue-600);color:#fff}.sch-st--green{background:var(--color-success-mid);color:#fff}.sch-st-auto{font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.75;color:#fff}.sch-table tbody tr.sch-row--complete>td{background:var(--color-success-tint)!important}.sch-table tbody tr.sch-row--complete:hover>td{background:var(--color-green-200)!important}.sch-table tbody tr.sch-row--complete .sch-ref-td{background:var(--color-success-tint)!important}.sch-wc-th{white-space:nowrap}.sch-wc-label{cursor:pointer;-webkit-user-select:none;user-select:none}.sch-wc-label:hover{text-decoration:underline}.sch-wc-edit-cols{border:none;background:transparent;cursor:pointer;margin-left:6px;padding:1px 4px;border-radius:var(--radius-xs);color:var(--color-gray-500);font-size:var(--font-size-md);line-height:1}.sch-wc-edit-cols:hover{color:var(--color-primary, var(--color-blue-600));background:var(--color-gray-100)}.sch-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.sch-modal{background:var(--color-surface, var(--color-bg-secondary));color:var(--color-text-primary, var(--color-gray-900));border-radius:var(--radius-lg);padding:16px 20px;width:340px;max-width:100%;box-shadow:var(--shadow-xl)}.sch-modal-title{margin:0 0 12px;font-size:var(--font-size-lg);font-weight:700}.sch-modal-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary, var(--color-gray-500));margin-bottom:var(--space-xs)}.sch-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.sch-cm-modal{width:380px}.sch-cm-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:50vh;overflow-y:auto}.sch-cm-row{display:flex;align-items:center;gap:var(--space-sm)}.sch-cm-input{flex:1;padding:6px 10px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.sch-cm-input:focus{outline:2px solid var(--color-primary, var(--color-blue-600));outline-offset:-1px}.sch-cm-remove{flex:0 0 auto;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-gray-300);background:var(--color-bg-secondary);color:var(--color-gray-500);font-size:var(--font-size-lg);font-weight:700;line-height:1}.sch-cm-remove:hover{color:#fff;background:var(--color-danger, var(--color-danger-dark));border-color:var(--color-danger, var(--color-danger-dark))}.sch-cm-add{margin-top:10px;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;border:1px dashed var(--color-primary, var(--color-blue-600));background:var(--color-bg-secondary);color:var(--color-primary, var(--color-blue-600));font-size:var(--font-size-md);font-weight:700}.sch-cm-add:hover{background:var(--color-primary, var(--color-blue-600));color:#fff}.sch-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sch-sortable:hover{background:var(--color-gray-100)}.sch-sort-i{font-size:.78em;opacity:.35;margin-left:2px}.sch-sort-i.sch-sort-on{opacity:1;color:var(--color-primary, var(--color-blue-600))}#job-items-modal .ji-content{width:98vw;max-width:none;height:99dvh;max-height:99dvh;margin:auto;display:flex;flex-direction:column}.ji-tabs{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--color-gray-200);overflow-x:auto;flex-shrink:0}.ji-tabs[hidden]{display:none}.ji-tab{border:none;background:none;padding:12px 12px 10px;font:inherit;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-500);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;min-height:44px}.ji-tab:hover{color:var(--color-gray-800)}.ji-tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.ji-body{flex:1;overflow-y:auto;padding:16px}.ji-pane{display:none}.ji-pane.is-active{display:block}.ji-pane[data-ji-pane=install]>div,.ji-pane.pq-column>div{max-width:760px;margin:0 auto}.ji-loading{padding:28px 8px;text-align:center;color:var(--color-gray-500)}.induction-view{--jtp-teal: #19566a;--jtp-teal-dark: #114254;--jtp-text: #183b46;--jtp-bg: #f7f8f5;--jtp-on-teal: #ffffff;--jtp-line: #dfe4e2;--jtp-card: #ffffff;background:var(--jtp-bg);color:var(--jtp-text);font-size:var(--font-size-xl);line-height:1.5;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.induction-shell{flex:1 1 auto;min-height:0;overflow-y:auto;width:100%;max-width:720px;margin:0 auto;padding:16px;padding-block:16px 96px}.induction-view h1,.induction-view h2,.induction-view h3{color:var(--jtp-text);text-wrap:balance;margin:0}.induction-btn{font:inherit;font-weight:600;min-height:52px;padding:12px 20px;border-radius:var(--radius-lg);border:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:background .15s,border-color .15s,color .15s}.induction-btn:focus-visible{outline:3px solid var(--jtp-teal);outline-offset:2px}.induction-btn--primary{background:var(--jtp-teal);color:var(--jtp-on-teal)}.induction-btn--primary:hover{background:var(--jtp-teal-dark)}.induction-btn--primary:disabled{background:var(--color-gray-300);color:var(--color-gray-600);cursor:not-allowed}.induction-btn--ghost{background:transparent;color:var(--jtp-teal);border-color:var(--jtp-line)}.induction-btn--ghost:hover{background:var(--color-neutral-100)}.induction-btn--explain{background:var(--color-bg-secondary);color:var(--jtp-teal);border-color:var(--jtp-teal)}.induction-btn--explain:hover{background:var(--color-bg-primary)}.induction-btn--block{width:100%}.induction-hero{background:var(--jtp-teal);color:var(--jtp-on-teal);border-radius:var(--radius-xl);padding:28px 24px;margin-bottom:var(--space-lg)}.induction-hero__logo{font-weight:800;letter-spacing:.08em;font-size:var(--font-size-lg);opacity:.9}.induction-hero__title{font-size:1.9rem;font-weight:800;margin:8px 0 4px;line-height:1.1}.induction-hero__sub{opacity:.92}.induction-card{background:var(--jtp-card);border:1px solid var(--jtp-line);padding:16px;margin-bottom:14px}.induction-card__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-sm)}.induction-status{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:700;padding:6px 12px;border-radius:var(--radius-full);border:1.5px solid var(--jtp-line);background:var(--color-bg-secondary)}.induction-status .ind-dot{width:10px;height:10px;border-radius:50%;background:var(--color-gray-400)}.induction-status[data-status=not_started] .ind-dot{background:var(--color-gray-400)}.induction-status[data-status=in_progress] .ind-dot{background:var(--color-warning-dark)}.induction-status[data-status=awaiting_supervisor] .ind-dot{background:var(--jtp-teal)}.induction-status[data-status=complete] .ind-dot{background:var(--color-success-dark)}.induction-modules{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:10px}.induction-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-md);font-weight:600;background:var(--color-neutral-100);color:var(--jtp-teal-dark);border:1px solid var(--jtp-line)}.induction-emergency-cta{display:flex;align-items:center;gap:var(--space-md);width:100%;text-align:left;background:var(--jtp-teal);color:var(--jtp-on-teal);border:none;border-radius:var(--radius-lg);padding:16px;margin-bottom:14px;font:inherit;font-weight:700;cursor:pointer;min-height:60px}.induction-emergency-cta:hover{background:var(--jtp-teal-dark)}.induction-emergency-cta small{display:block;font-weight:500;opacity:.9}.induction-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:14px}.induction-progress{flex:1;min-width:0}.induction-progress__meta{display:flex;justify-content:space-between;font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:6px}.induction-progress__track{height:8px;border-radius:var(--radius-full);background:var(--color-gray-200);overflow:hidden}.induction-progress__fill{height:100%;background:var(--jtp-teal);border-radius:var(--radius-full);transition:width .25s}.induction-screen{animation:ind-fade .2s ease}@keyframes ind-fade{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.induction-screen{animation:none}}.induction-screen__num{font-size:var(--font-size-md);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--jtp-teal)}.induction-screen__title{font-size:var(--font-size-3xl);font-weight:800;margin:4px 0 6px}.induction-screen__lead{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.induction-block{padding:12px 0;border-top:1px solid var(--jtp-line)}.induction-block:first-of-type{border-top:none}.induction-block__heading{font-weight:700;font-size:var(--font-size-lg);margin-bottom:var(--space-xs)}.induction-block__body{color:var(--jtp-text)}.induction-config-value{margin-top:6px;font-weight:600}.induction-config-value ul{margin:4px 0 0;padding-left:20px}.induction-pending{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-sm);padding:6px 10px;border-radius:var(--radius-md);background:var(--color-warning-pale);border:1px solid var(--color-warning);color:var(--color-warning-darker);font-size:var(--font-size-md);font-weight:600}.induction-callout{margin-top:var(--space-lg);padding:12px 16px;border-radius:var(--radius-lg);background:var(--jtp-teal);color:var(--jtp-on-teal);font-weight:700}.induction-links{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.induction-link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--jtp-teal);font-weight:600;text-decoration:none;padding:10px 12px;border:1px solid var(--jtp-line);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.induction-link:hover{background:var(--color-bg-primary)}.induction-link small{color:var(--color-text-muted);font-weight:500}.induction-leadernote{margin-top:18px;padding:12px;border-radius:var(--radius-md);background:var(--color-neutral-100);border-left:4px solid var(--jtp-teal);font-size:var(--font-size-md);color:var(--color-text-secondary)}.induction-leadernote__label{font-weight:700;color:var(--jtp-teal-dark);display:block;margin-bottom:var(--space-xs)}.induction-ack{margin-top:var(--space-lg)}.induction-ack label{display:flex;gap:var(--space-md);align-items:flex-start;padding:12px;border:1px solid var(--jtp-line);border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer}.induction-ack input[type=checkbox]{width:24px;height:24px;margin-top:2px;flex:none;accent-color:var(--jtp-teal)}.induction-nav{position:sticky;bottom:0;display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-sm);padding:12px 0;margin-top:var(--space-xl);background:linear-gradient(to top,var(--jtp-bg) 70%,transparent)}.induction-nav .induction-btn--explain{font-size:var(--font-size-lg)}.induction-emergency__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:var(--jtp-teal);color:var(--jtp-on-teal);padding:16px;border-radius:var(--radius-lg);margin-bottom:14px}.induction-emergency__head h2{color:var(--jtp-on-teal);font-size:var(--font-size-3xl)}.induction-admin__row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--jtp-line)}.induction-admin__row:first-child{border-top:none}.induction-admin__name{font-weight:700;flex:1;min-width:120px}.induction-question{padding:10px 12px;border-radius:var(--radius-md);background:var(--color-warning-pale);border:1px solid var(--color-warning);margin-top:var(--space-sm)}.induction-question--resolved{background:var(--color-success-pale);border-color:var(--color-success)}.induction-floorplan{width:100%;border-radius:var(--radius-lg);border:1px solid var(--jtp-line);cursor:zoom-in}@media(min-width:720px){.induction-shell{padding:24px;padding-block:24px 96px}.induction-hero__title{font-size:2.2rem}}#joinery-view{padding:0}#joinery-view .joinery-frame{display:block;width:100%;height:calc(100vh - var(--header-height, 64px));min-height:600px;border:0;background:var(--color-gray-100)}.content-section h1,.content-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary)}.content-section h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.content-section h4,.content-section h5{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.modal h2,.modal .modal-header h3{font-size:var(--font-size-xl);font-weight:600}.modal h3:not(.modal-header *){font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.modal h4:not(.modal-header *),.modal h5:not(.modal-header *){font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){font-size:var(--font-size-smd)}:is(.help-text,.form-help,.form-hint,.field-hint,.input-hint,.helper-text,.form-text):is(p,small,span,div,label){font-size:var(--font-size-sm);font-style:normal;color:var(--color-gray-500)}.required{color:var(--color-danger-dark)}::placeholder{color:var(--color-text-muted);opacity:1}.content-section thead th,.modal thead th{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-700);text-transform:none}.job-section h3,.enquiry-section h3{padding-bottom:6px;margin-bottom:var(--space-md);border-bottom:2px solid var(--color-accent)}#job-modal .timekeeper-header{padding-bottom:0;border-bottom:0}.btn.small,.button.small,.panel-action.small,.btn.btn-sm,.btn.btn-small,.btn-small{padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size)}.snag-icon{position:relative;top:-1px}.desktop-sidebar-menu .sidebar-nav .tab-button,.mobile-nav-drawer .mobile-nav-item{font-size:var(--font-size-lg);font-weight:500;color:var(--color-gray-800);letter-spacing:-.005em}.desktop-sidebar-menu .sidebar-nav .tab-button .tab-text,.mobile-nav-drawer .mobile-nav-item .nav-text{font:inherit;color:inherit}.desktop-sidebar-menu .sidebar-nav .tab-button:hover,.mobile-nav-drawer .mobile-nav-item:hover{color:var(--color-gray-900);background:var(--color-gray-100)}.desktop-sidebar-menu .sidebar-nav .tab-button.active,.mobile-nav-drawer .mobile-nav-item.active{font-weight:700;color:var(--color-accent-hover);background:var(--color-info-pale);box-shadow:inset 4px 0 0 var(--color-accent-hover)}.desktop-sidebar-menu .sidebar-header h2{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-accent-hover);letter-spacing:-.01em}:is(.active-badge,.base-badge,.category-badge,.check-date-badge,.cl-badge,.clock-cert-badge,.company-docs-visible-pill,.company-folder-pill,.dept-badge,.efficiency-badge,.equip-due-badge,.gantt-worker-chip,.history-badge,.installer-leave-badge,.order-status-badge,.order-type-badge,.qrb-pill,.rams-signoff-badge,.rams-trigger-chip,.sch-batch-chip,.status-badge,.status-pill,.survey-applied-chip,.survey-approval-chip,.survey-preview-chip,.survey-rollup-chip,.survey-salescarry-chip,.survey-status-badge,.tc-badge,.tca-approvals-status-pill,.tca-audit-action-badge,.tca-day-badge,.tca-request-type-badge,.todo-from-chip,.todo-owner-chip,.todo-scope-badge,.todo-status-chip,.todo-team-chip,.training-history-chip,.vacuum-badge){font-size:var(--font-size-sm);font-weight:500;line-height:1.4;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xs)}:is(.clock-holiday-cal-pill,.cp-badge,.enquiry-lock-tag,.has-reminder,.is-hold-badge,.jp-batch-chip,.jp-hold-badge,.kpi-critical-badge,.manage-preset-builtin-badge,.offline-indicator,.outsourced-tag,.pb-badge,.pq-batch-chip,.unallocated-day-chip){font-size:var(--font-size-xs);font-weight:600;line-height:1.4;padding:1px 6px;border-radius:var(--radius-sm)}:is(.autocomplete-no-results,.clock-job-empty,.cp-empty,.empty-column-placeholder,.cl-empty,.empty-message,.empty-selections,.empty-state,.empty-state-content,.hw-empty-state,p.is-empty,.job-modal-empty-state,.jp-empty,.meetings-empty-state,.mk-empty-column,.month-board-empty-content,.no-data,.paint-spec-list-empty,.phone-book-empty,.qc-units-empty,.reminder-empty,.sch-empty,.sl-empty,.survey-empty-state,.survey-pdfs-empty,.tc-review-empty){font-size:var(--font-size-md);font-style:normal;color:var(--color-gray-500)}:is(.acc-mini-empty,.clock-holiday-cal-day-empty,.cp-empty-list,.empty-van-checks,.equip-col-empty,.gantt-worker-empty,.hw-brochure-empty,.manage-presets-empty,.pb-log-empty,.rams-empty,.rams-ro-empty,.status-filter-empty,.stock-catalog-empty,.survey-apply-empty,.survey-arrange-empty,.survey-builder-empty,.survey-entry-empty,.survey-ref-empty,.survey-sketch-empty,.tca-empty,.tca-whos-in-empty){font-size:var(--font-size-smd);font-style:normal;color:var(--color-gray-500)}:is(.acc-dash-card,.acc-emp-card,.accident-card,.action-item-card,.activity-card,.capacity-card,.card,.cdoc-folder-card,.cl-review-card,.clock-status-card,.company-folder-card,.dashboard-panel,.defect-card,.department-capacity-card,.document-card,.driver-card,.employee-card,.employee-info-card,.employee-section-card,.enhanced-month-card,.enquiry-revisions-panel,.equipment-card,.incident-card,.induction-card,.jp-batch-card,.jp-ism-card,.meeting-card,.month-card,.ordered-item-card,.overview-card,.pq-card,.reminder-card,.reports-panel,.sl-card,.stat-card,.stock-catalog-card,.summary-card,.survey-item-card,.survey-profile-card,.tca-approvals-summary-card,.tca-billable-card,.tca-geofence-card,.tca-home-stat-card,.tca-leave-type-preview-card,.tca-lh-stat-card,.tca-request-card,.tca-request-type-card,.tca-rtw-card,.time-summary-card,.van-check-card,.vehicle-card){border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.hidden{display:none!important}.u-flex-1{flex:1!important}.u-row{display:flex!important;align-items:center!important;gap:var(--space-sm)!important}.u-row-md{display:flex!important;gap:var(--space-md)!important}.u-grid-2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:var(--space-md)!important}.u-w-full{width:100%!important}.u-m-0{margin:0!important}.u-no-pointer{pointer-events:none!important}:root{--app-vh: 100vh}@supports (height: 100dvh){:root{--app-vh: 100dvh}}@media screen and (max-width:767px){#main-content:not(.mobile-ready){opacity:0!important;visibility:hidden!important}#main-content.mobile-ready{opacity:1!important;visibility:visible!important;transition:opacity .15s ease-in}}@media screen and (max-width:767px){body{margin:0;padding:0;overflow-x:hidden;font-size:var(--font-size-md)}.app-container{padding:0!important;margin:0!important;width:100vw}.header{position:fixed;top:0;left:0;right:0;height:56px;padding:0 8px!important;display:flex!important;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-md);background:var(--app-header-bg);color:var(--app-header-text);box-shadow:var(--shadow-md);z-index:1000}.header-left{flex-direction:row;align-items:center;gap:var(--space-sm)}.app-title{font-size:var(--font-size-lg)!important;margin:0!important;position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.tabs-container{display:none!important}.mobile-menu-btn{display:flex!important;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;border:none;font-size:var(--font-size-3xl);cursor:pointer;padding:0}.header-content,.header-actions,.connection-indicator,.user-info,#settings-btn,#notification-indicator,.hamburger-menu-btn,#hamburger-menu-btn{display:none!important}.mobile-nav-drawer.active{left:0}.mobile-nav-backdrop{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:#0000004d;z-index:998}.mobile-nav-backdrop.active{display:block}.mobile-nav-item{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-gray-200);text-decoration:none;color:var(--color-gray-700);font-size:var(--font-size-md);gap:var(--space-md)}#dashboard-view .dashboard-panels{padding:0!important}.dashboard-panel{margin:0 0 12px!important;border-radius:var(--radius-md)!important}.panel-actions{width:100%;flex-direction:column;gap:var(--space-sm)!important}.search-container,.sort-container{width:100%!important}.search-input,.select-filter{width:100%!important;font-size:var(--font-size-lg)!important}.data-table{display:none!important}.mobile-job-cards{display:block!important;padding:0 8px}.mobile-job-status{padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:500}#orders-view .table-container,#inventory-view .table-container,.orders-table-enhanced{display:none!important}.mobile-order-cards{display:block!important}.mobile-order-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md)}.mobile-inventory-cards{display:block!important}.mobile-inventory-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md);position:relative}.mobile-inventory-status{padding:4px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:500}.modal{padding:0!important}.modal-content{width:100%!important;height:100vh!important;height:100dvh!important;max-height:100dvh!important;max-width:100%!important;margin:0!important;border-radius:0!important}.modal-header{padding:12px 16px!important}.modal-header h2{font-size:var(--font-size-xl)!important}.modal-footer{padding:12px 16px!important}.form-group{margin-bottom:var(--space-lg)!important}.form-control{font-size:var(--font-size-lg)!important}textarea.form-control{min-height:80px!important;height:auto!important}.btn{font-size:var(--font-size-md)!important;padding:8px 16px!important;touch-action:manipulation}.clock-request-type-btn{padding:10px 8px;gap:3px}.clock-request-type-btn .req-type-label{font-size:var(--font-size-sm)}.clock-request-type-btn .req-type-desc{font-size:var(--font-size-2xs)}#export-jobs,#products-btn,.panel-action:not(#add-job-btn):not(#refresh-dashboard){display:none!important}.offline-banner{top:56px!important;font-size:var(--font-size-sm)!important;padding:8px!important}.loading-content{transform:scale(.9)}.toast-container{top:66px!important;right:10px!important;left:10px!important}.toast{width:100%!important;font-size:var(--font-size-md)!important}}@media screen and (min-width:768px)and (max-width:1366px){.header{position:fixed;top:0;left:0;right:0;height:56px;padding:0 12px!important;display:flex!important;flex-direction:row;align-items:center;justify-content:space-between;background:var(--app-header-bg);color:var(--app-header-text);box-shadow:var(--shadow-md);z-index:1000}.header-left{display:flex!important;flex-direction:row;align-items:center;gap:var(--space-md)}.app-title{font-size:var(--font-size-lg)!important;font-weight:600;margin:0!important}.mobile-menu-btn{display:flex!important;width:52px!important;height:52px!important;align-items:center;justify-content:center;background:transparent;border:none;font-size:32px!important;cursor:pointer;padding:0;min-height:52px!important}.header-actions{display:flex!important;flex-direction:row;align-items:center;gap:6px;flex-wrap:nowrap!important}.connection-indicator,#notification-indicator,#settings-btn{display:flex!important;align-items:center;font-size:var(--font-size-xs)!important;padding:2px 6px!important;height:auto!important;min-height:unset!important}.user-info{display:flex!important;align-items:center;gap:var(--space-xs);padding:2px 8px!important;background:#3b82f614!important;border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.2);white-space:nowrap;height:auto!important;min-height:unset!important}.user-info .user-email{display:inline!important;font-size:var(--font-size-xs)!important;font-weight:500;line-height:1.2}.user-info .user-role,.header #settings-btn,.header .logout-btn,.header #user-info,.tabs-container{display:none!important}.mobile-nav-drawer{position:fixed;top:56px;left:-100%;width:320px;height:calc(100dvh - 56px);background:var(--color-bg-secondary);box-shadow:var(--shadow-md);z-index:999;transition:left .3s ease;overflow-y:auto}.mobile-nav-drawer.active{left:0}.mobile-nav-backdrop{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:#0000004d;z-index:998}.mobile-nav-backdrop.active{display:block}.mobile-nav-item{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-gray-200);text-decoration:none;color:var(--color-gray-700);font-size:var(--font-size-lg);gap:14px}.mobile-nav-item.active{background:var(--color-info-pale);color:var(--color-accent-hover);font-weight:500}#main-content{margin-top:56px!important;padding:12px!important}.panel-header{flex-direction:column!important;align-items:stretch!important;gap:var(--space-md)}.panel-actions{width:100%!important;flex-direction:row;flex-wrap:nowrap!important;gap:var(--space-sm)}.btn,.button,button{padding:4px 10px!important;font-size:var(--font-size-sm)!important;height:auto!important;min-height:28px!important;white-space:nowrap!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:6px 8px!important}.modal-content{max-width:95%!important;margin:2% auto!important}.job-modal-layout,.full-screen-layout{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:var(--space-md)}.job-section{padding:12px}#job-timekeeper,.timekeeper-column{display:none!important}#job-modal .job-modal-layout.hide-financial,#job-modal .full-screen-layout.hide-financial{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;gap:var(--space-md)}#job-modal .job-modal-layout.hide-financial #job-financial-info,#job-modal .full-screen-layout.hide-financial #job-financial-info{display:none!important}#job-modal .job-modal-layout.hide-financial #job-basic-info,#job-modal .full-screen-layout.hide-financial #job-basic-info{grid-column:1!important;grid-row:1!important;width:100%!important}#job-modal .job-modal-layout.hide-financial #job-status-info,#job-modal .full-screen-layout.hide-financial #job-status-info{grid-column:2!important;grid-row:1!important;width:100%!important}#board-view .kanban-board{overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;display:flex!important;flex-wrap:nowrap!important;width:100%!important}.kanban-view-container{overflow-x:hidden!important;overflow-y:visible!important;height:auto!important}.kanban-column{flex:1 1 200px!important;min-width:200px!important;max-height:calc(100dvh - 140px)!important;display:flex!important;flex-direction:column}.kanban-column .column-content{overflow-y:auto!important;flex:1!important;-webkit-overflow-scrolling:touch}.kanban-card{font-size:var(--font-size-sm);padding:8px}.orders-table-enhanced .qty-col{width:fit-content!important;min-width:50px!important}.orders-table-enhanced th.type-col,.orders-table-enhanced td.type-col{width:fit-content!important;min-width:80px!important;display:table-cell!important}.orders-table-enhanced th.ordered-by-col,.orders-table-enhanced td.ordered-by-col{width:fit-content!important;min-width:100px!important;display:table-cell!important}.gantt-day-cell{min-width:80px!important}.gantt-job-card{font-size:var(--font-size-xs)!important;padding:4px 6px!important}}@media screen and (min-width:768px)and (max-width:1366px)and (orientation:portrait){.job-modal-layout,.full-screen-layout{grid-template-columns:1fr 1fr!important}#job-financial-info{display:none!important}#job-basic-info{grid-column:1!important;grid-row:1!important}#job-status-info{grid-column:2!important;grid-row:1!important}}@media screen and (max-width:767px){.mobile-only{display:block!important}}@media screen and (max-width:767px){#board-tab{display:none!important}}@media print{.header,.tabs-container,.mobile-menu-btn,.mobile-nav-drawer,.panel-actions,.form-actions,.modal{display:none!important}#main-content{margin:0!important}.data-table{display:table!important}.mobile-job-cards,.mobile-order-cards,.mobile-inventory-cards{display:none!important}}@media screen and (max-width:767px){#main-content{margin-top:56px!important;padding:0!important;width:100vw;height:calc(100dvh - 56px);overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}.content-section{opacity:1;transition:opacity .15s ease-out;padding:8px!important;margin:0!important;height:auto!important;min-height:calc(100dvh - 80px)}#dashboard-view{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.dashboard-panels{height:auto!important;padding-bottom:80px!important}.panel-content{height:auto!important;overflow:visible!important}.mobile-job-cards,.mobile-order-cards,.mobile-inventory-cards{height:auto!important;padding-bottom:20px!important;overflow:visible!important}#dashboard-view #filter-status,#dashboard-view #filter-manager,#dashboard-view #clear-filters,#dashboard-view #add-job-btn,#dashboard-view #refresh-dashboard,#dashboard-view #export-jobs,#dashboard-view .sort-container,#dashboard-view label[for=filter-status],#dashboard-view label[for=filter-manager]{display:none!important}#dashboard-view .panel-actions{flex-direction:column!important;width:100%!important;gap:0!important;padding:0!important}#dashboard-view #dashboard-search-btn{display:none!important}.panel-header{padding:12px!important;flex-direction:column!important;align-items:stretch!important;gap:var(--space-md)!important;position:sticky;top:0;background:var(--color-bg-secondary);z-index:10;border-bottom:1px solid var(--color-gray-200)}.panel-header h2{font-size:var(--font-size-xl)!important;margin:0!important}.mobile-nav-drawer{will-change:transform;position:fixed;top:56px;left:-100%;width:280px;height:calc(100dvh - 56px);background:var(--color-bg-secondary);box-shadow:var(--shadow-md);z-index:999;transition:left .3s ease;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.mobile-nav-item.active{background:var(--color-info-pale);color:var(--color-accent-hover);font-weight:600;position:relative}.mobile-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-accent-hover)}#orders-view .panel-actions{flex-direction:column!important;gap:var(--space-sm)!important}#orders-view .search-container{width:100%!important}#orders-view #orders-search{width:100%!important;height:44px!important;font-size:var(--font-size-lg)!important}#orders-view #orders-status-filter,#orders-view #orders-type-filter,#orders-view #add-order-btn,#orders-view #refresh-orders{display:none!important}#inventory-view .panel-actions{flex-direction:column!important;gap:var(--space-sm)!important}#inventory-view .search-container{width:100%!important}#inventory-view #inventory-search{width:100%!important;height:44px!important;font-size:var(--font-size-lg)!important}#inventory-view #inventory-category-filter,#inventory-view #inventory-status-filter,#inventory-view #add-inventory-btn,#inventory-view #refresh-inventory{display:none!important}body.menu-open,body.modal-open{overflow:hidden!important;position:fixed!important;width:100%!important}.mobile-job-card{background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s,box-shadow .2s}.mobile-job-card:active{transform:scale(.98);box-shadow:var(--shadow-sm)}}@media screen and (max-width:767px)and (orientation:landscape){.header{height:48px!important}#main-content{margin-top:48px!important;height:calc(100dvh - 48px)!important}.mobile-nav-drawer{top:48px!important;height:calc(100dvh - 48px)!important}.mobile-nav-backdrop{top:48px!important}.panel-header h2{font-size:var(--font-size-lg)!important}}@media screen and (max-width:767px){.mobile-menu-btn{display:flex!important;position:relative!important;visibility:visible!important;opacity:1!important}.header{display:flex!important;align-items:center!important}.header-left{display:flex!important;align-items:center!important;gap:var(--space-sm)!important}}@media screen and (max-width:767px){#todo-view .view-controls{display:none}}@media screen and (max-width:767px){.mobile-table-view{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;width:100%!important;max-width:100vw!important;margin:0!important}.mobile-table-view table{min-width:600px;font-size:var(--font-size-sm)!important}.mobile-table-view th,.mobile-table-view td{padding:8px 6px!important;white-space:nowrap}.mobile-table-view th{position:sticky;top:0;background:var(--color-gray-50)!important;z-index:10}.mobile-table-view td:first-child,.mobile-table-view th:first-child{position:sticky;left:0;background:var(--color-bg-secondary);z-index:5;border-right:2px solid var(--color-gray-200)}.mobile-table-view th:first-child{background:var(--color-gray-50)!important;z-index:15}}@media screen and (max-width:767px){#settings-modal{display:none!important}}.company-docs-mobile{padding:12px;display:flex;flex-direction:column;gap:var(--space-md)}.cdoc-breadcrumb{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.cdoc-breadcrumb-name{font-weight:600;font-size:var(--font-size-lg);color:var(--color-gray-900)}.cdoc-list{display:flex;flex-direction:column;gap:var(--space-sm)}.cdoc-folder-card,.cdoc-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);text-align:left;cursor:pointer;text-decoration:none;color:var(--color-gray-900);font:inherit;transition:border-color .15s,box-shadow .15s;width:100%}.cdoc-folder-card{border:1px solid var(--color-gray-200)}.cdoc-folder-card:hover,.cdoc-row:hover{border-color:var(--color-accent-hover);box-shadow:0 2px 6px #2563eb14}.cdoc-folder-body,.cdoc-row-body{flex:1;min-width:0}.cdoc-folder-name,.cdoc-row-name{font-weight:600;font-size:var(--font-size-md);color:var(--color-gray-900);word-break:break-word}.cdoc-folder-meta,.cdoc-row-meta{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px}.cdoc-folder-chev,.cdoc-row-chev{font-size:var(--font-size-2xl);color:var(--color-gray-500);flex-shrink:0}@media(max-width:767px){#enquiries-modal .enquiries-main-content{grid-template-columns:1fr}.modal .form-row,#enquiries-modal .form-row,#equipment-item-modal .form-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.modal .preview-form{grid-template-columns:1fr!important}.estimate-controls-bar,.estimate-control-group,.invoice-header-row,.invoice-status-and-label,.outsourced-fields-row,.year-selector-container{flex-wrap:wrap}.outsourced-fields-row>.compact-form-group{flex:1 1 100%!important}.hw-settings-filters>div,.hw-order-filters>div{flex-wrap:wrap}.hw-settings-filters>div>div,.hw-order-filters>div>div{flex:1 1 140px!important}#calculators-view [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.modal select,.content-section select{max-width:100%}.invoice-status-dropdown{width:112px;min-width:112px}.invoice-status-date{min-width:136px}.content-section h1,.content-section h2,#turnover-view .view-header h1{font-size:var(--font-size-xl)}.content-section .panel-action,.content-section .action-button,.modal .action-button,.todo-header-container #add-task-btn{font-size:var(--font-size-md)}}.modal-scroll-locked{overflow:hidden!important;position:relative;height:100%}.modal{transition:opacity .3s ease}.modal-content{transition:transform .3s ease}.job-row.deposit-pending-job{background-color:var(--color-danger-light)!important;border-left:4px solid var(--color-danger-dark)!important;position:relative}.job-row.deposit-pending-job:hover{background-color:var(--color-danger-tint)!important}.job-row.deposit-pending-job.selected{background-color:var(--color-danger-mid)!important}.job-row.outsourced-job{background-color:var(--color-warning-light)!important;border-left:4px solid var(--color-orange)!important}.job-row.outsourced-job:hover{background-color:var(--color-warning-light)!important}.job-row.outsourced-job.selected{background-color:#ffe08a!important}.outsourced-indicator{margin-left:6px;font-size:var(--font-size-md);cursor:help}.job-row.quality-checked-job{background-color:var(--color-success-tint)!important;border-left:4px solid var(--color-success-bright)!important}.job-row.quality-checked-job:hover{background-color:var(--color-green-200)!important}.job-row.quality-checked-job.selected{background-color:var(--color-success-light)!important}.job-row.quality-checked-job.deposit-pending-job{background-color:var(--color-success-tint)!important;border-left:4px solid var(--color-success-bright)!important}.interim-unpaid-flag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:var(--radius-md);background-color:var(--color-danger);color:#fff;font-size:var(--font-size-2xs);font-weight:700;white-space:nowrap;vertical-align:middle;cursor:help}.job-row.interim-unpaid-job{border-left:4px solid var(--color-danger)!important}.revision-editing-mode{border:2px solid var(--color-warning-bright)!important;box-shadow:0 0 0 4px #fbbf241a!important}.revision-editing-banner{animation:pulse 2s infinite}#enquiry-number:not([readonly]){background-color:var(--color-warning-light)!important;border-color:var(--color-warning-bright)!important}#enquiry-number:not([readonly]):focus{outline-color:var(--color-warning-bright)!important;box-shadow:0 0 0 3px #fbbf2433!important}@media(max-width:1024px){.kanban-board{transition:none!important}.kanban-board.orientation-changing{opacity:.8;pointer-events:none}.job-card.dragging{z-index:1000;pointer-events:none}.job-card{touch-action:none;-webkit-user-select:none;user-select:none;min-height:60px;padding:12px!important}.job-card-actions button{min-width:44px;min-height:44px}}@media(orientation:landscape)and (max-width:1024px){.column-header h3{font-size:var(--font-size-smd)!important}.job-card{font-size:var(--font-size-md);padding:8px!important;margin:2px 0!important}}@media(orientation:portrait)and (max-width:768px){.column-content{max-height:50vh;overflow-y:auto}}.job-card.outsourced-job-card{background-color:var(--color-warning-light)!important;border-color:var(--color-orange)!important;position:relative}.job-card.outsourced-job-card:hover{background-color:var(--color-warning-light)!important;box-shadow:0 2px 8px #ff8c0033}.job-card.outsourced-job-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-orange),#ffa500);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.outsourced-info{font-size:var(--font-size-sm)!important;color:var(--color-orange-text)!important;font-style:italic;margin-top:2px;font-weight:500}.job-card.outsourced-job-card.draggable-job:hover{transform:translateY(-1px);transition:all .2s ease}.job-card.outsourced-job-card.dragging{background-color:#ffecb3!important;border-color:#e67e22!important;box-shadow:0 4px 12px #ff8c004d}.column-content.drag-over .job-card.outsourced-job-card:not(.dragging){opacity:.7}.job-card.outsourced-job-card .priority-indicator{background:#ff8c001a!important;color:#c2410c!important;border:1px solid rgba(255,140,0,.3)}.low-stock-notification{border-left:4px solid var(--color-warning)}.low-stock-notification.important{border-left-color:var(--color-danger-dark)}.notification-action.create-order-btn{transition:all .2s}.notification-action.create-order-btn:hover{background:var(--color-success-dark)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.notification-action.view-order-btn:hover{background:var(--color-accent-hover)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.order-claimed-indicator{display:inline-flex;align-items:center;gap:var(--space-xs)}#manual-low-stock-check-btn{position:relative}#manual-low-stock-check-btn:hover{background:var(--color-accent);color:#fff}.notification-action.task-btn{width:32px!important;height:32px!important;border-radius:50%!important;background:var(--color-success)!important;color:#fff!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:var(--font-size-xl)!important;font-weight:700!important;cursor:pointer!important;transition:all .2s!important;padding:0!important;margin-right:8px!important}.notification-action.task-btn:hover:not(:disabled){background:var(--color-success-dark)!important;transform:scale(1.1)!important}.notification-action.task-btn:disabled{cursor:not-allowed!important;opacity:.7!important}.notification-action.task-btn.task-created{background:var(--color-gray-500)!important}.notification-action.task-btn.loading{animation:pulse 1s infinite!important}.notification-action.add-to-tasks-btn{background:var(--color-success)!important;color:#fff!important;font-size:var(--font-size-sm);padding:4px 8px;border-radius:var(--radius-xs);margin-right:4px}.notification-action.add-to-tasks-btn:hover{background:var(--color-success-dark)!important;transform:translateY(-1px)}.notification-action.add-to-tasks-btn:disabled{background:var(--color-gray-500)!important;cursor:not-allowed;transform:none}.toast-add-to-tasks-btn:hover{background:var(--color-success-dark)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}@keyframes slideInRight{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(110%);opacity:0}}@keyframes notificationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.toast-view-btn:hover{background:var(--color-accent-hover)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.toast-dismiss-btn:hover{background:var(--color-gray-300)!important;transform:translateY(-1px)}.toast-close:hover{opacity:1;background:#fff3!important}#timekeeper-report-table td.dept-name{font-weight:600}#timekeeper-report-table td.job-number,#timekeeper-report-table td.customer-name{vertical-align:top;font-weight:600}#timekeeper-report-table tr.personal-job-first>td{border-top:2px solid var(--color-gray-300, var(--color-slate-300))}#user-permission-modal.modal .modal-content{position:fixed;top:16px;left:16px;right:16px;bottom:16px;width:calc(100% - 32px);height:calc(100% - 32px);max-width:none;max-height:none;margin:0;border-radius:var(--radius-lg);display:grid;grid-template-rows:auto 1fr auto}#user-permission-modal.perm-editor-inline{display:flex;flex-direction:column;background:transparent;border:0}#user-permission-modal.perm-editor-inline .perm-editor{padding:0}.perm-editor-inline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:8px 0;margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-slate-500)}.perm-editor-inline-toolbar .perm-footer-actions{display:flex;gap:var(--space-sm);align-items:center}#user-permission-modal.perm-editor-inline .perm-editor-inline-toolbar .secondary-button{background-color:var(--color-bg-secondary)!important;color:var(--color-text-secondary)!important;border:1px solid var(--color-slate-300)!important;padding:6px 12px!important;min-width:0;font-size:var(--font-size-sm)!important;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}#user-permission-modal.perm-editor-inline .perm-editor-inline-toolbar .secondary-button:hover{background-color:var(--color-bg-tertiary)!important;border-color:var(--color-text-muted)!important;transform:none;box-shadow:none}.permission-accordion{border-top:1px solid var(--color-border)}.perm-section{border-bottom:1px solid var(--color-border)}.perm-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--color-bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.perm-section-header:hover{background:var(--color-bg-tertiary)}.perm-section-header .section-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:var(--font-size-md);color:var(--color-text-primary)}.perm-section-header .section-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-md);background:var(--color-border);color:var(--color-slate-500);font-weight:500}.perm-section-header .section-badge.active{background:var(--color-success-tint);color:var(--color-success-darker)}.perm-section-header .chevron{transition:transform .2s;color:var(--color-text-muted);font-size:var(--font-size-sm)}.perm-section.expanded .chevron{transform:rotate(180deg)}.perm-section-content{display:none;padding:16px 20px;background:var(--color-bg-primary);border-top:1px solid var(--color-border)}.perm-section.expanded .perm-section-content{display:block}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-sm)}.perm-grid.cols-2{grid-template-columns:repeat(2,1fr)}.perm-grid.cols-3{grid-template-columns:repeat(3,1fr)}.perm-grid.cols-4{grid-template-columns:repeat(4,1fr)}.perm-item{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-smd);cursor:pointer;transition:background .15s,border-color .15s}.perm-item:hover{border-color:var(--color-slate-300);background:var(--color-bg-primary)}.perm-item input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--color-accent);flex-shrink:0}.perm-item:has(input[type=checkbox]:checked){background:var(--color-info-pale);border-color:var(--color-accent-light)}.perm-item:has(input[type=checkbox]:checked):hover{background:var(--color-info-light);border-color:var(--color-accent)}.perm-item .perm-label{flex:1;color:var(--color-gray-700);line-height:1.3}.perm-item:has(input[type=checkbox]:checked) .perm-label{color:var(--color-accent-hover);font-weight:500}.perm-item .perm-icon{font-size:var(--font-size-md)}.perm-item.perm-overridden{opacity:.45;cursor:not-allowed}.perm-item.perm-overridden input[type=checkbox]{cursor:not-allowed}.perm-item.perm-overridden .perm-label:after{content:" · granted by Full Access";font-style:italic;font-size:var(--font-size-xs);color:var(--color-gray-500)}.perm-subsection{margin-top:14px;padding:12px 16px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm)}.perm-subsection:first-child{margin-top:0}.perm-subsection-title{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.6px}.perm-nest-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;margin:2px 0;background:var(--color-bg-tertiary)}.perm-nest-parent{margin:0!important;font-weight:600}.perm-nest-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:3px 0 8px 26px}.perm-nest-children{margin-left:8px;border-left:2px solid var(--color-slate-300);padding-left:12px;display:flex;flex-direction:column;gap:var(--space-sm)}.perm-nest-children .perm-item{margin:0}.perm-help{font-size:var(--font-size-xs);color:var(--color-slate-500);margin-top:var(--space-sm);padding:8px 10px;background:var(--color-bg-tertiary);border-left:2px solid var(--color-slate-300);border-radius:var(--radius-xs);line-height:1.5}.perm-presets{display:flex;align-items:center;gap:var(--space-sm);padding:12px 20px;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.perm-presets-label{font-size:var(--font-size-sm);color:var(--color-slate-500);font-weight:500;margin-right:4px}.perm-preset-btn{padding:6px 12px;border:1px solid var(--color-slate-300);border-radius:var(--radius-xl);background:var(--color-bg-secondary);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-weight:500}.perm-preset-btn:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-info-pale)}.perm-preset-btn:active{background:var(--color-info-light)}.perm-presets-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap}.perm-preset-btn.perm-preset-loading{color:var(--color-text-muted);background:var(--color-bg-tertiary);cursor:default;pointer-events:none}.perm-preset-btn.perm-preset-manage-btn{margin-left:auto;border-style:dashed;color:var(--color-slate-500)}.perm-preset-btn.perm-preset-manage-btn:hover{color:var(--color-accent-hover);border-style:solid}.manage-presets-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.manage-presets-modal{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.manage-presets-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary)}.manage-presets-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.manage-presets-close{background:none;border:none;font-size:var(--font-size-3xl);line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0 4px}.manage-presets-close:hover{color:var(--color-text-primary)}.manage-presets-body{padding:16px 20px;overflow-y:auto}.manage-presets-help{font-size:var(--font-size-sm);color:var(--color-slate-500);background:var(--color-bg-tertiary);border-left:3px solid var(--color-slate-300);padding:10px 12px;border-radius:var(--radius-xs);margin-bottom:14px;line-height:1.5}.manage-presets-actions-row{margin-bottom:var(--space-lg)}.manage-preset-save-current{display:inline-flex;align-items:center;gap:var(--space-sm);padding:8px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-smd);font-weight:500;cursor:pointer;transition:background .15s}.manage-preset-save-current:hover{background:var(--color-accent-hover)}.manage-presets-list-label{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.6px;margin-bottom:var(--space-sm)}.manage-presets-list{display:flex;flex-direction:column;gap:var(--space-sm)}.manage-presets-empty{padding:16px;background:var(--color-bg-primary);border:1px dashed var(--color-slate-300);border-radius:var(--radius-sm);text-align:center}.manage-preset-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s,background .15s}.manage-preset-row:hover{border-color:var(--color-slate-300);background:var(--color-gray-50)}.manage-preset-info{flex:1;min-width:0}.manage-preset-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-sm)}.manage-preset-builtin-badge{background:var(--color-info-light);color:var(--color-accent-hover);text-transform:uppercase;letter-spacing:.4px}.manage-preset-desc{font-size:var(--font-size-sm);color:var(--color-slate-500);margin-top:2px;line-height:1.4}.manage-preset-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.manage-preset-action{padding:4px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-slate-300);border-radius:var(--radius-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.manage-preset-action:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-info-pale)}.manage-preset-action.manage-preset-delete:hover{border-color:var(--color-danger-dark);color:var(--color-danger-darker);background:var(--color-danger-pale)}.manage-preset-action.manage-preset-apply{background:var(--color-info-pale);border-color:var(--color-accent-light);color:var(--color-accent-hover);font-weight:500}.manage-preset-action.manage-preset-apply:hover{background:var(--color-info-light);border-color:var(--color-accent)}.preset-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:12px 16px;margin:0 0 14px;background:var(--color-warning-light);border:1px solid var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:var(--radius-md)}.preset-edit-banner-title{font-size:var(--font-size-smd);font-weight:700;color:var(--color-warning-darker);margin-bottom:2px}.preset-edit-banner-body{font-size:var(--font-size-sm);color:var(--color-warning-darker);line-height:1.4}.preset-edit-exit-btn{background:var(--color-bg-secondary);border:1px solid var(--color-warning);color:var(--color-amber-700);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;flex-shrink:0}.preset-edit-exit-btn:hover{background:var(--color-warning-light)}.perm-empty-banner{display:flex;align-items:flex-start;gap:var(--space-md);margin:0 0 16px;padding:12px 16px;background:var(--color-warning-light);border:1px solid var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:var(--radius-md)}.perm-empty-banner-title{font-size:var(--font-size-smd);font-weight:700;color:var(--color-warning-darker);margin-bottom:var(--space-xs)}.perm-empty-banner-body{font-size:var(--font-size-sm);color:var(--color-warning-darker);line-height:1.5}.perm-empty-banner-body strong{color:var(--color-warning-darker);font-weight:600}.perm-section.mobile-section .perm-section-header{background:linear-gradient(135deg,#faf5ff 0%,var(--color-purple-100) 100%)}.perm-section.mobile-section .section-badge{background:var(--color-purple-100);color:var(--color-violet)}.perm-3state{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-smd)}.perm-3state .perm-label{flex:1;color:var(--color-gray-700);font-weight:500}.perm-3state-toggle{display:flex;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:2px;gap:2px}.perm-3state-toggle button{padding:4px 10px;border:none;background:transparent;border-radius:var(--radius-xs);font-size:var(--font-size-xs);cursor:pointer;color:var(--color-slate-500);transition:all .15s;font-weight:500}.perm-3state-toggle button:hover{background:var(--color-border)}.perm-3state-toggle button.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.perm-3state-toggle button.active.hidden-state{background:var(--color-danger-light);color:var(--color-danger-darker)}.perm-3state-toggle button.active.readonly-state{background:var(--color-warning-light);color:var(--color-warning-darker)}.perm-3state-toggle button.active.view-state,.perm-3state-toggle button.active.full-state{background:var(--color-success-tint);color:var(--color-success-darker)}.mobile-display-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-bg-tertiary)}.mobile-display-row:last-child{border-bottom:none}.mobile-display-label{font-size:var(--font-size-sm);color:var(--color-gray-700);display:flex;align-items:center;gap:6px}.mobile-display-toggle{display:inline-flex;background:var(--color-bg-tertiary);border-radius:var(--radius-xs);overflow:hidden}.mobile-display-toggle button{padding:4px 10px;font-size:var(--font-size-xs);border:none;background:transparent;cursor:pointer;color:var(--color-slate-500);transition:all .15s}.mobile-display-toggle button:hover{background:var(--color-border)}.mobile-display-toggle button.active{background:var(--color-violet);color:#fff}.mobile-views-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xs)}.mobile-view-item{display:flex;align-items:center;gap:var(--space-xs);padding:4px 6px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--font-size-xs);cursor:pointer}.mobile-view-item:hover{border-color:#a78bfa}.mobile-view-item.checked{background:var(--color-purple-100);border-color:var(--color-violet)}.mobile-view-item input{width:12px;height:12px;margin:0;accent-color:var(--color-violet)}.timekeeper-success,.timekeeper-loading,.timekeeper-not-found,.timekeeper-error,.timekeeper-refreshing{padding:20px;background:var(--color-bg-primary, var(--color-bg-secondary));border-radius:var(--radius-md);border:1px solid var(--color-border, var(--color-gray-200))}.timekeeper-header{padding:0 0 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);border-bottom:2px solid var(--color-border-light, var(--color-gray-100))}.header-title h4{margin:0 0 4px;color:var(--color-text-primary, var(--color-gray-900));font-size:var(--font-size-xl);font-weight:600}.job-number{flex-shrink:0;margin-bottom:2px;font-size:var(--font-size-md);color:var(--color-text-muted, var(--color-gray-500));font-weight:500}.break-indicator{display:inline-block;border:1px solid rgba(16,185,129,.3);font-size:var(--font-size-sm);color:var(--color-success, var(--color-success-dark));background:#0596691a;padding:2px 6px;border-radius:var(--radius-xs);margin-left:8px}.header-actions{flex-wrap:wrap;display:flex;align-items:center;gap:var(--space-md)}.data-source{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-muted, var(--color-gray-500));padding:4px 8px;background:#10b9811a;border-radius:var(--radius-xs);border:1px solid rgba(16,185,129,.3)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);animation:pulse 2s infinite}.timekeeper-summary{padding:6px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xxl)}.time-stat{transition:background-color .2s ease;text-align:center;padding:16px 12px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-md);border:1px solid var(--color-border-light, var(--color-gray-100))}.stat-value{margin-bottom:5px;font-size:var(--font-size-3xl);font-weight:700;color:var(--color-primary, var(--color-accent));line-height:1.2}.stat-label{margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-muted, var(--color-gray-500));margin-top:var(--space-xs);font-weight:500}.stat-note{font-weight:400;font-size:var(--font-size-2xs);color:var(--color-text-muted, var(--color-gray-500));margin-top:2px}.break-stat{background:#10b9810d!important;border:1px solid rgba(16,185,129,.2)!important;border-color:#0596694d;background:#0596690d}.budget-analysis{margin:20px;margin-bottom:var(--space-xxl);padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border, var(--color-gray-200))}.budget-analysis.on-track{background:#10b9810d;border-color:#10b9814d}.budget-analysis.over-budget{background:#ef44440d;border-color:#ef44444d}.budget-analysis.under-utilized{background:#004a600d;border-color:#004a604d}.budget-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.budget-numbers{font-weight:600;margin-left:auto;font-size:var(--font-size-md);color:var(--color-text-muted, var(--color-gray-500))}.progress-bar{transition:width .3s ease;position:relative;box-shadow:inset 0 1px 2px #0000001a;height:8px;background:var(--color-bg-tertiary, var(--color-gray-100));border-radius:var(--radius-xs);overflow:hidden;margin-bottom:6px}.progress-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));width:0%;border-radius:var(--radius-xs);height:100%;transition:width .3s ease}.progress-fill.on-track{background:var(--color-success)}.progress-fill.over-budget{background:var(--color-danger)}.progress-fill.under-utilized{background:var(--color-accent)}.progress-label{font-size:var(--font-size-sm);color:var(--color-text-muted, var(--color-gray-500));text-align:center}.activities-summary,.employees-summary{margin-bottom:var(--space-xxl)}.activities-summary h5,.employees-summary h5{margin:0 0 12px;font-size:var(--font-size-lg);color:var(--color-text-primary, var(--color-gray-900));font-weight:600}.summary-list{display:flex;flex-direction:column;gap:var(--space-sm)}.summary-item{position:relative;padding:12px 16px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-sm);border:1px solid var(--color-border-light, var(--color-gray-100))}.item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.item-name{font-weight:500;color:var(--color-text-primary, var(--color-gray-900))}.item-hours{font-weight:600;color:var(--color-primary, var(--color-accent))}.item-details{display:flex;gap:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-muted, var(--color-gray-500))}.loading-content,.not-found-content,.error-content{text-align:center;padding:40px 20px}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border, var(--color-gray-200));border-top:3px solid var(--color-primary, var(--color-accent));border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.budget-info{margin:20px;margin-bottom:var(--space-xxl);padding:16px;background:#004a600d;border:1px solid rgba(0,74,96,.2);border-radius:var(--radius-sm);text-align:center}.no-data{text-align:center;padding:20px}.date-range{margin-bottom:var(--space-xl);padding:6px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-sm);border:1px solid var(--color-border-light, var(--color-gray-100))}.date-range h5{margin:0 0 8px;font-size:var(--font-size-md);color:var(--color-text-primary, var(--color-gray-900));font-weight:600}.date-range p{margin:0;font-size:var(--font-size-smd);color:var(--color-text-muted, var(--color-gray-500))}.data-info{border-top:1px solid var(--color-border-light, var(--color-gray-100));padding-top:20px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-xs);font-size:var(--font-size-sm)}.info-label{color:var(--color-text-muted, var(--color-gray-500));font-weight:500}.info-value{color:var(--color-text-primary, var(--color-gray-900));font-weight:600}.break-info-panel{margin-top:var(--space-lg);padding:16px;background:#fbbf240d;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-sm)}.break-info-panel h5{margin:0 0 12px;font-size:var(--font-size-md);color:var(--color-text-primary, var(--color-gray-900));font-weight:600}.break-info-panel p{margin:0 0 8px;font-size:var(--font-size-sm);color:var(--color-text-secondary, var(--color-gray-700));line-height:1.4}.break-info-panel p:last-child{margin-bottom:0}.sync-status{margin-top:var(--space-xl);padding:16px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.sync-status p{margin:0 0 4px;color:var(--color-text-muted, var(--color-gray-500))}.sync-status p:last-child{margin-bottom:0}.error-details{margin:16px 0;text-align:left}.error-details summary{cursor:pointer;padding:8px 12px;background:var(--color-bg-secondary, var(--color-gray-50));border-radius:var(--radius-xs);border:1px solid var(--color-border-light, var(--color-gray-100));margin-bottom:var(--space-sm)}.error-details code{display:block;padding:12px;background:var(--color-bg-tertiary, var(--color-gray-100));border-radius:var(--radius-xs);font-family:Courier New,monospace;font-size:var(--font-size-xs);color:var(--color-text-primary, var(--color-gray-900));white-space:pre-wrap;word-break:break-word}.not-found-actions,.error-actions{margin:20px 0}.btn{text-align:center;gap:var(--space-xs);background-color:var(--btn-secondary-bg);box-shadow:var(--btn-shadow);display:inline-flex;align-items:center;justify-content:center;height:var(--btn-height);padding:var(--btn-padding-y) var(--btn-padding-x);background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);border-radius:var(--btn-radius);cursor:pointer;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);text-decoration:none;transition:var(--btn-transition)}.btn:hover{background:var(--btn-secondary-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary)}.btn-small{padding:6px 12px;font-size:var(--font-size-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.touch-draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;will-change:transform}.touch-holding{transform:scale(1.02);box-shadow:var(--shadow-lg);transition:transform .2s ease,box-shadow .2s ease;z-index:999}.drag-ghost{box-shadow:var(--shadow-xl);border:2px solid var(--color-accent);background:var(--color-bg-secondary);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);position:fixed!important;top:0!important;left:0!important}.job-dragging .column-content{position:relative}.column-content.drop-zone-active{background:#004a600d;border:2px dashed var(--color-accent);transition:background .2s ease,border .2s ease}.job-card.drop-above:before{content:"";position:absolute;top:-2px;left:10px;right:10px;height:3px;background:var(--color-accent);border-radius:2px;animation:pulse .5s ease infinite}.job-card.drop-below:after{content:"";position:absolute;bottom:-2px;left:10px;right:10px;height:3px;background:var(--color-accent);border-radius:2px;animation:pulse .5s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.job-dragging *{transition:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}@media(pointer:coarse){.job-card{min-height:60px;padding:12px;transform:translateZ(0)}.touch-draggable:active{background:#004a600d}}.job-dragging{overflow-y:auto!important}.kanban-board{transform:translateZ(0);backface-visibility:hidden}.column-content{min-height:400px;padding:12px;border-radius:0 0 var(--radius-md) var(--radius-md);transform:translateZ(0);will-change:contents}#todo-tab,#sidebar-todo-tab{display:none!important}.my-todo-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.my-todo-count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.my-todo-btn.has-urgent .my-todo-count{background:var(--color-danger, #dc2626)}.my-todo-urgent{color:var(--color-warning, #f59e0b);font-size:15px;line-height:1}.my-todo-count[hidden],.my-todo-urgent[hidden]{display:none!important}.my-todo-panel{position:fixed;top:64px;right:16px;z-index:3000;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 84px);display:flex;flex-direction:column;background:var(--color-bg-primary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.my-todo-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;font-size:var(--font-size-lg)}.my-todo-close{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--color-gray-500)}.my-todo-tabs{display:flex;gap:4px;padding:0 10px 8px;border-bottom:1px solid var(--color-gray-200);flex-wrap:wrap}.my-todo-tab{border:0;background:transparent;padding:6px 10px;border-radius:var(--radius-full);font:inherit;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.my-todo-tab span{font-weight:700;margin-left:2px}.my-todo-tab.is-on{background:var(--color-gray-100);color:var(--color-accent);font-weight:600}.my-todo-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.my-todo-row{width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:var(--radius-md);display:grid;grid-template-columns:auto 1fr;gap:2px 10px;cursor:pointer;font:inherit}.my-todo-row:hover,.my-todo-row:focus-visible{background:var(--color-gray-50)}.my-todo-row.is-urgent{box-shadow:inset 3px 0 0 var(--color-danger, #dc2626)}.my-todo-cat{grid-row:span 3;align-self:start;font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:var(--radius-full);background:var(--color-gray-100);color:var(--color-gray-700, #374151);white-space:nowrap}.my-todo-cat--vehicle-fault{background:#fee2e2;color:#991b1b}.my-todo-cat--uniform{background:#dcfce7;color:#166534}.my-todo-cat--holiday-request,.my-todo-cat--time-request{background:#e0f2fe;color:#075985}.my-todo-cat--return-to-work,.my-todo-cat--hr{background:#ede9fe;color:#5b21b6}.my-todo-cat--fleet{background:#fef3c7;color:#92400e}.my-todo-subject{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary, #111827)}.my-todo-flag{color:var(--color-danger, #dc2626)}.my-todo-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.my-todo-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.my-todo-meta .is-overdue{color:var(--color-danger-text, #b91c1c);font-weight:700}.my-todo-pri{text-transform:capitalize;font-weight:700}.my-todo-pri--urgent{color:var(--color-danger-text, #b91c1c)}.my-todo-pri--high{color:var(--color-warning-darker, #92400e)}.my-todo-empty{padding:18px 12px;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.my-todo-head-actions{display:flex;align-items:center;gap:8px}@media(max-width:768px){.my-todo-label{display:none}.my-todo-btn:before{content:"✓";font-weight:700}.my-todo-panel{top:56px;right:8px;left:8px;width:auto;max-height:calc(100vh - 70px)}}.collapsed-notification-wrapper{display:flex;align-items:center;gap:4px}.my-todo-btn--compact{position:relative;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;padding:4px 6px!important;font-size:var(--font-size-lg);font-weight:700}.my-todo-btn--compact .my-todo-count{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;font-size:var(--font-size-2xs)}.my-todo-btn--compact .my-todo-urgent{position:absolute;bottom:-4px;right:-6px;font-size:12px}@media(max-width:768px){.my-todo-btn--compact:before{content:none}}@media screen and (max-width:767px){#app-header .collapsed-notification-wrapper{display:flex!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;z-index:100002!important}#app-header:not(.collapsed) .collapsed-notification-wrapper #notification-indicator-collapsed{display:none!important}}.my-todo-cat--progress-email{background:#dcfce7;color:#166534}.chat-btn{position:relative;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chat-count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-danger, #dc2626);color:#fff;font-size:var(--font-size-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.chat-count[hidden]{display:none!important}.chat-btn--compact{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;padding:4px 6px!important;font-size:var(--font-size-lg)}.chat-btn--compact .chat-count{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;font-size:var(--font-size-2xs)}.chat-drawer{position:fixed;top:10px;right:10px;bottom:10px;z-index:10050;width:min(410px,calc(100vw - 20px));display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -12px #0f172a73,0 8px 20px -8px #0f172a40}@media(max-width:640px){.chat-drawer{top:0;right:0;bottom:0;width:100vw;border-radius:0;border:0}}.chat-head{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:56px;background:#fff;color:var(--color-text-primary, #0f172a);border-bottom:1px solid var(--color-gray-200)}.chat-head>strong{flex:1;font-size:var(--font-size-lg);color:var(--color-accent, #004a60)}.chat-head-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.chat-close,.chat-icon-btn{border:0;background:none;color:var(--color-text-secondary, #475569);cursor:pointer;font-size:18px;line-height:1;padding:6px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.chat-close{font-size:24px}.chat-head .chat-close:hover,.chat-head .chat-icon-btn:hover{background:var(--color-gray-100);color:var(--color-text-primary, #0f172a)}.chat-head .chat-close{color:var(--color-gray-500)}.chat-conv-title{flex:1;min-width:0;display:flex;flex-direction:column}.chat-conv-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-accent, #004a60);font-size:var(--font-size-md, 15px)}.chat-conv-title small{color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-search,.chat-msgsearch{padding:8px 10px;border-bottom:1px solid var(--color-gray-200)}.chat-msgsearch[hidden]{display:none}.chat-list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1}.chat-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:0;background:none;text-align:left;cursor:pointer;border-radius:var(--radius-md);font:inherit;color:inherit}.chat-row:hover{background:#eef5f7}.chat-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.chat-row-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row-last{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row.is-unread .chat-row-title,.chat-row.is-unread .chat-row-last{font-weight:700;color:var(--color-text-primary)}.chat-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chat-row-time{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.chat-dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent)}.chat-avatar{flex:none;width:36px;height:36px;border-radius:50%;background:#d7e9ee;color:var(--color-accent, #004a60);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700}.chat-avatar--team,.chat-avatar--job,.chat-avatar--group{font-size:16px;background:var(--color-gray-100)}.chat-empty{padding:20px 12px;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.chat-hint{margin:0 0 8px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-new{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.chat-people{list-style:none;margin:0;padding:0}.chat-people label{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;border-radius:var(--radius-md)}.chat-people label:hover{background:var(--color-gray-100)}.chat-new-foot{padding:10px;border-top:1px solid var(--color-gray-200);display:flex;justify-content:flex-end}.chat-messages{flex:1;overflow-y:auto;padding:10px 14px 14px;background:#eef3f6}.chat-day,.chat-new-marker{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 6px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.chat-day{font-weight:600}.chat-day:before,.chat-day:after{content:"";flex:1;height:1px;background:#0f172a1a}.chat-new-marker:before,.chat-new-marker:after{content:"";flex:1;height:1px}.chat-new-marker{color:var(--color-danger, #dc2626);font-weight:700}.chat-new-marker:before,.chat-new-marker:after{background:var(--color-danger, #dc2626);opacity:.5}.chat-msg{display:flex;flex-direction:column;align-items:flex-start;margin-top:8px;position:relative}.chat-msg.is-grouped{margin-top:2px}.chat-msg.is-own{align-items:flex-end}.chat-msg-name{font-size:var(--font-size-xs);color:var(--color-accent, #004a60);margin:0 0 3px 10px;font-weight:700}.chat-bubble{max-width:85%;padding:8px 12px;border-radius:14px 14px 14px 4px;background:#fff;border:0;box-shadow:0 1px 2px #0f172a1f,0 1px 1px #0f172a0a;overflow-wrap:anywhere}.chat-msg.is-own .chat-bubble{background:var(--color-accent, #004a60);color:#fff;border-radius:14px 14px 4px}.chat-msg.is-own .chat-msg-meta{color:#ffffffbf}.chat-msg.is-own .chat-text a,.chat-msg.is-own .chat-file{color:#fff;text-decoration:underline}.chat-msg.is-own .chat-mention{color:#fff}.chat-msg.is-own .chat-mention.is-me{color:#0f172a}.chat-msg.is-own .chat-quote{border-left-color:#fff9;color:#ffffffd9}.chat-msg.is-own .chat-task-badge{color:#bbf7d0}.chat-msg.is-own .chat-check-who,.chat-msg.is-own .chat-check-count,.chat-msg.is-own .chat-check.is-done .chat-check-text{color:#fffc}.chat-text{font-size:var(--font-size-sm);line-height:1.4}.chat-text a{color:var(--color-accent)}.chat-mention{font-weight:700;color:var(--color-accent)}.chat-mention.is-me{background:#fef3c7;border-radius:4px;padding:0 2px}.chat-quote{border-left:3px solid var(--color-gray-300, #cbd5e1);padding:2px 8px;margin-bottom:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.chat-atts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chat-img img{display:block;max-width:220px;max-height:180px;border-radius:8px;object-fit:cover}.chat-file{font-size:var(--font-size-sm);color:var(--color-accent)}.chat-msg-meta{display:block;text-align:right;font-size:var(--font-size-2xs, 10px);color:var(--color-text-secondary);margin-top:2px}.chat-task-badge{color:#166534;font-weight:700}.chat-withdrawn{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-msg-actions{display:flex;gap:4px;margin-top:2px;opacity:.6}.chat-msg:hover .chat-msg-actions,.chat-msg:focus-within .chat-msg-actions{opacity:1}.chat-msg-actions button{border:0;background:none;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:2px 4px;border-radius:4px}.chat-msg-actions button:hover{background:var(--color-gray-200);color:var(--color-text-primary)}.chat-task-form{align-self:stretch;margin-top:6px;padding:8px;display:grid;gap:6px;background:var(--color-bg-primary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.chat-task-form label{display:grid;gap:2px}.chat-task-actions{display:flex;justify-content:flex-end;gap:6px}.chat-composer{border-top:1px solid var(--color-gray-200);padding:10px;position:relative;background:#fff}.chat-compose-row{display:flex;align-items:flex-end;gap:4px}.chat-compose-row .chat-icon-btn{color:var(--color-text-secondary)}.chat-compose-row [data-act=send],.chat-new-foot .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff;border-radius:var(--radius-full);padding-left:16px;padding-right:16px;font-weight:700}.chat-compose-row [data-act=send]:hover,.chat-new-foot .btn-primary:hover{background:var(--color-accent-hover, var(--color-accent));color:#fff}.chat-drawer .chat-compose-row textarea{flex:1;resize:none;min-height:40px!important;max-height:140px;border-radius:20px;padding:9px 14px;line-height:1.35;background:#f1f5f9;border:1px solid transparent;scrollbar-width:thin}.chat-compose-row textarea::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-compose-row .chat-icon-btn,.chat-compose-row [data-act=send]{align-self:center}.chat-drawer .chat-compose-row textarea:focus{background:#fff;border-color:var(--color-accent, #004a60);box-shadow:0 0 0 3px #004a601f;outline:none}.chat-replying,.chat-pending{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:6px}.chat-replying span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-replying button,.chat-pending button{border:0;background:none;cursor:pointer;font-size:14px;color:inherit}.chat-pending span{background:var(--color-gray-100);border-radius:var(--radius-full);padding:2px 4px 2px 8px}.chat-mention-pick{position:absolute;left:8px;right:8px;bottom:100%;background:var(--color-bg-primary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.chat-mention-pick[hidden]{display:none}.chat-mention-pick button{border:0;background:none;text-align:left;padding:8px 10px;cursor:pointer;font:inherit}.chat-mention-pick button:hover,.chat-mention-pick button:first-child{background:var(--color-gray-100)}#chat-previews{position:fixed;right:16px;bottom:16px;z-index:10060;display:flex;flex-direction:column;gap:8px;pointer-events:none}.chat-preview{pointer-events:auto;width:min(320px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-bg-primary, #fff);border:1px solid var(--color-gray-200);border-left:4px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);cursor:pointer;text-align:left;font:inherit;color:inherit;animation:chat-in .2s ease-out;transition:opacity .4s,transform .4s}.chat-preview.is-out{opacity:0;transform:translateY(8px)}.chat-preview-body{min-width:0;display:flex;flex-direction:column;font-size:var(--font-size-sm)}.chat-preview-body span{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes chat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:768px){.chat-label{display:none}.chat-drawer{width:100vw;border-left:0}.chat-img img{max-width:180px}}@media(min-width:769px){body.chat-open #chat-previews{right:416px}}.job-chat-cell{white-space:nowrap}.job-chat-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 9%,var(--color-bg-primary, #fff));color:var(--color-accent);border-radius:var(--radius-full);padding:5px 10px;cursor:pointer;font:inherit;font-size:var(--font-size-sm);font-weight:600;line-height:1;min-height:30px}.job-chat-btn:hover,.job-chat-btn:focus-visible{background:var(--color-accent);color:#fff}.job-chat-btn.has-new{background:var(--color-warning-light, #fef3c7);border-color:var(--color-warning, #f59e0b);color:var(--color-warning-text, #92400e);box-shadow:0 0 0 2px #f59e0b40}.job-chat-btn.has-new:hover,.job-chat-btn.has-new:focus-visible{background:var(--color-warning, #f59e0b);color:#fff}.job-chat-bell{display:inline-flex;align-items:center;gap:2px}.job-chat-count{font-weight:700;font-variant-numeric:tabular-nums}.job-chat-peek{position:fixed;z-index:10040;width:min(340px,calc(100vw - 16px));background:var(--color-bg-primary, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:10px 12px;font-size:var(--font-size-sm);pointer-events:none}.job-chat-peek-head{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:6px}.job-chat-peek-msg{padding:5px 0;border-top:1px solid var(--color-gray-100)}.job-chat-peek-msg:first-of-type{border-top:0}.job-chat-peek-who{font-weight:600}.job-chat-peek-when{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-left:4px}.job-chat-peek-text{color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.job-chat-peek-empty{color:var(--color-text-secondary)}.chat-checklist{white-space:normal}.chat-check{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:2px 0;cursor:pointer}.chat-check input{margin:0;flex:0 0 auto;align-self:center}.chat-check-text{flex:1 1 0;min-width:0}.chat-check.is-done .chat-check-text{text-decoration:line-through;color:var(--color-gray-500)}.chat-check-who{flex-basis:100%;padding-left:22px;font-size:var(--font-size-2xs);color:var(--color-gray-500)}.chat-check-head{font-weight:700;margin-top:4px}.chat-check-gap{height:6px}.chat-check-count{margin-top:6px;font-size:var(--font-size-xs);color:var(--color-gray-600);font-weight:600}.cf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10070;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.cf-card{width:min(440px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:18px}.cf-card h3{margin:0 0 8px;font-size:var(--font-size-lg)}.cf-card p{margin:0 0 12px;line-height:1.45}.cf-new{color:var(--color-accent)}.cf-label{display:block;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);margin:10px 0 6px}.cf-chips{display:flex;flex-wrap:wrap;gap:6px}.cf-chip{border:1px solid var(--color-gray-300, #cbd5e1);background:var(--color-bg-primary, #fff);border-radius:var(--radius-full);padding:8px 14px;font:inherit;font-size:var(--font-size-sm);cursor:pointer;min-height:40px}.cf-chip.is-on{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cf-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.cf-actions .btn{width:100%;min-height:46px;font-size:var(--font-size-md)}.cf-actions .cf-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cf-actions .cf-primary:disabled{opacity:.5}.cf-snags{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cf-snags li{padding:8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.cf-snag-ref{font-weight:700;font-size:var(--font-size-xs);padding:1px 7px;border-radius:var(--radius-full);background:var(--color-gray-100);margin-right:4px}.cf-snag-btns{display:flex;gap:6px;margin-top:6px}.cf-onjob{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;margin:0 0 8px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.cf-onjob>span:nth-child(2){flex:1;min-width:180px}.cf-dot{width:10px;height:10px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px #16a34a33}.cf-onjob-time{font-variant-numeric:tabular-nums}
