@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:#d4edda;border-color:#c3e6cb}to{background-color:#fff;border-color:#ced4da}}@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:#dcfce7}to{background-color:#ecfdf5}}@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:0 0 0 3px #3b82f64d}to{transform:scale(1);box-shadow:none}}@keyframes dragPulse{0%{box-shadow:0 0 #007bff66}50%{box-shadow:0 0 0 8px #007bff1a}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 slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@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 spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@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: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-row-hover: #e6f2ff;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-light: #60a5fa;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-danger: #ef4444;--color-danger-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #dbeafe;--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-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--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 }*,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}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:#f1f1f1!important;border-radius:3px!important}.modal-body::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1!important;border-radius:3px!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}.app-container{width:100vw!important;max-width:100vw!important;overflow-x:hidden!important;height:100vh!important;display:flex!important;flex-direction:column!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}:focus{outline-offset:2px!important}@supports not (scrollbar-width: none){body,html{overflow:-moz-scrollbars-none!important}}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}.settings-list-container{scrollbar-width:thin!important}.settings-list-container::-webkit-scrollbar{display:block!important;width:6px!important}.content-section{position:relative;width:100%}.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}}body,html{overflow-y:auto;height:100vh}body,h1,h2,h3{color:var(--color-text-primary)}body{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: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)}h4,h5,h6,p{margin-bottom:var(--space-md)}a,a:hover{text-decoration:none}a{transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}.center-text,.text-center{text-align:center}.left-text{text-align:left}.right-align,.right-text{text-align:right}.currency{font-family:var(--font-mono, monospace);color:#10b981;font-weight:500}.header-content{margin-bottom:var(--space-md)}.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}.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}#meetings-tab{order:11}#admin-tab{order:12}.content-section{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-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);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{flex-shrink: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{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}.panel-actions{display:flex;flex-wrap:nowrap;gap:var(--space-md);white-space:nowrap}.card-content,.panel-content{overflow-y:auto;overflow-x:hidden;position:relative}.card-content{padding:0}.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:14px;opacity:.6;pointer-events:none;color:var(--color-text-muted)}.search-input{height:32px;border-radius:var(--radius-full);border:1px solid var(--color-border);padding:0 16px 0 38px;width:180px;min-width:180px;font-size:var(--font-size-sm);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);background-color:var(--color-bg-tertiary);color:var(--color-text-primary);flex:1}.search-input:focus{border-color:var(--color-accent);outline:0;box-shadow:0 0 0 3px #3b82f640;background-color:var(--color-bg-secondary)}.search-input::placeholder{color:var(--color-text-muted);opacity:.7;font-style:italic;font-size:90%}.button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-align:center;height:32px;gap:var(--space-xs);background-color:var(--color-accent);text-decoration:none}.action-button,.button,.panel-action{border:0;color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.panel-action{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-align:center;height:32px;gap:var(--space-xs);background-color:var(--color-accent)}.btn,.button:hover,.panel-action{text-decoration:none}.btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);justify-content:center;text-align:center;height:32px;gap:var(--space-xs);background-color:var(--color-accent);color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.button:hover{background-color:var(--color-accent-hover)}.action-button:hover,.btn:hover,.button:hover,.panel-action:hover{box-shadow:0 2px 4px #0000001a,0 2px 3px #0000000f}.btn:hover,.panel-action:hover{background-color:var(--color-accent-hover);text-decoration:none}.btn.btn-secondary,.button.secondary,.panel-action.secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn.btn-secondary:hover,.button.secondary:hover,.panel-action.secondary:hover{background-color:var(--color-bg-secondary);border-color:var(--color-accent)}.btn.btn-success,.button.success{background-color:var(--color-success);color:#fff;border:1px solid var(--color-success)}.btn.btn-success:hover,.button.success:hover{background-color:#0d9488;border-color:#0d9488}.btn.btn-danger,.button.danger{background-color:var(--color-danger);color:#fff;border:1px solid var(--color-danger)}.btn.btn-danger:hover,.button.danger:hover{background-color:#e11d48;border-color:#e11d48}.btn.btn-warning,.button.warning{background-color:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.btn.btn-warning:hover,.button.warning:hover{background-color:#d97706;border-color:#d97706}.button.small,.panel-action.small{height:24px}.btn.small,.button.small,.panel-action.small{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);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}.button.icon-only,.panel-action.icon-only{width:32px;padding:0;font-size:16px}.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{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;font-size:14px;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-row{gap:var(--space-lg)}.form-group,.form-row{margin-bottom:var(--space-lg)}.compact-form-group{margin-bottom:var(--space-md)}.outsourced-fields-row{display:flex;gap:12px;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(--space-sm) var(--space-md);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}input[type=checkbox],input[type=radio]{width:auto;padding:0;background-color:transparent;border:none;border-radius:0}.compact-form-group input,.compact-form-group select,.compact-form-group textarea{font-size:var(--font-size-sm)}textarea{resize:vertical;min-height:80px}.form-control:hover,input:hover,select:hover,textarea:hover{border-color:var(--color-text-muted)}.form-control:focus,input:focus,select:focus,textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f640;background-color:var(--color-bg-secondary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.form-control.error{border-color:var(--color-danger);background:#ef44440d}.field-error{color:var(--color-danger);font-weight:500}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)}.checkbox-group,.unified-checkbox-group{flex-wrap:wrap;gap:var(--space-lg)}.unified-checkbox-group{display:flex}.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{width:18px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;transition:all var(--transition-fast);position:relative;cursor:pointer;margin-right:var(--space-xs)}.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:12px}.checkbox-label input:focus,.unified-checkbox-label input:focus{box-shadow:0 0 0 3px #3b82f640}.checkbox-section{margin-bottom:20px}.checkbox-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.currency-input-container{position:relative;width:100%;display:flex;align-items:center}.currency-input{width:100%}.currency-prefix{position:absolute;z-index:1;font-weight:500}.currency-prefix,.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);color:var(--color-text-primary);pointer-events:none;transition:all var(--transition-fast)}.currency-input input,.currency-input-container input{padding-left:35px;width:100%;height:24px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.currency-input-container input:hover,.currency-input-container input:hover+.currency-prefix,.currency-input-container:hover .currency-prefix,.currency-input-container:hover input{border-color:var(--color-text-muted)}.currency-input-container input:focus,.currency-input-container:has(input:focus) input{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f640;background-color:var(--color-bg-secondary)}.currency-input-container input:focus+.currency-prefix,.currency-input-container:has(input:focus) .currency-prefix{border-color:var(--color-accent);background-color:var(--color-bg-secondary);box-shadow:-3px 0 #3b82f640}.compact-form-section{margin-bottom:20px}.compact-form-section h3{font-size:var(--font-size-md);margin-bottom:var(--space-md);color:var(--color-accent);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs)}.form-actions{display:flex;justify-content:space-between;gap:var(--space-md);width:100%;padding:0 10px;box-sizing:border-box}.form-actions-left,.form-actions-right{display:flex;gap:var(--space-md);justify-content:flex-start}.form-actions-right{justify-content:flex-end}.standard-buttons{display:flex;gap:12px;margin-left:auto}.description-container{display:flex;gap:10px;align-items:flex-start}.compact-form-group .description-container textarea,.compact-form-group .paint-spec-container select,.description-container textarea{flex:1}.form-help{color:var(--color-text-muted);font-style:italic}.data-table{border-spacing:0;border-radius:var(--radius-md);overflow:hidden;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}.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);color:var(--color-text-secondary);font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:2px solid var(--color-border)}.data-table td{border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast);white-space:normal;overflow:hidden;font-size:13px;color:#000}.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:#f9fafb}.data-table thead{width:100%;position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 2px 4px #0000001a}#jobs-table{width:100%;min-width:max-content}#jobs-table thead th{position:sticky;top:0;background-color:var(--color-bg-tertiary);z-index:10;box-shadow:0 2px 3px #0000001a}.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}.data-table thead tr:first-child th:first-child{border-top-left-radius:var(--radius-md)}.data-table thead tr:first-child th:last-child{border-top-right-radius:var(--radius-md)}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.clickable-row{cursor:pointer;transition:all var(--transition-fast)}.clickable-row:hover{transform:none;box-shadow:none;background-color:var(--color-row-hover)}.clickable-row.selected{background-color:var(--color-accent-light);color:#fff;border-left:3px solid var(--color-accent);padding-left:calc(var(--space-md) - 3px)}.dashboard-table-container,.table-container{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);overflow-y:auto;overflow-x:auto;border:1px solid var(--color-border);max-height:87vh}.dashboard-table-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--font-size-xs);line-height:1.4;letter-spacing:.01em;width:100px;box-shadow:var(--shadow-sm)}.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,.yes-badge{background-color:var(--color-success);color:#fff}.status-badge.status-no{background-color:var(--color-danger);color:#fff}.status-processing{background-color:#9ca3af!important;color:#fff!important;position:relative}.table-skeleton-row td{padding:12px 16px!important;border-bottom:1px solid #f1f5f9;background:#fff}.table-skeleton-bar{height:14px;border-radius:4px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);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}.panel-header{flex-shrink:0;background:#fff;border-bottom:1px solid #e5e7eb}.panel-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.table-container{flex:1;overflow:auto;min-height:0;position:relative}.pagination-footer{flex-shrink:0;padding:16px;background:#f8fafc;border-top:2px solid #e5e7eb;text-align:center;min-height:60px}@media(max-width:767px){.panel-header,.pagination-footer{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}.pagination-footer{position:relative!important;margin-top:10px}}.boolean-tick,.checkbox-tick{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-success);color:#fff;font-weight:700;border-radius:var(--radius-full);width:20px;height:20px;line-height:1;text-align:center;box-shadow:var(--shadow-sm)}.boolean-cell,.checkbox-cell{text-align:center;vertical-align:middle}.boolean-dash,.checkbox-dash{display:inline-block;font-size:var(--font-size-lg);color:var(--color-text-muted);font-weight:700}.custom-modal,.modal,.ui-modal{display:none;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;justify-content:center;align-items:center}.custom-modal,.ui-modal{background-color:#00000080;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:1.1rem;margin:0}#convert-job-modal .modal-body{padding:20px}#convert-job-modal .convert-form-group{margin-bottom:16px}#convert-job-modal .convert-form-group>label{display:block;font-weight:500;margin-bottom:6px;font-size:.9rem;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%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;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 .radio-options{display:flex;gap:16px}#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:8px}#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:10px;padding:16px 20px;border-top:1px solid var(--color-border)}#convert-job-modal .modal-footer .btn{padding:8px 20px;font-size:.9rem}#job-modal.modal.full-screen-modal.show,.modal.show{display:flex!important}.modal-content,.ui-modal-content{background-color:var(--color-bg-secondary);margin:5% auto;width:800px;max-width:90%;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:85dvh;overflow-y:auto;animation:modal-appear-fixed .3s ease;position:relative;z-index:1001}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);border-bottom:2px solid var(--color-accent);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);color:#fff;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;font-size:1.15rem;font-weight:600;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;padding:0;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.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:10px;padding:12px 20px;background:var(--color-bg-tertiary);border-top:1px solid var(--color-border);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);position:sticky;bottom:0;z-index:10}.modal .modal-footer:has(.form-actions-left):has(.form-actions-right){justify-content:space-between}.modal .modal-footer .btn-primary,.modal .modal-footer button[type=submit]:not(.btn-secondary):not(.btn-danger){background-color:var(--color-accent);border:1px solid var(--color-accent);color:#fff;padding:8px 18px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.modal .modal-footer .btn-primary:hover,.modal .modal-footer button[type=submit]:not(.btn-secondary):not(.btn-danger):hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.modal .modal-footer .btn-secondary{background-color:#fff;border:1px solid var(--color-border);color:var(--color-text-primary);padding:8px 18px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.modal .modal-footer .btn-secondary:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-text-muted)}@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:#fff}.modal .modal-header h2{font-size:16px}.modal .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal input,.modal select,.modal textarea{font-size:16px!important;padding:6px 8px}.modal label{font-size:12px;margin-bottom:2px}.modal .form-group,.modal .compact-form-group{margin-bottom:8px}.modal .form-grid,.modal .form-row,.modal .job-form-grid,.modal .order-form-grid,.modal .compact-form-row{gap:8px}.modal button,.modal .btn{min-height:36px;font-size:14px;touch-action:manipulation}.modal .close-button,.modal .modal-close{width:36px;height:36px;font-size:20px}.modal textarea{min-height:60px;height:auto!important;resize:vertical}.modal .currency-input input,.modal .currency-input-container input{padding-left:28px!important}.modal .modal-footer,.modal .form-actions{padding:8px 12px;gap:6px}}#prompt-modal .form-actions,#confirm-modal .form-actions{justify-content:flex-end}#snagg-edit-modal .modal-content{animation:none}.modal-header,.ui-modal-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-tertiary);position:sticky;top:0;z-index:1002}.modal-header h2,.ui-modal-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:0}#cancel-button,#confirm-button,.close-button,.ui-modal-close{cursor:pointer;transition:all var(--transition-fast);height:32px}.close-button,.ui-modal-close{background:0 0;border:0;font-size:24px;line-height:1;color:var(--color-text-secondary);width:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.close-button:hover{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.modal-body,.ui-modal-body{padding:var(--space-xl);max-height:none;overflow:visible;width:100%;box-sizing:border-box}.modal-actions,.modal-footer,.ui-modal-footer{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);padding:10px;position:sticky;bottom:0;z-index:1002}.modal-actions-left,.modal-actions-right{display:flex;gap:var(--space-md)}.modal-actions-right{margin-left:auto}.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;font-size:1.2rem;font-weight:700;color:#fff}.full-screen-modal .close-button{color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);width:36px;height:36px;font-size:18px}.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}.job-section{background:var(--color-bg-primary);border-radius:var(--radius-md)}.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%}.modal *{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;will-change:auto}.modal{transition:opacity .3s ease}.modal-scroll-locked{overflow:hidden!important;position:relative;height:100%}.modal-content{contain:layout style paint}#extended-menu-modal .modal-content,#job-modal .modal-content{margin:.5vh auto!important;width:90%;min-height:600px;border-radius:8px;box-shadow:0 4px 8px #0003}#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-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 #e2e8f0;background:#f8fafc;flex-shrink:0}.estimate-header-title{display:flex;align-items:center;gap:12px}.estimate-header-title h2{margin:0;font-size:18px;white-space:nowrap}.estimate-header-title span{color:#64748b;font-size:14px}.estimate-controls-bar{display:flex;align-items:center;gap:24px;padding:10px 20px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}.estimate-control-group{display:flex;align-items:center;gap:8px}.estimate-control-group label{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap}.estimate-control-group select,.estimate-control-group input[type=number]{padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#f8fafc}.estimate-control-group select:focus,.estimate-control-group input[type=number]:focus{outline:none;border-color:#3b82f6;background:#fff}.estimate-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#64748b;padding:4px 8px;line-height:1}.estimate-close-btn:hover{color:#1e293b}.estimate-body{flex:1;overflow-y:auto;padding:16px 20px}.estimate-section{margin-bottom:24px}.estimate-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.estimate-section-header h3{margin:0;font-size:15px;font-weight:600;color:#1e293b}.estimate-add-row-btn{padding:4px 12px;font-size:12px;border:1px solid #3b82f6;background:#eff6ff;color:#3b82f6;border-radius:4px;cursor:pointer;font-weight:500}.estimate-add-row-btn:hover{background:#3b82f6;color:#fff}.estimate-grid-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:6px}.estimate-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.estimate-table th{background:#f1f5f9;padding:6px 4px;text-align:center;font-weight:600;font-size:11px;color:#475569;border:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:2}.estimate-table td{padding:2px;border:1px solid #e2e8f0;vertical-align:middle}.estimate-table td.calculated{background:#f1f5f9;font-weight:600;text-align:right;padding:2px 6px;color:#1e293b}.estimate-table td.total-col{background:#ecfdf5;font-weight:700;color:#065f46}.estimate-table input[type=number]{width:72px;padding:3px 4px;border:1px solid transparent;border-radius:3px;font-size:12px;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-table input[type=number]:focus{border-color:#3b82f6;background:#fff;outline:none;box-shadow:0 0 0 1px #3b82f6}.estimate-table input::placeholder{color:#cbd5e1;font-weight:400}.estimate-table input[type=text]{width:140px;padding:3px 6px;border:1px solid transparent;border-radius:3px;font-size:12px;background:transparent}.estimate-table input[type=text]:focus{border-color:#3b82f6;background:#fff;outline:none;box-shadow:0 0 0 1px #3b82f6}.estimate-delete-row{background:none;border:none;cursor:pointer;color:#ef4444;font-size:14px;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:#f8fafc;font-weight:700;padding:4px 6px;text-align:right;border-top:2px solid #cbd5e1;font-size:12px}.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:12px;margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.estimate-time-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.estimate-time-row label{font-weight:500;color:#475569}.estimate-time-row .value{font-weight:600;color:#1e293b}.estimate-time-row .value.positive{color:#059669}.estimate-time-row .value.negative{color:#dc2626}.estimate-time-row input[type=number]{width:70px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;text-align:right}.estimate-time-breakdown{margin-top:12px}.estimate-time-breakdown table{border-collapse:collapse;font-size:12px;width:auto}.estimate-time-breakdown th,.estimate-time-breakdown td{padding:4px 12px;border:1px solid #e2e8f0;text-align:right}.estimate-time-breakdown th{background:#f1f5f9;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 #cbd5e1}.estimate-grand-total{margin-top:20px;padding:16px 20px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:2px solid #86efac;border-radius:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.estimate-grand-total-item{text-align:center}.estimate-grand-total-item .label{font-size:12px;color:#64748b;font-weight:500}.estimate-grand-total-item .amount{font-size:22px;font-weight:700;color:#065f46}.estimate-grand-total-item .amount.primary{font-size:28px}.estimate-grand-total-item .amount.muted{color:#64748b;font-size:18px}.estimate-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.estimate-footer .btn{padding:8px 16px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.estimate-footer .btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.estimate-footer .btn-primary:hover{background:#2563eb}.estimate-footer .btn-success{background:#059669;color:#fff;border-color:#059669}.estimate-footer .btn-success:hover{background:#047857}.estimate-footer .btn-outline{background:#fff;color:#475569}.estimate-footer .btn-outline:hover{background:#f1f5f9}#open-estimate-btn{padding:6px 14px;font-size:13px;font-weight:500;border:1px solid #3b82f6;background:#eff6ff;color:#3b82f6;border-radius:6px;cursor:pointer;white-space:nowrap}#open-estimate-btn:hover{background:#3b82f6;color:#fff}#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:12px}#employee-modal .modal-body{flex:1;overflow-y:auto;max-height:none}#employee-modal .modal-footer{flex-shrink:0;padding:15px 20px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:10px;margin-top:0;position:relative}.employee-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0}.employee-modal-col{display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.employee-modal-grid{grid-template-columns:1fr}}.employee-section-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:0;overflow:hidden;box-shadow:0 2px 4px #0000000a}.employee-section-header{background:linear-gradient(135deg,#667eea,#5a67d8);color:#fff;padding:14px 20px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.employee-section-header-alt{background:linear-gradient(135deg,#48bb78,#38a169)}.employee-section-header-warning{background:linear-gradient(135deg,#ed8936,#dd6b20)}.employee-section-header-info{background:linear-gradient(135deg,#4299e1,#3182ce)}.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:#f0f2ff}.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-info+.employee-section-body{background:#eff6ff}.employee-section-header[style*="718096"]+.employee-section-body{background:#f7fafc}.employee-subsection{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #edf2f7}.employee-subsection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.employee-subsection-title{font-size:14px;font-weight:600;color:#4a5568;margin-bottom:15px;display:flex;align-items:center;gap:8px}.employee-subsection-title:before{content:"";display:inline-block;width:4px;height:16px;background:#667eea;border-radius:2px}.employee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.employee-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.employee-form-full{grid-column:1 / -1}.employee-info-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:15px;margin-top:10px}.employee-info-card-highlight{background:#ebf8ff;border-color:#bee3f8}.employee-info-card-success{background:#f0fff4;border-color:#c6f6d5}.employee-checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;transition:all .2s}.employee-checkbox-item:hover{background:#edf2f7}.employee-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.employee-checkbox-item label{font-weight:500;color:#2d3748;cursor:pointer;margin:0}.employee-pdf-dropzone{border:2px dashed #cbd5e0;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .3s;background:#fafbfc}.employee-pdf-dropzone:hover{border-color:#667eea;background:#f0f4ff}.employee-pdf-dropzone-icon{font-size:28px;margin-bottom:8px}.employee-pdf-dropzone-text{font-size:13px;font-weight:500;color:#4a5568}.employee-pdf-dropzone-hint{font-size:11px;color:#a0aec0;margin-top:4px}.employee-doc-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px}.employee-doc-item:last-child{margin-bottom:0}.employee-ppe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.employee-ppe-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.employee-ppe-item label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#4a5568;cursor:pointer;margin-bottom:8px}.employee-ppe-item input[type=checkbox]{accent-color:#48bb78}.employee-ppe-item input[type=date]{font-size:12px;padding:6px 8px}@media(max-width:767px){.employee-form-grid,.employee-form-grid-3,.employee-ppe-grid{grid-template-columns:1fr}}.emp-modal-tabs{display:flex;gap:0;padding:0 24px;border-bottom:2px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.emp-modal-tab{padding:12px 24px;border:none;background:none;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;position:relative;transition:color .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.emp-modal-tab:hover{color:#1e293b;background:#f1f5f9}.emp-modal-tab.active{color:#2563eb;border-bottom-color:#2563eb}.emp-modal-panel{display:none}.emp-modal-panel.active{display:block}.emp-ta-subtabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.emp-ta-subtab{padding:10px 18px;border:none;background:none;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}.emp-ta-subtab:hover{color:#1e293b}.emp-ta-subtab.active{color:#2563eb;border-bottom-color:#2563eb}.emp-ta-panel{display:none}.emp-ta-panel.active{display:block}#employee-modal.globals-mode .emp-modal-tab:not([data-emp-modal-tab=time-attendance]){display:none}#employee-modal.globals-mode .emp-ta-subtab[data-emp-ta-tab=approvals],#employee-modal.globals-mode #emp-ta-panel-approvals{display:none!important}#employee-modal.globals-mode #emp-tc-toil-list,#employee-modal.globals-mode #emp-tc-add-toil,#employee-modal.globals-mode .form-group:has(>#emp-tc-toil-list){display:none}#employee-modal.globals-mode .tca-leaver-calc-section{display:none}#employee-modal.globals-mode #emp-ta-not-linked,#employee-modal.globals-mode #emp-ta-using-defaults{display:none!important}.job-modal-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.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}.job-section{background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.form-group.full-width,.job-section.full-width{grid-column:1/-1}.job-section h3{color:var(--color-text-primary);border-bottom:2px solid var(--color-accent)}.job-section h4{margin:20px 0 15px;color:var(--color-text-secondary);font-size:14px;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(--color-accent);font-size:var(--font-size-lg);margin-bottom:var(--space-md)}#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,#confirm-button{color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500}#confirm-button{background-color:var(--color-accent);border:0}#confirm-button:hover{background-color:var(--color-accent-hover)}#cancel-button{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)}.form-grid,.inventory-form-grid,.job-form-grid,.order-form-grid,.enquiry-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.job-card,.job-item,.kanban-card[draggable=true],tr[draggable=true]{cursor:grab}.job-card:active,.job-item:active,.kanban-card[draggable=true]:active,tr[draggable=true]:active{cursor:grabbing}.drag-handle{font-weight:700;display:flex;justify-content:center;align-items:center;height:100%;color:var(--color-text-muted);transition:color var(--transition-fast)}.drag-handle:hover{color:var(--color-accent)}#jobs-table td.drag-handle-cell,#jobs-table th.drag-handle-header{min-width:30px;width:30px}tr.drag-over,tr.drag-over-above,tr.drag-over-below{outline:2px solid var(--color-accent);outline-offset:-1px;position:relative;z-index:5;background-color:#3b82f614}tr.drag-over-above:before,tr.drag-over-below:after{content:"";position:absolute;left:0;right:0;height:3px;background-color:var(--color-accent);z-index:6}tr.drag-over-above:before{top:-3px}tr.drag-over-below:after{bottom:-3px}tr.drag-over td,tr.drag-over-above td,tr.drag-over-below td{border-color:transparent}tr.drag-highlight,tr.dragging{background-color:#3b82f61a}tr.dragging{opacity:.6;outline:1px solid #3b82f6}tr.drag-highlight{border:2px solid #3b82f6}tr.drag-highlight-top{border-top:4px solid #3b82f6}tr.drag-highlight-bottom{border-bottom:4px solid #3b82f6}body.dragging-active .clickable-row:hover{background-color:transparent}body.dragging-active *{transition:none;animation:none}.archived-indicator{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:12px;margin-bottom:16px;display:flex;align-items:center;gap:10px;color:#92400e;font-size:14px;font-weight:500}.archived-indicator .archived-icon{font-size:20px;flex-shrink:0}#quote-source-indicator{background:#dbeafe;border:1px solid #60a5fa;border-radius:6px;padding:8px 12px;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:#1e40af;font-size:13px;font-weight:500}.invoice-status-not-sent{background-color:#fee2e2;border-color:#fca5a5;color:#991b1b}.invoice-status-sent{background-color:#fed7aa;border-color:#fb923c;color:#9a3412}.invoice-status-paid{background-color:#dcfce7;border-color:#86efac;color:#166534}.extra-item.extra-deduction{background-color:#fef2f2;border-left:3px solid #dc2626}.extra-item.extra-deduction .extra-item-description{color:#991b1b}.extra-item-amount{font-weight:600}.extra-item-amount.amount-positive{color:#059669}.extra-item-amount.amount-negative{color:#dc2626}.invoice-radio-option{padding:12px;border:1px solid #e5e7eb;border-radius:6px;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:#1f2937}.invoice-radio-option .option-subtitle{font-size:13px;color:#6b7280;margin-top:2px}.redistribute-radio-option{padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;margin-bottom:8px;position:relative}.redistribute-radio-option.selected{border-color:#3b82f6;background:#eff6ff}.redistribute-radio-option:hover:not(.selected){border-color:#93c5fd;background:#f0f9ff}.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:#1f2937;font-size:14px;margin-bottom:4px}.redistribute-radio-option .option-subtitle{font-size:13px;color:#6b7280}.redistribute-radio-option .selected-badge{position:absolute;top:8px;right:8px;background:#3b82f6;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.invoice-preview-detail{margin-bottom:4px}.invoice-preview-detail:first-child{margin-bottom:8px}.invoice-preview-total{font-weight:600;color:#059669;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.field-error{color:#dc2626;font-size:12px;margin-top:4px;display:block}.contact-suggestion{padding:12px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .15s}.contact-suggestion:hover{background:#f9fafb}.contact-suggestion .suggestion-name{font-weight:600;color:#111827;margin-bottom:4px}.contact-suggestion .suggestion-detail{font-size:13px;color:#6b7280;margin-bottom:2px}.history-badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500;margin-right:4px}.history-badge-enquiry{background:#dbeafe;color:#1d4ed8}.history-badge-job{background:#dcfce7;color:#16a34a}.job-modal-empty-state{text-align:center;padding:20px;color:#6b7280}.job-modal-empty-state .empty-icon{font-size:24px;margin-bottom:8px}.job-modal-empty-state .empty-title{margin:0;font-weight:500}.job-modal-empty-state .empty-text{margin:4px 0 8px;font-size:12px}.job-modal-empty-state .empty-subtext{margin:0;font-size:11px;color:#9ca3af}.ordered-items-grid{display:flex;flex-direction:column;gap:10px}.ordered-item-card{border:1px solid #e5e7eb;border-radius:6px;padding:10px;background:#fff;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:#1f2937;margin-bottom:4px}.ordered-item-card .item-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#6b7280}.order-status-badge{color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer;transition:opacity .2s}.order-status-badge:hover{opacity:.8}.ordered-item-card .received-info{font-size:11px;color:#059669;margin-top:4px}.ordered-item-card .item-notes{font-size:11px;color:#6b7280;margin-top:4px;padding:6px;background:#f9fafb;border-radius:4px}.orders-summary{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:12px;color:#6b7280}.pdf-item{position:relative;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s,border-color .15s}.pdf-item:hover{background:#f0f9ff;border-color:#93c5fd}.pdf-item:active{background:#e0f2fe}.pdf-item-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pdf-item-icon{font-size:20px;flex-shrink:0}.pdf-item-name{font-weight:500;word-break:break-word}.pdf-item-actions{flex-shrink:0}.pdf-action-btn.remove,.pdf-action-btn.delete{background:none;border:1px solid #fca5a5;color:#ef4444;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;padding:0;transition:background .15s}.pdf-action-btn.remove:hover,.pdf-action-btn.delete:hover{background:#fef2f2}@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-section{padding:8px}.job-section h3{font-size:14px;margin-bottom:6px}#job-modal #product-selector-btn,#job-modal #customer-details-btn,#job-modal #add-paint-spec-btn{min-height:28px!important;font-size:11px!important;padding:2px 8px!important;white-space:nowrap;width:auto!important}#job-modal textarea#description{min-height:60px;height:auto!important;overflow:hidden;field-sizing:content}#job-modal .time-allowances-grid{gap:6px 12px!important}#job-modal .qc-grid,#job-modal .qc-section .form-grid{grid-template-columns:1fr!important}#job-modal .qc-section,#job-modal [class*=quality-control]{margin-bottom:16px}#job-modal .job-attachments-section,#job-modal [class*=attachments-section]{margin-top:0!important;padding-top:0!important}#job-modal #job-timekeeper,#job-modal .timekeeper-column{display:none}#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:13px;padding:10px}.invoice-radio-option,.redistribute-radio-option{padding:10px}.ordered-item-card .item-meta{flex-direction:column;gap:4px}.pdf-item{flex-direction:row;align-items:center;gap:8px;padding:10px 12px;margin-bottom:6px;background:#f9fafb;cursor:pointer;transition:background .15s}.pdf-item:active{background:#e5e7eb}.pdf-item-info{flex:1;min-width:0}.pdf-item-name{font-size:13px;word-break:break-word}.pdf-item-size{font-size:11px}.pdf-item-actions{flex-shrink:0}}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}.highlight-row{background-color:#3b82f626;transition:background-color 1.5s ease-out}.loading-overlay,.ui-loading-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffd9;flex-direction:column;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}.ui-loading-overlay{z-index:1000}.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)}.loading-message{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);animation:pulse 1.5s ease-in-out infinite}.loading-placeholder{color:var(--color-text-muted)}.error-message{text-align:center;padding:20px;font-style:italic}.empty-message{color:var(--color-text-muted)}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.slider,.slider:before{position:absolute;transition:.4s}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;border-radius:24px;box-shadow:inset 0 0 4px #0003}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003}input:checked+.slider{background-color:var(--color-accent)}input:checked+.slider:before{transform:translate(22px)}.slider:after{content:"☀️";position:absolute;left:6px;top:3px;font-size:12px;transition:.4s;opacity:1;line-height:1}input:checked+.slider:after{content:"🌙";left:27px;opacity:1}.quick-filters{display:flex;gap:var(--space-xs);align-items:center;margin-right:var(--space-md)}.filter-btn{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:500;transition:all var(--transition-fast);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-primary);height:28px;min-width:60px;display:inline-flex;justify-content:center;box-shadow:var(--shadow-sm)}.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)}.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-controls{justify-content:space-between;padding:var(--space-md) var(--space-lg);background-color:var(--color-bg-tertiary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.pagination-controls:last-child{border-bottom:none;margin-bottom:0;margin-top:var(--space-lg)}.pagination-info{gap:var(--space-lg)}.page-size-select{height:32px;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);min-width:120px}.items-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.pagination-buttons{display:flex;gap:var(--space-xs);align-items:center}.pagination-btn{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-primary);height:32px;min-width:36px;display:inline-flex;justify-content:center;box-shadow:var(--shadow-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0}.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);color:var(--color-text-muted);border-color:var(--color-border);box-shadow:none}.pagination-btn:focus{box-shadow:0 0 0 3px #3b82f640}.page-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 var(--space-md);white-space:nowrap}#dashboard-view #pagination-info,#dashboard-view .pagination-buttons,#dashboard-view .pagination-controls,#dashboard-view .pagination-info{display:none!important}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:320px;pointer-events:none}.toast,.toast button{display:flex;align-items:center}.toast{background:#000000e6;color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;line-height:1.4;box-shadow:0 4px 12px #00000026;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:8px}.toast.show{transform:translate(0);opacity:1}.toast.success{background:#22c55ef2;border-left:3px solid #22c55e}.toast.error{background:#ef4444f2;border-left:3px solid #ef4444}.toast.warning{background:#f59e0bf2;border-left:3px solid #f59e0b}.toast.info{background:#3b82f6f2;border-left:3px solid #3b82f6}.toast button{background:0 0;border:0;color:#fffc;cursor:pointer;font-size:16px;padding:0;margin-left:auto;width:20px;height:20px;justify-content:center;border-radius:4px;transition:all .2s ease}.toast button:hover{background:#ffffff1a;color:#fff}#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:20px;font-size:12px;font-weight:500;display:none;align-items:center;gap:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.sync-indicator{background:#fff;border:1px solid #e0e0e0}#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}.connection-indicator.connected{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2);padding:4px 12px}.connection-indicator.connected .connection-status-dot{background:#4caf50;animation:pulse-green 2s infinite}.connection-indicator.disconnected{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.2)}.connection-indicator.disconnected .connection-status-dot{background:#f44336}.connection-indicator.offline{background:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.2)}.connection-indicator.offline .connection-status-dot,.offline-banner{background:#ff9800}.connection-indicator.syncing{background:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.2)}.connection-indicator.syncing .connection-status-dot{background:#2196f3;animation:pulse-blue 1s infinite}.connection-indicator.connecting{background:#9e9e9e1a;color:#9e9e9e;border:1px solid rgba(158,158,158,.2)}.connection-indicator.connecting .connection-status-dot{background:#9e9e9e;animation:pulse-gray 1.5s infinite}.sync-indicator.syncing{border-color:#2196f3;color:#2196f3}.sync-indicator.synced{border-color:#4caf50;color:#4caf50}.offline-banner{font-size:14px;display:none;position:sticky}.settings-tabs{border-bottom:2px solid var(--color-border);background:var(--color-bg-primary)}.settings-tab{font-weight:500}.settings-tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.settings-tab:hover{background-color:var(--color-bg-secondary)}.settings-section h3{color:var(--color-text-primary)}.settings-section p,.settings-tab{color:var(--color-text-secondary)}.settings-list-container{border:1px solid var(--color-border);background:var(--color-bg-primary)}.settings-item{border-bottom:1px solid var(--color-border-light)}.entries-table tr:last-child td,.settings-item:last-child{border-bottom:none}.settings-item:hover{background-color:var(--color-bg-secondary)}.settings-item-name{color:var(--color-text-primary)}.status-color-picker{width:32px!important;height:32px!important;padding:0!important;border:1px solid var(--color-border)!important;border-radius:6px!important}.item-action-btn{background:var(--color-bg-secondary)}.item-action-btn:hover{background:var(--color-bg-tertiary)}.item-action-btn.edit:hover{color:var(--color-accent)}.item-action-btn.delete:hover{color:var(--color-danger)}.settings-add-item input[type=color]{border:1px solid var(--color-border)}.settings-item.dragging{background:var(--color-bg-secondary);box-shadow:0 4px 12px #00000026}.hidden{display:none!important}#job-modal.modal.full-screen-modal{display:none!important;position:fixed!important;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:8px}.compact-form-group label{margin-bottom:2px;font-size:12px}.compact-form-group input,.compact-form-group select,.compact-form-group textarea{padding:4px 8px;font-size:12px}.compact-form-group textarea{min-height:100px;resize:vertical}.compact-checkbox-section{margin-bottom:12px}.compact-checkbox-section h4{color:var(--color-accent);border-bottom:1px solid var(--color-border)}.checkbox-grid.compact{display:grid;grid-template-columns:auto auto auto;gap:4px;margin-top:4px}.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:4px;-webkit-user-select:none;user-select:none;padding:2px 4px;transition:background-color var(--transition-fast);font-size:11px}.compact-checkbox-label:hover{background:var(--color-bg-tertiary)}.compact-checkbox-label input{width:16px;height:16px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);outline:0;transition:all var(--transition-fast)}.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:10px;font-weight:700}.compact-checkbox-label span{font-size:12px;color:var(--color-text-primary);line-height:1.2}.compact-financial-section{margin-bottom:12px}.compact-financial-section h4,.installation-section h4{margin:0 0 6px;font-size:12px;color:var(--color-accent);border-bottom:1px solid var(--color-border);padding-bottom:2px}.installation-section{margin-bottom:12px;border-top:1px solid var(--color-border-light);padding-top:8px}.compact-form-group .currency-input{position:relative;display:flex;align-items:center;gap:8px}.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:12px}.compact-form-group .currency-input input{padding-left:28px}.job-section h3{margin:0 0 8px;padding:4px 8px;font-size:12px;font-weight:600}.timekeeper-summary{padding:6px 8px}.timekeeper-header h3{font-size:12px;margin:0;padding:0}.timekeeper-summary h4{margin:0 0 4px;font-size:10px}.summary-stats{font-size:9px}.compact-form-group .form-help{font-size:9px;margin-top:1px}.compact-form-group .description-container{display:flex;gap:4px;align-items:flex-start}.compact-form-group .description-container .btn.small{font-size:10px;padding:3px 5px;white-space:nowrap}.compact-form-group .paint-spec-container{display:flex;gap:8px;align-items:center}.compact-form-group .paint-spec-container .btn.small{padding:6px 12px;font-size:12px;line-height:1.2;height:24px!important}.invoice-validation{font-size:10px;margin-top:4px;padding:3px 5px;border-radius:var(--radius-sm)}.invoice-validation.valid{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.invoice-validation.invalid{background:#ef44441a;color:var(--color-danger);border:1px solid rgba(239,68,68,.2)}.job-section{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;padding:8px}.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(--color-accent);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;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:8px;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-timekeeper{grid-column:4;grid-row:1/3}.notes-section{grid-column:1/4;grid-row:2;min-height:180px;background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:8px;box-shadow:var(--shadow-sm)}.notes-section h3{margin:0 0 6px;padding:2px 4px;font-size:11px;font-weight:600}.notes-section .compact-form-group{margin-bottom:0}.notes-section textarea{min-height:100px;resize:none}.full-screen-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-top:2px solid var(--color-border);background:var(--color-bg-tertiary);flex-shrink:0}.timekeeper-error,.timekeeper-placeholder{background:var(--color-bg-secondary, #f8f9fa)}.timekeeper-error{border:1px solid var(--color-border, #e5e7eb)}.timekeeper-error .error-icon{font-size:48px;margin-bottom:15px}.timekeeper-error .error-details,.timekeeper-error h4{color:var(--color-danger, #dc3545)}.timekeeper-error p,.timekeeper-placeholder p{margin:0 0 10px;color:var(--color-text-muted, #6b7280)}.timekeeper-error .error-details{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:10px;margin:15px 0;font-size:12px;font-family:monospace}.timekeeper-error .error-actions{margin-top:20px}.timekeeper-placeholder{text-align:center;padding:30px 20px;border-radius:8px;border:1px dashed var(--color-border, #e5e7eb)}.timekeeper-placeholder .placeholder-icon{font-size:48px;margin-bottom:15px;opacity:.7}.timekeeper-placeholder h4{margin:0 0 10px;color:var(--color-text-primary, #1f2937)}.timekeeper-placeholder small{color:var(--color-text-muted, #6b7280);font-style:italic}.timekeeper-placeholder .placeholder-actions{margin-top:20px}.stat-value.over-budget{color:var(--color-warning, #f59e0b)!important;font-weight:600}.stat-value.on-track{color:var(--color-success, #10b981)!important}.loading-container{flex-direction:column;text-align:center}.loading-container .spinner{border:2px solid var(--color-border, #e5e7eb);border-top:2px solid var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.timekeeper-loading{padding:24px;text-align:center;background:linear-gradient(135deg,#f8fafc 0,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}.loading-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.loading-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading-progress{width:100%;max-width:200px;margin:0 auto}.progress-bar{background:#e2e8f0}.progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);width:0%;transition:width 2s ease-in-out}.timekeeper-success{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.timekeeper-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#f8fafc 0,#e2e8f0);border-bottom:1px solid #e2e8f0}.recent-entries h5,.timekeeper-header h4{color:#1e293b;font-weight:600;margin:0 0 12px;font-size:14px}.timekeeper-header h4{margin:0;font-size:16px}.timekeeper-actions{display:flex;gap:8px}.btn-small{font-weight:500;transition:all .2s ease}.btn-secondary{background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0;transform:translateY(-1px)}.btn-primary:hover{background:#2563eb}.timekeeper-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;background:#e2e8f0;margin:0}.time-stat{background:#fff;padding:20px 16px;text-align:center;transition:background-color .2s ease}.entries-table tr:hover,.time-stat:hover{background:#f8fafc}.time-stat .stat-value{font-size:24px;font-weight:700;color:#3b82f6;display:block;margin-bottom:4px;line-height:1}.time-stat .stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.budget-analysis{margin:20px;padding:16px;border-radius:8px;border:2px solid}.budget-analysis.on-track{background:#10b9810d;border-color:#10b981}.budget-analysis.over-budget{background:#f59e0b0d;border-color:#f59e0b}.budget-analysis.under-utilized{background:#3b82f60d;border-color:#3b82f6}.budget-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.budget-icon{font-size:18px}.budget-numbers{margin-left:auto;font-weight:600;color:#475569}.budget-progress{margin-top:10px}.budget-progress .progress-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-bottom:8px}.budget-progress .progress-fill.on-track{background:linear-gradient(90deg,#10b981,#059669)}.budget-progress .progress-fill.over-budget{background:linear-gradient(90deg,#f59e0b,#d97706)}.budget-progress .progress-fill.under-utilized{background:linear-gradient(90deg,#3b82f6,#2563eb)}.progress-label{font-size:12px;color:#64748b;text-align:center}.recent-entries{padding:20px;border-top:1px solid #e2e8f0}.entries-list{display:flex;flex-direction:column;gap:8px}.entry-item{padding:12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.entry-item:hover{background:#f1f5f9;transform:translate(2px)}.entry-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.entry-activity{font-weight:500;color:#1e293b}.entry-hours{color:#3b82f6;font-weight:600;font-size:13px}.entry-details{display:flex;justify-content:space-between;font-size:12px;color:#64748b}.no-entries{text-align:center;color:#64748b;font-style:italic;padding:20px}.timekeeper-not-found{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:2px dashed #cbd5e1}.not-found-icon{font-size:64px;margin-bottom:20px;opacity:.7}.timekeeper-error h4,.timekeeper-not-found h4{margin:0 0 12px;font-size:18px}.timekeeper-not-found h4{color:#1e293b}.timekeeper-not-found p{margin:0 0 8px;color:#64748b;line-height:1.5}.not-found-message{font-style:italic;font-size:14px}.not-found-actions{display:flex;gap:12px;justify-content:center;margin:24px 0}.timekeeper-info{margin-top:24px;text-align:left;background:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.error-suggestions h5,.timekeeper-info h5{margin:0 0 8px;font-size:14px}.timekeeper-info h5{color:#1e293b}.error-suggestions ul,.timekeeper-info ul{margin:0;padding-left:20px;font-size:13px;line-height:1.5}.timekeeper-info ul{color:#64748b}.timekeeper-error{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:2px solid #fecaca;background:linear-gradient(135deg,#fef2f2 0,#fee2e2)}.error-icon{font-size:64px;margin-bottom:20px}.timekeeper-error h4{color:#dc2626}.error-details{margin:16px 0;text-align:left}.error-details summary{cursor:pointer;color:#7c2d12;font-weight:500;margin-bottom:8px}.error-details code{display:block;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:4px;padding:8px;font-size:12px;color:#dc2626;font-family:Monaco,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:12px;justify-content:center;margin:24px 0}.error-suggestions{margin-top:24px;text-align:left;background:#fee2e280;padding:16px;border-radius:8px;border:1px solid #fecaca}.error-suggestions h5,.error-suggestions ul{color:#7c2d12}.timekeeper-creating{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe);border-radius:12px;border:2px solid #7dd3fc}.creating-animation{margin-bottom:24px}.creating-spinner{width:40px;height:40px;border:4px solid #e0f2fe;border-top:4px solid #0ea5e9;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.creating-animation h4{margin:0;color:#0c4a6e;font-size:18px}.creating-steps{display:flex;flex-direction:column;gap:8px;max-width:300px;margin:0 auto}.step{background:#e0f2fe80;color:#64748b;font-size:13px}.step.active{background:#0ea5e9;color:#fff;transform:scale(1.02)}.detailed-timekeeper{padding:20px}.summary-section{margin-bottom:32px}.entries-section h3,.summary-section h3{border-bottom:2px solid #e2e8f0;padding-bottom:8px}.summary-section h3{font-size:20px}.entries-table{box-shadow:0 1px 3px #0000001a;width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.stat-card .stat-value{font-size:28px;font-weight:700;color:#3b82f6;display:block;margin-bottom:8px}.entries-table th,.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px}.entries-table th{background:#f8fafc;padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e2e8f0;font-size:13px}.stat-card .stat-label{font-size:12px;color:#64748b}.entries-section h3{margin:0 0 16px;color:#1e293b;font-size:18px}.entries-table td{padding:12px;border-bottom:1px solid #f1f5f9;color:#374151;font-size:14px}.budget-info{margin:20px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;text-align:center}.budget-info p{margin:0 0 8px;color:#475569}.budget-info small{color:#64748b;font-style:italic}.timekeeper-full-refresh,.timekeeper-timeout{padding:20px;background:var(--color-bg-primary);border-radius:8px;border:1px solid var(--color-border)}.full-refresh-content,.timeout-content{text-align:center;padding:20px}.timeout-icon{font-size:48px;margin-bottom:16px}.timeout-options{margin:20px 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.full-refresh-info,.timeout-info{margin-top:24px;padding:16px;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border-light);text-align:left}.timeout-info h5{margin:0 0 8px;font-size:14px;color:var(--color-text-primary)}.full-refresh-info p,.timeout-info p{margin:4px 0;font-size:13px;color:var(--color-text-muted)}.refresh-progress{margin-top:20px;display:flex;flex-direction:column;gap:8px}.progress-step{padding:8px 12px;background:var(--color-bg-secondary);border-radius:4px;border:1px solid var(--color-border-light);font-size:13px;color:var(--color-text-muted);transition:all .3s ease}.progress-step.active{background:#10b9811a;border-color:#10b9814d;color:var(--color-text-primary)}.loading-steps{margin-top:16px;display:flex;flex-direction:column;gap:6px}.step{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:4px;background:var(--color-bg-secondary);opacity:.6;transition:all .3s ease}.step.active{opacity:1;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.step-icon{font-size:14px}.step-text{font-size:13px;color:var(--color-text-primary)}.paint-spec-container{display:flex;align-items:center;gap:8px;width:100%}.paint-spec-container select{flex:1}.paint-spec-container .btn.small{padding:6px 8px;font-size:14px;min-width:32px;display:flex;align-items:center;justify-content:center}.new-paint-spec-container{animation:slideDown .3s ease-out}.new-paint-spec-container input:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.new-paint-spec-container .btn{transition:all .15s ease-in-out}.new-paint-spec-container .btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.new-paint-spec-container .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.paint-spec-container select.updated{animation:highlightSuccess .6s ease-out}.paint-spec-error{animation:fadeIn .2s ease-out;font-weight:500}.paint-spec-error span:first-child{flex-shrink:0}.new-paint-spec-container input.form-control{transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.new-paint-spec-container input.form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0;background-color:#fff}.new-paint-spec-container input.form-control[style*="border-color: #dc3545"]{border-color:#dc3545!important;background-color:#fff5f5!important}.new-paint-spec-container input.form-control[style*="border-color: #dc3545"]:focus{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important;background-color:#fff5f5!important}.new-paint-spec-container input.form-control[style*="border-color: #ffc107"]{border-color:#ffc107!important;background-color:#fffbf0!important}.new-paint-spec-container input.form-control[style*="border-color: #ffc107"]:focus{border-color:#ffc107!important;box-shadow:0 0 0 .2rem #ffc10740!important;background-color:#fffbf0!important}.new-paint-spec-container input.form-control:disabled{background-color:#e9ecef;opacity:.7;cursor:not-allowed}.new-paint-spec-container input.form-control.valid{border-color:#28a745;background-color:#f8fff9}.new-paint-spec-container input.form-control.valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540;background-color:#f8fff9}.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:8px;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:16px;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:#007bff;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:#007bff;border-radius:2px;z-index:5;animation:psDragPulse .6s ease infinite alternate}@keyframes psDragPulse{0%{opacity:.6}to{opacity:1}}.paint-spec-drag-ghost{position:fixed;z-index:10000;pointer-events:none;will-change:transform;backface-visibility:hidden;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:2px solid #007bff;border-radius:var(--radius-sm);box-shadow:0 12px 24px #00000040;font-size:14px;color:var(--color-text-primary);opacity:.95}.paint-spec-item .paint-spec-text{flex:1;font-size:14px;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:14px;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:4px;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:13px;padding:0;transition:all .15s ease}.paint-spec-item .paint-spec-actions button.paint-spec-edit-btn:hover{background-color:#e8f0fe;border-color:#1a73e8;color:#1a73e8}.paint-spec-item .paint-spec-actions button.paint-spec-delete-btn:hover{background-color:#fce8e6;border-color:#d93025;color:#d93025}.paint-spec-item .paint-spec-actions button.paint-spec-save-edit-btn:hover{background-color:#e6f4ea;border-color:#1e8e3e;color:#1e8e3e}.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:8px;padding:12px 16px}.paint-spec-add-row input{flex:1;font-size:14px}.paint-spec-add-row .btn.small{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.paint-spec-modal-error{padding:8px 16px;font-size:12px;color:#dc3545;display:flex;align-items:center;gap:4px}.paint-spec-list-empty{padding:24px 16px;text-align:center;color:var(--color-text-secondary);font-size:14px;font-style:italic}.kanban-config-section{padding:20px 0}.status-selection-container{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin:20px 0;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:20px;background:var(--background-secondary, #f8fafc)}.available-statuses,.selected-statuses{min-height:300px}.available-statuses h5,.selected-statuses h5{margin:0 0 12px;font-weight:600;color:var(--text-primary, #1f2937)}.status-list{border:2px dashed var(--border-color, #d1d5db);border-radius:6px;background:#fff;overflow-y:auto}.status-list.sortable{border-style:solid;border-color:var(--color-accent, #3b82f6)}.status-list-item{background:#fff;border:1px solid var(--border-color, #e2e8f0);-webkit-user-select:none;user-select:none}.status-list-item:hover{background:var(--background-hover, #f1f5f9);border-color:var(--color-accent, #3b82f6);transform:translateY(-1px)}.status-list-item.selected{background:var(--color-accent-light, #dbeafe);border-color:var(--color-accent, #3b82f6)}.status-list-item.dragging{opacity:.5;transform:rotate(2deg)}.status-color-dot{margin-right:10px;border:2px solid #fff;box-shadow:0 0 0 1px #0000001a}.status-name{flex:1}.status-handle{cursor:grab;color:var(--text-secondary, #6b7280);margin-left:8px}.status-handle:active{cursor:grabbing}.selection-controls{display:flex;flex-direction:column;justify-content:center;gap:12px}.selection-controls .button{white-space:nowrap;min-width:120px}.kanban-options{margin:24px 0;padding:16px;background:var(--background-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px}.kanban-preview{margin-top:24px;padding:16px;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.preview-column,.preview-container{border:1px solid var(--border-color, #e2e8f0);display:flex}.preview-container{gap:8px;overflow-x:auto;padding:12px;background:var(--background-secondary, #f8fafc);border-radius:6px;min-height:80px}.preview-column{min-width:120px;padding:8px 12px;background:#fff;border-radius:4px;text-align:center;font-size:12px;flex-direction:column;justify-content:center}.preview-column-header{font-weight:600;margin-bottom:4px}.preview-column-count{font-size:11px}.help-text,.preview-column-count{color:var(--text-secondary, #6b7280)}.status-list:empty:before{content:"Drop status columns here";display:block;text-align:center;color:var(--text-secondary, #6b7280);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, #10b981);background:var(--color-success-light, #ecfdf5)}.status-list.drag-invalid{border-color:var(--color-danger, #ef4444);background:var(--color-danger-light, #fef2f2)}#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(--border-color, #e5e7eb)}#view-archived-job-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #111827)}#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, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--border-radius, 8px);padding:20px;margin-bottom:20px}.details-section:last-child{margin-bottom:0}.details-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #f3f4f6);color:var(--text-primary, #111827);font-weight:600;font-size:1.1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.detail-item{background:var(--background-secondary, #f9fafb);padding:12px;border-radius:6px;border-left:3px solid var(--primary-color, #3b82f6)}.detail-item label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-item span{display:block;font-size:14px;color:var(--text-primary, #111827);font-weight:500}.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.progress-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--background-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:14px}.progress-item span:first-child{color:var(--text-secondary, #6b7280);font-weight:500}.progress-item span:last-child{font-size:16px;font-weight:600}.description-content,.notes-content{background:var(--background-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:16px;line-height:1.6;color:var(--text-primary, #374151);font-size:14px}#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(--border-color, #e5e7eb);background:var(--background-secondary, #f9fafb)}#view-archived-job-modal .btn{padding:8px 16px;border-radius:var(--border-radius, 6px);font-weight:500;font-size:14px;border:1px solid transparent;cursor:pointer;transition:all .2s ease}#view-archived-job-modal .btn-secondary{background:var(--background-secondary, #f3f4f6);color:var(--text-secondary, #6b7280);border-color:var(--border-color, #d1d5db)}#view-archived-job-modal .btn-secondary:hover{background:var(--background-tertiary, #e5e7eb);color:var(--text-primary, #374151)}#view-archived-job-modal .btn-primary{background:var(--primary-color, #3b82f6);color:#fff}#view-archived-job-modal .btn-primary:hover{background:var(--primary-hover, #2563eb);border-color:var(--primary-hover, #2563eb)}.archive-pagination-container{flex-wrap:wrap;gap:16px;font-size:14px}.pagination-info{color:var(--text-secondary, #6b7280);font-weight:500}.page-size-selector,.pagination-summary{color:var(--text-primary, #374151)}.page-size-selector{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color, #d1d5db);background:var(--background-primary, white);font-size:13px;cursor:pointer;transition:all .2s ease}#view-archived-job-modal .btn-primary,.page-size-selector:hover{border-color:var(--primary-color, #3b82f6)}.page-size-selector:focus{outline:0;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.pagination-btn{display:flex;align-items:center;border:1px solid var(--border-color, #d1d5db);background:var(--background-primary, white);color:var(--text-primary, #374151);font-weight:500;gap:4px;white-space:nowrap}.pagination-btn:not(:disabled):hover{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pagination-btn:disabled{background:var(--background-tertiary, #f3f4f6);color:var(--text-tertiary, #9ca3af)}.pagination-btn:not(:disabled):active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.page-indicator{color:var(--text-primary, #111827);background:var(--background-primary, white);border:1px solid var(--border-color, #e5e7eb);border-radius:4px}.pagination-loading{opacity:.6;pointer-events:none}.archive-table-loading{opacity:.7;transition:opacity .2s ease}.page-size-selector:focus{outline-offset:2px}.page-size-selector:focus,.pagination-btn:focus{outline:2px solid var(--primary-color, #3b82f6)}.header{padding:5px;background-color:#fff;color:var(--color-text-primary);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);justify-content:space-between;gap:var(--space-xl)}.header-left{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;max-width:70%}.app-title{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin:0;color:var(--color-text-primary);line-height:1.2}.dashboard-count-display{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:#f3f4f6;border-radius:12px;font-size:13px;color:#6b7280;font-weight:400;min-height:22px;min-width:90px}.dashboard-count-display .count-number{font-weight:600;color:#374151}.dashboard-count-display .badge-status,.dashboard-count-display .badge-outsourced{margin-left:4px;padding:2px 6px;border-radius:6px;font-size:12px;font-weight:600}.dashboard-count-display .badge-outsourced{background:#fff3cd;color:#ff8c00}.panel-actions .panel-action.is-snag{background:#dc3545;color:#fff}.panel-actions .panel-action.is-snag:hover{background:#c82333;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:12px;flex-wrap:wrap}#dashboard-view .panel-header-left h2{margin:0}.dashboard-context-menu{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;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 15px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s}.dashboard-context-menu .context-menu-item:hover{background:#f3f4f6}.dashboard-context-menu .context-menu-item-icon{font-size:16px}.dashboard-drop-indicator{height:2px;background:var(--primary-color, #007bff);margin:2px 0;opacity:0;transition:opacity .15s ease}.dashboard-drop-line{position:fixed;height:4px;background:#3b82f6;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:11px}#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-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=paintSpec]{width:150px}#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=materials]{width:105px}#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 td[data-column=surveyDate],#jobs-table td[data-column=installDate]{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:14px}#jobs-table td[data-column=installPackCreated] .install-pack-display{border-radius:4px}#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:11px;font-weight:700;color:#6b7280;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:14px;border-radius:4px}.materials-cell .three-state-display.checked:after{font-size:14px}.materials-cell .three-state-display.na:after{font-size:9px}#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:11px;font-weight:700;color:#6b7280;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}#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:1.25rem;font-weight:600;color:#1f2937}#turnover-view .view-controls{display:flex;align-items:center;gap:12px}#turnover-view .year-selector-container{display:flex;align-items:center;gap:6px}#turnover-view .year-selector-container label{font-weight:500;color:#495057;font-size:13px}#turnover-view #turnover-year-selector{padding:4px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px;background:#fff;min-width:70px}#turnover-view .turnover-summary-top{background:linear-gradient(135deg,#667eea 0,#764ba2);color:#fff;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:14px;font-weight:600;color:#fff;opacity:.95;line-height:1.2;text-align:center;white-space:nowrap}#turnover-view .summary-left-totals{display:flex;gap:16px;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(255,255,255,.3)}#turnover-view .outstanding-item .year-total-value{color:#ffeb3b}#turnover-view .not-sent-item{text-align:left;flex-shrink:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.3)}#turnover-view .not-sent-item .year-total-value{color:#ff9800}#turnover-view .owed-item{text-align:left;flex-shrink:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.3)}#turnover-view .owed-item .year-total-value{color:#ff6b6b}#turnover-view .year-totals-horizontal{display:flex;gap:12px;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:9px;text-transform:uppercase;letter-spacing:.3px;opacity:.8;margin-bottom:1px;font-weight:500}#turnover-view .year-total-value{font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1);line-height:1.2}#turnover-view .grand-total-item .year-total-value{font-size:16px;border-top:1px solid rgba(255,255,255,.3);padding-top:3px;margin-top:3px}#turnover-view .monthly-breakdown-horizontal{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap;justify-content:center}#turnover-view .month-summary-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:4px 8px;text-align:center;min-width:55px}#turnover-view .month-summary-name{font-size:8px;text-transform:uppercase;letter-spacing:.3px;opacity:.8;margin-bottom:1px;font-weight:500;line-height:1.1}#turnover-view .month-summary-total{font-size:11px;font-weight:600;color:#fff;line-height:1.2}#turnover-view .turnover-container{flex:1;display:flex;overflow:hidden;min-height:0;height:calc(100vh - 160px);gap:16px;padding:16px 20px;background:#f8f9fa}#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:20px}#turnover-view .enhanced-month-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}#turnover-view .month-header{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef);padding:6px 12px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}#turnover-view .month-header h3{margin:0;font-size:15px;font-weight:600;color:#495057;line-height:1.2}#turnover-view .month-grand-total{display:flex;align-items:center;gap:6px}#turnover-view .total-amount{font-size:16px;font-weight:700;color:#28a745;background:#28a7451a;padding:2px 8px;border-radius:12px;border:1px solid rgba(40,167,69,.2);line-height:1.3}#turnover-view .invoice-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;background:#fff}#turnover-view .invoice-column{background:#fff;min-height:140px;border-right:1px solid #f1f3f4;position:relative;cursor:default}#turnover-view .invoice-column:last-child{border-right:none}#turnover-view .invoice-column.drag-over{background:linear-gradient(135deg,#e3f2fd 0,#f3e5f5);border:3px dashed #2196f3;border-radius:8px}#turnover-view .column-header{background:#f8f9fa;padding:6px 12px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;min-height:36px}#turnover-view .column-header h4{margin:0;font-size:12px;font-weight:600;color:#495057;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:10px;color:#6c757d;text-transform:uppercase;letter-spacing:.3px;font-weight:500}#turnover-view .invoice-total{font-size:13px;font-weight:700;color:#28a745;background:#28a7451a;padding:2px 8px;border-radius:10px;border:1px solid rgba(40,167,69,.2)}#turnover-view .column-content{padding:12px;min-height:90px;position:relative}#turnover-view .invoice-job{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:3px 8px;margin-bottom:3px;cursor:grab;font-size:12px;min-height:24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000000d;transition:border-color .2s ease}#turnover-view .invoice-job:hover{border-color:#007bff}#turnover-view .invoice-job:active{cursor:grabbing}#turnover-view .invoice-job.dragging{opacity:.8;box-shadow:0 4px 16px #007bff4d;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:8px;min-width:0;line-height:1.2}#turnover-view .job-left-content{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:hidden}#turnover-view .job-right-content{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-right:20px}#turnover-view .job-salesman{color:green;font-style:italic;font-size:10px;flex-shrink:0}#turnover-view .job-number-inline{font-weight:700;color:#495057;font-size:12px;flex-shrink:0}#turnover-view .job-customer-inline{color:#000;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;min-width:0}#turnover-view .job-number{font-weight:700;color:#495057;font-size:12px;min-width:50px;background:#4950571a;padding:2px 6px;border-radius:4px;flex-shrink:0}#turnover-view .job-customer{color:#6c757d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:500}#turnover-view .job-invoice-value{font-weight:700;color:#28a745;font-size:11px;background:#28a7451a;padding:2px 6px;border-radius:4px;flex-shrink:0;white-space:nowrap}#turnover-view .remove-job-btn{background:0 0;border:0;color:#dc3545;cursor:pointer;font-size:16px;padding:2px 4px;border-radius:3px;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;color:#adb5bd;font-size:11px;text-align:center;border:2px dashed #dee2e6;border-radius:8px;background:#f8f9fa}#turnover-view .placeholder-content{text-align:center}#turnover-view .placeholder-icon{font-size:24px;margin-bottom:4px;opacity:.5}#turnover-view .turnover-jobs-sidebar{width:320px;min-width:320px;max-width:320px;background:#fff;border-radius:12px;border:1px solid #e9ecef;overflow:hidden;box-shadow:0 2px 12px #00000014}#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:16px;font-weight:600;background:linear-gradient(135deg,#667eea 0,#764ba2);color:#fff;flex-shrink:0;text-align:center;letter-spacing:.3px}#turnover-view .job-search{padding:16px 20px;background:#fff;border-bottom:1px solid #f1f3f4;flex-shrink:0}#turnover-view .job-search input{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s ease}#turnover-view .job-search input:focus{outline:0;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}#turnover-view .job-filters{padding:12px 20px 16px;background:#f8f9fa;border-bottom:1px solid #f1f3f4;flex-shrink:0}#turnover-view .checkbox-label{display:flex;align-items:center;gap:0;font-size:13px;color:#495057;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:12px;color:#6c757d;font-weight:500;background:#fff;padding:2px 8px;border-radius:10px;border:1px solid #e9ecef}#turnover-view .available-jobs{flex:1;overflow-y:auto;padding:12px;background:#f8f9fa}#turnover-view .available-job{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:3px 8px;margin-bottom:6px;cursor:grab;display:flex;align-items:center;min-height:24px;font-size:13px;box-shadow:0 1px 3px #0000000d;transition:border-color .2s ease}#turnover-view .available-job:hover{border-color:#007bff}#turnover-view .available-job:active{cursor:grabbing}#turnover-view .available-job.archived-job{background:#f8f9fa;border-color:#dee2e6;opacity:.8}#turnover-view .job-info{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:8px;line-height:1.2}#turnover-view .available-job .job-number{font-weight:700;color:#495057;min-width:55px;font-size:13px;background:#4950571a;padding:3px 8px;border-radius:5px;text-align:center}#turnover-view .available-job .job-customer{flex:1;color:#6c757d;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}#turnover-view .available-job .job-total-value{font-weight:700;color:#28a745;font-size:11px;text-align:right;background:#28a7451a;padding:2px 6px;border-radius:4px;flex-shrink:0;white-space:nowrap}#turnover-view .archived-badge{background:#6c757d;color:#fff;font-size:9px;padding:2px 5px;border-radius:4px;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:#f1f1f1;border-radius:4px}#turnover-view .available-jobs::-webkit-scrollbar-thumb,#turnover-view .turnover-main::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}#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:#f0f8ff}#turnover-view .scheduled-job-search:focus{border-color:#138496;box-shadow:0 0 0 3px #17a2b826}#turnover-view .search-label{display:block;font-size:11px;color:#6c757d;margin-top:4px;text-align:center;font-style:italic}#turnover-view .invoice-job.search-match-found{border:2px solid #28a745!important;background-color:#28a74514;box-shadow:0 0 8px #28a7454d;position:relative}#turnover-view .invoice-job.search-match-found:before{content:"🎯";position:absolute;top:-2px;right:-2px;background:#28a745;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;z-index:5}#turnover-view .invoice-job.scroll-highlight{animation:searchPulse 2s ease-in-out}.header-reminders-banner{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;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-icon{font-size:16px;flex-shrink:0}.header-reminders-banner .reminder-text{overflow:hidden;text-overflow:ellipsis}.header-reminders-banner.warning{background:linear-gradient(135deg,#fff3cd,#ffe5a0);color:#856404;border:1px solid #ffc107;animation:pulse-warning 2s infinite}.header-reminders-banner.critical{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #dc3545;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:11px;padding:5px 10px;gap:4px}}@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}.header-reminders-banner .reminder-icon{font-size:18px}}.van-alert-banner{pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease}.van-alert-banner:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.view-header{display:flex;align-items:center;padding:6px;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.panel-header h2,.view-header h1{font-weight:600;color:#1f2937;margin:0;font-size:1.25rem}.view-controls label{font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap}.view-controls select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;color:#374151;min-width:120px}.view-controls .action-button{padding:8px 16px;background:#3b82f6;color:#fff;border:0;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:0;transition:background-color .2s}.view-controls .action-button:hover{background:#2563eb}.view-controls>div{display:flex;align-items:center;gap:6px}#employee-training-modal{z-index:1001}#employee-modal{z-index:1000}.fleet-reminders-banner{margin-right:8px}.hr-reminders-banner{margin-left:8px}.header-content{display:flex;justify-content:flex-end;align-items:center;margin-bottom:0;flex-shrink:0;gap:var(--space-lg);padding-top:var(--space-sm)}.header-actions{gap:var(--space-md)}.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:5px}.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)}.tab-button:after{display:none}.user-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:#3b82f61a;border:1px solid rgba(59,130,246,.2);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:#3b82f626;border-color:#3b82f64d}.user-info,.user-info .user-email,.user-info .user-role,.user-info span{color:var(--color-text-primary)!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:4px!important;font-size:12px!important;cursor:pointer!important;transition:all .2s ease!important;margin-left:8px!important}.logout-btn:hover,.user-info .logout-btn:hover{background:#c82333!important;border-color:#c82333!important;transform:translateY(-1px)!important}.action-button,.connection-indicator{font-weight:500;border:1px solid var(--color-border);color:var(--color-text-primary);flex-shrink:0}.connection-indicator{background:var(--color-bg-tertiary)}.header-update-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid #f59e0b;background:#fef3c7;color:#92400e;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0;margin-right:8px}.header-update-btn:hover{background:#fde68a;border-color:#d97706}.header-update-btn .header-update-icon{font-size:14px;animation:spin-slow 2.5s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-bg-secondary);height:32px;min-width:32px;gap:var(--space-xs);display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.action-button:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff;text-decoration:none}#main-content{padding:5px}.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}.user-management-actions{background:#f8f9fa}.user-action-btn{margin:0}.user-action-btn:hover{opacity:.8;transform:scale(1.05)}.spinner{border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:spin .7s linear infinite;margin:0 auto}.drag-insert-indicator{position:absolute;top:-9999px;left:-9999px;width:0;height:2px;background:#007bff;border-radius:1px;opacity:0;transition:none;pointer-events:none;z-index:1000}.drag-insert-indicator.is-active{opacity:1}.app-container.not-authenticated{display:none!important;visibility:hidden!important}.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)!important;backdrop-filter:blur(4px)!important}.loading-overlay{z-index:9999}.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))}.content-section{display:none}.content-section:not(.hidden){display:block}.session-warning{position:fixed;top:20px;right:20px;background:#f59e0b;color:#fff;padding:12px 20px;border-radius:8px;z-index:10000;font-size:14px;font-weight:500}.users-table-container{background:#fff}#users-table{margin:0;table-layout:auto;font-size:14px}#users-table td,#users-table th{padding:12px 8px;white-space:nowrap}#users-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;text-align:left;font-weight:600;color:#495057;position:sticky;top:0;z-index:10}#users-table td{border-bottom:1px solid #e9ecef;vertical-align:middle}#users-table td:nth-child(1),#users-table th:nth-child(1){min-width:200px;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#users-table td:nth-child(2),#users-table th:nth-child(2){width:auto;min-width:100px}#users-table td:nth-child(3),#users-table th:nth-child(3){width:auto;min-width:80px;text-align:center}#users-table td:nth-child(4),#users-table td:nth-child(5),#users-table th:nth-child(4),#users-table th:nth-child(5){width:auto;min-width:100px}#users-table td:nth-child(6),#users-table th:nth-child(6){width:auto;min-width:120px;text-align:center}.user-action-btn{font-weight:500;display:inline-flex}.user-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.user-action-btn.edit{background:#007bff}.user-action-btn.edit:hover{background:#0056b3}.user-action-btn.toggle{background:#6c757d}.user-action-btn.toggle:hover{background:#545b62}.user-action-btn.delete{background:#dc3545}.user-action-btn.delete:hover{background:#c82333}.user-status-badge{letter-spacing:.5px}.user-status-badge.active{border:1px solid #c3e6cb}.user-status-badge.inactive{border:1px solid #f5c6cb}.user-management-actions{justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#f8f9fa 0,#e9ecef);border-radius:8px;border:1px solid #dee2e6}.user-stats{align-items:center}.user-stats .stat{font-size:14px;font-weight:600;color:#495057;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #dee2e6;box-shadow:0 1px 3px #0000001a}#users-table-body tr td,.workshop-mode .job-card{position:relative}.user-table-loading{text-align:center;padding:40px 20px;color:#6c757d;font-style:italic}.user-table-error{text-align:center;padding:40px 20px;color:#dc3545;background:#f8d7da;border-radius:4px;margin:10px}#users-table tbody tr:hover{transition:background-color .2s ease}.users-table-container::-webkit-scrollbar{height:8px}.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:"👁️";position:absolute;top:4px;right:4px;font-size:12px;opacity:.5}.modal{background-color:#0000004d}.modal:first-of-type{background-color:#00000080}.modal-content{transition:all .2s ease}.modal[style*="z-index: 101"] .modal-content,.modal[style*="z-index: 102"] .modal-content,.modal[style*="z-index: 103"] .modal-content{box-shadow:0 25px 50px #0006;transform:translateY(-2px)}.modal,.modal-content{pointer-events:auto}.permission-editor{padding:10px 0}.form-section{margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-section h4{margin:0 0 8px;color:#495057;font-size:16px;font-weight:600}.help-text{font-style:italic}.checkbox-label{background:#fff;border:1px solid #dee2e6;font-size:14px}.checkbox-label:hover{background:#e3f2fd;border-color:#2196f3}.checkbox-label input[type=checkbox]:checked+span{font-weight:600;color:#1976d2}#user-base-role,.permission-preview{background:#fff}.preview-section ul{list-style:none}.preview-section li{padding:2px 0;font-size:14px}.role-badge{position:relative}.role-badge[title*=custom]:after{content:"⚙️";position:absolute;top:-2px;right:-2px;font-size:10px;background:#fff;border-radius:50%;padding:1px}.user-action-btn.edit{background:#17a2b8}.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:12px!important;display:grid!important;grid-template-rows:auto 1fr auto!important}#user-permission-modal .permission-editor{display:contents!important;padding:0!important}#user-permission-modal .permission-accordion{overflow-y:auto!important;min-height:0!important}#user-base-role:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.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:5px 10px;border-radius:4px;font-size:12px;color:#6c757d}.break-indicator{display:inline-block;font-size:11px;color:#10b981;background:#10b9811a;padding:2px 6px;border-radius:3px;margin-left:8px;border:1px solid rgba(16,185,129,.3)}.break-stat{background:#10b9810d!important;border:1px solid rgba(16,185,129,.2)!important}.break-stat .stat-value{color:#10b981!important}.stat-note{font-size:10px;color:var(--color-text-muted, #6b7280);margin-top:2px;font-weight:400}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-small{display:inline-flex;align-items:center;gap:4px}.btn-primary{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.btn-primary:hover{background:var(--color-primary-dark, #2563eb);border-color:var(--color-primary-dark, #2563eb)}.btn-secondary{background:var(--color-bg-secondary, #f9fafb);color:var(--color-text-primary, #111827);border-color:var(--color-border, #e5e7eb)}.btn-secondary:hover{background:var(--color-bg-tertiary, #f3f4f6)}.break-info-panel{margin-top:16px;padding:12px;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:6px}.break-info-panel h5{margin:0 0 8px;font-size:13px;color:#10b981;font-weight:600}.break-info-panel p,.data-source{color:var(--color-text-muted, #6b7280)}.break-info-panel p{margin:4px 0;font-size:12px;line-height:1.4}.break-info-panel p strong,.debug-info summary{color:var(--color-text-primary, #111827);font-weight:500}.data-source{display:flex;align-items:center;gap:4px;font-size:11px;padding:3px 6px;background:#10b9811a;border-radius:3px;border:1px solid rgba(16,185,129,.3)}.timekeeper-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:20px}.debug-info{margin-top:12px;padding:8px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:4px;font-size:11px;color:var(--color-text-muted, #6b7280)}.debug-info summary{cursor:pointer}.debug-info pre{margin:8px 0 0;font-size:10px;white-space:pre-wrap;word-break:break-word}.loading-steps .step.active{color:#10b981}.loading-steps .step.active:before{content:"🍽️ "}.notification-break{background:#10b9811a;border-left:4px solid #10b981;color:#10b981}.summary-item.has-breaks{border-left:3px solid #10b981}.summary-item.has-breaks:after{content:"🍽️";position:absolute;right:8px;top:8px;font-size:12px;opacity:.7}.summary-item{position:relative}.budget-analysis.break-adjusted{border-color:#10b9814d;background:#10b9810d}.budget-analysis.break-adjusted .budget-header:before{content:"🍽️ ";color:#10b981}.progress-fill.break-adjusted{background:linear-gradient(90deg,#10b981 0,#3b82f6)}.action-button .icon,.action-button span,.btn .icon,.btn span,.button .icon,.button span{pointer-events:none}.orders-summary{display:flex;gap:20px;margin-bottom:20px}.summary-card{min-width:120px;box-shadow:0 2px 4px #0000001a}.summary-card.pending{border-left:4px solid #f59e0b}.summary-card.received{border-left:4px solid #10b981}.summary-value{font-size:2em}.summary-label{font-size:.9em;color:#6b7280;margin-top:5px}.orders-table .item-description{max-width:250px}.order-form .form-group label,.orders-table .item-main{font-weight:500;margin-bottom:4px}.orders-table .item-notes{font-size:.85em;color:#6b7280;font-style:italic}.orders-table .quantity{text-align:center;font-weight:500}.status-badge.status-received{background:#d1fae5;color:#065f46}.status-badge.status-partial{background:#dbeafe;color:#1e40af}.status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.order-row.status-received{background-color:#f0fdf4}.order-row.pending-sync{background-color:#fef3c7;position:relative}.order-row.pending-sync:after{content:"⏳";position:absolute;right:10px;top:50%;transform:translateY(-50%)}.btn-small{padding:4px 8px;font-size:.8em;margin-right:4px;border:0;border-radius:4px;cursor:pointer;text-decoration:none}.btn-success{background:#10b981;color:#fff}.btn-warning{background:#f59e0b;color:#fff}.btn-primary{background:#3b82f6}.btn-danger{background:#ef4444;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding:20px}.page-info{font-size:.9em;color:#6b7280}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable:hover{background-color:#f9fafb}.sortable.sort-asc:after{content:" ↑"}.sortable.sort-desc:after{content:" ↓"}.order-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-form .form-group.full-width{grid-column:1/-1}.actions-column{text-align:center;width:200px}.no-actions{color:#6b7280;font-style:italic;font-size:.9em}.table-footer{padding:12px 16px;background-color:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px}.summary-stats{display:flex;font-size:.875rem;color:#6b7280}.stat-item strong{color:#374151;font-weight:600}.order-form .form-group label{display:block;color:#374151}.order-form .form-group input,.order-form .form-group select,.order-form .form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.order-form .form-group input:focus,.order-form .form-group select:focus,.order-form .form-group textarea:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#board-view,#board-view .panel-content,.kanban-board{overflow-y:auto!important}#board-view .kanban-view-container{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.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}.job-card.draggable-job{cursor:move!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:0 4px 12px #00000026}.job-card.draggable-job:before{position:absolute;top:4px;right:4px;color:#6b7280;font-size:12px;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 #3b82f6;border-radius:8px}.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}.kanban-column{min-height:500px;background:#f8fafc}.column-content{min-height:400px;padding:12px;border-radius:0 0 8px 8px}.workshop-mode .job-card.draggable-job{border-left:3px solid #10b981}.workshop-mode .job-card.draggable-job:before{color:#10b981;opacity:.8}.job-card.drop-success{animation:dropSuccess .3s ease}.settings-tab{display:block!important;background:#f8f9fa;min-width:120px;text-align:center}.settings-tab:hover{background:#e9ecef}.settings-tab.active{background:#fff;z-index:1;position:relative}.settings-tab-content{padding:30px;background:#fff;border:1px solid #e9ecef;border-top:none;min-height:400px}.admin-mode .settings-tab[data-tab=orders],.admin-mode .settings-tab[data-tab=users],.settings-tab-content.active{display:block!important}.workshop-mode .settings-tab[data-tab=orders],.workshop-mode .settings-tab[data-tab=users],.screen-mode .settings-tab[data-tab=orders],.screen-mode .settings-tab[data-tab=users]{display:none!important}.settings-tabs{flex-wrap:wrap;background:#f8f9fa;margin:-20px -20px 0;padding:0 20px}.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:8px!important;overflow:hidden;display:flex;flex-direction:column}.settings-modal .modal-body,#settings-modal .modal-body{flex:1;overflow:hidden;padding:0}.permission-preview{background:#f8f9fa;margin-top:15px}.preview-section strong{display:block;margin-bottom:8px;color:#1f2937}.settings-item{background:#fff}.settings-item:hover{background:#f8f9fa}.settings-item.dragging{transform:rotate(2deg)}.status-color-preview{border:1px solid #e9ecef}.status-color-picker{background:0 0}.item-action-btn{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.item-action-btn:hover,.user-action-btn:hover{background:#e9ecef}.item-action-btn.edit:hover{background:#d1ecf1;color:#0c5460}.item-action-btn.delete:hover{background:#f8d7da;color:#721c24}.form-help{display:block}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#dc3545;background-color:#f8d7da}.form-group.error .form-help{color:#dc3545}.empty-message{font-style:italic;background:#f8f9fa;border:1px dashed #dee2e6;border-radius:6px}.user-action-btn{background:0 0}.role-badge.admin{background:#fff3cd;border:1px solid #ffeaa7}.role-badge.workshop{background:#d1ecf1;border:1px solid #b7e4ea}.role-badge.install{background:#fff3cd;border:1px solid #ffc107}.role-badge.refurb{background:#d1ecf1;border:1px solid #17a2b8}.role-badge.screen{background:#e2e3e5;border:1px solid #d6d8db}.user-status-badge.active{background:#d4edda}.user-status-badge.inactive{background:#f8d7da}.debug-role-info{position:fixed;bottom:20px;right:20px;background:#000c;color:#fff;padding:10px;border-radius:6px;font-size:12px;font-family:monospace;z-index:10000;display:none}.admin-mode .debug-role-info,.workshop-mode .debug-role-info,.screen-mode .debug-role-info{display:block}.modal{z-index:1050}.modal.settings-modal{z-index:1060}#user-permission-modal{z-index:1070}#hardware-ordering-modal{z-index:10002}.enquiries-modal-layout{overflow-y:auto;padding:20px 16px 20px 0}.kanban-loading-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px}.kanban-loading-skeleton .skeleton-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;min-height:300px;display:flex;flex-direction:column;gap:10px}.kanban-loading-skeleton .skeleton-column-header{height:24px;border-radius:6px;background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:kanban-skeleton-shimmer 1.6s ease-in-out infinite}.kanban-loading-skeleton .skeleton-card{height:72px;border-radius:6px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);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-config-button,#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(--background-color);display:block!important;height:auto!important;min-height:100vh!important;overflow:visible!important;padding:0!important;margin:0!important}#board-view .kanban-board{background:0 0}#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(--text-secondary)}.kanban-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}#board-view .kanban-view-header{position:absolute;top:20px;right:20px;z-index:10}#board-view .kanban-config-button{background:var(--color-accent, #3b82f6);color:#fff;border:0;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #3b82f64d;transition:all .2s ease}#board-view .kanban-config-button:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}#board-view .kanban-config-button .kanban-icon{font-size:16px}#board-view .kanban-view-container{background:linear-gradient(135deg,#f8fafc 0,#e2e8f0)}#board-view .kanban-board{display:flex;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}#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:#cbd5e1;border-radius:4px}#board-view .kanban-board::-webkit-scrollbar-thumb:hover{background:#94a3b8}#board-view .kanban-column{max-width:320px;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease}#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:12px 12px 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:15px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}#board-view .job-count{background:#ffffff4d;padding:6px 10px;border-radius:16px;font-size:13px;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:16px;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:#e2e8f0;border-radius:3px}#board-view .column-content.drag-over{background:linear-gradient(135deg,#3b82f60d0,#3b82f61a);border:2px dashed #3b82f6;border-radius:0 0 12px 12px}#board-view .job-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 1px 3px #0000001a}#board-view .job-card:hover{border-color:var(--color-accent, #3b82f6);box-shadow:0 8px 25px #3b82f626;transform:translateY(-2px)}#board-view .job-card.dragging{opacity:.6;transform:rotate(3deg) scale(1.02);box-shadow:0 15px 35px #0003;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-number{font-weight:700;color:var(--color-accent, #3b82f6);padding:4px 8px;background:#3b82f61a;border-radius:6px}#board-view .job-card .job-customer{font-weight:600;color:#1e293b;line-height:1.3}#board-view .job-card .job-description{color:#64748b;border-left:3px solid #e2e8f0;padding-left:12px;margin:4px 0}#board-view .job-card .job-due-date,#board-view .job-card .job-manager,#board-view .job-card .job-value{font-size:12px;color:#64748b;display:flex;align-items:center;gap:0;padding:4px 8px;background:#f8fafc;border-radius:6px}#board-view .job-card .job-progress{display:flex;gap:0;font-size:14px;margin-top:8px;justify-content:center}#board-view .job-card .offline-indicator{font-size:11px;opacity:.7;background:#fbbf24;padding:2px 6px;border-radius:4px;color:#fff}#board-view .empty-column-placeholder{text-align:center;padding:40px 20px;color:#94a3b8;border:2px dashed #e2e8f0;border-radius:10px;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9)}#board-view .placeholder-content{display:flex;flex-direction:column;align-items:center;gap:12px}#board-view .placeholder-icon{font-size:32px;opacity:.4}#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:20px;max-width:400px;background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 25px #0000001a}#board-view .empty-icon{font-size:64px;opacity:.3}#board-view .kanban-loading{display:flex;align-items:center;justify-content:center;height:300px;flex-direction:column;gap:20px;color:#64748b;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000001a;margin:40px}#board-view .kanban-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:var(--color-accent, #3b82f6);border-radius:50%;animation:kanban-spin .8s linear infinite}#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:20px;max-width:400px;background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 25px #0000001a}#board-view .error-icon{font-size:64px}#kanban-config-modal.modal .modal-content{max-width:700px;border-radius:16px;box-shadow:0 25px 50px #00000040}#kanban-config-modal.modal .modal-header{background:linear-gradient(135deg,var(--color-accent, #3b82f6) 0%,#2563eb 100%);color:#fff;border-radius:16px 16px 0 0;padding:24px}#kanban-config-modal.modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}#kanban-config-modal.modal .close-button{background:#fff3;color:#fff;border:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s ease}#kanban-config-modal.modal .close-button:hover{background:#ffffff4d}#kanban-config-modal .status-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:20px 0;max-height:400px;overflow-y:auto;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9)}#kanban-config-modal .status-option{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}#kanban-config-modal .status-option:hover{border-color:var(--color-accent, #3b82f6);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}#kanban-config-modal .status-option input[type=checkbox]{margin:0}#kanban-config-modal .status-color{width:20px;height:20px;border-radius:50%;border:2px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a}#kanban-config-modal .status-name{flex:1;font-weight:500;color:#1e293b}#kanban-config-modal .config-options{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}#kanban-config-modal .config-options .checkbox-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;cursor:pointer;padding:12px;border-radius:8px;transition:all .2s ease}#kanban-config-modal .config-options .checkbox-label:hover{background:#f8fafc}#kanban-config-modal .config-options input[type=checkbox],#kanban-config-modal .status-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent, #3b82f6)}#kanban-config-modal .config-section h3{margin-bottom:12px;color:#1e293b;font-size:18px;font-weight:600}#kanban-config-modal .config-section p{color:#64748b;margin-bottom:20px;line-height:1.6;font-size:14px}#board-view .kanban-board{min-height:calc(100vh - 160px)!important;display:grid!important;grid-template-columns:repeat(6,1fr)!important;grid-template-rows:auto auto!important;gap:12px!important;padding:16px!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow-x:hidden!important;background:var(--background-color)!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(--background-color)!important;border-bottom:1px solid var(--border-color)!important}#board-view .kanban-column{display:flex!important;flex-direction:column!important;background:var(--card-color)!important;border-radius:var(--border-radius)!important;box-shadow:var(--elevation-1)!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:13px!important}#board-view .kanban-column .column-header h3{font-size:13px!important;margin:0!important}#board-view .job-card{padding:8px!important;margin-bottom:6px!important}#board-view .job-card .job-number{font-size:11px!important}#board-view .job-card,#board-view .job-card .job-customer{font-size:12px!important}#board-view .job-card .job-description{font-size:11px!important;line-height:1.3!important}.kanban-view-container{display:block!important;width:100%!important;height:auto!important;overflow:visible!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!important;gap:6px!important}.enquiry-section{background:#f8fafc;border-radius:8px;padding:10px;border:1px solid #e2e8f0}.enquiry-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b;padding-bottom:8px;border-bottom:2px solid #3b82f6}.enquiry-column{display:flex;flex-direction:column}.customer-name-container{position:relative}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:1000}.customer-suggestion{padding:12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s}.customer-suggestion:hover,.users-table tr:hover{background-color:#f9fafb}.customer-suggestion:last-child,.summary-table tbody tr:last-child td{border-bottom:none}.customer-suggestion .customer-main{font-weight:600;color:#1f2937;margin-bottom:2px}.customer-suggestion .customer-details,.field-error{font-size:12px;color:#6b7280}.postcode-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px #0000001a;max-height:250px;overflow-y:auto;z-index:1000}.postcode-suggestion{padding:10px 12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .15s;font-size:13px}.postcode-suggestion:hover{background-color:#f0f9ff}.postcode-suggestion:last-child{border-bottom:none}.postcode-suggestion .address-main{font-weight:500;color:#1f2937;margin-bottom:2px}.postcode-suggestion .address-secondary{font-size:12px;color:#6b7280}.postcode-loading{padding:16px;text-align:center;color:#6b7280;font-size:13px}.postcode-error{padding:12px;text-align:center;color:#dc2626;font-size:13px;background:#fef2f2}.field-error{color:#ef4444;margin-top:4px;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:100px}.form-control.error{border-color:#ef4444;background-color:#fef2f2}.form-control.success{border-color:#10b981;background-color:#f0fdf4}.contact-found-indicator{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#10b981;font-size:18px;pointer-events:none}.enquiry-status-accepted{border-left:4px solid #10b981}.enquiry-status-rejected{border-left:4px solid #ef4444}.enquiry-status-pending{border-left:4px solid #f59e0b}.enquiry-status-draft{border-left:4px solid #6b7280}.loading-customer-data{opacity:.6;pointer-events:none}.loading-customer-data:after{content:" (Loading...)";color:#6b7280;font-size:12px}#customer-postcode{text-transform:uppercase;font-family:monospace}#customer-postcode:invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.uk-address-section{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin:12px 0;background:#f9fafb}.uk-address-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.product-selector-modal .modal-content{width:95%;max-width:1400px;height:90vh;max-height:800px;background:#fff;border-radius:12px;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:#f8fafc;display:flex;flex-direction:column;border-right:3px solid #e5e7eb;min-width:0;min-height:0;overflow:hidden}.product-categories,.product-list-header{border-bottom:2px solid #e2e8f0;flex-shrink:0}.product-list-header{padding:20px 24px;background:#f1f5f9}.product-categories{padding:16px 24px;background:#fff;max-height:200px;overflow-y:auto}.product-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;background:#fff;min-height:0}.selected-products-summary{flex:1;background:#fefefe;display:flex;flex-direction:column;min-width:350px;border-left:1px solid #e5e7eb;min-height:0;overflow:hidden}.selected-products-header{padding:20px 24px;background:#f0fdf4;border-bottom:2px solid #d1fae5;flex-shrink:0}.selected-products-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;background:#fefefe;min-height:0}.product-selector-actions{padding:20px 24px;border-top:2px solid #e5e7eb;background:#f8fafc;display:flex;gap:12px;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:#f1f5f9;border-radius:4px}.product-categories::-webkit-scrollbar-thumb,.product-list::-webkit-scrollbar-thumb,.selected-products-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.product-categories::-webkit-scrollbar-thumb:hover,.product-list::-webkit-scrollbar-thumb:hover,.selected-products-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.product-categories,.product-list,.selected-products-list{scroll-behavior:smooth}.product-item:last-child,.selected-product-item:last-child{margin-bottom:20px}.product-item[draggable=true]{cursor:grab}.product-item[draggable=true]:active{cursor:grabbing}.product-item.dragging{opacity:.5;transform:scale(1.02);box-shadow:0 4px 12px #00000026}.product-drag-handle:hover{color:#007bff}.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:32px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.summary-card h3{font-size:.875rem;font-weight:600;color:#6b7280;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:2.5rem;font-weight:700;color:#1f2937;margin:0 0 8px;line-height:1}.summary-period{font-size:.75rem;color:#9ca3af;font-weight:500}.reports-container{display:flex;flex-direction:column;gap:32px}.reports-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a}.reports-panel.hidden{display:none}.data-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.panel-header{background:#f9fafb;display:flex;align-items:center;padding:10px;justify-content:space-between;flex-wrap:wrap;gap:16px}.panel-actions .search-container{display:flex;align-items:center;gap:4px}.panel-actions .search-input{width:200px}.panel-actions .panel-action,.panel-actions .search-input,.panel-actions .select-filter{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.panel-actions .select-filter{background:#fff;min-width:140px}.panel-actions .panel-action{background:#f3f4f6;color:#374151;cursor:pointer;transition:background-color .2s}.panel-actions .panel-action:hover{background:#e5e7eb}.panel-content{padding:0}.chart-container,.table-container{border:1px solid #e5e7eb;border-radius:8px}.chart-container{background:#fafafa;padding:20px;margin-bottom:24px;height:400px;position:relative}.chart-container canvas{max-height:100%;width:100%!important;height:100%!important}.table-container{background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table td,.summary-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#1f2937}.data-table .no-data{text-align:center;color:#6b7280;font-style:italic;padding:40px}.category-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.category-badge.category-windows{background:#dbeafe;color:#1d4ed8}.category-badge.category-doors{background:#fce7f3;color:#be185d}.category-badge.category-frames{background:#fef3c7;color:#d97706}.category-badge.category-glass{background:#d1fae5;color:#059669}.category-badge.category-hardware{background:#e0e7ff;color:#5b21b6}.category-badge.category-panels{background:#fed7aa;color:#ea580c}.category-badge.category-sashes{background:#f3f4f6;color:#374151}.category-badge.category-other{background:#f1f5f9;color:#475569}.performance.ontime{color:#059669;font-weight:600}.performance.over{color:#dc2626;font-weight:600}.performance.under,.revision-only label{color:#d97706;font-weight:600}.growth.positive{color:#059669;font-weight:600}.growth.negative{color:#dc2626;font-weight:600}.growth.neutral{color:#6b7280}.employee-tags{display:flex;flex-wrap:wrap;gap:4px}.employee-tag{background:#e5e7eb;color:#374151;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge{font-size:.75rem;text-transform:capitalize}.status-badge.status-active{background:#d1fae5;color:#059669}.status-badge.status-completed{background:#dbeafe;color:#1d4ed8}.status-badge.status-pending{background:#fef3c7;color:#d97706}.time-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.time-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.time-summary-card .card-header{background:#f9fafb;padding:16px;border-bottom:1px solid #e5e7eb}.employee-header h4,.time-summary-card .card-header h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.time-summary-card .card-content{padding:16px}.stat-row{align-items:center}.stat-row:last-child{margin-bottom:0}.stat-label,.stat-value{font-size:.875rem}.performance-bar{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;display:flex}.bar-segment{height:100%;transition:width .3s ease}.bar-segment.ontime{background:#10b981}.bar-segment.over{background:#ef4444}.bar-segment.under{background:#f59e0b}.employee-breakdown{margin-top:32px}.employee-breakdown h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 20px}.employee-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.employee-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:transform .2s,box-shadow .2s}.employee-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.employee-header{justify-content:space-between}.efficiency-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.efficiency-badge.efficiency-high{background:#d1fae5;color:#059669}.efficiency-badge.efficiency-medium{background:#fef3c7;color:#d97706}.efficiency-badge.efficiency-low{background:#fee2e2;color:#dc2626}.employee-stats{margin-bottom:16px}.stat-item{margin-bottom:8px}.stat-item:last-child{margin-bottom:0}.indicator{font-size:.75rem;min-width:24px;text-align:center}.indicator.ontime{background:#d1fae5}.indicator.over{background:#fee2e2}.indicator.under{background:#fef3c7}#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:#f9fafb;border-radius:8px;padding:12px;margin-bottom:12px}.efficiency-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e5e7eb}.efficiency-row:last-child{border-bottom:none}.efficiency-row.variance-row{font-weight:600;margin-top:4px;padding-top:10px;border-top:2px solid #e5e7eb;border-bottom:none}.efficiency-row.variance-row.over{color:#dc2626}.efficiency-row.variance-row.under{color:#16a34a}.efficiency-row.variance-row.ontime{color:#6b7280}.no-estimate-notice{text-align:center;padding:20px;color:#6b7280;font-style:italic;background:#f9fafb;border-radius:8px}.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:12px;gap:8px}.employee-card.enhanced .employee-header h4{margin:0;font-size:15px;font-weight:600;color:#1f2937;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:24px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.employee-stats-row .stat-item{display:flex;flex-direction:column;align-items:center;margin-bottom:0}.employee-stats-row .stat-value{font-size:18px;font-weight:700;color:#1f2937}.employee-stats-row .stat-label{font-size:11px;color:#6b7280;text-transform:uppercase}.employee-card.enhanced .metrics-section{flex:1}.dept-breakdown-table{width:100%;border-collapse:collapse;font-size:12px}.dept-breakdown-table th{padding:6px 8px;background:#f9fafb;font-weight:600;color:#6b7280;text-align:left;border-bottom:1px solid #e5e7eb;font-size:11px}.dept-breakdown-table td{padding:6px 8px;border-bottom:1px solid #f3f4f6;color:#374151}.dept-breakdown-table .text-right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.dept-breakdown-table tr.primary-dept{background:#f0f9ff;font-weight:500}.dept-breakdown-table tr.primary-dept td:first-child{color:#0369a1}.dept-breakdown-table td.efficiency-high{color:#16a34a;font-weight:600}.dept-breakdown-table td.efficiency-medium{color:#d97706;font-weight:600}.dept-breakdown-table td.efficiency-low{color:#dc2626;font-weight:600}.dept-badge{display:inline-block;padding:3px 8px;background:#e0f2fe;color:#0369a1;border-radius:10px;font-size:11px;font-weight:500}.employee-card.enhanced .efficiency-badge{padding:3px 8px;font-size:11px}.kpi-dashboard{margin-bottom:32px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.kpi-card h4{font-size:1rem}.kpi-card h4,.summary-section h3{margin:0 0 16px;font-weight:600;color:#1f2937}.kpi-chart{height:200px;background:#f9fafb;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.875rem}.kpi-metrics{display:flex;flex-direction:column;gap:12px}.metric-item{display:flex;justify-content:space-between;align-items:center}.metric-label{font-size:.875rem}.metric-value,.summary-section h3{font-size:1.125rem}.metric-value.positive{color:#059669}.metric-value.negative{color:#dc2626}.summary-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:32px;margin-top:32px}.summary-table{width:100%;border-collapse:collapse;font-size:.875rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.summary-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.loading-state{padding:60px 20px;color:#6b7280;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-state .spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0 0 12px}.empty-state p{font-size:1rem;margin:0 0 24px}.empty-state .action-button{padding:12px 24px;background:#3b82f6;color:#fff;border:0;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.empty-state .action-button:hover{background:#2563eb}.offline-banner{background:#fef3c7;font-size:.875rem;border:1px solid #f59e0b;margin-bottom:20px}.chart-container .chartjs-size-monitor,.enhanced-header:before{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.chart-container .chartjs-size-monitor{overflow:hidden;visibility:hidden;z-index:-1}.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:#fff;border-radius:16px;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:linear-gradient(135deg,#667eea 0,#764ba2);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{content:"";background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%)}.header-content{flex:1;z-index:1}.modal-title{font-size:28px;font-weight:700;margin:0 0 12px;line-height:1.2}.job-badges{display:flex;gap:8px;flex-wrap:wrap}.job-badge{display:inline-flex;align-items:center;gap:0;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.job-badge.success{background:#22c55e33;border:1px solid rgba(34,197,94,.3);color:#fffffff2}.job-badge.warning{background:#fbbf2433;border:1px solid rgba(251,191,36,.3);color:#fffffff2}.job-badge.danger{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#fffffff2}.job-badge.info{background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#fffffff2}.job-badge.neutral{background:#9ca3af33;border:1px solid rgba(156,163,175,.3);color:#fffffff2}.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:20px;font-weight:300}.enhanced-body{flex:1;overflow-y:auto;padding:0;background:#f8fafc}.section-header{gap:12px}.section-icon{font-size:24px;width:48px;height:48px;background:linear-gradient(135deg,#667eea 0,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #667eea63}.section-title{font-size:22px;font-weight:700;color:#1e293b;margin:0;line-height:1.2}.section-subtitle{color:#64748b;font-size:14px;margin:4px 0 0;font-weight:500}.overview-section{background:#fff;padding:32px;border-bottom:1px solid #e2e8f0}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}.card-icon,.overview-card{background:#fff;display:flex;align-items:center}.overview-card{border:2px solid #e2e8f0;border-radius:12px;padding:20px;gap:16px;transition:all .3s ease;box-shadow:0 1px 3px #0000001a}.overview-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a}.overview-card.primary{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe 0,#eff6ff)}.overview-card.secondary{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe 0,#f3f4f6)}.overview-card.accent{border-color:#06b6d4;background:linear-gradient(135deg,#cffafe 0,#f0f9ff)}.overview-card.performance.ontime,.overview-card.performance.under,.overview-card.success{border-color:#10b981;background:linear-gradient(135deg,#d1fae5 0,#ecfdf5)}.overview-card.performance.over{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7 0,#fffbeb)}.overview-card.performance.no-data,.overview-card.performance.not-started{border-color:#6b7280;background:linear-gradient(135deg,#f3f4f6 0,#f9fafb)}.card-icon{font-size:24px;width:48px;height:48px;border-radius:8px;justify-content:center;box-shadow:0 2px 8px #0000001a}.card-content{flex:1}.card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:4px}.card-value{font-size:20px;font-weight:700;color:#1e293b;line-height:1.1}.main-content-sections{display:flex;flex-direction:column;gap:0}.analysis-section{background:#fff;padding:32px;border-bottom:1px solid #e2e8f0}.analysis-section.activity-analysis,.analysis-section.time-analysis{width:100%}.time-breakdown-container{margin-top:20px}.time-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.breakdown-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease}.breakdown-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.breakdown-card.total{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe 0,#eff6ff)}.breakdown-card.workshop{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe 0,#f5f3ff)}.breakdown-card.install{border-color:#10b981;background:linear-gradient(135deg,#d1fae5 0,#ecfdf5)}.breakdown-card.other{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7 0,#fffbeb)}.breakdown-card .card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.breakdown-card .card-icon{font-size:18px;width:36px;height:36px}.breakdown-card .card-title,.team-header h5{font-size:16px;font-weight:600;color:#1e293b;margin:0}.team-header h5{font-size:14px}.breakdown-card .card-body{text-align:center}.primary-value{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.card-subtitle{font-size:12px;color:#64748b;margin-bottom:12px}.progress-mini{height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.progress-mini-fill{height:100%;border-radius:3px;transition:width .6s ease}.progress-mini-fill.workshop{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.progress-mini-fill.install{background:linear-gradient(90deg,#10b981,#34d399)}.progress-mini-fill.other{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.activity-breakdown-container{margin-top:20px}.activities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:24px}.activity-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.activity-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.activity-card.top-activity{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb 0,#fefce8)}.activity-card.workshop{border-color:#8b5cf6}.activity-card.install{border-color:#10b981}.activity-card.finishing{border-color:#ec4899}.activity-card.admin{border-color:#3b82f6}.activity-card.other{border-color:#6b7280}.top-activity-badge{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;box-shadow:0 2px 8px #f59e0b4d;z-index:10}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.activity-card.top-activity .activity-header{margin-top:8px}.activity-icon,.activity-info{display:flex;align-items:center}.activity-info{gap:12px;flex:1;margin-left:0}.activity-card.top-activity .activity-info{margin-left:80px}.activity-icon{font-size:24px;width:48px;height:48px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;justify-content:center}.activity-details{flex:1}.activity-name{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 4px;line-height:1.2}.activity-category{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.activity-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:4px;position:relative;z-index:5}.primary-metric,.secondary-metric{text-align:right}.metric-value,.summary-header h4{font-size:18px;font-weight:700;color:#1e293b}.metric-value{display:block;line-height:1}.metric-label{display:block;font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.activity-progress{margin:20px 0}.progress-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-fill.workshop{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.progress-fill.install{background:linear-gradient(90deg,#10b981,#34d399)}.progress-fill.finishing{background:linear-gradient(90deg,#ec4899,#f472b6)}.progress-fill.admin{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.progress-fill.other{background:linear-gradient(90deg,#6b7280,#9ca3af)}.progress-labels{display:flex;justify-content:space-between;font-size:10px;color:#64748b;font-weight:500}.activity-team{border-top:1px solid #e2e8f0;padding-top:16px}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.team-count{font-size:12px;color:#64748b;font-weight:500}.team-members{display:flex;flex-direction:column;gap:8px}.team-member{background:#f8fafc;border-radius:8px;padding:12px}.member-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.member-name{font-size:13px;font-weight:600;color:#1e293b}.member-hours{font-size:12px;font-weight:700;color:#3b82f6}.member-progress{display:flex;align-items:center;gap:8px}.member-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.member-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;transition:width .6s ease}.member-percentage{font-size:10px;font-weight:600;color:#64748b;min-width:28px;text-align:right}.activity-summary{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;margin-top:20px}.summary-header h4{margin:0 0 16px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-item{justify-content:space-between;padding:12px 16px;background:#f8fafc;border-radius:8px}.stat-label{font-weight:500}.team-section{background:#fff;padding:32px;border-bottom:1px solid #e2e8f0}.team-grid{margin-top:20px}.enhanced-employee-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.employee-card-enhanced{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.employee-card-enhanced:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.employee-card-enhanced.primary{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe 0,#eff6ff)}.employee-card-enhanced.secondary{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe 0,#f5f3ff)}.employee-card-enhanced.supporting{border-color:#6b7280;background:linear-gradient(135deg,#f3f4f6 0,#f9fafb)}.employee-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.employee-avatar{width:48px;height:48px;background:#fff;border:2px solid rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.avatar-icon{font-size:20px}.employee-info{flex:1}.employee-name{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 4px;line-height:1.2}.employee-role{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.employee-badge{font-size:20px;opacity:.8}.employee-metrics{margin-top:16px}.metric-group{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.metric-item{text-align:center;padding:12px;background:#ffffffb3;border-radius:8px}.metric-item.primary .metric-value{color:#3b82f6}.metric-item.secondary .metric-value{color:#8b5cf6}.metric-item .metric-value{display:block;font-size:18px;font-weight:700;line-height:1.1;margin-bottom:4px}.metric-item .metric-label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.contribution-bar{height:8px;background:#0000001a;border-radius:4px;overflow:hidden;margin-bottom:8px}.contribution-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.contribution-fill.primary{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.contribution-fill.secondary{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.contribution-fill.supporting{background:linear-gradient(90deg,#6b7280,#9ca3af)}.contribution-label{text-align:center;font-size:12px;color:#64748b}.no-activity-data.enhanced,.no-employees.enhanced{padding:40px;text-align:center}.no-data-illustration{max-width:300px;margin:0 auto}.no-data-icon{font-size:48px;margin-bottom:16px;opacity:.6}.no-data-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:8px}.no-data-subtitle{font-size:14px;color:#64748b;line-height:1.5}.enhanced-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:20px 32px}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-info{flex:1}.info-text{font-size:13px;color:#64748b;font-weight:500}.footer-actions{display:flex;gap:12px}.btn{padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;border:0;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}.btn-secondary{background:#fff;color:#64748b;border:2px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.employee-count-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.employee-count-btn:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.estimated-breakdown-display{display:flex;flex-direction:column;gap:4px;font-size:12px}.estimate-item{display:flex;justify-content:space-between;align-items:center;padding:2px 6px;border-radius:3px;min-width:140px}.estimate-item.total{background:#f8fafc;border:1px solid #cbd5e1;font-weight:600;color:#475569}.estimate-item.workshop{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.estimate-item.install{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.estimate-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.estimate-value{font-size:11px}.efficiency-breakdown{display:flex;flex-direction:column;align-items:center;gap:2px}.overall-efficiency{font-weight:600;font-size:14px;color:#111827}.breakdown-detail{display:flex;align-items:center;gap:2px;font-size:10px}.breakdown-efficiency{font-weight:600;font-size:10px;padding:1px 3px;border-radius:2px;min-width:24px;text-align:center}.breakdown-efficiency.good{background:#d1fae5;color:#065f46}.breakdown-efficiency.ok{background:#fef3c7;color:#92400e}.breakdown-efficiency.poor{background:#fee2e2;color:#991b1b}.performance-breakdown{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.overall-performance{font-weight:600;font-size:12px;margin-bottom:2px}.department-performance{font-size:10px;line-height:1.2}.department-performance.workshop{color:#2563eb}.department-performance.install{color:#16a34a}.time-breakdown-display{display:flex;flex-direction:column;gap:4px;font-size:12px}.time-item{display:flex;justify-content:space-between;align-items:center;padding:2px 6px;border-radius:3px;min-width:140px}.time-item.total{background:#f3f4f6;border:1px solid #d1d5db;font-weight:600}.time-item.workshop{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.time-item.install{background:#d1fae5;border:1px solid #86efac;color:#065f46}.time-item.other{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.time-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.time-value{font-size:11px}.ontime{color:#059669}.under{color:#0891b2}.over{color:#dc2626}.not-started{color:#6b7280}.no-data{color:#9ca3af}.performance-indicators{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.indicator{font-size:10px;font-weight:500;padding:2px 4px;border-radius:3px;white-space:nowrap}.indicator.ontime{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.indicator.under{background:#ecfeff;color:#164e63;border:1px solid #a5f3fc}.indicator.over{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.indicator.no-data{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.activity-card,.breakdown-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 #3b82f6;outline-offset:2px}.btn:focus,.enhanced-close:focus{outline:2px solid #3b82f6;outline-offset:2px}.horizontal-stats{display:flex;flex-direction:column;gap:12px}.stat-item,.stats-row{display:flex;align-items:center}.stats-row{flex-wrap:wrap;gap:16px;justify-content:space-between}.stat-item{flex-direction:column;min-width:60px;gap:4px}.stat-item .stat-label{font-size:11px;color:#6b7280;font-weight:500;text-align:center}.stat-item .stat-value{font-size:14px;font-weight:600;color:#1f2937;text-align:center}.performance-breakdown{border-top:1px solid #e5e7eb;padding-top:8px;margin-top:4px}.performance-summary{display:flex;justify-content:center;gap:12px;align-items:center}.ontime-count,.over-count{font-size:12px;font-weight:500}.stats-row.compact{flex-wrap:nowrap;gap:8px}.compact .stat-item{flex-direction:row;min-width:auto;gap:4px}.compact .stat-item .stat-label{font-size:10px}.compact .stat-item .stat-value{font-size:12px}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.user-management-actions,.user-stats{display:flex;gap:10px}.user-stats{gap:15px}.stat-card{display:flex;flex-direction:column;align-items:center}.stat-icon{font-size:18px;margin-bottom:4px}.stat-count{font-size:16px;font-weight:600;color:#1f2937}.users-table-container{margin:20px 0;overflow:hidden}.users-table-container table{margin:0;border:0}.user-actions{justify-content:center}.user-action-btn{background:#f3f4f6;color:#374151;transition:all .2s ease}.user-action-btn:hover{background:#e5e7eb}.user-action-btn.edit{background:#dbeafe}.user-action-btn.toggle{background:#fef3c7}.user-action-btn.delete{background:#fee2e2}.role-badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.role-badge.admin{background:#fef3c7}.role-badge.workshop{background:#dbeafe}.role-badge.install{background:#fff3cd}.role-badge.refurb{background:#d1ecf1}.role-badge.screen{background:#e0e7ff}.user-status-badge.active{background:#d1fae5}.user-status-badge.inactive{background:#fee2e2}.user-management-help{margin-top:30px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:15px 0}.help-item{background:#fff;padding:15px;border-radius:6px;border:1px solid #e5e7eb}.help-item h5{margin:0 0 10px;color:#1f2937}.help-item ul{margin:0;padding-left:20px;font-size:14px;color:#6b7280}.help-item li{margin-bottom:4px}.help-note{margin-top:15px;padding:12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;font-size:14px;color:#92400e}.permission-editor{max-height:70vh;overflow-y:auto}.permission-sections{margin:20px 0}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:10px 0}.checkbox-label{padding:8px;border-radius:4px;transition:background-color .2s ease}.checkbox-label:hover{background:#f3f4f6}.checkbox-label input[type=checkbox]{margin:0}.permission-preview{max-height:200px;overflow-y:auto;padding:15px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.preview-section{margin-bottom:15px}.preview-section:last-child{margin-bottom:0}.preview-section ul{margin:5px 0 0;padding-left:20px}.preview-section li{margin:3px 0 2px;color:#6b7280}.large-modal{width:90vw}.enquiries-modal-layout{display:block;height:100%;overflow:hidden;padding-right:16px}.enquiries-main-content{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;overflow:hidden;padding-right:8px;padding-left:16px;height:100%}.enquiries-main-content .enquiry-column,.enquiries-main-content .enquiry-section{overflow-y:auto;max-height:100%;padding-right:8px}.enquiry-revisions-panel{display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow-y:auto;padding:20px;max-height:100%}.revisions-header{padding-bottom:12px;border-bottom:1px solid #e2e8f0}.revisions-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.revisions-actions{display:flex;gap:8px}.revision-info{margin-bottom:16px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.revision-summary{font-size:14px}.stat{font-size:12px;padding:2px 6px;background:#f1f5f9;border-radius:4px;color:#475569}.revisions-list-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.revision-comparison h4,.revisions-list-container h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.enquiry-revisions-list{flex:1;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.no-revisions p{font-weight:500;font-size:16px;margin:0 0 8px;color:#374151}.revision-item:last-child{border-bottom:none}.revision-item:hover{background:#f8fafc}.revision-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.revision-item.active{background:#f0fdf4;border-left:3px solid #10b981}.revision-item.active.selected{background:#ecfdf5;border-left:3px solid #059669;border-color:#10b981;background-color:#d1fae5}.revision-description{line-height:1.4}.revision-changes{display:flex;justify-content:space-between;align-items:center}.change-value{font-size:13px}.change-status{background:#f1f5f9}.revision-comparison{margin-top:16px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.comparison-content{font-size:13px}.change-item{padding:6px 0;border-bottom:1px solid #f1f5f9}.change-item:last-child{border-bottom:none}.change-field{font-weight:500;color:#374151}.change-values{color:#64748b;font-size:12px}.change-from{text-decoration:line-through;color:#ef4444}.change-to{color:#10b981;font-weight:500}.revision-only{border:2px dashed #fbbf24;background:#fffbeb;border-radius:6px;padding:12px}.btn.small{padding:6px 12px;font-size:12px;line-height:1.2;height:24px!important}.revision-indicator{background:#eff6ff;color:#1d4ed8;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:500;white-space:nowrap}.currency-input{position:relative}.currency-symbol{position:absolute;color:#6b7280;font-weight:500;z-index:1}.description-container{position:relative}.description-container button{position:absolute;top:8px;right:8px;z-index:2}.loading-container{display:flex;align-items:center;justify-content:center;padding:20px;color:#6b7280}.loading-container .spinner{width:16px;height:16px;margin-right:8px}.revision-item{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;background:#fff;transition:all .2s ease}.revision-item.selected{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 0 1px #3b82f6}.revision-item.active{border-color:#10b981;background-color:#ecfdf5}.revision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.revision-version{display:flex;align-items:center;gap:8px}.version-number{font-weight:600;font-size:14px;color:#374151}.active-badge{background:#10b981;color:#fff;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.revision-date{font-size:12px;color:#6b7280}.revision-content{margin-bottom:12px}.revision-description{font-size:14px;color:#374151;margin-bottom:8px}.change-summary{display:flex;align-items:center;gap:12px;margin-bottom:4px}.change-value{font-weight:600;color:#059669}.change-status,.revision-actions .btn{font-size:12px;border-radius:4px;color:#374151}.change-status{background:#f3f4f6;padding:2px 6px}.changes-summary{font-size:12px;color:#6b7280;font-style:italic}.revision-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.revision-actions .btn{padding:4px 8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.revision-actions .btn:hover:not(:disabled){background:#f9fafb;transform:translateY(-1px)}.revision-actions .btn:disabled{opacity:.5;cursor:not-allowed}.revision-actions .btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.revision-actions .btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.revision-actions .btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.revision-actions .btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.revision-actions .btn-danger:disabled{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db}.no-revisions{text-align:center;padding:40px 20px;color:#6b7280}.no-revisions small{font-size:14px;color:#9ca3af}.enquiry-revisions-panel{border-top:1px solid #e5e7eb;padding-top:20px}.revisions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.revisions-header h4{margin:0;color:#374151;font-size:16px}#create-revision-btn{background:#059669;color:#fff;border:0;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s ease}#create-revision-btn:hover{background:#047857}.revision-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;margin-bottom:16px}.revision-details{display:flex;flex-direction:column;gap:4px}.revision-title{font-weight:600;color:#374151}.revision-meta{font-size:12px;color:#6b7280}.revision-stats{display:flex;gap:16px;margin-top:8px}.revision-stats .stat{font-size:14px;color:#374151}.revision-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;flex-wrap:wrap;gap:12px}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-btn{display:inline-flex;align-items:center;gap:0;padding:6px 12px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.toolbar-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toolbar-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6;color:#9ca3af}.toolbar-btn.primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.toolbar-btn.primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.toolbar-btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.toolbar-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.toolbar-btn.secondary{background:#6b7280;color:#fff;border-color:#6b7280}.toolbar-btn.secondary:hover:not(:disabled){background:#4b5563;border-color:#4b5563}.toolbar-btn kbd{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:3px;padding:2px 4px;font-size:10px;font-family:monospace;margin-left:6px;opacity:.8}.toolbar-btn:not(.primary):not(.danger):not(.secondary) kbd{background:#0000001a;border-color:#0003;color:#6b7280}.revision-item{position:relative;cursor:pointer}.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:#3b82f6}.revision-item.active:before{background:#10b981}.revision-item.active.selected:before{background:linear-gradient(to bottom,#3b82f6,#10b981)}.revision-actions{margin-top:12px;padding-top:8px;border-top:1px solid #f3f4f6}.revision-item.delete-confirm{border-color:#ef4444;background-color:#fef2f2;animation:deleteConfirmPulse .5s ease-in-out}.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 #f3f4f6;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.revision-item.success{border-color:#10b981;background-color:#ecfdf5;animation:successFlash 1s ease-out}.revision-item.error{border-color:#ef4444;background-color:#fef2f2;animation:errorShake .5s ease-out}#save-job-btn,#save-order-btn,#save-product-form,#save-settings-btn,.form-actions button[type=submit],.modal-footer button[type=submit]{background-color:var(--color-accent, #4f46e5);color:#fff;opacity:1}.save-btn-disabled,button[disabled]{opacity:.6!important;cursor:not-allowed!important}.save-btn-disabled{background-color:#9ca3af!important}.save-btn-active{opacity:1!important;cursor:pointer!important;background-color:var(--color-accent, #4f46e5)!important}#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:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}#user-permission-modal .secondary-button{background-color:#6b7280;min-width:100px}#user-permission-modal .action-button:hover,#user-permission-modal .secondary-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}#user-permission-modal .secondary-button:hover{background-color:#4b5563}#user-permission-modal .action-button{padding:10px 20px;background-color:var(--color-accent, #4f46e5);min-width:120px}#user-permission-modal .action-button:hover{background-color:#4338ca}#user-permission-modal .action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}#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}#user-permission-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 8px 8px;position:sticky;bottom:0;z-index:10}#user-permission-modal .form-section{margin-bottom:24px;padding:20px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}#user-permission-modal .form-section h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}#user-permission-modal .help-text{color:#6b7280;font-size:14px;margin:0 0 16px}#user-permission-modal .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}#user-base-role,#user-permission-modal .checkbox-label{border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer}#user-permission-modal .checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 12px;transition:all .2s ease;border:1px solid #e5e7eb}#user-permission-modal .checkbox-label:hover{background-color:#f3f4f6;border-color:#d1d5db}#user-permission-modal .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent, #4f46e5)}#user-base-role{width:100%;padding:10px 12px;border:1px solid #d1d5db;transition:border-color .2s ease}#user-base-role:focus{outline:0;border-color:var(--color-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}#user-permission-modal .permission-preview{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;max-height:300px;overflow-y:auto}#user-permission-modal .preview-section{margin-bottom:16px}#user-permission-modal .preview-section:last-child{margin-bottom:0}#user-permission-modal .preview-section strong{display:block;margin-bottom:8px;color:#374151;font-size:14px}#user-permission-modal .preview-section ul{margin:0;padding-left:20px;list-style:none}#user-permission-modal .preview-section li{padding:4px 0;font-size:13px;color:#4b5563}#user-permission-modal .modal-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}#user-permission-modal .modal-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}#user-permission-modal .modal-close{background:0 0;border:0;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}#user-permission-modal .modal-close:hover{background-color:#f3f4f6;color:#374151}#user-permission-modal .modal-body{padding:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto 1fr!important;max-height:none!important}.enquiry-status-item{border:1px solid var(--border-color);background:var(--background-primary)}.enquiry-status-item:hover{box-shadow:0 2px 4px #0000001a}.enquiry-status-item.dragging{opacity:.5}.status-value{color:var(--text-secondary);font-style:italic}.status-preview-container{background:var(--background-secondary);display:flex;flex-wrap:wrap;gap:8px;min-height:60px;align-items:center}#new-quote-status-input,#new-quote-status-label{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px}#new-quote-status-color{width:50px;height:36px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.settings-tabs{display:flex;flex-direction:row;width:100%;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;gap:4px}.settings-tab{padding:10px 20px;background:0 0;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s ease;font-size:14px;color:#374151;white-space:nowrap;border:1px solid transparent}.settings-tab:hover{background-color:#e5e7eb}.settings-tab.active{background-color:#fff;color:#4f46e5;font-weight:500;border:1px solid #e5e7eb;border-bottom:1px solid #fff;margin-bottom:-1px}.settings-tab-content{display:none}.settings-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #e5e7eb}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.settings-section h4{font-size:16px;font-weight:600;color:#374151;margin:20px 0 12px}.settings-description,.settings-section p{color:#6b7280;line-height:1.5;font-size:13px;margin:0 0 16px}.settings-section p{font-size:14px;margin:0 0 20px}.empty-message{padding:40px 20px;color:#6b7280}.empty-message,.loading-placeholder{text-align:center;font-size:14px}.order-status-item,.enquiry-status-item,.settings-item,.team-member-item{display:flex;align-items:center;padding:12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;transition:all .2s ease;cursor:move}.settings-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.settings-item.dragging{opacity:.5;transform:scale(.95)}.settings-item-content{display:flex;align-items:center;width:100%;gap:12px}.drag-handle{color:#9ca3af;cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px;width:20px;text-align:center}.drag-handle:active{cursor:grabbing}.status-color-dot,.status-color-preview{width:24px;height:24px;border-radius:4px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.settings-item-name{flex:1;font-size:14px;color:#374151;font-weight:500}.status-value{font-size:13px;color:#6b7280;font-weight:400;margin-left:4px}.settings-item-actions{display:flex;align-items:center;gap:8px}.status-color-picker{border:1px solid #d1d5db;cursor:pointer}.color-picker-group{display:flex;align-items:center;gap:2px}.table-color-group{position:relative}.table-color-picker{width:28px;height:28px;padding:2px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.clear-table-color-btn{width:18px;height:18px;padding:0;border:none;background:#ef4444;color:#fff;border-radius:50%;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.clear-table-color-btn:hover{background:#dc2626}.clear-table-color-btn.hidden{display:none}.item-action-btn{padding:6px;border:0;background:0 0;cursor:pointer;font-size:16px;transition:all .2s ease;border-radius:4px}.item-action-btn:hover,th[data-sort]:hover{background-color:#f3f4f6}.item-action-btn.delete:hover{background-color:#fee2e2}.add-item-container,.settings-add-item{display:flex;gap:10px;align-items:center;margin-top:12px}.add-item-container input[type=text],.settings-add-item input[type=text]{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease}.add-item-container input[type=text]:focus,.settings-add-item input[type=text]:focus,.settings-section .form-group input:focus,.settings-section .form-group select:focus{outline:0;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.add-item-container input[type=color],.settings-add-item input[type=color]{width:50px;height:40px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:2px}.add-item-container button,.button.primary,.settings-add-item button{padding:10px 16px;background-color:#4f46e5;color:#fff;border:0;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-item-container button:hover,.button.primary:hover,.settings-add-item button:hover{background-color:#4338ca;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.settings-section .form-group{margin-bottom:20px}.settings-section .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.settings-section .form-group input,.settings-section .form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease}.order-settings-preview,.status-preview-container{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-top:20px}.preview-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}.status-badge{margin:4px}.kanban-config-section{margin-bottom:30px}.kanban-columns-container{display:grid;grid-template-columns:1fr 60px 1fr;gap:20px;align-items:start;margin-top:20px}.kanban-column{border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb;overflow:hidden}.kanban-column h5{margin:0;padding:12px 16px;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151}.status-list{min-height:200px;padding:12px}.status-list-item{display:flex;align-items:center;padding:10px 12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;margin:4px 0 8px;cursor:pointer;transition:all .2s ease}.status-list-item:hover{border-color:#d1d5db;transform:translate(2px)}.status-list-item.selected{background-color:#eff6ff;border-color:#4f46e5}.users-table{width:100%;border-collapse:collapse;margin-top:20px}.users-table td,.users-table th{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.users-table th{background-color:#f9fafb;font-weight:600;color:#374151;font-size:14px}#settings-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:1px solid #e5e7eb}#settings-modal .standard-buttons{display:flex;gap:12px}#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:#fff;min-height:0}#settings-modal .modal-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.settings-items-container,.settings-list-container{min-height:150px;max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:12px;background-color:#f9fafb;margin-bottom:16px}.stock-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.stock-status.in-stock{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.stock-status.low-stock{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.stock-status.out-of-stock{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.stock-status.discontinued{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;text-decoration:line-through}.inventory-row.low-stock{background-color:#fffbeb;border-left:3px solid #f59e0b}.inventory-row.out-of-stock{background-color:#fef2f2;border-left:3px solid #ef4444}.inventory-row.discontinued{background-color:#f9fafb;border-left:3px solid #9ca3af;opacity:.7}.status-indicators{margin-top:16px;padding:12px;background-color:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;border-radius:4px;font-size:14px;font-weight:500}.status-indicator:last-child{margin-bottom:0}.status-indicator.low-stock{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-indicator.out-of-stock{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.status-indicator.good-stock{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.status-indicator.hidden{display:none}#inventory-status-filter[value="In Stock"]{background-color:#d1fae5;border-color:#10b981}#inventory-status-filter[value="Low Stock"]{background-color:#fef3c7;border-color:#f59e0b}#inventory-status-filter[value="Out of Stock"]{background-color:#fee2e2;border-color:#ef4444}#inventory-status-filter[value=Discontinued]{background-color:#f3f4f6;border-color:#9ca3af}#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(--border-color, #e5e7eb);vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}#enquiries-table tbody td{font-size:13px;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:13%;min-width:110px}#enquiries-table td:nth-child(2),#enquiries-table th:nth-child(2){width:20%;min-width:150px}#enquiries-table td:nth-child(3),#enquiries-table th:nth-child(3){width:9%;min-width:85px;text-align:center}#enquiries-table td:nth-child(4),#enquiries-table th:nth-child(4){width:9%;min-width:75px;text-align:right}#enquiries-table td:nth-child(5),#enquiries-table th:nth-child(5){width:7%;min-width:65px;text-align:center}#enquiries-table td:nth-child(6),#enquiries-table th:nth-child(6){width:11%;min-width:85px}#enquiries-table td:nth-child(7),#enquiries-table th:nth-child(7){width:11%;min-width:85px}#enquiries-table td:nth-child(8),#enquiries-table th:nth-child(8){width:11%;min-width:90px}#enquiries-table td:nth-child(9),#enquiries-table th:nth-child(9){width:9%;min-width:85px}#enquiries-table thead th{background:#f9fafb;font-weight:500;color:var(--color-text-secondary);font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:1px solid #e5e7eb;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, #f3f4f6)}#enquiries-table th[data-sort] .sort-indicator{margin-left:4px;font-size:12px;color:var(--text-secondary, #6b7280)}#enquiries-table th[data-sort].sorted .sort-indicator{color:var(--primary-color, #3b82f6);font-weight:700}#enquiries-table .status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-align:center;min-width:60px}#enquiries-table .revision-indicator{font-size:11px;color:var(--text-secondary, #6b7280);background:var(--background-secondary, #f3f4f6);padding:2px 6px;border-radius:3px;margin-left:8px}#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.valid-until,#enquiries-table td.accepted-date{font-size:13px;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:12px;color:#000;margin-top:2px}.revision-placeholder{padding:20px;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9);border:2px dashed #cbd5e1;border-radius:12px;text-align:center;margin:10px 0}.revision-placeholder .placeholder-content{max-width:100%}.revision-placeholder-content{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.revision-placeholder-content .placeholder-icon{font-size:32px;color:#64748b}.revision-placeholder-content .placeholder-text h4{margin:0 0 8px;color:#334155;font-size:18px;font-weight:600}.revision-placeholder-content .placeholder-text p{margin:0;color:#64748b;font-size:14px}.placeholder-steps{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0}.placeholder-step{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.placeholder-step:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.step-number{flex-shrink:0;width:32px;height:32px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step-text{flex:1}.step-text strong{display:block;color:#1e293b;font-size:15px;margin-bottom:4px}.no-revisions-info .info-content p,.step-text p{margin:0;color:#64748b;font-size:13px;line-height:1.4}.placeholder-features{margin:20px 0;padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;text-align:left}.no-revisions-text h4,.placeholder-features h5{color:#1e293b;font-weight:600;margin:0 0 8px;font-size:20px}.placeholder-features h5{margin:0 0 12px;font-size:14px}.placeholder-features ul{margin:0;padding:0;list-style:none}.placeholder-features li{padding:4px 0;color:#64748b;font-size:13px;display:flex;align-items:center;gap:8px}.placeholder-tip{margin-top:20px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px;color:#92400e;font-size:13px;line-height:1.4}.placeholder-tip strong{color:#78350f}.revision-placeholder{animation:fadeInSlide .3s ease-out}.placeholder-tip{animation:subtlePulse 2s ease-in-out infinite}.no-revisions-existing{padding:24px;background:linear-gradient(135deg,#fefefe 0,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;text-align:center;margin:10px 0}.no-revisions-content{max-width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.icon-container,.no-revisions-icon{position:relative}.icon-container{display:inline-block}.main-icon{font-size:48px;color:#64748b;display:block}.plus-icon,.revision-benefits li{display:flex;align-items:center;background:#fff}.plus-icon{position:absolute;top:-8px;right:-8px;font-size:20px;color:#3b82f6;border-radius:50%;width:28px;height:28px;justify-content:center;box-shadow:0 2px 8px #0000001a;animation:bounceIn .6s ease-out}.no-revisions-text{text-align:center}.no-revisions-text>p{margin:0 0 16px;color:#64748b;font-size:14px;line-height:1.5}.revision-benefits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;max-width:400px}.revision-benefits li{color:#475569;font-size:13px;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.revision-benefits li:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.no-revisions-action{display:flex;flex-direction:column;align-items:center;gap:8px}.create-first-revision{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:0;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3b82f64d}.create-first-revision:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.create-first-revision:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.action-help{margin:0;color:#64748b;font-size:12px;text-align:center;max-width:300px;line-height:1.4}.no-revisions-readonly{padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.readonly-message{margin:0;color:#64748b;font-size:13px;text-align:center}.no-revisions-info{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.no-revisions-info .info-icon{font-size:24px;color:#64748b}.no-revisions-info .info-content h4{margin:0 0 4px;color:#1e293b;font-size:16px;font-weight:600}#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:#f8fafc;border-bottom:2px solid #e2e8f0;border-right:1px solid #e2e8f0;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis}.offline-banner,.update-banner{padding:12px 20px;animation:slideDown .3s ease}.update-banner{top:0;left:0;right:0;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;z-index:10000;box-shadow:0 2px 8px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.update-banner.updating{background:linear-gradient(135deg,#28a745,#20c997)}.update-banner.error{background:linear-gradient(135deg,#dc3545,#c82333)}.offline-banner{top:60px;left:20px;right:20px;background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529;border-radius:8px;box-shadow:0 4px 12px #ffc1074d;text-align:center;font-weight:500}.connection-indicator,.sync-indicator{align-items:center;gap:8px;font-size:14px}.sync-indicator{background:#fffffff2;color:#007bff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px #0000001a;display:none;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sync-indicator.syncing{display:flex}.sync-indicator .spinner{border:2px solid #e9ecef;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.connection-indicator{display:flex;padding:0;border-radius:16px;background:#ffffff1a;transition:all .3s ease}.connection-status-dot{width:8px;height:8px;border-radius:50%;background:#28a745;transition:all .3s ease;position:relative}.connection-status-dot.connecting{background:#ffc107;animation:pulse 1.5s ease-in-out infinite}.connection-status-dot.disconnected{background:#dc3545}.connection-status-dot.syncing:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px solid currentColor;border-radius:50%;animation:ripple 1s ease-out infinite}.loading-state.with-cache:after{content:" (from cache)";font-size:12px;opacity:.7;margin-left:8px}.data-table tr.pending-sync{background:#ffc1071a;position:relative}.data-table tr.pending-sync:before{content:"📱";position:absolute;left:-20px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.7}.install-button{position:fixed;bottom:20px;right:20px;background:#007bff;color:#fff;border:0;padding:12px 16px;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #007bff4d;z-index:9999;transition:all .3s ease;font-family:inherit}.install-button:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 6px 16px #007bff66}.install-button:active{transform:translateY(0)}.version-info{position:fixed;bottom:10px;left:10px;font-size:10px;color:#6c757d;background:#ffffffe6;padding:2px 6px;border-radius:4px;z-index:1000;opacity:.7;transition:opacity .3s ease}.version-info:hover{opacity:1}#settings-modal .modal-body{max-height:80vh;overflow-y:auto;padding:20px}.users-table-container{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px}#users-table{width:100%;border-collapse:collapse}#users-table thead{position:sticky;top:0;z-index:10}#users-table thead th{padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #e5e7eb}#users-table tbody tr{border-bottom:1px solid #e5e7eb}#users-table tbody tr:hover,#users-table thead,#users-table thead th{background-color:#f9fafb}#users-table tbody td{padding:12px;vertical-align:middle}#users-tab .settings-section{display:flex;flex-direction:column;height:100%}#users-tab .users-table-container{flex:1;min-height:300px;max-height:500px;overflow-y:auto;border:1px solid #ddd;border-radius:6px}.user-action-btn{padding:4px 8px;border:0;border-radius:4px;cursor:pointer;font-size:14px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.user-action-btn.edit:hover{background-color:#2563eb}.user-action-btn.toggle:hover{background-color:#4b5563}.user-action-btn.delete:hover{background-color:#dc2626}.role-badge,.user-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.role-badge.admin{background-color:#fef3c7;color:#92400e}.role-badge.workshop{background-color:#dbeafe;color:#1e40af}.role-badge.install{background-color:#fff3cd;color:#92400e}.role-badge.refurb{background-color:#d1ecf1;color:#0c5460}.role-badge.screen{background-color:#e5e7eb;color:#374151}.user-status-badge.active{background-color:#d1fae5;color:#065f46}.user-status-badge.inactive{background-color:#fee2e2;color:#991b1b}.users-table-container tbody tr:hover{background-color:#f9fafb!important;transition:background-color .2s ease}.users-table-container::-webkit-scrollbar{width:8px}.users-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.users-table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}#todos-list::-webkit-scrollbar-thumb:hover,.users-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.job-card.drag-target{background:#007bff1a!important;border:2px solid #007bff!important;transform:scale(1.02);box-shadow:0 4px 12px #007bff4d}.job-card.dragging{box-shadow:0 8px 24px #0000004d;z-index:1000}body.job-dragging .job-card:not(.dragging){transition:all .2s ease}body.job-dragging .job-card:not(.dragging):hover{transform:scale(1.02);background:#007bff0d}.job-assignment-modal{max-width:500px;margin:0 auto}.job-assignment-header{margin-bottom:20px;text-align:center;padding-bottom:15px;border-bottom:2px solid #e5e7eb}#turnover-info-modal .modal-header h3,.job-assignment-header h3{color:#374151;font-weight:700;font-size:18px;margin:0}.job-assignment-header h3{margin:0 0 8px}.job-assignment-header .job-customer{color:#6b7280;font-size:14px;margin:0}.assignment-summary-list{margin-bottom:20px}.assignment-summary-item{display:flex;justify-content:space-between;margin-bottom:8px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.assignment-summary-item:hover{background:#f1f5f9;border-color:#cbd5e1}.assignment-month{min-width:80px}.assignment-type{flex:1;text-align:center;margin:0 8px}.assignment-value{background:#0596691a;padding:4px 8px;border-radius:4px;white-space:nowrap}.assignment-summary-total{background:#0596690d;border:2px solid rgba(5,150,105,.2)}.assignment-summary-total strong{color:#059669;font-size:16px;font-weight:800}#turnover-info-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#turnover-info-modal .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;cursor:pointer}#turnover-info-modal .modal-content{position:relative;background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out;z-index:10001}#turnover-info-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f8fafc;border-radius:12px 12px 0 0}#turnover-info-modal .modal-close{background:0 0;border:0;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}#turnover-info-modal .modal-close:hover{background:#e2e8f0;color:#374151;transform:scale(1.1)}#turnover-info-modal .modal-body{padding:24px}.invoice-status{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;display:inline-block;text-align:center;min-width:60px}.invoice-status.not-sent{background-color:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.invoice-status.sent{background-color:#fef3c7;color:#d97706;border:1px solid #fcd34d}.invoice-status.paid{background-color:#dcfce7;color:#16a34a;border:1px solid #86efac}.data-table .center-cell{text-align:center;vertical-align:middle}.data-table .center-cell .invoice-status{margin:0 auto}.time-allowances-section{margin-bottom:20px}.time-allowances-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}.invoice-status-grid{grid-template-columns:1fr}.department-time-breakdown{padding:6px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef;margin-bottom:6px}.department-time-breakdown>div{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:4px;width:100%}.dept-box{display:flex;flex-direction:column;align-items:center;justify-content:center;height:24px;border-radius:3px;font-size:.7rem;font-weight:600;cursor:help;border:1px solid transparent;background:#e9ecef;color:#6c757d;border-color:#dee2e6;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:.65rem;margin-top:1px}.dept-box.on-time{background:#d4edda;color:#155724;border-color:#c3e6cb}.dept-box.over-time{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.dept-box.no-time{background:#fff3cd;color:#856404;border-color:#ffeaa7}.dept-box.unallocated{background:#d1ecf1;color:#0c5460;border-color:#bee5eb}.dept-box.total-box{grid-column:1 / -1}.dept-box:hover,.notes-history-compact.option-5 .note-item:hover .delete-note-btn{opacity:.8}.kanban-board.compact-view .dept-box{height:20px;font-size:.65rem}.kanban-board.compact-view .dept-box span:last-child{font-size:.6rem}.status-circle{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid transparent;vertical-align:middle}.status-not-sent{background-color:#ef4444;border-color:#dc2626}.status-sent{background-color:#f59e0b;border-color:#d97706}.status-paid{background-color:#10b981;border-color:#059669}.add-note-input{margin-top:8px;padding:8px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;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 #dee2e6;border-radius:3px;margin-top:4px;background:#fff}.notes-history-compact.option-5 .note-item{padding:4px 8px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;font-size:12px;border-bottom:1px solid #f1f3f4;transition:background-color .1s ease}.notes-history-compact.option-5 .note-item:last-child{border-bottom:none}.notes-history-compact.option-5 .note-item:hover{background-color:#f8f9fa}.notes-history-compact.option-5 .note-text{color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.notes-history-compact.option-5 .note-meta{font-size:10px;color:#6c757d;text-align:right;white-space:nowrap;line-height:1.2;padding-left:12px}.notes-history-compact.option-5 .delete-note-btn{background:0 0;border:0;color:#dc3545;cursor:pointer;padding:1px 3px;font-size:10px;opacity:0;border-radius:2px;transition:all .2s ease}.notes-history-compact.option-5 .delete-note-btn:hover{opacity:1;background-color:#f8d7da;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:#6c757d;font-size:12px;font-style:italic}#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 5px}#scheduler-content-wrapper .scheduler-container{height:calc(100vh - 135px);overflow:hidden}.header-title-with-switcher{display:flex;align-items:center;gap:20px}.view-mode-switcher{display:flex;gap:0;background:#e5e7eb;border-radius:8px;padding:4px}.view-mode-btn{padding:8px 20px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.view-mode-btn:hover{background:#3b82f61a;color:#3b82f6}.view-mode-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}#install-scheduler-view .view-header{box-shadow:0 1px 3px #0000001a}#install-scheduler-view .action-button.is-snag{background:#dc3545;color:#fff;border-color:#dc3545}#install-scheduler-view .action-button.is-snag:hover{background:#c82333;border-color:#c82333;color:#fff}#install-scheduler-view .van-header-placeholder{width:120px;min-width:120px;max-width:120px;flex-shrink:0;box-sizing:border-box;background:#f3f4f6;border-right:2px solid #9ca3af;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#6b7280}#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:12px}#install-scheduler-view .nav-button{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#475569;transition:all .2s}#install-scheduler-view .nav-button:hover{background:#e2e8f0;transform:translateY(-1px)}#install-scheduler-view .current-week{font-size:16px;font-weight:600;color:#1e293b;margin:0;min-width:250px;text-align:center}#install-scheduler-view .scheduler-controls{display:flex;align-items:center;gap:12px;flex-grow:1;min-width:0}#install-scheduler-view .scheduler-controls>#scheduler-refresh{margin-left:auto}#install-scheduler-view .scheduler-filters{display:flex;gap:8px}#install-scheduler-view .select-filter{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:13px;min-width:130px}#install-scheduler-view .scheduler-sidebar{width:320px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%;overflow-y:auto}#install-scheduler-view .mini-calendar-section{border-bottom:1px solid #e2e8f0;background:#f8fafc;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 #e2e8f0;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 #e2e8f0;background:#fff}#install-scheduler-view .unscheduled-header h3{margin:0 0 12px;font-size:15px;font-weight:600;color:#1e293b}#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:#e2e8f0;border:0;cursor:pointer;font-size:11px;color:#64748b;padding:3px 5px;border-radius:3px;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:#cbd5e1}#install-scheduler-view .mini-month-title{font-weight:600;color:#1e293b;font-size:11px;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:#64748b;padding:3px 1px}#install-scheduler-view .mini-day-header.weekend{color:#94a3b8}#install-scheduler-view .mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}#install-scheduler-view .mini-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer;border-radius:2px;transition:all .2s;position:relative;min-height:20px;border:1px solid transparent;background:#fff}#install-scheduler-view .mini-day:hover{background:#f1f5f9;border-color:#cbd5e1;background-color:#0000000d;transform:scale(1.1)}#install-scheduler-view .mini-day.today{background-color:#3b82f6;color:#fff;font-weight:700;box-shadow:0 2px 4px #3b82f666}#install-scheduler-view .mini-day.weekend{color:#6b7280;background:#f9fafb}#install-scheduler-view .mini-day.other-month{color:#cbd5e1;background:#fafafa}#install-scheduler-view .mini-day.selected{background:#22c55e;color:#fff;font-weight:600;border-color:#22c55e}#install-scheduler-view .mini-day.drop-target{background:#fbbf24!important;color:#fff;transform:scale(1.1);border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf244d}#install-scheduler-view .mini-day.has-jobs:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);color:#10b981;width:6px;height:6px;background:#3b82f6;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 #e2e8f0}#install-scheduler-view .unscheduled-header{margin-bottom:16px}#install-scheduler-view .unscheduled-search{margin-bottom:8px}#install-scheduler-view .search-input{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#fff}#install-scheduler-view .job-count{font-size:12px;color:#64748b;text-align:center;padding:4px 0}#install-scheduler-view .unscheduled-jobs-list{overflow-y:auto}#install-scheduler-view .unscheduled-job-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:8px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;border-left:4px solid #64748b;box-shadow:0 1px 3px #0000001a}#install-scheduler-view .unscheduled-job-card:hover{border-color:#3b82f6;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:0 8px 25px #0003}#install-scheduler-view .job-card-content{display:flex;flex-direction:column;gap:8px}#install-scheduler-view .job-customer-name{font-weight:600;color:#1e293b;font-size:14px}#install-scheduler-view .job-description{font-size:12px;color:#64748b;line-height:1.4}#install-scheduler-view .job-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}#install-scheduler-view .job-number{font-size:11px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}#install-scheduler-view .team-selector{font-size:11px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#475569;cursor:pointer;min-width:80px}#install-scheduler-view .job-actions-panel{padding:16px;background:#f8fafc;border-top:1px solid #e2e8f0}#install-scheduler-view .job-actions-panel h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1e293b}#install-scheduler-view .action-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}#install-scheduler-view .action-btn{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:12px;cursor:pointer;transition:all .2s;text-align:left}#install-scheduler-view .action-btn:hover:not(:disabled){background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}#install-scheduler-view .action-btn:disabled{opacity:.5;cursor:not-allowed}#install-scheduler-view .action-btn.danger:hover:not(:disabled){background:#fef2f2;border-color:#ef4444;color:#ef4444}#install-scheduler-view .selected-job-info{font-size:12px;color:#64748b;background:#fff;padding:8px;border-radius:4px;border:1px solid #e2e8f0}#install-scheduler-view .scheduler-main{flex:1;display:flex;flex-direction:column;background:#fff;min-width:0;overflow:hidden;min-height:0}#install-scheduler-view .week-header{display:flex;background:#f8fafc;border-bottom:2px solid #e2e8f0;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 #e2e8f0;box-sizing:border-box;padding:1px 0}#install-scheduler-view .day-column:last-child{border-right:none}#install-scheduler-view .day-column.weekend{background:#f1f5f9}#install-scheduler-view .day-label{font-size:10px;color:#64748b;font-weight:500;margin-bottom:0;line-height:1}#install-scheduler-view .day-date{font-size:12px;font-weight:600;color:#1e293b;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:#3b82f6;color:#fff}#install-scheduler-view .day-date.weekend{color:#94a3b8}#install-scheduler-view .week-grid-container{flex:1;overflow-y:auto;overflow-x:hidden;width:100%;background:#fff;position:relative;scrollbar-width:none}.scheduler-holidays-row{display:flex;width:100%;background:#fef3c7;border-top:2px solid #f59e0b;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:10px;font-weight:600}.scheduler-holidays-row.collapsed .holiday-day.has-events{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.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 #9ca3af;width:120px;min-width:120px;max-width:120px;padding:0 8px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;font-weight:600;color:#92400e;font-size:12px;text-align:center}.holidays-icon{font-size:18px}.holidays-days-container{flex:1;display:flex;gap:0;background:transparent}.holiday-day{background:#fffbeb;padding:4px;text-align:center;font-size:12px;color:#92400e;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 #f59e0b;box-sizing:border-box}.holiday-day:last-child{border-right:none}.holiday-day.has-holiday{background:#fef3c7;font-weight:600}.holiday-day.has-leave{background:#dbeafe;color:#1e40af}.holiday-day.has-mixed{background:linear-gradient(135deg,#fef3c7,#dbeafe);color:#1e40af;font-weight:600}.holiday-day.clickable-holiday{cursor:pointer;transition:background-color .2s,transform .1s}.holiday-day.clickable-holiday:hover{background:#fde68a;transform:scale(1.02)}.holiday-day.clickable-holiday.has-leave:hover{background:#bfdbfe}.holiday-day.clickable-holiday.has-holiday:hover{background:#fde68a}.holiday-day.clickable-holiday:empty:after{content:"+";font-size:16px;color:#d4a017;opacity:0;transition:opacity .2s}.holiday-day.clickable-holiday:empty:hover:after{opacity:.6}.holiday-title{font-size:11px;font-weight:600;line-height:1.2}.holiday-person{font-size:10px;font-weight:600;line-height:1.3;opacity:.9}.holiday-person-line{font-size:10px;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}.holiday-count{font-size:9px;font-weight:500;opacity:.7;margin-top:2px}.unallocated-installers-row{display:flex;width:100%;background:#fef2f2;border-top:2px solid #ef4444;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 #9ca3af;width:120px;min-width:120px;max-width:120px;padding:0 8px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;font-weight:600;font-size:12px;color:#dc2626}.unallocated-icon{font-size:16px}.unallocated-text{font-size:11px;white-space:nowrap}.unallocated-installers-container{flex:1;display:flex;flex-wrap:wrap;gap:0;padding:0;align-items:center}.unallocated-installer-chip{background:#fee2e2;border:1px solid #fca5a5;border-radius:16px;padding:0;font-size:12px;font-weight:500;color:#991b1b;display:flex;align-items:center;gap:4px;white-space:nowrap}.unallocated-installer-chip .installer-capacity{font-size:10px;opacity:.7}.unallocated-all-allocated{color:#16a34a;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}#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 #fca5a5;box-sizing:border-box}.unallocated-day:last-child{border-right:none}.unallocated-day.weekend{background:#fef2f2;opacity:.5}.unallocated-day.has-unallocated{background:#fee2e2}.unallocated-day.all-allocated{background:#dcfce7}.unallocated-day-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center;max-width:100%}.unallocated-day-chip{background:#ef4444;color:#fff;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.all-allocated-check{color:#16a34a;font-size:16px;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:14px;font-weight:600}.unallocated-installers-row.collapsed .unallocated-day.has-unallocated .unallocated-collapsed-indicator{color:#dc2626}.unallocated-installers-row.collapsed .unallocated-day.all-allocated .unallocated-collapsed-indicator{color:#16a34a}#install-scheduler-view .week-gantt-grid.perfect-grid{display:flex;flex-direction:column;width:100%;min-height:100%;background:#fff}#install-scheduler-view .gantt-row.perfect-row{display:flex;width:100%;height:80px;min-height:80px;max-height:80px;border-bottom:1px solid #f1f5f9;position:relative;box-sizing:border-box;background:#fff}#install-scheduler-view .gantt-row.perfect-row:nth-child(2n){background:#fafafa}#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 #f1f5f9;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-day-cell.perfect-drop-target{background-color:#22c55e26!important;border:2px solid #22c55e!important;box-shadow:inset 0 0 0 1px #22c55e;background-image:none!important}#install-scheduler-view .gantt-job-card.perfect-card{width:calc(100% - 8px);background:#3b82f6;color:#fff;border-radius:6px;padding:6px;margin:4px;font-size:11px;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:0 3px 6px #00000026;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:0 8px 25px #00000040}#install-scheduler-view .gantt-job-card.perfect-card.copied{border:2px solid #fbbf24;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:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a}.scheduler-modal-content h2{margin:0 0 20px;font-size:24px;color:#111827}.scheduler-modal-field{margin-bottom:16px}.scheduler-modal-field:last-of-type{margin-bottom:20px}.scheduler-modal-field label{display:block;margin-bottom:8px;font-weight:600;color:#374151}.scheduler-modal-field input[type=text],.scheduler-modal-field input[type=number],.scheduler-modal-field input[type=date]{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;box-sizing:border-box}.scheduler-modal-field input[type=color]{width:100%;height:50px;border:1px solid #d1d5db;border-radius:8px;cursor:pointer}.scheduler-modal-field textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box;resize:vertical}.scheduler-modal-field .scheduler-modal-hint{margin:8px 0 0;font-size:13px;color:#6b7280}.scheduler-modal-actions{display:flex;gap:12px;justify-content:flex-end}.scheduler-modal-actions .btn-cancel{padding:10px 20px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;color:#374151}.scheduler-modal-actions .btn-save{padding:10px 20px;border:none;background:#3b82f6;color:#fff;border-radius:8px;cursor:pointer;font-weight:500}.scheduler-modal-actions .btn-danger{padding:10px 20px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;color:#ef4444}#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:#fff;border-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 #9ca3af}#install-scheduler-view .gantt-job-card.perfect-card.archived-card:hover{transform:none;box-shadow:0 1px 3px #0003}#install-scheduler-view .gantt-job-content.perfect-content{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;height:100%;overflow:hidden;justify-content:space-between}#install-scheduler-view .gantt-customer{font-weight:600;font-size:13px;line-height:1.2;word-break:break-word;flex-shrink:0}#install-scheduler-view .gantt-description{font-size:14px;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-number{font-size:11px;flex-shrink:0}#install-scheduler-view .gantt-team-selector{padding:2px 4px;border:0;border-radius:3px;background:#ffffffe6;color:#374151;cursor:pointer;width:100%;margin-top:auto;flex-shrink:0}#install-scheduler-view .gantt-job-card.team-a{background-color:#3b82f6!important}#install-scheduler-view .gantt-job-card.team-b{background-color:#10b981!important}#install-scheduler-view .gantt-job-card.team-c{background-color:#f59e0b!important}#install-scheduler-view .gantt-job-card.team-d{background-color:#ef4444!important}#install-scheduler-view .gantt-job-card.team-external{background-color:#8b5cf6!important}#install-scheduler-view .gantt-job-card.team-tbd{background-color:#6b7280!important}#install-scheduler-view .unscheduled-job-card.team-a{border-left-color:#3b82f6!important}#install-scheduler-view .unscheduled-job-card.team-b{border-left-color:#10b981!important}#install-scheduler-view .unscheduled-job-card.team-c{border-left-color:#f59e0b!important}#install-scheduler-view .unscheduled-job-card.team-d{border-left-color:#ef4444!important}#install-scheduler-view .unscheduled-job-card.team-external{border-left-color:#8b5cf6!important}#install-scheduler-view .unscheduled-job-card.team-tbd{border-left-color:#6b7280!important}#install-scheduler-view .gantt-job-card.perfect-card.completed{background-color:#22c55e!important;border-color:#ffffff4d}#install-scheduler-view .gantt-job-card.perfect-card.completed:after{content:"✓";position:absolute;top:2px;right:2px;font-size:10px;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:#fff;border-radius:12px;box-shadow:0 20px 25px #00000026;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 #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}#team-management-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b}#team-management-modal .close-button{background:0 0;border:0;font-size:24px;cursor:pointer;color:#64748b;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}#team-management-modal .close-button:hover{background:#e2e8f0}#team-management-modal .modal-body{padding:24px;overflow-y:auto;flex:1}#team-management-modal .teams-header{display:grid;grid-template-columns:1fr 80px 1fr 1fr 80px;gap:16px;padding:12px 0;border-bottom:2px solid #e2e8f0;margin-bottom:16px}#team-management-modal .team-column-header{font-weight:600;color:#475569;font-size:13px}#team-management-modal .teams-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}#team-management-modal .team-row{display:grid;grid-template-columns:1fr 80px 1fr 1fr 80px;gap:16px;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}#team-management-modal .team-name-input,#team-management-modal .team-notes-input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#fff}#team-management-modal .team-color-input{width:60px;height:40px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;background:#fff}#team-management-modal .team-members-input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#fff;text-align:center}#team-management-modal .delete-team-btn{background:#ef4444;color:#fff;border:0;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px;transition:background-color .2s}#team-management-modal .delete-team-btn:disabled{background:#cbd5e1;cursor:not-allowed}#team-management-modal .delete-team-btn:hover:not(:disabled){background:#dc2626}#team-management-modal .teams-actions{margin-top:20px;text-align:center}#team-management-modal .modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px;background:#f8fafc}#team-management-modal .btn{padding:10px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px}#team-management-modal .btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}#team-management-modal .btn-primary:hover{background:#2563eb}#team-management-modal .btn-secondary{background:#f1f5f9;color:#475569;border-color:#cbd5e1}#team-management-modal .btn-secondary:hover{background:#e2e8f0}#install-scheduler-view .offline-banner{background:#fbbf24;color:#92400e;padding:8px 16px;font-size:13px;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:8px;align-items:flex-start}.view-mode-switcher{width:100%;padding:3px}.view-mode-btn{flex:1;padding:8px 12px;font-size:13px;min-height:36px;text-align:center}#install-scheduler-view .view-header{padding:8px 12px;flex-direction:column;align-items:stretch;gap:8px}#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:18px}#install-scheduler-view .current-week{font-size:13px;min-width:auto;flex:1;text-align:center}#install-scheduler-view .scheduler-controls{flex-direction:column;gap:8px;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:16px}#install-scheduler-view .action-button{min-height:44px;font-size:14px;padding:8px 12px}.scheduler-modal-overlay{padding:0}.scheduler-modal-overlay>div{border-radius:12px 12px 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:16px}.scheduler-modal-overlay button{min-height:44px;font-size:14px}}@media screen and (min-width:768px)and (max-width:1024px){#install-scheduler-view .current-week{font-size:14px;min-width:180px}.view-mode-btn{padding:8px 14px;font-size:13px}}.invoice-job{background:#fff;border:1px solid #e5e7eb;cursor:pointer}.invoice-job.status-not-sent{background-color:#fee2e2!important;border-color:#fca5a5!important}.invoice-job.status-sent{background-color:#fed7aa!important;border-color:#fb923c!important}.invoice-job.status-paid{background-color:#dcfce7!important;border-color:#86efac!important}.job-main-content{margin-bottom:6px}.job-number{margin-bottom:2px}.job-customer{margin-bottom:6px;display:block}.job-value-row{display:flex;justify-content:flex-end;margin-top:6px}.job-invoice-value{background:#fffc;padding:2px 6px;border-radius:3px}#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:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important}#completion-sent[value=sent],#deposit-sent[value=sent],#interim-sent[value=sent]{background-color:#fed7aa!important;border-color:#fb923c!important;color:#9a3412!important}#completion-sent[value=paid],#deposit-sent[value=paid],#interim-sent[value=paid]{background-color:#dcfce7!important;border-color:#86efac!important;color:#166534!important}.invoice-status-grid{display:grid;gap:12px;margin-top:8px}.compact-checkbox-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937;border-bottom:1px solid #e5e7eb;padding-bottom:4px}.status-updated{animation:statusUpdate 1.5s ease-in-out}.assignment-summary-item{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;padding:10px 12px;border-bottom:1px solid #f1f5f9;align-items:center}.assignment-summary-item:last-child{border-bottom:none}.assignment-summary-item:nth-child(2n){background:#f8fafc}.assignment-month{font-weight:600;color:#1e293b;font-size:13px}.assignment-type{color:#64748b;font-size:13px}.assignment-value{font-weight:600;color:#059669;text-align:right;font-size:13px}.assignment-status{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;min-width:60px}.assignment-status.status-not-sent{background:#fee2e2;color:#991b1b}.assignment-status.status-sent{background:#fed7aa;color:#9a3412}.assignment-status.status-paid{background:#dcfce7;color:#166534}.assignment-summary-total{background:#1e293b;color:#fff;padding:12px;border-radius:6px;text-align:center;margin-top:12px;font-size:16px;font-weight:600}.remove-job-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.remove-job-btn:hover{background:#ef444433;border-color:#ef444466}.invoice-status-grid .compact-form-group .form-label{font-weight:600;font-size:13px;color:#374151;margin-bottom:4px;display:block}.invoice-status-grid .form-control{transition:all .2s ease}.invoice-status-grid .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}#orders-table th[data-sort]:focus,.invoice-job:focus,.invoice-status-grid .form-control:focus{outline:2px solid #3b82f6;outline-offset:2px}.filter-status-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #1976d2;border-radius:8px;padding:12px 16px;margin-bottom:20px;box-shadow:0 2px 4px #1976d21a}.filter-info{display:flex;align-items:center;gap:12px}.filter-icon{font-size:18px}.filter-text{font-weight:500;color:#1565c0}.filter-stats{background:#1976d21a;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:600;color:#0d47a1}.filter-configure-btn{background:#1976d2;color:#fff;border:0;padding:6px 12px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.filter-configure-btn:hover{background:#1565c0}.qc-filter-content{display:flex;flex-direction:column;gap:24px}.filter-explanation{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.current-filter-status h4{color:#495057;font-size:16px;margin:0 0 12px}.filter-explanation p{margin:0;color:#6c757d;line-height:1.5}.current-filter-status{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px}.filter-impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.impact-stat{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.stat-label{margin-bottom:4px}.filter-explanation h3,.status-selection-section h4{margin:0 0 8px;color:#495057;font-size:16px}.help-text{margin:0 0 16px;color:#6c757d;font-size:14px;line-height:1.5}.status-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:8px;padding:16px;background:#fff}.status-checkbox-item{border:1px solid #e9ecef;border-radius:6px;padding:12px;background:#f8f9fa;transition:all .2s}.status-checkbox-item:hover{background:#e9ecef;border-color:#1976d2}.status-checkbox-item input[type=checkbox]:checked+.status-info{color:#1976d2;font-weight:600}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;margin:0}.checkbox-custom{width:18px;height:18px;border:2px solid #6c757d;border-radius:3px;position:relative;transition:all .2s}input[type=checkbox]:checked+.checkbox-custom{background:#1976d2;border-color:#1976d2}input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:-2px;left:2px;color:#fff;font-size:14px;font-weight:700}.status-info{display:flex;align-items:center;gap:8px;flex:1}.status-name{font-weight:500}.status-color{width:16px;height:16px;border-radius:3px;border:1px solid #dee2e6}.job-count{font-size:12px;color:#6c757d;font-style:italic}.filter-preview h4,.preset-options h4{margin:0 0 12px;color:#495057;font-size:16px}.preset-buttons{display:flex;gap:8px;flex-wrap:wrap}.preset-buttons .btn.small{padding:6px 12px;font-size:14px}.preview-content{border:1px solid #dee2e6;border-radius:8px;padding:16px;background:#fff;min-height:80px}.preview-loading{display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic}.preview-warning{color:#dc3545;font-weight:500;text-align:center;padding:20px;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px}.preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}.preview-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.preview-stat.filtered{background:#fff3cd;border-color:#ffeaa7;color:#856404}.preview-statuses{padding:12px;background:#e3f2fd;border-radius:6px;font-size:14px;color:#1565c0}.modal-footer-info{display:flex;align-items:center;color:#6c757d;font-style:italic}.modal-footer-actions{display:flex;gap:8px}.no-statuses{text-align:center;padding:40px 20px;color:#6c757d}.no-statuses p{margin:0 0 16px}.loading-placeholder .spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite}.status-checkbox-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.time-breakdown-aligned-cell{min-width:300px;padding:8px}.time-breakdown-aligned{display:flex;flex-direction:column;gap:4px;font-size:.9em}.breakdown-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:center;min-height:20px}.breakdown-row.total-row{font-weight:700;border-bottom:1px solid #e0e0e0;padding-bottom:4px;margin-bottom:4px}.actual-time,.estimated-time{display:flex;align-items:center;gap:0;padding:4px 8px;border-radius:4px}.estimated-time{background-color:#e3f2fd;border-left:3px solid #2196f3}.actual-time{background-color:#f5f5f5;border-left:3px solid #9e9e9e}.performance-over .actual-time{background-color:#ffebee;border-left:3px solid #f44336}.performance-under .actual-time{background-color:#e8f5e8;border-left:3px solid #4caf50}.performance-ontime .actual-time{background-color:#e0f2f1;border-left:3px solid #00bcd4}.performance-not-started .actual-time{background-color:#f3e5f5;border-left:3px solid #9c27b0}.performance-no-data .actual-time{background-color:#f5f5f5;border-left:3px solid #9e9e9e}.estimate-label,.time-label{font-weight:500;color:#666;min-width:60px}.estimate-value,.time-value{font-weight:700;color:#333}.blank-space{height:1em;background-color:#f5f5f5;border-radius:4px;padding:4px 8px;border:1px dashed #ddd}.na-value{color:#999;font-style:italic;font-size:.85em}.breakdown-row:hover .actual-time,.breakdown-row:hover .estimated-time{filter:brightness(.95);transform:translate(-1px);transition:all .2s ease}.breakdown-row:hover .estimated-time{transform:translate(1px)}.timekeeper-report-table .time-breakdown-aligned-cell{border-right:1px solid #e0e0e0}.checkbox-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border-radius:6px;cursor:pointer;font-size:13px;color:#374151;white-space:nowrap;-webkit-user-select:none;user-select:none}.checkbox-filter:hover{background:#e5e7eb}.checkbox-filter input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.checkbox-filter span{line-height:1}.timekeeper-clean-table{width:100%;border-collapse:collapse}.timekeeper-clean-table th{background:#f8f9fa;padding:12px 16px;font-weight:600;font-size:13px;color:#374151;border-bottom:2px solid #e5e7eb;text-transform:uppercase;letter-spacing:.5px}.timekeeper-clean-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;vertical-align:middle}.timekeeper-clean-table tr:hover{background:#f9fafb}.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:#1f2937}.timekeeper-clean-table .customer-name{color:#374151;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:13px}.timekeeper-clean-table .variance-hours{font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;font-weight:600}.timekeeper-clean-table .variance-over{color:#dc2626}.timekeeper-clean-table .variance-under{color:#16a34a}.status-pill{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-pill.status-ontime{background:#dcfce7;color:#166534}.status-pill.status-under{background:#dbeafe;color:#1e40af}.status-pill.status-over{background:#fee2e2;color:#991b1b}.status-pill.status-nodata{background:#f3f4f6;color:#6b7280}.efficiency-value{font-weight:600;font-size:14px}.efficiency-value.efficiency-good{color:#16a34a}.efficiency-value.efficiency-ok{color:#ca8a04}.efficiency-value.efficiency-poor{color:#dc2626}.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:#fff;border-radius:16px;max-width:1200px;max-height:85vh;width:95%;overflow:hidden;box-shadow:0 20px 60px #0000004d;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:#f3f4f6;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s;z-index:1}.job-breakdown-modal-container .modal-close-btn:hover{background:#e5e7eb;color:#374151}.job-breakdown-modal{padding:32px;overflow-y:auto}.job-breakdown-modal .modal-header-section{margin-bottom:24px;padding-right:40px}.job-breakdown-modal .modal-header-section h2{margin:0 0 4px;font-size:24px;font-weight:700;color:#1f2937}.job-breakdown-modal .modal-header-section .customer-name{margin:0;font-size:16px;color:#6b7280}.job-breakdown-modal .time-summary-section{display:flex;gap:16px;margin-bottom:32px}.job-breakdown-modal .summary-card{flex:1;background:#f9fafb;border-radius:12px;padding:16px 20px;text-align:center}.job-breakdown-modal .summary-card .label{display:block;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.job-breakdown-modal .summary-card .value{display:block;font-size:24px;font-weight:700;color:#1f2937;font-family:SF Mono,Monaco,Consolas,monospace}.job-breakdown-modal .summary-card.over{background:#fef2f2}.job-breakdown-modal .summary-card.over .value{color:#dc2626}.job-breakdown-modal .summary-card.under{background:#f0fdf4}.job-breakdown-modal .summary-card.under .value{color:#16a34a}.job-breakdown-modal .breakdown-table-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.job-breakdown-modal .table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:12px}.job-breakdown-modal .breakdown-table{width:100%;border-collapse:collapse;font-size:14px}.job-breakdown-modal .breakdown-table th{background:#f9fafb;padding:12px 16px;font-weight:600;color:#374151;text-align:left;border-bottom:1px solid #e5e7eb;white-space:nowrap}.job-breakdown-modal .breakdown-table th.text-right{text-align:right}.job-breakdown-modal .breakdown-table th.total-header{background:#f3f4f6}.job-breakdown-modal .breakdown-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#374151}.job-breakdown-modal .breakdown-table td.text-right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px}.job-breakdown-modal .breakdown-table td.total-cell{background:#f9fafb}.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,#3b82f6,#1d4ed8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.job-breakdown-modal .breakdown-table tbody tr:hover{background:#f9fafb}.job-breakdown-modal .breakdown-table tfoot .totals-row{background:#f3f4f6}.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:#6b7280}.employee-breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.employee-breakdown-header h3{margin:0}.manage-hidden-btn{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s ease}.manage-hidden-btn:hover{background:#e5e7eb;border-color:#9ca3af}.employee-header-actions{display:flex;align-items:center;gap:12px}.hide-employee-btn{padding:4px 8px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s ease;opacity:.6}.employee-card:hover .hide-employee-btn{opacity:1}.hide-employee-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.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-overlay.show{opacity:1}.hidden-employees-modal-container{background:#fff;border-radius:16px;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-container .modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;color:#6b7280;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:#e5e7eb;color:#374151}.hidden-employees-modal{padding:24px}.hidden-employees-modal h3{margin:0 0 4px;font-size:20px;font-weight:600;color:#1f2937}.hidden-employees-modal .modal-subtitle{margin:0 0 20px;font-size:14px;color:#6b7280}.hidden-employees-list{max-height:300px;overflow-y:auto;margin-bottom:20px}.hidden-employee-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.hidden-employee-item:hover{background:#f0fdf4;border-color:#86efac}.hidden-employee-item span{font-size:14px;color:#374151;font-weight:500}.hidden-employee-item .restore-btn{padding:4px 10px;background:#dcfce7;border:none;border-radius:6px;color:#16a34a;font-size:14px;cursor:pointer;transition:all .2s ease}.hidden-employee-item:hover .restore-btn{background:#bbf7d0}.hidden-employees-modal .modal-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.hidden-employees-modal .restore-all-btn{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.hidden-employees-modal .restore-all-btn:hover{background:#2563eb}.gantt-status-badge,.job-status-badge{margin-left:8px}.status-quote{background-color:#e0f2fe;border-left:3px solid #0277bd}.status-awaiting{background-color:#fff3e0;border-left:3px solid #ef6c00}.status-confirmed{background-color:#e8f5e8;border-left:3px solid #2e7d32}.status-production{background-color:#f3e5f5;border-left:3px solid #7b1fa2}.status-ready-qc{background-color:#e1f5fe;border-left:3px solid #0288d1}.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}.status-complete{background-color:#e8f5e8;border-left:3px solid #4caf50}.status-hold{background-color:#fff3e0;border-left:3px solid #ff9800}.status-cancelled{background-color:#ffebee;border-left:3px solid #f44336}.status-other,.status-unknown{background-color:#f5f5f5;border-left:3px solid #757575}.unscheduled-job-card .job-status-badge{display:inline-block;margin:4px 0 0;font-size:.7rem}.gantt-job-card .gantt-status-badge{display:block;margin:2px 0;font-size:.65rem;padding:1px 4px;text-align:center}.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 #4caf50}.gantt-job-card.status-hold,.unscheduled-job-card.status-hold{border-style:dashed}.job-number{font-size:.85rem}.status-installing,.status-qc-passed,.status-ready-install{background:linear-gradient(135deg,#ffffff1a0,#ffffff0d)}.urgent-job{position:relative}.urgent-job:before{content:"🚨";position:absolute;top:-5px;right:-5px;font-size:.8rem;z-index:10}.status-filter-controls{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}.status-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.status-filter-chip.active{box-shadow:0 0 0 2px currentColor}.status-filter-chip:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.team-modal{max-width:900px;max-height:80vh}.team-management-tabs{display:flex;border-bottom:2px solid #e5e5e5;margin-bottom:20px}.tab-btn{padding:12px 24px;background:0 0;border:0;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:#666;transition:all .2s ease}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-btn:hover{background-color:#f8fafc;color:#3b82f6}.tab-content{display:none}.tab-content.active{display:block}.fitters-grid,.teams-grid{border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.grid-header{display:grid;grid-template-columns:2fr 1fr 2fr 1fr;gap:16px;padding:12px 16px;background-color:#f8fafc;font-weight:600;color:#374151;border-bottom:1px solid #e5e5e5}.fitters-grid .grid-header{grid-template-columns:3fr 1fr 1fr}.fitters-list,.teams-list{max-height:400px;overflow-y:auto}.team-row{border-bottom:1px solid #f0f0f0;padding:16px;background:#fff}.team-row:last-child{border-bottom:none}.team-basic-info{display:grid;grid-template-columns:2fr 1fr 2fr 1fr;gap:16px;align-items:center;margin-bottom:12px}.team-members-section{background-color:#f8fafc;padding:12px;border-radius:6px;margin-top:12px}.team-members-section label{font-weight:600;color:#374151;margin-bottom:8px;display:block}.members-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:8px}.fitter-option{display:flex;align-items:center;gap:0;padding:4px 8px;background:#fff;border:1px solid #e5e5e5;border-radius:4px;cursor:pointer;transition:all .2s ease}.fitter-option:hover{background-color:#f0f9ff;border-color:#3b82f6}.fitter-option input[type=checkbox]{margin:0}.member-count{font-size:.875rem;color:#6b7280;font-weight:500}.member-count .count{font-weight:700;color:#3b82f6}.fitter-row{display:grid;grid-template-columns:3fr 1fr 1fr;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fff}.fitter-row:last-child{border-bottom:none}.fitter-active-label{display:flex;align-items:center;gap:0;cursor:pointer;font-size:.875rem}.fitter-name-input,.team-name-input,.team-notes-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem}.date-input-group select:focus,.fitter-name-input:focus,.team-name-input:focus,.team-notes-input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.team-color-input{width:50px;height:35px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.delete-fitter-btn,.delete-team-btn{background:#fee;color:#dc2626;border:1px solid #fecaca;border-radius:4px;padding:6px 8px;cursor:pointer;font-size:1rem;transition:all .2s ease}.delete-fitter-btn:hover,.delete-team-btn:hover{background:#fecaca;color:#991b1b}.delete-team-btn:disabled{opacity:.5;cursor:not-allowed}.gantt-status-badge,.job-status-badge{padding:2px 6px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.status-quote{background:#e3f2fd;color:#1565c0}.status-awaiting{background:#fff3e0;color:#ef6c00}.status-confirmed{background:#e8f5e8;color:#2e7d32}.status-production{background:#f3e5f5;color:#7b1fa2}.status-ready-qc{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:#e8f5e8;color:#4caf50}.status-hold{background:#fff3e0;color:#ff9800}.status-cancelled{background:#ffebee;color:#f44336}.status-other,.status-unknown{background:#f5f5f5;color:#757575}.job-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px}.gantt-team-info{margin-top:4px}.team-members{font-size:.7rem;color:#fffc;margin-top:2px;font-style:italic}.gantt-team-selector,.team-selector{font-size:.75rem;padding:2px 4px;border:1px solid #ddd;border-radius:3px;background:#fff;min-width:100px}.app-container{min-height:100vh;min-height:100dvh}@supports (-webkit-touch-callout:none){.app-container{min-height:-webkit-fill-available}}.invoice-job.reorder-target{border-top:3px solid #007bff!important;border-bottom:3px solid #007bff!important;background:#007bff1a!important;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d!important}.invoice-job.reorder-target:before{content:"⤴️ Drop here to reorder";position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#007bff;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:1000}.invoice-column,.invoice-job{position:relative;transition:all .2s ease}.invoice-job{cursor:grab;margin:2px 0;padding:4px 6px;border-radius:4px;min-height:32px;display:flex;align-items:center;border:1px solid rgba(0,0,0,.1)}.invoice-job:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.invoice-job.dragging{opacity:.7;transform:rotate(2deg) scale(1.05);cursor:grabbing;z-index:1000;box-shadow:0 8px 25px #0000004d}.invoice-job.read-only{cursor:default}.invoice-job.read-only:hover{transform:none;box-shadow:none}.invoice-column{border:1px solid transparent;border-radius:8px;padding:4px}.invoice-column.drag-over{background:#007bff1a;border:2px dashed #007bff;border-radius:8px}.invoice-column.drag-over-invalid{background:#dc35451a;border:2px dashed #dc3545;border-radius:8px}.invoice-column .column-content{min-height:80px;padding:4px;border-radius:6px;transition:all .2s ease}.empty-column-placeholder{padding:15px;text-align:center;color:#6c757d;border:2px dashed #e0e0e0;border-radius:8px;margin:4px 0;transition:all .2s ease}.invoice-column.drag-over .empty-column-placeholder{border-color:#007bff;background:#007bff0d;color:#007bff}.invoice-column.drag-over-invalid .empty-column-placeholder{border-color:#dc3545;background:#dc35450d;color:#dc3545}.available-job{cursor:grab;transition:all .2s ease;margin:2px 0;padding:6px 8px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.available-job:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.available-job.dragging{opacity:.7;transform:rotate(-2deg) scale(1.05);cursor:grabbing;z-index:1000;box-shadow:0 8px 25px #0000004d}.available-job.read-only{cursor:default}.available-job.read-only:hover{transform:none;box-shadow:none}.invoice-job.status-not-sent{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef);border-left:4px solid #6c757d}.invoice-job.status-sent{background:linear-gradient(135deg,#fff3cd 0,#ffeaa7);border-left:4px solid #ffc107}.invoice-job.status-paid{background:linear-gradient(135deg,#d4edda 0,#c3e6cb);border-left:4px solid #28a745}.invoice-job.status-not-sent:hover{background:linear-gradient(135deg,#e9ecef 0,#dee2e6)}.invoice-job.status-sent:hover{background:linear-gradient(135deg,#ffeaa7 0,#fdcb6e)}.invoice-job.status-paid:hover{background:linear-gradient(135deg,#c3e6cb 0,#a3d9a5)}.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)}.job-main-content{display:flex;align-items:center;width:100%;gap:8px}.job-number{font-weight:700;font-size:13px;color:#333;flex-shrink:0}.job-customer{font-size:11px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.job-invoice-value{font-weight:700;font-size:12px;color:#007bff;flex-shrink:0;margin-left:auto}.job-right-content,.job-value-row{display:none}.remove-job-btn{position:absolute;top:2px;right:2px;background:#dc3545;color:#fff;border:0;border-radius:50%;width:18px;height:18px;font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.invoice-job:hover .remove-job-btn{opacity:1}.remove-job-btn:hover{background:#c82333;transform:scale(1.1)}.reorder-target{animation:dragPulse 1.5s infinite}.enhanced-month-card{display:flex;flex-direction:column;min-height:300px;margin:12px;border:1px solid #ddd;border-radius:8px;background:#fff;box-shadow:0 2px 4px #0000001a}.enhanced-month-card .month-header{padding:12px 16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:8px 8px 0 0}.enhanced-month-card .invoice-columns{flex:1;display:flex;gap:0;padding:8px}.enhanced-month-card .invoice-column{flex:1;display:flex;flex-direction:column;background:#fafafa;border-radius:6px;border:1px solid #eee}.enhanced-month-card .column-header{padding:8px 12px;border-bottom:1px solid #eee;background:#fff;border-radius:6px 6px 0 0}.enhanced-month-card .column-content{flex:1;display:flex;flex-direction:column;padding:4px;overflow:visible}.dragging,.dragging *{transition:none!important}.drag-cursor{cursor:grabbing!important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.extras-container{display:flex;align-items:center;gap:8px}.extras-container .currency-input{flex:1}.extras-list-container{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.extras-list-container h5{margin:0 0 10px;font-size:14px;font-weight:600;color:#475569}.extras-list{display:flex;flex-direction:column;gap:8px}.extra-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.extra-item-content{display:flex;align-items:center;gap:12px;flex:1}.extra-item-description{flex:1;font-weight:500;color:#374151}.extra-item-amount{font-weight:600;color:#059669;padding-right:10px}.extra-item-actions{display:flex;gap:6px}.extra-item-delete-btn,.extra-item-edit-btn{padding:4px 8px;font-size:12px;border:0;border-radius:4px;cursor:pointer;transition:all .2s}.extra-item-edit-btn{background:#3b82f6;color:#fff}.extra-item-edit-btn:hover{background:#2563eb}.extra-item-delete-btn{background:#ef4444;color:#fff}.extra-item-delete-btn:hover{background:#dc2626}.additional-invoices-section{margin-top:12px}.additional-invoice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.additional-invoice-header .form-label{margin:0;font-size:14px;font-weight:500;color:#374151}.additional-invoices-container{border-radius:6px}.additional-invoices-list{display:flex;flex-direction:column;gap:8px}.additional-invoice-item{justify-content:space-between;font-size:14px}.additional-invoice-content{display:flex;align-items:center;gap:12px}.additional-invoice-description,.where-for-container input{flex:1}.additional-invoice-amount{padding-right:10px}.additional-invoice-delete-btn,.additional-invoice-edit-btn{padding:4px 8px;font-size:12px;border:0;border-radius:4px;cursor:pointer;transition:all .2s}.additional-invoice-edit-btn{background:#3b82f6;color:#fff}.additional-invoice-edit-btn:hover{background:#2563eb}.additional-invoice-delete-btn{background:#ef4444;color:#fff}.additional-invoice-delete-btn:hover{background:#dc2626}.invoice-totals-section{margin-top:16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.invoice-total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px}.invoice-total-row.grand-total{border-top:2px solid #e5e7eb;margin-top:8px;padding-top:8px;font-weight:600;font-size:15px}.total-label{color:#374151}.total-value{color:#059669;font-weight:600}.grand-total .total-value{color:#1f2937;font-size:16px}.extras-input-modal{position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10001}.additional-invoice-input-modal,.extras-input-modal{width:100%;height:100%;background:#00000080}.extras-input-content{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:90%}.additional-invoice-input-content,.extras-input-content{box-shadow:0 20px 25px -5px #0000001a}.extras-input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.extras-input-header h3{margin:0;color:#1f2937}.additional-invoice-input-header h3,.extras-input-header h3{font-size:18px;font-weight:600}.additional-invoice-input-form,.extras-input-form{display:flex;flex-direction:column;gap:16px}.additional-invoice-input-form .form-group,.extras-input-form .form-group{display:flex;flex-direction:column;gap:6px}.additional-invoice-input-form label,.extras-input-form label{font-weight:500;color:#374151;font-size:14px}.additional-invoice-input-form .form-control,.extras-input-form .form-control{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.additional-invoice-input-form .form-control:focus,.extras-input-form .form-control:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.extras-input-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.additional-invoice-input-actions button,.extras-input-actions button{padding:10px 16px;border:0;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.additional-invoice-input-actions .btn-primary,.extras-input-actions .btn-primary{background:#3b82f6;color:#fff}.additional-invoice-input-actions .btn-primary:hover,.extras-input-actions .btn-primary:hover{background:#2563eb}.additional-invoice-input-actions .btn-secondary,.extras-input-actions .btn-secondary{background:#6b7280;color:#fff}.additional-invoice-input-actions .btn-secondary:hover,.extras-input-actions .btn-secondary:hover{background:#4b5563}.search-highlight{background-color:#ffeb3b;color:#333;font-weight:700;padding:1px 2px;border-radius:2px}.search-matches-indicator{color:#17a2b8;font-weight:700;font-size:11px;margin-left:4px;background:#17a2b81a;padding:1px 4px;border-radius:3px}.date-range-container{position:relative;display:inline-block}.date-range-controls{position:absolute;top:100%;right:0;z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;margin-top:4px;min-width:420px;max-width:500px}.date-range-controls:before{content:"";position:absolute;top:-6px;right:16px;width:12px;height:12px;background:#fff;border-left:1px solid #ddd;border-top:1px solid #ddd;transform:rotate(45deg)}.date-range-inputs{display:flex;flex-direction:column;gap:12px}.date-input-group{display:flex;align-items:center;gap:8px}.date-input-group label{font-weight:500;min-width:35px;font-size:14px;color:#374151}.date-input-group select{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;min-width:100px}.date-range-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid #e5e7eb}.date-range-actions .btn{padding:6px 12px;font-size:13px;border-radius:4px;border:1px solid;cursor:pointer;transition:all .2s ease}.date-range-actions .btn-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.date-range-actions .btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.date-range-actions .btn-secondary{background-color:#6b7280;color:#fff;border-color:#6b7280}.date-range-actions .btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.date-range-container .action-button.active{background-color:#059669;color:#fff}.date-range-container .action-button.active:hover{background-color:#047857}.percentage-field{height:24px}.add-additional-container{text-align:center}.additional-invoice-details{margin-top:4px}.additional-invoice-actions button{border-radius:4px;font-size:11px;padding:3px 6px}.invoice-input-group{margin-bottom:8px}.invoice-section-container{background:#f9fafb}.additional-invoice-row{position:relative}.additional-invoice-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.additional-invoice-name{font-weight:500;color:#374151;font-size:14px}.currency-input{display:flex;align-items:center;flex:1;min-width:120px}.percentage-input{display:flex;align-items:center;width:80px}.percentage-field{width:50px!important;text-align:center;font-size:13px}.percentage-symbol{margin-left:2px;font-weight:600;color:#6b7280}.use-percentage-btn{background:#3b82f6;color:#fff;border:0;border-radius:4px;cursor:pointer}.use-percentage-btn:hover{background:#2563eb}.use-percentage-btn:disabled{background:#9ca3af;cursor:not-allowed}.fix-percentage-btn{white-space:nowrap;font-size:11px;padding:4px 6px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.fix-percentage-btn:hover{background:#f3f4f6;border-color:#9ca3af}.fix-percentage-btn.locked{background:#fbbf24}.fix-percentage-btn.locked:hover{background:#f59e0b}.invoice-label-with-add{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.add-additional-btn{background:0 0;cursor:pointer}.add-additional-btn:hover{background:#eff6ff;text-decoration:none}.additional-invoices-container{margin-top:8px}.auto-calculated{position:relative}.auto-calculated:after{content:"✨";position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.7}.additional-invoice-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.additional-invoice-content{flex:1;font-size:13px}.additional-invoice-description{font-weight:500;color:#1f2937;margin-bottom:4px}.additional-invoice-details{display:flex;align-items:center;gap:12px}.additional-invoice-amount{font-weight:600;color:#059669}.additional-invoice-percentage{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.use-percentage-additional{font-size:10px;padding:2px 6px;background:#6366f1;color:#fff;border:0;border-radius:3px;cursor:pointer}.use-percentage-additional:hover{background:#4f46e5}.additional-invoice-actions{display:flex;gap:4px}.percentage-validation{background:#f8fafc}.percentage-total-display{font-weight:600}.percentage-status{text-align:center;border-radius:4px}.percentage-status.valid{background:#ecfdf5}.percentage-status.warning{background:#fffbeb}.percentage-status.error{background:#fef2f2}.additional-invoice-input-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.additional-invoice-input-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.additional-invoice-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.additional-invoice-input-header h3{margin:0;color:#1f2937}.form-actions-row{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.form-actions-row button{font-size:12px;padding:6px 12px}.calc-percentage-for-additional,.use-percentage-for-additional{background:#6366f1;color:#fff;border:0;border-radius:4px;cursor:pointer}.calc-percentage-for-additional:hover,.use-percentage-for-additional:hover{background:#4f46e5}.additional-invoice-input-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.field-warning{color:#d97706;font-size:12px;margin-top:4px;display:block;background:#fffbeb;padding:4px 8px;border-radius:4px;border-left:3px solid #d97706}.form-control.warning{border-color:#d97706;background-color:#fffbeb}.form-control.locked,.percentage-field.locked{cursor:not-allowed!important;box-shadow:inset 0 0 0 1px #dc354533!important}.fix-percentage-btn.locked{border-color:#dc3545!important}.form-control.locked,.form-control.locked:hover,.percentage-field.locked,.percentage-field.locked:hover{background-color:#f5f5f5!important;border-color:#dc3545!important}.fix-percentage-btn{transition:all .2s ease;min-width:35px}.fix-percentage-btn.locked{background-color:#dc3545!important;color:#fff!important;box-shadow:0 0 0 .2rem #dc354540}.fix-percentage-btn.locked:hover{background-color:#c82333!important;border-color:#bd2130!important}.fix-percentage-btn:not(.locked){background-color:#6c757d;color:#fff;border-color:#6c757d}.fix-percentage-btn:not(.locked):hover{background-color:#545b62;border-color:#4e555b}.percentage-field.auto-calculated{background-color:#d4edda!important;border-color:#28a745!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:"🔒";position:absolute;right:25px;top:50%;transform:translateY(-50%);font-size:12px;pointer-events:none;color:#dc3545}.percentage-validation{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px;margin-top:15px}.percentage-total-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.percentage-label{font-weight:600;color:#495057}.percentage-value{font-size:18px;font-weight:700;padding:4px 8px;border-radius:4px;transition:all .3s ease}.percentage-value.valid{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.percentage-value.warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.percentage-value.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;animation:shake .5s ease-in-out}.percentage-status{font-size:14px;font-weight:500;padding:6px 0;transition:all .3s ease}.percentage-status.valid{color:#155724}.percentage-status.warning{color:#856404}.percentage-status.error{color:#721c24;animation:pulse 2s ease-in-out infinite}.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:4px;font-size:12px;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}.notification.warning{background:linear-gradient(135deg,#ffc107,#ff8c00);color:#212529;border-left:4px solid #ff8c00}.smart-redistribution-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#007bfff2;color:#fff;padding:10px 15px;border-radius:6px;font-weight:600;z-index:10000;animation:fadeInOut 1.5s ease-in-out}.invoice-header-row{padding:4px 0}.invoice-status-and-label .form-label{font-weight:600;font-size:16px;margin:0;color:#374151;min-width:80px}.invoice-status-dropdown{font-size:12px;font-weight:500;padding:4px 6px;min-width:80px;width:80px;flex-shrink:0}.add-additional-btn{font-size:12px;font-weight:500;padding:6px 10px;color:#3b82f6;text-decoration:none;border:1px solid #e5e7eb;border-radius:4px;background:#f9fafb;transition:all .2s ease}.add-additional-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#2563eb}.invoice-input-row{padding:8px 0;border-bottom:1px solid #e5e7eb}.invoice-input-row:last-child{border-bottom:none}.main-invoice-row{background:#f8fafc;padding:12px;border-radius:6px;margin-bottom:8px}.invoice-input-group{display:flex;align-items:center;gap:8px;flex:1}.additional-invoice-row{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:8px 12px}.additional-invoice-row:hover{background:#f9fafb;border-color:#d1d5db}.additional-invoice-header-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.additional-invoice-input-row{display:flex;align-items:center;gap:8px}.additional-invoice-name-input{flex:1;font-weight:500;font-size:13px;padding:4px 8px;border:0;border-radius:4px;background:#fff;width:120px}.additional-invoice-name-input:focus{background:#f0f9ff;border-color:#0ea5e9;outline:0}.additional-invoice-status-dropdown{font-size:12px;padding:4px 6px;min-width:80px;width:80px;flex-shrink:0;margin-right:100px}.delete-invoice-btn{font-size:11px;padding:4px 8px;min-width:auto;flex-shrink:0}.additional-amount-input,.additional-percentage-input{font-size:13px;padding:4px 6px}.additional-amount-input{width:80px}.additional-percentage-input{width:60px}.use-percentage-btn{font-size:11px;padding:4px 8px;white-space:nowrap}.invoice-section-container{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fefefe}.invoice-section-container:last-child{margin-bottom:0}@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:22px}.tab-button{padding:10px 16px;font-size:14px;min-width:100px}#kanban-board,.board-container,.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:14px}}@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:15px;gap:15px}.app-title{font-size:24px;text-align:center}.tabs-container{justify-content:center;flex-wrap:wrap;gap:5px}.tab-button{padding:12px 16px;min-height:48px;border-radius:8px}#kanban-board,.board-container,.kanban-board{flex-direction:column!important;gap:20px!important;padding:15px!important}.board-column,.column,.kanban-column{width:100%!important;min-width:100%!important;max-width:100%!important}.action-button,.btn,button{padding:14px 20px;font-size:16px}}@media(max-width:767px)and (orientation:landscape){#kanban-board,.board-container,.kanban-board{flex-direction:row!important;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:16px!important}}.notification-badge,.notification-button{display:flex!important;align-items:center!important}.notification-button{position:relative!important;gap:4px!important;padding:8px 12px!important}.notification-badge{position:absolute!important;top:-2px!important;right:-2px!important;background:#dc3545!important;color:#fff!important;border-radius:10px!important;font-size:11px!important;font-weight:600!important;min-width:18px!important;height:18px!important;justify-content:center!important;z-index:10!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}.notifications-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.notifications-actions,.notifications-filters{display:flex;gap:8px}.filter-btn{white-space:nowrap}.filter-btn:hover:not(.active){background:#f3f4f6}.clear-btn{background:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.clear-btn:hover{background:#c82333!important;border-color:#bd2130!important}.notification-item{padding:12px 16px;border-bottom:1px solid #f3f4f6;display:flex;gap:12px;align-items:flex-start;position:relative;cursor:pointer;transition:background .2s}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#f8fafc;border-left:3px solid #3b82f6}.notification-item.important{border-left:3px solid #dc3545}.notification-icon-large{width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:#fff}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;margin-bottom:4px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{color:#6b7280;font-size:13px;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ca3af;flex-wrap:wrap}.notification-actions{display:flex;flex-direction:column;gap:4px;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:4px;font-size:12px;transition:background .2s;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-action:hover{background:#f3f4f6}.delete-notification-btn:hover{background:#fee;color:#dc3545}.no-notifications{padding:40px 20px;text-align:center;color:#6b7280}.mention-popup{position:absolute;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;max-height:200px;overflow-y:auto;min-width:200px}.mention-user{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f3f4f6;transition:background .1s}.mention-user.selected,.mention-user:hover{background:#f3f4f6}.mention-user-avatar{width:24px;height:24px;border-radius:12px;background:#6b7280;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0}.mention-user-info{flex:1;min-width:0}.mention-user-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-user-role{font-size:12px;color:#6b7280;text-transform:capitalize}.notification-toast{position:fixed;top:80px;right:20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;max-width:300px;animation:slideInRight .3s ease;cursor:pointer}.toast-content{display:flex;align-items:flex-start;gap:8px;padding:12px 16px}.toast-icon{font-size:20px;flex-shrink:0}.toast-text{flex:1;min-width:0}.toast-title{font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-message{font-size:13px;color:#6b7280;line-height:1.4}.toast-close{background:0 0;border:0;cursor:pointer;opacity:.7;font-size:16px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-close:hover{opacity:1}@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}}.order-type-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;text-align:center;min-width:60px}.order-type-badge.customer{background-color:#3b82f6;color:#fff}.order-type-badge.stock{background-color:#10b981;color:#fff}.order-type-badge.unknown{background-color:#6b7280;color:#fff}.field-error{border:2px solid #dc2626!important;background-color:#fef2f2!important;animation:shake .3s ease-in-out}.field-error:focus{outline:0;box-shadow:0 0 0 3px #dc26261a}.error-message{color:#dc2626;font-size:12px;margin-top:4px;font-weight:500;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠️";font-size:10px}#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}.center-cell{text-align:center!important}.where-for-container{position:relative;display:flex;align-items:center}.form-help{line-height:1.3}.panel-actions{display:flex;align-items:center;gap:12px}#orders-type-filter option[value=customer]:before{content:"👤 "}#orders-type-filter option[value=stock]:before{content:"📦 "}@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}}@media(max-width:1200px){.panel-actions{gap:8px}.panel-actions .select-filter{min-width:100px;max-width:120px}#orders-table{font-size:14px}#orders-table td,#orders-table th{padding:10px 6px}}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:#fff;text-align:center;min-width:70px}.empty-state-content{text-align:center;padding:40px 20px;color:#6b7280}.empty-state-content .empty-icon{font-size:48px;margin-bottom:16px}.empty-state-content h3{margin:0 0 8px;color:#374151;font-size:18px}.empty-state-content p{margin:0 0 20px;font-size:14px}.empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.orders-pagination-container{border-top:1px solid #e5e7eb;background:#f9fafb;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.pagination-info{display:flex;align-items:center;gap:12px;font-size:14px;color:#6b7280}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn:disabled{cursor:not-allowed;opacity:.5;background:#f9fafb}.page-indicator{padding:6px 12px;font-weight:500;min-width:120px;text-align:center;font-size:14px;color:#374151}.sort-indicator{margin-left:4px;font-size:12px;color:#9ca3af;transition:all .2s}th.sorted .sort-indicator{color:#3b82f6;font-weight:700}.archived-read-only .form-group label,th[data-sort]:hover .sort-indicator{color:#6b7280}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-row .form-group.full-width{grid-column:1/-1}.loading-skeleton{animation:pulse 2s infinite}.offline-indicator{margin-left:4px;color:#f59e0b;font-size:12px}.pending-sync{background-color:#fef3c7;border-left:3px solid #f59e0b}.order-row.editable:hover{background-color:#f8fafc;cursor:pointer}.order-row.non-editable{opacity:.8}.order-row.non-editable:hover{background-color:transparent;cursor:default}.error-state{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:20px;text-align:center;color:#dc2626;margin:20px}@media print{.orders-pagination-container,.pagination-controls,.panel-actions{display:none!important}#orders-table{width:100%;font-size:12px}.order-type-badge,.status-badge{border:1px solid #000;color:#000!important;background:0 0!important}}.pagination-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.filter-active{background-color:#dbeafe!important;border-color:#3b82f6!important;color:#1e40af!important}#order-where-for-list option{padding:8px 12px;font-size:14px}@media(max-width:767px){.orders-pagination-container{flex-direction:column;gap:12px}.pagination-controls{flex-wrap:wrap;justify-content:center}.form-row{grid-template-columns:1fr;gap:12px}.panel-actions{flex-direction:column;align-items:stretch;gap:8px}.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){.loading-skeleton,.shake{animation:none}.pagination-btn,.sort-indicator{transition:none}}.user-display-info{display:flex;flex-direction:column}.user-primary-name{font-weight:500;color:#1f2937}.user-mention-preview{font-size:11px;color:#6b7280;margin-top:2px;font-style:italic}.mention-preview-text{padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px;transition:all .2s ease}.current-mention-preview{margin-top:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;border-left:3px solid #3b82f6}.permission-editor .form-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.permission-editor .form-section:last-child{border-bottom:none;margin-bottom:0}.permission-editor .form-section h4{margin:0 0 12px;color:#1f2937;font-weight:600;display:flex;align-items:center;gap:8px}@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:0 2px 4px #0000001a;transform:translateY(-1px);transition:all .2s ease}.ordered-items-section{border:1px solid #e5e7eb}.ordered-items-section h4{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.enhanced-card{min-height:120px}.enhanced-content{display:flex;flex-direction:column;gap:8px;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:4px}.installer-assignment label,.van-assignment label{font-size:11px;font-weight:600;color:#666;margin:0}.van-selector{width:100%;padding:4px;border:1px solid #ddd;border-radius:4px;font-size:11px;background:#fff}.installer-selector-container{width:100%}.installer-selector-btn{width:100%;background:#f8f9fa}.installer-selector-btn:hover{background:#e9ecef}.enhanced-gantt-card{overflow:hidden}.enhanced-gantt-content{display:flex;flex-direction:column;height:100%;padding:6px;gap:4px}.gantt-job-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px}.gantt-job-number{font-weight:700;font-size:12px}.gantt-customer{font-size:11px;font-weight:500;text-align:right;flex:1;margin-left:8px}.gantt-assignment-details{display:flex;flex-direction:column;gap:3px;margin:4px 0}.gantt-installer-section,.gantt-van-section{display:flex;align-items:center;gap:6px}.gantt-label{font-size:12px;min-width:16px}.gantt-van-selector{flex:1;padding:2px 4px;border-radius:3px;font-size:10px}.gantt-installer-btn,.gantt-van-selector{border:1px solid rgba(255,255,255,.3);background:#ffffffe6;color:#333}.gantt-installer-btn:hover{background:#fff;border-color:#fffc}.gantt-description{font-size:10px;line-height:1.2;margin-top:auto;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.compact-btn,.compact-select{font-size:13px!important;padding:2px 4px!important}.job-customer-name{font-weight:600;font-size:13px;margin-bottom:4px}.job-description{font-size:11px;color:#666;line-height:1.3;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.management-tabs{display:flex;border-bottom:2px solid #e9ecef;margin-bottom:20px;background:#f8f9fa;border-radius:8px 8px 0 0;padding:0}.management-tab-btn{padding:12px 24px;border:0;background:0 0;cursor:pointer;font-size:14px;font-weight:500;color:#6c757d;border-bottom:3px solid transparent;transition:all .2s ease;flex:1;border-radius:8px 8px 0 0}.management-tab-btn.active{color:#007bff;background:#fff;border-bottom-color:#007bff;font-weight:600}.management-tab-btn:hover:not(.active){color:#007bff;background:#e9ecef}.management-section{display:none}.management-section.active{display:block;animation:fadeIn .3s ease-in-out}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.section-header h4{margin:0;color:#495057;font-size:18px}.management-list{background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e9ecef}.management-list-header{background:#e9ecef;color:#495057;font-size:14px}.management-items{max-height:300px;overflow-y:auto}.management-row{display:flex;background:#fff}.management-row:last-child{border-bottom:none}.installer-active-label:hover,.management-row:hover{background:#f8f9fa}.installer-active-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.installer-active-checkbox{width:16px;height:16px;cursor:pointer}.installer-selection-section{padding:10px 0}.selection-instruction{margin-bottom:20px;color:#495057;font-size:14px;text-align:center;padding:12px;background:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.installer-checkboxes-container{flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:10px;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa}.installer-checkbox-item{background:#fff;border-radius:6px;border:1px solid #e9ecef;transition:all .2s ease;overflow:hidden}.installer-checkbox-item:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a;transform:translateY(-1px)}.installer-checkbox-item.on-leave{background:#fef3c7;border-color:#f59e0b}.installer-checkbox-item.on-leave:hover{border-color:#d97706;box-shadow:0 2px 4px #f59e0b33}.installer-checkbox-label.on-leave-label{background:#fef3c7}.installer-checkbox-label.on-leave-label:hover{background:#fde68a}.installer-leave-badge{font-size:11px;background:#f59e0b;color:#fff;padding:2px 8px;border-radius:12px;font-weight:500;white-space:nowrap}.company-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:8px 0}.company-folder-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;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:0 4px 12px #00000014;transform:translateY(-1px);border-color:#2563eb}.company-folder-icon{font-size:36px;line-height:1;margin-bottom:8px}.company-folder-name{font-weight:600;font-size:15px;color:#111827;margin-bottom:6px;word-break:break-word}.company-folder-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b7280;align-items:center}.company-folder-pill{display:inline-block;background:#eef2ff;color:#4338ca;padding:2px 8px;border-radius:10px;font-weight:500;font-size:11px;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:14px;padding:4px;border-radius:4px;opacity:.6}.company-folder-edit-btn:hover{opacity:1;background:#f3f4f6}.company-docs-breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0;flex-wrap:wrap}.company-docs-current-folder{font-size:16px;font-weight:600;color:#111827}.company-docs-visible-pill{display:inline-block;background:#eef2ff;color:#4338ca;padding:3px 10px;border-radius:12px;font-weight:500;font-size:12px}.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:12px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:border-color .15s;min-width:0}.company-doc-row:hover{border-color:#2563eb}.company-doc-link{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;color:#111827;font-weight:500;font-size:14px}.company-doc-link:hover{text-decoration:underline;color:#1d4ed8}.company-doc-icon{font-size:18px;flex-shrink:0}.company-doc-name{overflow-wrap:anywhere;min-width:0}.company-doc-meta{font-size:12px;color:#6b7280;white-space:nowrap}.btn-icon-danger{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;opacity:.6}.btn-icon-danger:hover{opacity:1;background:#fef2f2}.company-folder-all-row{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:8px;cursor:pointer}.company-folder-dept-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;padding:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:240px;overflow-y:auto}.company-folder-dept-item{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:13px;cursor:pointer}.company-folder-dept-item:hover{background:#f3f4f6;border-radius:4px}.installer-on-leave-tag{background:#dc2626;color:#fff;padding:1px 6px;border-radius:4px;font-weight:600;white-space:nowrap}.installer-double-booked-tag{background:#eab308;color:#000;padding:1px 6px;border-radius:4px;font-weight:600;white-space:nowrap}.installer-checkbox-label{display:flex;align-items:center;padding:12px 16px;cursor:pointer;margin:0;gap:12px;transition:background-color .2s ease}.installer-checkbox-label:hover{background:#f8f9fa}.installer-checkbox{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:#007bff}.installer-name{font-weight:500;color:#495057;flex:1;font-size:14px}.installer-phone{font-size:12px;color:#6c757d;font-family:monospace;background:#f8f9fa;padding:2px 6px;border-radius:3px}.selection-summary{margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef;text-align:center}.text-muted{color:#6c757d!important}.unscheduled-search-container{padding:10px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.unscheduled-search-container .search-input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff}.unscheduled-search-container .search-input:focus{outline:0;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.medium-modal{width:90%;max-width:500px;max-height:80vh}.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 #e9ecef}.management-tab-btn.active{border-left:4px solid #007bff}.management-list-header,.management-row{grid-template-columns:1fr;gap:8px}.management-row input{margin-bottom:8px}.section-header{flex-direction:column;align-items:stretch;gap:10px}.installer-checkbox-label{flex-direction:column;align-items:flex-start;gap:8px}.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:#6c757d;font-style:italic}.dragging-move{opacity:.5;border:2px dashed #3b82f6!important}.dragging-copy{opacity:.8;border:2px dashed #10b981!important}.drop-target-move{background-color:#3b82f61a!important;border:2px dashed #3b82f6!important}.drop-target-copy{background-color:#10b9811a!important;border:2px dashed #10b981!important}.gantt-job-card[draggable=true],.unscheduled-job-card[draggable=true]{cursor:move}.gantt-job-card[draggable=true].ctrl-pressed,.unscheduled-job-card[draggable=true].ctrl-pressed{cursor:copy}.drag-image{pointer-events:none;z-index:9999}.drop-target-invalid{background-color:#ef44441a!important;border:2px dashed #ef4444!important;cursor:not-allowed!important}.van-checkboxes-container{display:flex;flex-direction:column;max-height:300px;overflow-y:auto;padding:8px;border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb}.van-checkbox-item{padding:12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;transition:all .2s ease}.van-checkbox-item:hover{border-color:#3b82f6;background-color:#f0f9ff}.van-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;width:100%}.van-checkbox{width:18px;height:18px;accent-color:#3b82f6}.van-registration{font-weight:600;color:#1f2937;min-width:100px}.van-notes{font-size:14px;color:#6b7280;flex:1}.gantt-installer-btn,.gantt-van-btn,.installer-selector-btn,.van-selector-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:11px!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:#e5e7eb;border-color:#3b82f6}.selected{box-shadow:0 0 0 3px #3b82f64d!important;border-color:#3b82f6!important}.selected-job-info{font-size:13px;line-height:1.4}.selected-job-info small:last-child{margin-top:8px;padding:4px 8px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;display:block;text-align:center}.week-header .day-column.today{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:700;border-radius:8px 8px 0 0;box-shadow:0 2px 8px #3b82f64d;position:relative;transform:scale(1.02);z-index:10}.week-header .day-column.today .day-date,.week-header .day-column.today .day-label{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.week-header .day-column.today .day-date{font-weight:800;font-size:1.1em}.week-header .day-column.today:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;z-index:-1;opacity:.5;animation:todayGlow 2s ease-in-out infinite alternate}.gantt-day-cell.today-cell{background:linear-gradient(180deg,#3b82f61a,#3b82f60d);border-left:3px solid #3b82f6;border-right:3px solid #3b82f6;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,#dc2626,#b91c1c);color:#fff;font-weight:600;border-radius:8px 8px 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,#7c2d12,#9a3412);color:#fff;font-weight:600;border-radius:8px 8px 0 0;box-shadow:0 2px 8px #7c2d124d}.bank-holiday-indicator{position:absolute;top:2px;right:2px;font-size:12px;background:#ffffffe6;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003;z-index:5}.gantt-day-cell.bank-holiday-cell{background:linear-gradient(180deg,#dc262614,#dc26260a);border-left:2px solid #dc2626;border-right:2px solid #dc2626;position:relative}.gantt-day-cell.bank-holiday-cell:before,.gantt-day-cell.bank-holiday-weekend-cell:before{content:"🏦";position:absolute;top:4px;right:4px;font-size:11px;border-radius:3px;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 #7c2d12;border-right:2px solid #7c2d12}.gantt-day-cell.bank-holiday-weekend-cell:before{background:#7c2d1226}.week-header .day-column.today.bank-holiday{background:linear-gradient(135deg,#7c3aed,#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 #7c3aed;border-right:3px solid #7c3aed}.gantt-day-cell.today-cell.bank-holiday-cell:before{content:"🏦📅";background:#7c3aed26;font-size:10px;padding:2px 3px}.week-header .day-column.weekend:not(.bank-holiday):not(.bank-holiday-weekend){background:linear-gradient(135deg,#6b7280,#4b5563);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,#dc2626,#b91c1c);background-color:#f973161a;color:#fff;font-weight:600;position:relative;border-radius:4px}.mini-day.bank-holiday:after{content:"🏦";position:absolute;top:1px;right:1px;font-size:8px;line-height:1}.mini-day.bank-holiday-weekend{background:linear-gradient(135deg,#7c2d12,#9a3412);color:#fff;font-weight:600}.mini-day.today.bank-holiday{background:linear-gradient(135deg,#7c3aed,#5b21b6);animation:miniDayPulse 2s ease-in-out infinite}@media(max-width:767px){.bank-holiday-indicator{width:14px;height:14px;font-size:10px}.gantt-day-cell.bank-holiday-cell:before,.gantt-day-cell.bank-holiday-weekend-cell:before{font-size:9px;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 #d1d5db;border-radius:6px;cursor:pointer;background:0 0}.van-color-input:hover{border-color:#3b82f6}.van-color-input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.management-list-header,.management-row{display:grid;grid-template-columns:1fr 60px 1fr 60px;gap:12px;padding:8px 0}.management-row{align-items:center;border-bottom:1px solid #e5e7eb}.management-list-header{font-weight:600;border-bottom:2px solid #d1d5db;margin-bottom:10px}.management-list-header span,.status-dropdown-header strong{font-size:14px;color:#374151}.custom-activity-card{border-left:4px solid #6b7280;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9)}.custom-activity-content .activity-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.activity-type-icon{font-size:18px;min-width:20px}.activity-title{font-weight:600;font-size:14px;color:#1f2937}.activity-description{font-size:12px;color:#6b7280;margin-bottom:12px;line-height:1.4}.activity-footer{display:flex;justify-content:space-between;align-items:center}.activity-duration{font-size:11px;color:#6b7280;font-weight:500}.edit-activity-btn{background:0 0;border:0;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:12px;color:#6b7280;transition:all .2s}.edit-activity-btn:hover{background:#e5e7eb;color:#374151}.activity-maintenance{border-left-color:#f59e0b!important}.activity-van-service{border-left-color:#06b6d4!important}.activity-training{border-left-color:#8b5cf6!important}.activity-meeting{border-left-color:#10b981!important}.activity-holiday{border-left-color:#ec4899!important}.activity-admin{border-left-color:#6b7280!important}.activity-other{border-left-color:#64748b!important}.form-help{font-size:11px;color:#6b7280;margin-top:4px}#activity-type option{padding:8px}.gantt-job-card.custom-activity-card{background:linear-gradient(135deg,#f8fafc 0,#f1f5f9);border:1px solid #e2e8f0}.gantt-job-card.custom-activity-card .gantt-job-header{align-items:center;gap:0;margin-bottom:6px}.gantt-job-card.custom-activity-card .gantt-customer{font-size:11px;color:#6b7280;font-weight:500}.pending-sync{position:relative;opacity:.9}.sync-pending-indicator{position:absolute;top:5px;right:5px;font-size:16px;animation:pulse 1.5s infinite}body.offline-mode .edit-controls{border:2px dashed orange}body.offline-mode .save-button:after{content:" (Offline)";font-size:.9em;opacity:.7}.archived-read-only .form-control:disabled,.archived-read-only .read-only-field{background-color:#f9fafb!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.8}.archived-read-only .modal-header{background-color:#fef3c7;border-bottom:2px solid #fbbf24}#archived-job-indicator{animation:slideDown .3s ease-out}.orders-status-bar{transition:all .2s ease}.infinite-loading-indicator{animation:fadeIn .3s ease}.table-container,html{scroll-behavior:smooth}.orders-table-loading{opacity:.7;transition:opacity .2s ease}#app-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{flex-shrink:0}.pdf-drop-zone{border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;background:#f9fafb;cursor:pointer;transition:all .3s ease;margin-bottom:12px}.pdf-drop-zone:hover{border-color:#3b82f6;background:#eff6ff}.pdf-drop-zone.dragging{border-color:#3b82f6;background:#dbeafe;box-shadow:0 0 0 3px #3b82f61a}.drop-zone-icon{font-size:48px;margin-bottom:12px}.drop-zone-text p{margin:0 0 8px;font-size:16px;font-weight:500;color:#374151}.drop-zone-or{display:block;margin:8px 0;color:#6b7280;font-size:14px}.drop-zone-help{display:block;margin-top:8px;color:#6b7280;font-size:12px}.attached-pdfs-container{margin-top:16px;padding:16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.attached-pdfs-container h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.attached-pdfs-list{display:flex;flex-direction:column;gap:8px}.pdf-item,.pdf-item-info{display:flex;align-items:center}.pdf-item{justify-content:space-between;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s ease}.pdf-item:hover{box-shadow:0 2px 4px #0000000d;border-color:#3b82f6}.pdf-item-info{gap:12px;flex:1;cursor:pointer}.pdf-item-icon{font-size:24px}.pdf-item-details{flex:1}.pdf-item-name{font-size:14px;font-weight:500;color:#1f2937;margin:0 0 2px}.pdf-item-size{font-size:12px;color:#6b7280}.pdf-item-actions{display:flex;gap:8px}.pdf-action-btn{padding:6px 10px;font-size:12px;border:1px solid #e5e7eb;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease}.pdf-action-btn:hover{background:#f3f4f6;border-color:#9ca3af}.pdf-action-btn.view{color:#3b82f6;border-color:#3b82f6}.pdf-action-btn.view:hover,tr.selected{background:#eff6ff}.pdf-action-btn.remove{color:#ef4444;border-color:#ef4444}.pdf-action-btn.remove:hover{background:#fef2f2}.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:#fff;border-radius:8px;display:flex;flex-direction:column}.pdf-viewer-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.pdf-viewer-title{font-size:16px;font-weight:600;color:#1f2937}.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}.compact-input{padding:6px var(--space-md)!important;height:34px!important;font-size:13px!important}textarea.compact-input{height:auto!important;min-height:50px!important;padding:var(--space-sm) var(--space-md)!important}select.compact-input{height:34px!important;padding:6px var(--space-sm)!important}.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{font-size:12px!important;font-weight:500;margin-bottom:4px!important;color:var(--color-text-secondary);display:block}css .compact-drop-zone{padding:var(--space-md)!important;border:2px dashed #cbd5e1;border-radius:var(--radius-md);background:#f8fafc;cursor:pointer;transition:all .3s ease}.compact-drop-zone:hover{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.compact-drop-zone.dragging{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 4px #3b82f626;border-style:solid}.drop-zone-content.compact{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.compact-drop-zone .drop-zone-icon{color:#64748b;transition:color .3s ease}.compact-drop-zone:hover .drop-zone-icon{color:#3b82f6}.compact-drop-zone.dragging .drop-zone-icon{color:#2563eb}.compact-drop-zone .drop-zone-text{color:#475569}.compact-drop-zone .drop-zone-help{color:#94a3b8}.btn-inline{display:inline;padding:3px var(--space-sm);font-size:12px;background:var(--color-primary);color:#fff;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.btn-inline:hover{background:var(--color-primary-dark)}.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);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:11px!important;border:1px solid var(--color-border);background:var(--color-bg);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, #eff6ff)}.attached-pdfs-list.compact .pdf-action-btn.remove{color:var(--color-danger);border-color:var(--color-danger)}.attached-pdfs-list.compact .pdf-action-btn.remove:hover{background:var(--color-danger-light, #fef2f2)}.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%}.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}.todo-header-container{display:flex;justify-content:space-between;align-items:center;flex:1;gap:20px}.todo-header-container .user-greeting{flex:1}.todo-header-container #add-task-btn{white-space:nowrap;align-items:center}.todo-quick-add-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.quick-add-container{align-items:center}.quick-add-input{transition:border-color .2s}.quick-add-input:focus{outline:0;border-color:#3b82f6}.todo-controls-section,.todo-filter-section{display:flex;align-items:center;flex-wrap:wrap}.todo-controls-section{justify-content:space-between;gap:20px}.todo-filter-section{gap:12px}.filter-buttons{background:#fff;padding:8px;border-radius:8px}.filter-btn{background:0 0}.stat-card{min-width:80px;box-shadow:0 1px 3px #0000001a}.stat-card.urgent{background:#fef2f2;border:1px solid #fecaca}.todos-list-container{background:#fff;border-radius:8px;padding:20px;min-height:400px}.todo-category-section{margin-bottom:24px}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #f3f4f6}.category-header h3{font-size:16px;font-weight:600;margin:0}.category-count{background:#f3f4f6;padding:2px 8px;border-radius:12px;font-size:12px;color:#6b7280}.todo-item{background:#fafafa}.todo-item:hover{background:#f9fafb}.todo-item.completed{opacity:.6;background:#f9fafb}.todo-item.overdue{border-left:4px solid #ef4444}.todo-checkbox{margin-right:12px;padding-top:2px}.todo-toggle{width:20px;height:20px;cursor:pointer}.todo-content{flex:1}.todo-title{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.todo-text{margin-bottom:6px}.todo-text.line-through{text-decoration:line-through;color:#9ca3af}.todo-notes{display:block;color:#6b7280;font-size:12px;margin-top:4px}#todo-badge,.todo-meta{display:flex;align-items:center}.todo-meta{gap:12px;flex-wrap:wrap}.follow-up-tasks{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.followup-modal-item{display:flex;gap:8px;margin-bottom:8px}.followup-input{flex:1;padding:8px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;font-family:inherit;line-height:1.5;resize:none;overflow:hidden;min-height:36px;transition:height .1s ease}.priority-badge{text-transform:uppercase}.due-date{font-size:12px;color:#6b7280}.due-date.overdue{color:#ef4444;font-weight:600}.has-reminder{font-size:14px}.todo-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.todo-item:hover .todo-actions{opacity:1}.todo-action-btn{background:0 0;border:0;cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:background .2s}.todo-action-btn:hover{background:#e5e7eb}.empty-state{color:#9ca3af}.empty-icon{font-size:48px;margin-bottom:16px}.user-greeting h2{font-size:24px;color:#1f2937;margin:0}.user-greeting p{color:#6b7280;margin:4px 0 0}#todo-badge.badge-urgent{background:#f59e0b;animation:badge-dim 2s infinite}.filter-btn.active .badge{background:#fff;color:#3b82f6}#todo-badge,#meetings-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;border-radius:50%;min-width:20px;height:20px;justify-content:center;font-size:11px;font-weight:700;padding:0 4px;border:2px solid #fff;box-shadow:0 2px 4px #0000001a}#meetings-badge{background:#3b82f6}.capacity-overview{margin-bottom:30px}.capacity-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:5px}.capacity-card{background:#fff;border-radius:12px;padding:5px;box-shadow:0 2px 8px #0000001a;text-align:center}.capacity-card h4{margin:0 0 10px;font-size:14px;color:#6b7280}.capacity-value{font-size:32px;font-weight:700;color:#1f2937}.capacity-label{font-size:12px;color:#9ca3af}.status-card.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #28a745}.status-card.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107}.department-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.department-capacity-card{background:#fff;border-radius:10px;padding:20px;border:2px solid #e5e7eb;transition:transform .2s}.department-capacity-card.sufficient{border-color:#10b981}.department-capacity-card.insufficient{border-color:#ef4444;background:#fef2f2}.dept-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.dept-icon{font-size:24px}.dept-stats{margin-bottom:15px}.stat-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.stat-value{color:#1f2937}.stat-value.over{color:#ef4444}.utilization-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:10px}.utilization-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s}.utilization-fill.over{background:linear-gradient(90deg,#ef4444,#dc2626)}.dept-status{font-size:12px;font-weight:500;text-align:center;padding:8px;border-radius:6px;background:#f9fafb}.selection-count{margin-left:auto;font-size:14px;color:#6b7280}.checkbox-column{width:40px;text-align:center}.capacity-analysis-section{margin-top:30px}.analysis-results{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a}.capacity-ok,.critical-departments,.recommendations{margin-bottom:20px;padding-left:30px}.critical-departments{padding:15px 15px 15px 30px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.capacity-ok{padding:15px;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px}.department-config-section,.selection-controls-capacity{margin-bottom:25px;padding:15px;background:#f9fafb;border-radius:8px}.department-config-section h4{margin:0 0 15px;color:#1f2937}.selection-controls-capacity{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.selection-controls-capacity .search-container{flex:0 1 300px}.selection-controls-capacity .search-input{width:100%}.selection-controls-capacity .selection-buttons{display:flex;gap:10px}.selection-controls-capacity .selection-count{font-size:14px;color:#6b7280;font-weight:500;padding:8px 16px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.capacity-job-row{transition:background-color .2s}.capacity-job-row:hover{background-color:#f3f4f6}.capacity-job-row.selected:hover{background-color:#dbeafe}.jobs-selection-section{margin-top:30px}.jobs-selection-section h3{text-align:center;margin-bottom:20px}.todo-controls-section{flex-shrink:0;padding:5px;background:#fff;border-bottom:1px solid #e5e7eb}.todo-main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;background:#f9fafb;min-height:0}.todo-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;transition:all .2s;cursor:pointer;margin-bottom:4px}.todo-item:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.todos-list .todo-item:last-child{margin-bottom:20px}.empty-state{padding:60px 20px;text-align:center;background:#fff;border-radius:12px;margin:20px auto;max-width:400px}.quick-add-container{display:flex;gap:12px;margin:0 auto}.quick-add-input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;display:flex;align-items:center;gap:6px}.filter-btn:hover{background:#f3f4f6;transform:translateY(-1px)}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.todo-stats{display:flex;gap:16px;margin-left:auto}.stat-card.urgent{background:#fef3c7;border-color:#fbbf24}.stat-label,.stat-value{display:block}.stat-label{margin-top:2px}@media(max-width:767px){#todo-view{height:calc(100vh - 50px)}.todo-main-content{padding:12px}.todo-controls-section{flex-direction:column;gap:12px}.todo-stats{margin-left:0;justify-content:space-around;width:100%}.filter-buttons{justify-content:center}}.todo-main-content{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}#todos-list::-webkit-scrollbar,.todo-main-content::-webkit-scrollbar{width:8px}#todos-list::-webkit-scrollbar-track,.todo-main-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.todo-main-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.extras-checkboxes-container::-webkit-scrollbar-thumb:hover,.todo-main-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}#todos-list{max-height:60vh;overflow-y:auto;overflow-x:hidden;border-radius:8px;padding:0;-webkit-overflow-scrolling:touch;position:relative}#todos-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px;transition:background .3s ease}.todos-list{padding:8px;display:flex;flex-direction:column;gap:8px}.todo-item{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)}.todos-list{position:relative;z-index:0}#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}.table-container{overflow-x:auto}.completion-summary{margin-bottom:20px}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:10px}.stat-card{background:#fff;padding:15px;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.stat-card.success{border-color:#10b981;background:#f0fdf4}.stat-card.warning{border-color:#f59e0b;background:#fffbeb}.stat-card.danger{border-color:#ef4444;background:#fef2f2}.stat-value{font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{font-size:12px;color:#6b7280}.mini-table{width:100%;font-size:13px;margin-top:10px}.mini-table th{background:#f3f4f6;padding:8px;text-align:left;font-weight:600}.mini-table td{padding:8px;border-bottom:1px solid #e5e7eb}.jobs-list{margin:20px 0;padding:15px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.jobs-list h5{margin:0 0 10px;font-size:14px}.priority-badge{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;background:#3b82f6;color:#fff;border-radius:50%;font-size:11px;font-weight:700;margin-right:4px}.capacity-job-row.overdue{background-color:#fef2f2;border-left:4px solid #dc2626}.capacity-job-row.critical{background-color:#fff7ed;border-left:4px solid #ea580c}.capacity-job-row.this-month{background-color:#fefce8;border-left:4px solid #eab308}.capacity-job-row.next-month{background-color:#f0fdf4;border-left:4px solid #22c55e}.capacity-job-row.selected{background-color:#e0f2fe!important}.note-item .note-text{white-space:pre-wrap;word-wrap:break-word;line-height:1.4}.invoice-section-container{margin-bottom:20px}.invoice-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.invoice-status-and-label{display:flex;align-items:center;gap:10px;flex:1}.add-additional-btn{white-space:nowrap}.extras-allocation-btn-container{margin-top:8px;width:100%}#allocate-extras-completion-btn,#allocate-extras-deposit-btn,#allocate-extras-interim-btn{width:100%;margin-top:8px;display:none}#todo-text{min-height:80px!important;resize:vertical!important;font-size:16px!important;line-height:1.6}.extras-checkbox-item{transition:background-color .2s ease}.extras-checkbox-item:hover:not([style*="opacity: 0.7"]){background-color:#f8fafc!important}.extra-checkbox{accent-color:#3b82f6}.extra-checkbox:disabled{accent-color:#9ca3af}.extras-checkboxes-container{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.extras-checkboxes-container::-webkit-scrollbar{width:8px}.extras-checkboxes-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.extras-checkboxes-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}#todo-modal .form-control,#todo-modal input[type=text],#todo-modal textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px!important}#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;font-weight:400;letter-spacing:.3px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:#1f2937;background-color:#fff;padding:12px 14px}#todo-modal select{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px!important}#todo-modal input::placeholder,#todo-modal textarea::placeholder{color:#9ca3af;opacity:1;font-style:normal}#todo-modal .form-control:focus,#todo-modal input:focus,#todo-modal textarea:focus{outline:2px solid #3b82f6;outline-offset:1px;border-color:#3b82f6}#todo-modal .form-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:6px;display:block}#quick-add-input{font-size:16px!important;font-weight:400;padding:12px 14px;-moz-osx-font-smoothing:grayscale}#quick-add-input,#todo-modal .form-label,#todo-modal input[type=date],#todo-modal input[type=time],.todo-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#quick-add-input,.todo-text{line-height:1.5;color:#1f2937;-webkit-font-smoothing:antialiased}.todo-text{font-size:15px}#todo-modal input[type=date],#todo-modal input[type=time]{font-size:16px!important;height:44px}@supports (-webkit-touch-callout:none){#todo-modal input,#todo-modal textarea{font-size:16px!important}}@media(prefers-color-scheme:dark){#todo-modal .form-control,#todo-modal input,#todo-modal textarea{color:#f3f4f6;background-color:#1f2937}#todo-modal input::placeholder,#todo-modal textarea::placeholder{color:#6b7280}#todo-modal .form-label{color:#e5e7eb}}.header{position:relative;transition:all .3s ease;min-height:60px;overflow:visible!important;display:flex;align-items:center}.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:6px}.collapsed-notification-wrapper .notification-icon{font-size:18px;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:8px;margin:0;padding:8px 0}.header.collapsed .tab-button{padding:6px 10px;font-size:12px;min-width:auto;margin:0;flex-shrink:0}.header.collapsed .tab-button .tab-icon{font-size:16px}.header-toggle-wrapper{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);z-index:100001;pointer-events:none}.header-toggle-btn{background:#007bffcc;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:0 0 8px 8px;padding:1px 12px;cursor:pointer;font-size:9px;height:12px;display:flex!important;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;pointer-events:auto;opacity:.7}@media(max-width:767px){.header.collapsed .collapsed-notification-wrapper{right:10px!important}}.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:0 2px 8px #00000026}.inline-status-editor{font-family:inherit}.status-dropdown{background:#fff;border-radius:8px;overflow:hidden}.status-dropdown-header{padding:12px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.status-dropdown-header .close-btn{background:0 0;border:0;font-size:20px;color:#6b7280;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.status-dropdown-header .close-btn:hover{background-color:#f3f4f6}.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:6px;margin-bottom:4px}.status-option:last-child{margin-bottom:0}.status-option.selected{font-weight:600}.status-preview{display:inline-block;padding:4px 10px;border-radius:4px;font-size:13px;font-weight:500;width:100%;text-align:center}.gantt-day-cell{display:flex;flex-direction:column;gap:2px;padding:2px;overflow:visible!important;min-height:200px;height:auto!important}.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!important}.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:24px;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:20px;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:12px}.gantt-job-card.selected{box-shadow:0 0 0 3px #3b82f680;transform:scale(1.02);z-index:100}.gantt-job-card:hover{transform:scale(1.01);box-shadow:0 2px 8px #00000026}.mini-day.selected-week{background-color:#3b82f64d;font-weight:700;border:2px solid #3b82f6;box-shadow:0 0 0 1px #3b82f633}.mini-day.today.selected-week{background-color:#2563eb;box-shadow:0 2px 6px #3b82f699;border:2px solid #1e40af}.mini-day.has-jobs{position:relative}.mini-day.has-suggested{background:linear-gradient(135deg,#fef3c7,#fed7aa);font-weight:600}.quick-schedule-btn:hover{background:#f59e0b!important;transform:translate(2px);transition:all .2s}.scheduled-search-container{display:flex;align-items:center;gap:8px;position:relative}.scheduled-search-container .search-input{width:200px;padding:6px 12px 6px 32px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s}.scheduled-search-container .search-input:focus{width:250px;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-count{display:inline-block;font-size:12px;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:12px;white-space:nowrap}.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:0 0 0 4px #3b82f699!important;transform:scale(1.05);z-index:101;animation:focus-pulse 1.5s infinite}@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:0 0 0 4px #3b82f699}50%{transform:scale(1.08);box-shadow:0 0 0 6px #3b82f666}}.scheduled-search-container .search-input:before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}.week-result-card:hover{transform:translate(4px);box-shadow:0 2px 4px #0000001a}.search-preview-list{border:1px solid #e5e7eb;border-radius:6px;padding:8px;background:#f9fafb}.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 #d1d5db;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all .15s ease}.three-state-display:hover{border-color:#9ca3af;background:#f9fafb;transform:scale(1.1)}.three-state-display.checked{background:#10b981;border-color:#10b981;color:#fff}.three-state-display.na{background:#fbbf24;border-color:#fbbf24;color:#713f12}.three-state-display.checked:after{content:"✓";font-size:11px}.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:8px}.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 #3b82f6;border-radius:8px;animation:highlightFade 2s ease-in-out;pointer-events:none}@keyframes highlightPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes highlightFade{0%{opacity:0;border-color:#3b82f6}50%{opacity:1;border-color:#3b82f6}to{opacity:0;border-color:transparent}}.split-currency-input{position:relative;width:100%}.split-currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-weight:500;color:#6b7280;z-index:1;pointer-events:none}.split-amount-field{padding-left:28px!important;font-size:18px;font-weight:500;width:100%}.split-currency-input .form-control{display:block;width:100%;box-sizing:border-box}#split-source-select{font-weight:500}#split-source-select option{padding:8px}.split-preview{animation:fadeIn .3s ease-out}#split-percentage-preview{animation:slideIn .3s ease-out .1s both}.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:12px;font-weight:600;border-width:1.5px;border-style:solid;border-color:#d1d5db;border-image:initial;border-radius:3px;background:#fff;transition:.15s}.install-pack-display.checked{background:#10b981;border-color:#10b981;color:#fff}.install-pack-display.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:600}.install-pack-checkbox:hover .install-pack-display:not(.checked){border-color:#9ca3af;background-color:#f9fafb}.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 #007bff;border-radius:8px;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:#007bff}50%{opacity:1;border-color:#0056b3}to{opacity:0;border-color:transparent}}@media screen and (max-width:767px){.todo-header-container{flex-direction:column;gap:8px;align-items:stretch}.user-greeting h2{font-size:18px}.user-greeting p{font-size:13px}.todo-quick-add-section{border-radius:0;box-shadow:none;border-bottom:1px solid #e5e7eb}.quick-add-container{flex-direction:column;gap:8px}.quick-add-input,#quick-add-btn{min-height:44px;font-size:16px}.todo-controls-section{flex-direction:column;gap:8px;padding:8px 0}.todo-filter-section{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px}.filter-buttons{display:flex;gap:4px;padding:6px;flex-wrap:nowrap;white-space:nowrap}.filter-btn{min-height:36px;font-size:13px;padding:6px 12px;border-radius:6px;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:12px;flex-shrink:0}.todos-list-container{padding:8px;border-radius:0;min-height:auto}.todo-category-section{margin-bottom:16px}.category-header{margin-bottom:8px;padding-bottom:6px}.category-header h3{font-size:14px}.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:#f3f4f6}.todo-checkbox{padding:8px;margin:-8px 0 -8px -8px}.todo-toggle{width:24px;height:24px}.todo-content{min-width:0}.todo-title{font-size:11px}.todo-text{font-size:14px;line-height:1.4;word-break:break-word}.todo-meta{gap:8px;margin-top:4px}.due-date{font-size:12px}.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:18px}.follow-up-tasks{margin-top:8px;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:13px}.empty-state{padding:40px 16px;margin:12px auto}.empty-icon{font-size:36px;margin-bottom:12px}}#todo-view{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.todo-quick-add-section{flex-shrink:0;border-bottom:1px solid #e5e7eb;background:#f9fafb}.todo-mode-tabs{display:flex;gap:4px;padding:0 20px;margin-bottom:12px;border-bottom:1px solid #e5e7eb}.todo-mode-tab{background:transparent;border:none;padding:10px 18px;font-size:14px;font-weight:500;color:#6b7280;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:#1f2937}.todo-mode-tab.active{color:#2563eb;border-bottom-color:#2563eb}.todo-mode-panel{display:none}.todo-mode-panel.active{display:block}.todo-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 20px 12px}.todo-calendar-nav{display:flex;align-items:center;gap:8px}.todo-calendar-title{margin:0 0 0 8px;font-size:18px;font-weight:600;color:#1f2937}.todo-calendar-views{display:inline-flex;background:#f3f4f6;border-radius:8px;padding:3px;gap:2px}.cal-view-btn{background:transparent;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.cal-view-btn:hover{color:#1f2937}.cal-view-btn.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px #00000014}.todo-calendar-body{padding:0 20px 16px}.todo-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 20px 20px;font-size:12px;color:#6b7280}.cal-legend-item{display:inline-flex;align-items:center;gap:6px}.cal-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.cal-legend-dot.assigned-to-me{background:#3b82f6}.cal-legend-dot.assigned-by-me{background:#a855f7}.cal-legend-dot.completed{background:#9ca3af}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.cal-month-weekday{background:#f9fafb;padding:10px 8px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;text-align:center;border-bottom:1px solid #e5e7eb}.cal-month-cell{min-height:120px;padding:6px;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;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:#f9fafb}.cal-month-cell.other-month{background:#fafafa;color:#9ca3af}.cal-month-cell.is-today{background:#eff6ff}.cal-month-cell.is-today .cal-month-daynum{background:#2563eb;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:13px;font-weight:500;color:#4b5563;margin-bottom:2px;padding-left:2px}.cal-event{font-size:11px;padding:2px 6px;border-radius:4px;background:#dbeafe;color:#1e40af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-left:3px solid #3b82f6;transition:background .1s}.cal-event:hover{background:#bfdbfe}.cal-event.assigned-by-me{background:#f3e8ff;color:#6b21a8;border-left-color:#a855f7}.cal-event.assigned-by-me:hover{background:#e9d5ff}.cal-event.completed{background:#f3f4f6;color:#6b7280;border-left-color:#9ca3af;text-decoration:line-through}.cal-more-link{font-size:11px;color:#6b7280;cursor:pointer;padding:2px 6px}.cal-more-link:hover{color:#2563eb}.cal-week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.cal-day-grid{display:grid;grid-template-columns:60px 1fr;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.cal-week-header,.cal-day-header{background:#f9fafb;padding:10px 8px;text-align:center;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#6b7280}.cal-week-header.is-today,.cal-day-header.is-today{background:#eff6ff;color:#2563eb}.cal-week-header .cal-weekday-name,.cal-day-header .cal-weekday-name{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.4px}.cal-week-header .cal-weekday-num,.cal-day-header .cal-weekday-num{display:block;font-size:18px;font-weight:600;color:#1f2937;margin-top:2px}.cal-week-header.is-today .cal-weekday-num,.cal-day-header.is-today .cal-weekday-num{color:#2563eb}.cal-hour-label{border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;padding:2px 6px;font-size:11px;color:#9ca3af;text-align:right;height:40px}.cal-time-cell{border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;height:40px;position:relative;cursor:pointer}.cal-time-cell:hover{background:#f9fafb}.cal-time-cell:last-child{border-right:none}.cal-timed-event{position:absolute;left:4px;right:4px;background:#dbeafe;color:#1e40af;border-left:3px solid #3b82f6;border-radius:4px;padding:3px 6px;font-size:11px;overflow:hidden;cursor:pointer;z-index:2}.cal-timed-event:hover{z-index:3;box-shadow:0 2px 6px #0000001a}.cal-timed-event.assigned-by-me{background:#f3e8ff;color:#6b21a8;border-left-color:#a855f7}.cal-timed-event.completed{background:#f3f4f6;color:#6b7280;border-left-color:#9ca3af;text-decoration:line-through}.cal-timed-event .cal-event-time{font-weight:600;margin-bottom:2px}.cal-all-day-row{display:contents}.cal-all-day-label{grid-column:1;padding:4px 6px;font-size:11px;color:#6b7280;text-align:right;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6}.cal-all-day-cell{border-right:1px solid #f3f4f6;border-bottom:1px solid #e5e7eb;padding:3px;min-height:26px;display:flex;flex-direction:column;gap:2px}.cal-all-day-cell:last-child{border-right:none}.cal-event-assignee{font-size:10px;opacity:.75;margin-left:4px}@media(max-width:640px){.todo-header-container{flex-direction:row;align-items:center;gap:8px;padding:8px 12px}.user-greeting h2{font-size:16px;margin:0}.user-greeting p{display:none}#add-task-btn{padding:6px 12px;font-size:13px;white-space:nowrap}.todo-mode-tabs{padding:0 12px;margin-bottom:6px}.todo-mode-tab{padding:8px 12px;font-size:13px}.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:12px}.todo-calendar-title{margin-left:4px;font-size:15px;flex:1;text-align:right}.todo-calendar-views{width:100%;justify-content:center}.cal-view-btn{flex:1;padding:6px 8px;font-size:12px}.todo-calendar-body{padding:0 8px 12px}.todo-calendar-legend{padding:8px 12px 16px;gap:10px;font-size:11px}.cal-month-weekday{padding:6px 2px;font-size:10px;letter-spacing:.3px}.cal-month-cell{min-height:64px;padding:3px;gap:2px}.cal-month-daynum{font-size:11px;padding-left:0}.cal-month-cell.is-today .cal-month-daynum{width:20px;height:20px;font-size:11px}.cal-event{font-size:10px;padding:1px 4px;border-left-width:2px}.cal-more-link{font-size:10px;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:10px}.cal-week-header .cal-weekday-name,.cal-day-header .cal-weekday-name{font-size:9px;letter-spacing:.2px}.cal-week-header .cal-weekday-num,.cal-day-header .cal-weekday-num{font-size:14px;margin-top:0}.cal-hour-label{padding:1px 4px;font-size:10px;height:36px}.cal-time-cell{height:36px}.cal-timed-event{left:2px;right:2px;padding:2px 4px;font-size:10px;border-left-width:2px}.cal-all-day-label{padding:3px 4px;font-size:10px}.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:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;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 #f3f4f6;transition:background-color .15s ease}.autocomplete-result-item:hover,.autocomplete-result-item.selected{background-color:#f0f9ff}.autocomplete-result-item:last-child{border-bottom:none}.autocomplete-result-code{font-weight:600;color:#1f2937;font-size:14px}.autocomplete-result-description{color:#6b7280;font-size:13px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.autocomplete-result-meta{display:flex;gap:12px;margin-top:4px;font-size:12px;color:#9ca3af}.autocomplete-result-supplier,.autocomplete-result-stock{display:flex;align-items:center;gap:4px}.autocomplete-result-stock.low-stock{color:#f59e0b;font-weight:600}.autocomplete-result-stock.out-of-stock{color:#ef4444;font-weight:600}.autocomplete-no-results{padding:20px;text-align:center;color:#9ca3af;font-size:14px}.autocomplete-loading{padding:20px;text-align:center;color:#6b7280;font-size:14px}.inventory-selector-row.has-selection{background:#dcfce7!important;border-color:#86efac!important}.inventory-selector-row.has-selection .form-help{color:#15803d!important}#meetings-tab{position:relative}#meetings-tab .tab-icon{font-size:18px}#meetings-view{margin:0;overflow-y:auto;height:100%;width:100%}#meetings-view .view-header{margin-bottom:12px}#meetings-view .view-description{color:var(--color-text-secondary);font-size:14px;margin-top:4px}.meeting-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.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:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.meeting-card-title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.meeting-card-meta{display:flex;gap:16px;align-items:center;margin-top:8px}.meeting-card-date{color:var(--color-text-secondary);font-size:14px;display:flex;align-items:center;gap:0}.meeting-card-actions{display:flex;gap:8px}.meeting-section{margin-bottom:24px}.meeting-section:last-child{margin-bottom:0}.meeting-section-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.meeting-section-content{background:var(--color-bg-secondary);border-radius:8px;padding:16px}.meeting-notes{background:var(--color-bg-secondary);border-radius:8px;padding:16px;min-height:80px}.meeting-notes-text{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;font-size:15px}.meeting-notes-empty,.no-notes{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:20px}.meeting-date{color:var(--color-text-secondary);font-size:14px;margin-top:4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h4{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.action-controls{display:flex;align-items:center;gap:8px}.meeting-action-items-list{display:flex;flex-direction:column;gap:12px}.meeting-action-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;display:flex;gap:12px;align-items:start;transition:all .2s ease}.meeting-action-item:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #3b82f61a}.meeting-action-item.completed{opacity:.6;background:var(--color-bg-tertiary)}.meeting-action-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--color-accent)}.meeting-action-content{flex:1}.meeting-action-title{font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.meeting-action-item.completed .meeting-action-title{text-decoration:line-through;color:var(--color-text-secondary)}.meeting-action-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--color-text-secondary)}.meeting-action-assignee,.meeting-action-due{display:flex;align-items:center;gap:4px}.meeting-action-due.overdue{color:#ef4444;font-weight:600}.meeting-action-job{display:flex;align-items:center;gap:4px;color:var(--color-accent)}.meeting-action-buttons{display:flex;gap:8px}.action-items-list{display:flex;flex-direction:column;gap:12px;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:8px;border:1px dashed var(--color-border)}.action-item-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;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 #f59e0b}.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:8px}.action-item-title{display:flex;align-items:center;gap:10px;flex:1}.action-item-title h5{margin:0;font-size:15px;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:20px;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:14px;margin:8px 0;line-height:1.5}.action-item-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--color-text-secondary);margin-top:12px}.action-item-meta span{display:flex;align-items:center;gap:4px}.follow-up-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.follow-up-header{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.follow-up-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}.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:8px;margin-bottom:8px}.follow-up-input{flex:1;padding:8px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;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:12px;max-height:400px;overflow-y:auto;margin-bottom:16px;padding:8px;background:var(--color-bg-secondary);border-radius:8px}.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:14px}.comment-time{font-size:12px;color:var(--color-text-secondary)}.comment-text{color:var(--color-text-primary);line-height:1.5;font-size:14px;white-space:pre-wrap}.add-comment-section{display:flex;gap:12px;align-items:flex-start}.add-comment-section textarea{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical;min-height:60px}.add-comment-section textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.meeting-discussion-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;margin-bottom:16px}.meeting-comment{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:12px}.meeting-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meeting-comment-author{font-weight:600;color:var(--color-text-primary);font-size:14px}.meeting-comment-time{font-size:12px;color:var(--color-text-secondary)}.meeting-comment-text{color:var(--color-text-primary);line-height:1.5;font-size:14px}.meeting-comment-form{display:flex;gap:12px;margin-top:16px}.meeting-comment-input{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary)}.meeting-comment-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.meeting-attendees-list{display:flex;flex-wrap:wrap;gap:8px}.meeting-attendee-badge{background:var(--color-accent);color:#fff;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.meeting-attendees{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.attendee-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:8px 14px;border-radius:24px;font-size:14px;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:"👤";font-size:12px}.attendee-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.no-attendees{color:var(--color-text-secondary);font-style:italic;font-size:13px}.meetings-layout{display:flex;gap:20px;height:calc(100vh - 250px);min-height:600px}.meetings-sidebar{width:300px;flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;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:16px;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:8px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.sidebar-meeting-item:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #0000001a;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,#3b82f6,#2563eb);color:#fff;border-color:#1d4ed8}.sidebar-meeting-item.current:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);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:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-meeting-date{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px}.sidebar-meeting-meta{display:flex;gap:8px;font-size:11px;color:var(--color-text-secondary)}.sidebar-meeting-badge{background:var(--color-accent);color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600}.sidebar-meeting-item.current .sidebar-meeting-badge{background:#ffffff4d}.meetings-main-content{flex:1;overflow-y:auto;padding-right:8px}.meetings-history{margin-top:32px}.meetings-history h3{font-size:20px;font-weight:600;color:var(--color-text-primary);margin-bottom:16px}.past-meetings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.past-meeting-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.past-meeting-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.past-meeting-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.past-meeting-date{font-size:14px;color:var(--color-text-secondary);margin-bottom:12px}.past-meeting-stats{display:flex;gap:16px;font-size:13px;color:var(--color-text-secondary)}#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:20px}#action-item-modal .form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--color-text-primary)}#action-item-modal .form-control{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}#action-item-modal .form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}#action-item-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}#action-item-modal textarea.form-control{resize:vertical;min-height:80px}#action-item-modal select.form-control{cursor:pointer}#action-item-modal .form-help{display:block;margin-top:4px;font-size:12px;color:var(--color-text-secondary)}#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 6px 6px;box-shadow:0 4px 12px #00000026;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:4px;color:var(--color-text-secondary);font-size:12px}#action-item-modal .autocomplete-no-results{padding:12px 16px;color:var(--color-text-secondary);font-style:italic;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:12px}#action-item-modal .btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#action-item-modal .btn-primary{background:var(--color-accent);color:#fff}#action-item-modal .btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}#action-item-modal .btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}#action-item-modal .btn-secondary:hover{background:var(--color-border)}#action-item-modal .btn-danger{background:#ef4444;color:#fff}#action-item-modal .btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}#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:12px;padding:12px;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border);max-height:200px;overflow-y:auto}#action-item-modal .action-assignee-checkbox{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;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:14px;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-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--color-border)}.meeting-modal-title{font-size:24px;font-weight:700;color:var(--color-text-primary)}.meeting-attendees-section{margin:20px 0}.meeting-attendees-section h4{font-size:16px;font-weight:600;margin-bottom:12px;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:8px;padding:8px;max-height:250px;overflow-y:auto}.attendee-checkbox{display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;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:14px;font-weight:500;color:var(--color-text-primary);-webkit-user-select:none;user-select:none;flex:1}.action-modal-job-search{position:relative;margin-top:16px}.action-modal-job-results{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;margin-top:4px;z-index:1000;box-shadow:0 4px 12px #00000026}.action-modal-job-result{padding:12px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color .2s}.action-modal-job-result:last-child{border-bottom:none}.action-modal-job-result:hover{background:var(--color-bg-tertiary)}.action-modal-job-number{font-weight:600;color:var(--color-accent);margin-bottom:4px}.action-modal-job-customer{font-size:14px;color:var(--color-text-primary)}.meetings-empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.meetings-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.meetings-empty-text{font-size:16px;margin-bottom:20px}@media(max-width:767px){#meetings-view{padding:8px}.meeting-card{padding:14px;margin-bottom:14px;border-radius:8px}.meeting-card-header{flex-direction:column;gap:10px;padding-bottom:12px;margin-bottom:14px}.meeting-card-title{font-size:18px}.meeting-card-meta{gap:8px;flex-wrap:wrap}.meeting-card-actions{width:100%;justify-content:stretch}.meeting-card-actions button{flex:1;min-height:44px;font-size:13px}.meeting-section{margin-bottom:16px}.meeting-section-title{font-size:15px}.past-meetings-list,.attendees-list{grid-template-columns:1fr}.action-item{padding:12px}.action-item-header{flex-direction:column;gap:8px}.action-assignees{flex-wrap:wrap}.meeting-comments{padding:12px}.comment-input-area{flex-direction:column;gap:8px}.comment-input-area textarea{font-size:16px;min-height:44px}.comment-input-area button{min-height:44px;align-self:stretch}#meeting-modal .modal-content{width:100%;height:100%;max-width:100%;margin:0;border-radius:0}.past-meeting-card{padding:12px}.past-meeting-title{font-size:15px}}.hardware-ordering-container{max-height:60vh;overflow-y:auto;padding:8px}.hardware-section{margin-bottom:24px;padding:16px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.hardware-section h3{font-size:16px;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:12px;display:flex;flex-direction:column;gap:8px}.hardware-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;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:4px}.hardware-item-name{font-weight:500;color:var(--color-text-primary);font-size:14px}.hardware-item-meta{display:flex;gap:12px;font-size:12px;color:var(--color-text-secondary)}.hardware-item-meta span{display:inline-flex;align-items:center;gap:4px}.hardware-item-qty{display:flex;align-items:center;gap:0}.hardware-item-qty label{font-size:12px;color:var(--color-text-secondary);margin:0}.hardware-item-qty input{width:60px;padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;text-align:center;font-size:14px}.hardware-item-price{font-weight:600;color:var(--color-accent);font-size:14px;min-width:80px;text-align:right}.hw-order-modal-content{max-width:1100px;max-height:90vh}.hw-order-filters{padding:16px 24px;background:#f8f9fa;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px}.hw-order-search-container{flex:1}.hw-order-search-input{width:100%;padding:10px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s}.hw-order-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.hw-order-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.hw-order-filter-btn{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.hw-order-filter-btn:hover{border-color:var(--color-accent);background:#eff6ff}.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:20px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.hw-order-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8f9fa;border-bottom:1px solid #e5e7eb;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.hw-order-section-header:hover{background:#f1f3f5}.hw-order-section-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1f2937}.hw-order-section-toggle{font-size:20px;color:#6b7280;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 14px;margin-bottom:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;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:#1f2937;margin-bottom:4px}.hw-order-item-meta{display:flex;gap:12px;font-size:13px;color:#6b7280}.hw-order-item-supplier{font-weight:500}.hw-order-item-code{background:#f3f4f6;padding:2px 8px;border-radius:4px;font-family:Courier New,monospace}.hw-order-item-qty{display:flex;align-items:center;gap:0}.hw-order-item-qty-label{font-size:13px;color:#6b7280}.hw-order-item-qty-input{width:60px;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;text-align:center;font-size:14px;font-weight:500}.hw-order-footer-info{flex:1;font-size:14px;color:#6b7280;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:24px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.hw-settings-title h3{margin:0 0 8px;font-size:24px;color:#1f2937}.hw-settings-subtitle{margin:0;color:#6b7280;font-size:14px}.hw-settings-actions{display:flex;gap:10px}.hw-settings-btn-primary,.hw-settings-btn-secondary{display:inline-flex;align-items:center;gap:0;padding:10px 18px;font-size:14px;font-weight:500;border-radius:8px;transition:all .2s}.hw-btn-icon{font-size:16px}.hw-settings-filters{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:20px;border:1px solid #e5e7eb}.hw-filter-search{margin-bottom:16px}.hw-filter-search-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s}.hw-filter-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.hw-filter-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.hw-filter-group{display:flex;flex-direction:column;gap:0}.meetings-empty-state{padding:16px;text-align:center;color:var(--color-text-secondary)}#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:50px 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:8px;margin:0}.hw-filter-label{font-size:13px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.5px}.hw-filter-select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;transition:all .2s}.hw-filter-select:focus{outline:none;border-color:var(--color-accent)}.hw-settings-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:20px}.hw-settings-table{width:100%;border-collapse:collapse}.hw-settings-thead{background:#f8f9fa;border-bottom:2px solid #e5e7eb}.hw-settings-thead th{padding:14px 16px;text-align:left;font-size:13px;font-weight:700;color:#4b5563;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 #f3f4f6;transition:background .2s}.hw-settings-tbody tr:hover{background:#f9fafb}.hw-settings-tbody tr:last-child{border-bottom:none}.hw-settings-tbody td{padding:14px 16px;font-size:14px;color:#1f2937}.hw-settings-tbody td code{background:#f3f4f6;padding:3px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:#4b5563}.hw-empty-state{text-align:center!important;padding:60px 20px!important}.hw-loading{color:#9ca3af;font-size:15px}.hw-settings-footer{display:flex;align-items:center;gap:8px;padding:16px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px}.hw-count-badge{background:var(--color-accent);color:#fff;padding:0;border-radius:20px;font-weight:700;font-size:14px}.hw-count-label{color:#6b7280;font-size:14px;font-weight:500}.hw-edit-modal-content{max-width:700px;border-radius:12px}.hw-edit-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 28px;border-radius:12px 12px 0 0}.hw-edit-modal-title{margin:0;font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px}.hw-edit-modal-body{padding:28px;background:#fff}.hw-edit-form{display:flex;flex-direction:column;gap:24px}.hw-edit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.hw-edit-form-group{display:flex;flex-direction:column;gap:8px}.hw-edit-form-group-full{grid-column:1 / -1}.hw-edit-label{font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.hw-edit-label:after{content:" *";color:#dc2626}.hw-edit-label[for=hardware-supplier-code]:after,.hw-edit-label[for=hardware-finish]:after,.hw-edit-label[for=hardware-default-qty]:after{content:""}.hw-edit-input,.hw-edit-select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;color:#1f2937;background:#fff;transition:all .2s}.hw-edit-input:focus,.hw-edit-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.hw-edit-input::placeholder{color:#9ca3af}.hw-edit-select{cursor:pointer}.hw-edit-form-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:14px 16px;display:flex;align-items:flex-start;gap:10px;margin-top:4px}.hw-edit-note-icon{font-size:18px;flex-shrink:0}.hw-edit-note-text{font-size:13px;color:#1e40af;line-height:1.5;margin:0}.hw-edit-modal-footer{padding:20px 28px;background:#f8f9fa;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;border-radius:0 0 12px 12px}.hw-edit-btn-cancel,.hw-edit-btn-save{padding:12px 24px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;border:none}.hw-edit-btn-cancel{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.hw-edit-btn-cancel:hover{background:#f9fafb;border-color:#d1d5db}.hw-edit-btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;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%}}#admin-view{overflow-y:auto;height:100%}.clickable-card{cursor:pointer;transition:box-shadow .15s,transform .15s;position:relative}.clickable-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.admin-category-nav{display:flex;gap:15px;margin:20px 0 30px;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.admin-category-btn{flex:1;padding:16px 24px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .3s ease;text-align:center}.admin-category-btn:hover{background:#fff3;border-color:#fff9;transform:translateY(-2px)}.admin-category-btn.active{background:#fff;color:#667eea;border-color:#fff;box-shadow:0 4px 12px #00000026}.admin-category{display:none}.admin-category.active{display:block}.category-header{margin-bottom:20px}.category-header h2{color:#2c3e50;margin-bottom:8px}.category-header p{color:#6c757d;margin:0}.admin-sections-nav{display:flex;gap:10px;margin:20px 0;padding:10px;background:#f8f9fa;border-radius:8px;overflow-x:auto}.admin-section-btn{padding:12px 20px;border:2px solid #dee2e6;background:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:120px}.admin-section-btn:hover{border-color:#06c;background:#f0f7ff}.admin-section-btn.active{border-color:#06c;background:#06c;color:#fff}.admin-section{display:none}.admin-section.active{display:block}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #dee2e6}.section-toolbar h2{margin:0;font-size:24px;color:#333}#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:#f8f9fa;border-top:1px solid #dee2e6;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:#fff;box-shadow:0 2px 4px #0000000a}.section-edit-btn{background:none;border:1px solid #dee2e6;color:#666;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.section-edit-btn:hover{background:#f8f9fa;border-color:#adb5bd}.section-edit-btn.active{background:#fff3cd;border-color:#ffc107;color:#856404}.card-delete-btn{display:none;position:absolute;top:8px;right:8px;background:#fff;border:1px solid #fca5a5;color:#ef4444;border-radius:50%;width:24px;height:24px;align-items:center;justify-content:center;cursor:pointer;font-size:12px;padding:0;z-index:5;box-shadow:0 1px 3px #0000001a;transition:background .15s}.card-delete-btn:hover{background:#fef2f2}.training-matrix-table,.toolbox-matrix-table{border-collapse:separate!important;border-spacing:0}.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:#f8f9fa;overflow:hidden;display:none;margin-bottom:-1px;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000000a}.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}.training-matrix-table,.toolbox-matrix-table{margin:0!important;border-top:none!important}.matrix-sticky-header table{border-collapse:collapse!important;border-spacing:0;table-layout:fixed}.matrix-sticky-header th{background:#f8f9fa!important;border:1px solid #dee2e6!important;border-bottom:2px solid #dee2e6!important;padding:8px;text-align:center;font-size:12px;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:#e9ecef;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:#e9ecef!important}.toolbox-header-cell .header-content{display:flex;flex-direction:column;align-items:center;gap:4px}.toolbox-header-cell .header-title{font-weight:600;font-size:12px}.toolbox-header-cell .header-doc-status{font-size:10px;padding:2px 6px;border-radius:10px;background:#e9ecef;color:#666}.toolbox-header-cell .header-doc-status.has-doc{background:#d4edda;color:#155724}.checkins-matrix-table{border-collapse:separate!important;border-spacing:0}.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 #dee2e6;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:#fff}.checkins-matrix-table tbody tr:hover td,.checkins-matrix-table tbody tr:hover td:first-child{background:#f8f9fa}.checkins-matrix-table .department-header-row td{background:#e9ecef;font-weight:600;color:#495057;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:0 2px 8px #0003}.checkin-status-dot.checkin-green{background:#28a745;border-color:#1e7e34}.checkin-status-dot.checkin-amber{background:#ffc107;border-color:#d39e00}.checkin-status-dot.checkin-red{background:#dc3545;border-color:#bd2130}.checkin-status-dot.checkin-pending{background:#e9ecef;border-color:#adb5bd}.checkin-cell{cursor:pointer;padding:12px 8px!important;transition:background-color .2s}.checkin-cell:hover{background:#e9ecef!important}.checkin-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:15px;overflow:hidden}.checkin-section-header{background:#f8f9fa;padding:12px 15px;font-weight:600;font-size:14px;border-bottom:1px solid #dee2e6;display:flex;align-items:center;gap:8px}.checkin-section-header span:first-child{font-size:16px}.checkin-section .form-group{padding:15px;margin:0}.checkin-editor{border:1px solid #ced4da;border-radius:6px;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:#f8f9fa;border-bottom:1px solid #e9ecef}.editor-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:#495057;cursor:pointer;font-size:13px;line-height:1}.editor-btn:hover{background:#e2e6ea;color:#212529}.editor-btn:active,.editor-btn.active{background:#d0d4d9;color:#212529}.editor-divider{width:1px;height:18px;background:#ced4da;margin:0 4px}.checkin-editor-content{min-height:120px;max-height:300px;overflow-y:auto;padding:12px 15px;font-size:14px;line-height:1.6;color:#212529;outline:none}.checkin-editor-content:empty:before{content:attr(data-placeholder);color:#adb5bd;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 #cbd5e1;border-radius:8px;padding:30px;text-align:center;cursor:pointer;transition:all .2s ease;margin:15px;background:#f8fafc}.checkin-documents-dropzone:hover,.checkin-documents-dropzone.drag-over{border-color:#667eea;background:#f0f4ff}.checkin-documents-dropzone .dropzone-content{pointer-events:none}.checkin-documents-dropzone .dropzone-icon{font-size:32px;display:block;margin-bottom:10px}.checkin-documents-dropzone p{margin:5px 0;color:#64748b;font-size:14px}.checkin-documents-dropzone .dropzone-hint{font-size:12px;color:#94a3b8}.checkin-documents-list{padding:0 15px 15px}.checkin-document-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f1f5f9;border-radius:6px;margin-bottom:8px;font-size:13px}.checkin-document-item .doc-icon{font-size:18px}.checkin-document-item .doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-document-item .doc-size{color:#64748b;font-size:12px}.checkin-document-item .doc-remove{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:14px}.checkin-document-item .doc-remove:hover{background:#fee2e2}.checkin-document-item .doc-download{background:none;border:none;color:#3b82f6;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:14px;text-decoration:none}.checkin-document-item .doc-download:hover{background:#dbeafe}.checkin-kpis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;padding:15px}.checkin-kpi-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.checkin-kpi-item .kpi-label{flex:1;font-size:13px;font-weight:500}.checkin-kpi-item .kpi-target{font-size:11px;color:#666;margin-top:2px}.checkin-kpi-item .kpi-input{width:80px;text-align:center}.checkin-kpi-item .kpi-status{display:flex;gap:4px}.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:#28a745;border-color:#1e7e34}.checkin-kpi-item .kpi-status-btn.kpi-amber{background:#ffc107;border-color:#d39e00}.checkin-kpi-item .kpi-status-btn.kpi-red{background:#dc3545;border-color:#bd2130}.checkin-kpi-item .kpi-label-text{display:flex;align-items:center;gap:8px}.kpi-critical-badge{display:inline-block;background:#dc3545;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase}.checkin-kpi-item-vertical{background:#f8f9fa;border-radius:8px;padding:12px 15px;margin-bottom:12px;border:1px solid #e9ecef}.checkin-kpi-item-vertical .kpi-header-row{margin-bottom:10px}.checkin-kpi-item-vertical .kpi-label-text{font-weight:600;font-size:14px;color:#333;display:flex;align-items:center;gap:8px}.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:6px;cursor:pointer;transition:background-color .15s ease;border:2px solid transparent}.checkin-kpi-item-vertical .kpi-option-row:hover{background:#e9ecef}.checkin-kpi-item-vertical .kpi-option-row.selected{background:#e3f2fd;border-color:#2196f3}.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:#28a745;border-color:#1e7e34}.checkin-kpi-item-vertical .kpi-status-btn.kpi-amber{background:#ffc107;border-color:#d39e00}.checkin-kpi-item-vertical .kpi-status-btn.kpi-red{background:#dc3545;border-color:#bd2130}.checkin-kpi-item-vertical .kpi-option-label{font-weight:600;font-size:12px;width:45px;flex-shrink:0;color:#555}.checkin-kpi-item-vertical .kpi-option-desc{font-size:13px;color:#666;flex:1}#checkin-actions-container{padding:15px 15px 0}.checkin-action-item{display:flex;gap:8px;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:14px;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:#dc3545;color:#fff;border:none;border-radius:4px;width:34px;height:34px;flex-shrink:0;padding:0;cursor:pointer;font-size:16px;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:15px}.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:8px;padding:10px 20px;border:2px solid #dee2e6;border-radius:8px;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:#28a745;background:#d4edda}.checkin-rating-option input[type=radio]:checked+.checkin-rating-amber{border-color:#ffc107;background:#fff3cd}.checkin-rating-option input[type=radio]:checked+.checkin-rating-red{border-color:#dc3545;background:#f8d7da}.checkin-rating-options-vertical{display:flex;flex-direction:column;gap:8px;padding:10px 15px}.checkin-rating-option-row{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:8px;cursor:pointer;border:2px solid transparent;background:#fff;transition:all .15s ease}.checkin-rating-option-row:hover{background:#f0f4ff}.checkin-rating-option-row.selected{border-color:#667eea;background:#e8ecff}.checkin-rating-option-row input[type=radio]{display:none}.checkin-rating-option-row .rating-label{font-weight:600;font-size:13px;width:50px;flex-shrink:0}.checkin-rating-option-row .rating-desc{font-size:13px;color:#555;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:#f8f9fa;border-radius:6px}.kpi-list-item input,.kpi-list-item select{width:100%}.kpi-list-item .remove-kpi-btn{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:6px 10px;cursor:pointer}.kpi-list-item-new{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:12px;border:1px solid #e9ecef}.kpi-list-item-new .kpi-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.kpi-list-item-new .kpi-name{font-weight:600;font-size:14px;color:#333}.kpi-list-item-new .kpi-tooltips{display:flex;flex-direction:column;gap:6px}.kpi-list-item-new .kpi-tooltip-row{display:flex;align-items:center;gap:8px;font-size:13px}.kpi-list-item-new .kpi-color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.kpi-list-item-new .kpi-green-indicator{background:#28a745}.kpi-list-item-new .kpi-amber-indicator{background:#ffc107}.kpi-list-item-new .kpi-red-indicator{background:#dc3545}.kpi-list-item-new .kpi-tooltip-label{font-weight:500;color:#666;width:55px;flex-shrink:0}.kpi-list-item-new .kpi-tooltip-text{color:#333}.kpi-list-item-editable{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:12px}.kpi-list-item-editable:hover{border-color:#3b82f6}.kpi-edit-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.kpi-edit-header .kpi-name-input{flex:1;font-weight:500;font-size:14px}.kpi-critical-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer;white-space:nowrap}.kpi-critical-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.kpi-edit-header .remove-kpi-btn{background:#fee2e2;color:#dc2626;border:none;border-radius:4px;width:28px;height:28px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.kpi-edit-header .remove-kpi-btn:hover{background:#dc2626;color:#fff}.kpi-tooltips-edit{display:flex;flex-direction:column;gap:8px}.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:#22c55e}.kpi-tooltip-edit-row .kpi-amber-indicator{background:#f59e0b}.kpi-tooltip-edit-row .kpi-red-indicator{background:#ef4444}.kpi-tooltip-edit-row label{font-size:13px;font-weight:500;color:#666;width:50px;flex-shrink:0}.kpi-tooltip-edit-row input{flex:1;font-size:13px}#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-matrix-table{margin:0!important;border-top:none!important}#checkins-sticky-header-content th:first-child{position:sticky;left:0;z-index:100;background:#f8f9fa}.drivers-grid,.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.documents-grid,.safety-documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}.driver-card,.vehicle-card,.document-card,.folder-card,.van-check-card,.defect-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.driver-card:hover,.vehicle-card:hover,.document-card:hover,.folder-card:hover,.van-check-card:hover,.defect-card:hover{box-shadow:0 4px 12px #0000001a;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 #dee2e6}.driver-header h3,.vehicle-header h3,.check-header h4,.defect-header h4{margin:0;font-size:18px;color:#333}.alert-badge{display:inline-block;padding:0;background:#fff3cd;color:#856404;border-radius:12px;font-size:12px;font-weight:600;border:1px solid #ffc107}.licence-status{padding:0;border-radius:12px;font-size:12px;font-weight:600}.licence-status.valid{background:#d4edda;color:#155724}.licence-status.expired{background:#f8d7da;color:#721c24;padding:2px 8px 2px 4px}.status-pass{color:#28a745;font-weight:600}.status-warning{color:#ffc107;font-weight:600}.status-fail{color:#dc3545;font-weight:600}.driver-info p,.vehicle-card p,.van-check-card p,.defect-card p{margin:8px 0;font-size:14px;color:#666}.check-info{margin-top:10px}.driver-actions{display:flex;gap:10px;margin-top:15px}.vehicle-van-checks-section{margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}.van-checks-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:background .2s ease}.van-checks-header:hover{background:#e9ecef}.van-checks-toggle{font-size:12px;color:#666;transition:transform .2s ease}.van-checks-header.expanded .van-checks-toggle{transform:rotate(90deg)}.van-checks-count{background:#667eea;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:24px;text-align:center}.van-checks-header .add-vehicle-check-btn{margin-left:auto;padding:4px 10px;font-size:12px;white-space:nowrap;flex-shrink:0}.van-checks-content{margin-top:10px;padding:10px;background:#fafafa;border-radius:6px;max-height:400px;overflow-y:auto}.empty-van-checks{text-align:center;padding:15px;color:#6c757d;font-size:13px}.van-check-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px;margin-bottom:10px;transition:box-shadow .2s ease}.van-check-item:last-child{margin-bottom:0}.van-check-item:hover{box-shadow:0 2px 8px #00000014}.van-check-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.check-date-badge{background:#e9ecef;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:600;color:#495057}.check-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:4px}.check-status.status-pass{background:#d4edda;color:#155724}.check-status.status-warning{background:#fff3cd;color:#856404}.van-check-item-info{display:flex;gap:15px;font-size:13px;color:#666;margin-bottom:8px}.van-check-action-points{font-size:12px;color:#dc3545;background:#fff5f5;padding:6px 10px;border-radius:4px;margin-bottom:8px;border-left:3px solid #dc3545}.van-check-item-actions{display:flex;gap:8px;justify-content:flex-end}.btn-xs{padding:3px 8px;font-size:11px;border-radius:4px}.van-checks-list,.defects-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.check-date,.defect-status{font-size:12px;font-weight:600;color:#666}.defect-card.open{border-left:4px solid #ff9800}.defect-card.resolved{border-left:4px solid #4caf50;opacity:.8}.defect-status{padding:0;border-radius:12px;font-size:12px}.document-card{text-align:left;position:relative}.document-card.selected{border-color:#667eea;background:#f5f7ff;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:#667eea}.document-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #dee2e6}.document-icon{font-size:32px}.document-card h4{margin:10px 0 5px;font-size:16px;color:#333;font-weight:600}.document-card p{margin:5px 0;font-size:13px;color:#666}.document-card .document-type{color:#667eea;font-weight:500;margin-bottom:10px}.document-card .document-vehicle,.document-card .document-date,.document-card .document-expiry,.document-card .document-size{font-size:12px;color:#666}.document-card .btn-sm{margin-top:10px;width:100%}.folder-card{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid #667eea!important;cursor:pointer;position:relative;overflow:hidden;padding:15px!important}.folder-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#fff0);opacity:0;transition:opacity .3s;pointer-events:none}.folder-card:hover:before{opacity:1}.folder-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea80!important;border-color:#764ba2!important}.folder-icon{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.folder-card h4{margin:8px 0 6px;font-size:16px;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.2);letter-spacing:.3px}.folder-card .folder-count{font-size:13px;color:#fffffff2;margin:6px 0;font-weight:500;background:#ffffff26;display:inline-block;padding:3px 10px;border-radius:10px}.folder-card .folder-created{font-size:10px;color:#ffffffbf;margin:4px 0 0;font-style:italic}.folder-card .card-actions{margin-top:12px;display:flex;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}.folder-card .btn{flex:1;background:#fffffff2;color:#667eea;border:none;font-weight:600;padding:6px 10px;font-size:12px;position:relative;z-index:10}.folder-card .btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 2px 8px #0003}.folder-card .btn-danger{background:#dc3545f2;color:#fff}.folder-card .btn-danger:hover{background:#dc3545;transform:scale(1.05)}.folder-breadcrumb{background:linear-gradient(135deg,#f5f7fa,#e9ecef);border:2px solid #667eea;border-radius:8px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;gap:15px;grid-column:1 / -1}.folder-breadcrumb h3{margin:0;font-size:18px;color:#667eea;font-weight:700;flex:1}.folder-breadcrumb .btn{white-space:nowrap}.bulk-action-toolbar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:15px 20px;margin-bottom:20px;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:16px}.bulk-action-toolbar .bulk-actions{display:flex;gap:10px}.bulk-action-toolbar .btn{background:#fff;color:#667eea;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:20px;max-height:400px;overflow-y:auto;padding:10px}.folder-selection-card{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid #667eea;border-radius:12px;padding:20px 15px;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:#764ba2}.folder-selection-card .folder-icon{font-size:40px;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.folder-selection-card .folder-name{font-weight:600;font-size:14px;word-break:break-word;margin:0}.modal-description{color:#666;font-size:14px;margin:0 0 10px}.modal-description #selected-docs-count{font-weight:700;color:#667eea}.no-folders-message{text-align:center;padding:40px 20px;color:#999}.no-folders-message p:first-child{font-size:48px;margin-bottom:10px}.no-folders-message .text-muted{font-size:14px;color:#999;margin:0}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{margin:10px 0;font-size:16px}.empty-hint{font-size:14px;color:#bbb}.btn{padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-primary{background:#06c;color:#fff}.btn-primary:hover{background:#0052a3}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}@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}.driver-actions{flex-direction:column}}.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:12px;box-shadow:0 10px 40px #00000026}.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:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px;border-radius:12px 12px 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-size:22px;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{color:#fff;opacity:.9;font-size:28px;background:transparent;border:none;cursor:pointer;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:24px;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:20px}.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;font-weight:600;color:#333;font-size:14px}.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{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:all .2s ease;box-sizing:border-box}.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:#667eea;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:#dc3545}.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;width:auto;vertical-align:middle}.fleet-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0}.fleet-checklist label{display:flex;align-items:center;padding:8px;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#495057}.fleet-checklist label:hover{background:#e9ecef;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:#28a745;font-weight:600}.form-help{display:block;margin-top:4px;font-size:12px;color:#6c757d;font-style:italic}.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:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:12px;border-radius:0 0 12px 12px}.modal#driver-modal .btn,.modal#van-check-modal .btn,.modal#vehicle-modal .btn,.modal#document-modal .btn,.modal#defect-modal .btn{padding:10px 20px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.modal#driver-modal .btn-primary,.modal#van-check-modal .btn-primary,.modal#vehicle-modal .btn-primary,.modal#document-modal .btn-primary,.modal#defect-modal .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.modal#driver-modal .btn-primary:hover,.modal#van-check-modal .btn-primary:hover,.modal#vehicle-modal .btn-primary:hover,.modal#document-modal .btn-primary:hover,.modal#defect-modal .btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal#driver-modal .btn-secondary,.modal#van-check-modal .btn-secondary,.modal#vehicle-modal .btn-secondary,.modal#document-modal .btn-secondary,.modal#defect-modal .btn-secondary{background:#6c757d;color:#fff}.modal#driver-modal .btn-secondary:hover,.modal#van-check-modal .btn-secondary:hover,.modal#vehicle-modal .btn-secondary:hover,.modal#document-modal .btn-secondary:hover,.modal#defect-modal .btn-secondary:hover{background:#5a6268}.modal#defect-modal select option{padding:8px}.modal#document-modal input[type=file]{padding:8px;border:2px dashed #667eea;background:#f0f7ff;cursor:pointer}.modal#document-modal input[type=file]:hover{border-color:#764ba2;background:#e9f2ff}.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:12px 12px 0 0}.modal#incident-log-modal .modal-body{padding:24px}#incident-list-container h3{margin:0 0 20px;color:#2c3e50}.incident-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s ease}.incident-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#667eea}.incident-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.incident-type{display:inline-block;padding:0;background:#f0f7ff;color:#667eea;border-radius:12px;font-weight:600;font-size:.9em;margin-right:10px}.incident-date{color:#666;font-size:.9em}.incident-actions{display:flex;gap:8px}.incident-details{color:#555;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 #667eea}.form-section-header h3{margin:0;color:#667eea;font-size:1.1em;font-weight:600}.empty-state{text-align:center;padding:40px 20px;color:#666}.empty-state p{margin:8px 0}.empty-hint{font-size:.9em;color:#999}.form-help{display:block;margin-top:4px;font-size:.85em;color:#666}@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}.incident-actions{margin-top:10px;width:100%}}.driver-card,.vehicle-card,.document-card,.defect-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:20px;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.driver-card:hover,.vehicle-card:hover,.document-card:hover,.defect-card:hover{border-color:#667eea;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:18px;color:#333;font-weight:600}.driver-card p,.vehicle-card p,.document-card p,.defect-card p{margin:6px 0;font-size:14px;color:#666}.driver-card .btn-sm,.vehicle-card .btn-sm,.document-card .btn-sm,.defect-card .btn-sm{margin-top:12px;padding:6px 14px;font-size:13px;border-radius:5px}.defect-card.open{border-left:4px solid #dc3545}.defect-card.resolved{border-left:4px solid #28a745;opacity:.8}.defect-status{display:inline-block;padding:0;border-radius:12px;font-size:12px;font-weight:600}.defect-card .defect-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.training-item{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.training-item h4{margin:0 0 12px;color:#2c3e50;font-size:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ppe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:15px}.ppe-item{background:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #dee2e6}.ppe-item .checkbox-label{display:block;margin-bottom:8px;font-weight:500}.ppe-item input[type=date]{width:100%;margin-top:6px}.area-checklist{margin-top:20px;padding:15px;background:#f0f7ff;border-radius:8px;border:2px solid #667eea}.employees-grid{display:flex;flex-direction:column;gap:30px;margin-top:20px}.department-section{background:#f8fafc;border-radius:12px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.department-section.unassigned-section{background:#fff8e1;border-color:#ffcc80}.department-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #dee2e6}.department-header h3{margin:0;font-size:18px;color:#2c3e50;font-weight:600}.department-count{background:#6c757d;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.department-employees{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:4px}.employees-grid .employee-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s ease;cursor:pointer}.employees-grid .employee-card.is-manager{border:2px solid #2196f3;background:linear-gradient(135deg,#e3f2fd,#fff)}.employees-grid .employee-card:hover{box-shadow:0 4px 12px #0000001a;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:12px;gap:10px}.employees-grid .employee-card .card-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.employees-grid .employee-card .status-badge.status-manager{background:#2196f3;color:#fff}.employees-grid .employee-card .role-badge{display:inline-block;padding:0;background:#e7f3ff;color:#06c;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:12px}.documents-list{display:flex;flex-direction:column;gap:0}.document-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:12px}.document-item:hover{background:#f8f9fa}.document-item .doc-info{display:flex;align-items:center;gap:10px;flex:1}.document-item .doc-date{font-weight:600;color:#2c3e50;min-width:90px}.document-item .doc-notes{color:#666;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-item .doc-actions{display:flex;gap:0;align-items:center}.document-item .doc-actions a{color:#007bff;text-decoration:none;font-size:11px;padding:3px 8px;border-radius:3px;background:#e7f3ff}.document-item .doc-actions a:hover{background:#cce5ff}.document-item .doc-actions .delete-doc-btn{background:none;border:none;color:#dc3545;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:3px}.document-item .doc-actions .delete-doc-btn:hover{background:#fee}.documents-list .empty-docs{color:#999;font-size:12px;font-style:italic;padding:10px;text-align:center}.workshop-checks-list,.site-checks-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.workshop-check-card,.site-check-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s ease}.workshop-check-card:hover,.site-check-card:hover{box-shadow:0 2px 8px #0000001a}.safety-document-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;text-align:left;transition:all .2s ease}.safety-document-card:hover{box-shadow:0 4px 12px #0000001a}.safety-document-card .doc-type-icon{font-size:32px;margin-bottom:12px}.incidents-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.incident-report-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;border-left:4px solid #dc3545;transition:all .2s ease}.incident-report-card:hover{box-shadow:0 2px 8px #0000001a}.incident-report-card.near-miss{border-left-color:#ffc107}.incident-report-card.resolved{border-left-color:#28a745;opacity:.8}.reminders-dashboard{display:flex;flex-direction:column;gap:24px;margin-top:20px}.reminder-group{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:5px solid #dee2e6}.reminder-group.critical{border-left-color:#dc3545;background:#fff5f5}.reminder-group.warning{border-left-color:#fd7e14;background:#fff8f0}.reminder-group.info{border-left-color:#ffc107;background:#fffef0}.reminder-group.success{border-left-color:#28a745;background:#f0fff4}.reminder-group h3{margin:0 0 16px;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.reminders-list{display:grid;gap:12px}.reminder-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:8px;border:2px solid #e0e0e0;transition:all .2s ease}.reminder-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translate(4px)}.reminder-info{flex:1}.reminder-title{font-weight:600;font-size:15px;color:#333;margin-bottom:4px}.reminder-details{font-size:13px;color:#666}.reminder-date{font-weight:600;padding:6px 12px;border-radius:6px;font-size:13px;white-space:nowrap}.reminder-group.critical .reminder-date{background:#dc3545;color:#fff}.reminder-group.warning .reminder-date{background:#fd7e14;color:#fff}.reminder-group.info .reminder-date{background:#ffc107;color:#333}.reminder-group.success .reminder-date{background:#28a745;color:#fff}.reminder-empty{padding:20px;text-align:center;color:#999;font-style:italic}@media(max-width:767px){.reminder-card{flex-direction:column;align-items:flex-start;gap:12px}.reminder-date{align-self:flex-start}}.hamburger-menu-btn{display:none}@media(min-width:1367px){.desktop-only{display:block!important}.header{min-height:45px!important;padding:8px 16px!important;position:relative}.header .tabs-container{display:none!important}.header .header-content{display:flex!important;margin-left:auto;gap:12px;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:22px;font-weight:700;color:#1f2937;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:4px;transition:all .3s ease}.hamburger-menu-btn:hover{background:#0000000d;transform:scale(1.05)}.hamburger-line{width:100%;height:3px;background-color:#000;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:#fff;box-shadow:2px 0 10px #0000001a;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 #e5e7eb;flex-shrink:0}.sidebar-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.sidebar-close-btn{background:transparent;border:none;font-size:32px;line-height:1;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease,color .2s ease}.sidebar-close-btn:hover{background:#f3f4f6;color:#1f2937}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-nav .tab-button{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:15px;color:#4b5563;transition:background .2s ease,color .2s ease;text-align:left;position:relative}.sidebar-nav .tab-button:hover{background:#f3f4f6;color:#1f2937}.sidebar-nav .tab-button.active{background:#eff6ff;color:#2563eb;font-weight:600}.sidebar-nav .tab-button.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}.sidebar-nav .tab-icon{font-size:20px;flex-shrink:0}.sidebar-nav .tab-text{flex:1}.sidebar-nav .notification-badge{position:static;margin-left:auto;margin-right:8px;display:flex;align-items:center;justify-content:center}.sidebar-footer{border-top:1px solid #e5e7eb;padding:16px 20px;flex-shrink:0}.sidebar-footer .user-info{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px;background:#f9fafb;border-radius:8px}.sidebar-footer .user-email{font-size:14px;font-weight:500;color:#1f2937}.sidebar-footer .user-role{font-size:12px;color:#6b7280}.sidebar-footer .connection-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:6px;margin-bottom:8px}.sidebar-footer .action-button{width:100%;justify-content:center;margin-bottom:8px}.sidebar-footer .action-button:last-child{margin-bottom:0}}@media(max-width:1366px){.desktop-sidebar-menu,.hamburger-menu-btn.desktop-only{display:none!important}}.panel-actions #inventory-category-filter,.panel-actions #orders-status-filter{margin-left:auto!important}.progress-bar-container{position:relative;width:100%;height:20px;background:#f1f5f9;border-radius:6px;overflow:hidden;margin-bottom:4px;border:1px solid #e2e8f0}.progress-bar{height:100%;transition:width .3s ease;border-radius:6px;position:relative;background:linear-gradient(90deg,#3b82f6,#2563eb);box-shadow:inset 0 1px 2px #0000001a}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:600;color:#1f2937;z-index:1;text-shadow:0 1px 1px rgba(255,255,255,.8)}.toggle-switch-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch-input{position:absolute;opacity:0;width:0;height:0}.toggle-switch-slider{position:relative;display:inline-block;width:44px;height:24px;background-color:#cbd5e1;border-radius:24px;transition:background-color .3s ease;flex-shrink:0}.toggle-switch-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:3px;left:3px;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch-input:checked+.toggle-switch-slider{background-color:#3b82f6}.toggle-switch-input:checked+.toggle-switch-slider:before{transform:translate(20px)}.toggle-switch-input:focus+.toggle-switch-slider{box-shadow:0 0 0 3px #3b82f633}.toggle-switch-text{font-size:.9em;color:#374151;font-weight:500}.toggle-switch-label:hover .toggle-switch-slider{background-color:#94a3b8}.toggle-switch-label:hover .toggle-switch-input:checked+.toggle-switch-slider{background-color:#2563eb}#board-view .job-card.phase-job-card{border-left:3px solid #8b5cf6;background:linear-gradient(to right,#faf5ff,#fff)}#board-view .job-card.phase-job-card:hover{border-left-color:#7c3aed}#board-view .job-card.phase-job-card.outsourced-job-card{background:#fff3cd;border:1px solid #ff8c00;border-left:3px solid #ff8c00}#board-view .job-card.phase-job-card.outsourced-job-card:hover{background:#ffeaa7;border-left-color:#e67e22}.phase-indicator{background:#8b5cf6;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600;display:inline-block;margin-bottom:4px}#dashboard-context-menu{animation:contextMenuFadeIn .15s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#dashboard-context-menu .context-menu-item:hover{background:#f3f4f6}#create-phase-modal .info-box{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:12px}.enquiry-history-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:20px}.enquiry-history-panel h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.enquiry-history-panel .history-count{font-size:12px;font-weight:400;color:#6b7280}.enquiry-history-panel .history-list{max-height:300px;overflow-y:auto}.enquiry-history-panel .no-history{color:#9ca3af;font-size:13px;font-style:italic;margin:0;padding:12px 0}.enquiry-history-panel .history-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .15s ease}.enquiry-history-panel .history-item:last-child{margin-bottom:0}.enquiry-history-panel .history-item:hover{background:#f0f9ff;border-color:#3b82f6;transform:translate(2px)}.enquiry-history-panel .history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.enquiry-history-panel .history-enquiry-number{font-weight:600;font-size:13px;color:#1f2937}.enquiry-history-panel .history-status-badge{font-size:11px;padding:2px 8px;border-radius:10px;color:#fff;font-weight:500}.enquiry-history-panel .history-item-details{display:flex;justify-content:space-between;font-size:12px;color:#6b7280}.enquiry-history-panel .history-value{font-weight:500;color:#059669}.form-section-divider{margin:16px 0;border-bottom:2px solid #3b82f6;font-size:16px;font-weight:600;color:#1e293b}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}#enquiry-outcome-reason-group{display:none}#enquiry-outcome-reason-group.visible{display:block}.lead-sources-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.lead-source-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6}.lead-source-item:last-child{border-bottom:none}.lead-source-item:hover{background:#f9fafb}.lead-source-item .lead-source-name{font-weight:500;color:#1f2937}.lead-source-item .lead-source-actions{display:flex;gap:8px}.lead-source-item .btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s ease}.lead-source-item .btn-icon:hover{background:#f3f4f6;color:#374151}.lead-source-item .btn-icon.delete:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.gantt-container{width:100%;overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.gantt-wrapper{display:flex;flex-direction:column;width:100%;overflow:hidden}.gantt-header-row{display:flex;flex-shrink:0;border-bottom:2px solid #cbd5e1}.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:#f1f5f9;font-weight:600;font-size:12px;color:#475569;border-right:2px solid #cbd5e1}.gantt-th,.gantt-td{padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.gantt-col-job{width:60px}.gantt-col-customer{width:120px;flex:1}.gantt-col-pm{width:70px}.gantt-col-crew{width:30px;text-align:center}.gantt-col-install{width:50px;text-align:center}.gantt-col-days{width:40px;text-align:center}.gantt-col-progress{width:70px;display:flex;align-items:center;gap:4px}.gantt-crew-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 4px;font-size:10px;color:#475569;cursor:pointer;font-family:monospace;letter-spacing:-.5px}.gantt-crew-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.gantt-crew-popover{background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:10px 12px;min-width:160px}.gantt-crew-popover-title{font-size:11px;font-weight:600;color:#64748b;margin-bottom:8px}.gantt-crew-popover-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.gantt-crew-popover-label{font-size:12px;font-weight:600}.gantt-crew-dept-input{width:40px;height:24px;border:1px solid #e2e8f0;border-radius:4px;text-align:center;font-size:12px;padding:0}.gantt-crew-dept-input:focus{outline:none;border-color:#3b82f6}.gantt-table-body{width:535px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 220px);border-right:2px solid #cbd5e1;background:#fff;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:2px solid #cbd5e1;transition:background .15s}.gantt-table-row:hover{background:#f8fafc}.gantt-job-link{color:#3b82f6;cursor:pointer;font-weight:600;text-decoration:none}.gantt-job-link:hover{text-decoration:underline}.gantt-progress-bar{width:36px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.gantt-progress-fill{height:100%;background:#22c55e;border-radius:4px;transition:width .3s}.gantt-progress-text{font-size:11px;color:#64748b}.gantt-timeline-header{flex:1;overflow:hidden;background:#f1f5f9;height:58px;min-height:58px}.gantt-timeline-header-scroll{display:block;height:58px}.gantt-timeline-wrapper{flex:1;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 220px);position:relative}.gantt-month-row{display:flex;height:24px;border-bottom:1px solid #e2e8f0}.gantt-month-cell{font-size:11px;font-weight:600;color:#475569;display:flex;align-items:center;justify-content:center;border-right:1px solid #e2e8f0;overflow:hidden}.gantt-day-row{display:flex;height:34px}.gantt-day-cell{display:flex;flex-direction:column;align-items:center;border-right:1px solid #f1f5f9;font-size:10px;color:#94a3b8;padding-top:2px}.gantt-day-label{font-weight:600;line-height:1}.gantt-day-num{line-height:1}.gantt-day-cell.gantt-weekend{background:#e2e8f0;color:#94a3b8}.gantt-day-cell.gantt-bank-holiday{background:#fce7f3;color:#be185d;font-weight:700}.gantt-day-cell.gantt-today-col{background:#fef2f2;color:#ef4444;font-weight:700}.gantt-timeline-body{position:relative;min-height:200px}.gantt-grid-col{position:absolute;top:0;border-right:1px solid #f8fafc;pointer-events:none}.gantt-grid-col.gantt-weekend{background:#cbd5e159}.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:#ef4444;z-index:3;pointer-events:none}.gantt-today-line:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%}.gantt-timeline-row{position:absolute;left:0;right:0;border-bottom:2px solid #cbd5e1}.gantt-bar{position:absolute;top:10px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;cursor:grab;z-index:2;transition:opacity .2s;-webkit-user-select:none;user-select:none}.gantt-bar:hover{filter:brightness(1.1);z-index:3}.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:12px;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:3px;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:4px 0 0 4px}.gantt-bar-segment:last-child{border-radius:0 4px 4px 0}.gantt-bar-segment:only-child{border-radius:4px}.gantt-bar-overrun{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#ef4444,#ef4444 3px,#dc2626 3px,#dc2626 6px);border-radius:0 4px 4px 0;z-index:2;pointer-events:none;opacity:.9}.gantt-bar-has-overrun,.gantt-bar-has-under-budget{overflow:hidden;border-radius:4px}.gantt-bar-under-budget{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#22c55e,#22c55e 3px,#16a34a 3px,#16a34a 6px);border-radius:0 4px 4px 0;z-index:2;pointer-events:none;opacity:.9}.gantt-bar-gap{position:absolute;height:0;border-top:2px dashed;opacity:.6;pointer-events:none;z-index:1}.gantt-install-marker{position:absolute;color:#ef4444;font-size:14px;line-height:1;transform:translate(-50%,-50%);z-index:4;pointer-events:none}.gantt-install-line{position:absolute;height:0;border-top:2px dashed #ef4444;z-index:3;pointer-events:none}.gantt-dept-connector{position:absolute;pointer-events:none;overflow:visible}.gantt-dept-connector path{stroke:#94a3b8;stroke-width:1.5;stroke-dasharray:4 3}.gantt-legend{display:flex;gap:16px;padding:10px 16px;background:#f8fafc;border-top:1px solid #e2e8f0;font-size:12px;color:#475569}.gantt-legend-item{display:flex;align-items:center;gap:6px}.gantt-legend-swatch{width:14px;height:14px;border-radius:3px;display:inline-block}.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:#fff;border-radius:12px;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.gantt-picker-header{padding:16px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.gantt-picker-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.gantt-picker-close-btn{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.gantt-picker-close-btn:hover{color:#334155}.gantt-picker-actions{display:flex;gap:6px}.gantt-picker-actions .action-button{font-size:12px;padding:4px 10px}.gantt-picker-list{flex:1;overflow-y:auto;max-height:50vh;padding:4px 0}.gantt-picker-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:12px;color:#334155;transition:background .15s;border-bottom:1px solid #f8fafc}.gantt-picker-item:hover{background:#f1f5f9}.gantt-picker-item.selected{background:#eff6ff}.gantt-picker-item input[type=checkbox]{flex-shrink:0;width:15px;height:15px;cursor:pointer;accent-color:#3b82f6}.gantt-picker-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gantt-picker-item-job{font-weight:600;color:#1e293b}.gantt-picker-item-customer{color:#64748b;font-size:11px}.gantt-picker-item-pm{color:#94a3b8;font-size:11px}.gantt-picker-item .gantt-tk-indicator{font-size:9px;color:#22c55e;flex-shrink:0}.gantt-picker-footer{padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:13px;color:#64748b;font-weight:500;display:flex;align-items:center;justify-content:space-between;border-radius:0 0 12px 12px}.gantt-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000002e;z-index:2000;min-width:160px;padding:4px 0}.gantt-context-menu-item{padding:8px 14px;font-size:13px;color:#1e293b;cursor:pointer}.gantt-context-menu-item:hover{background:#f1f5f9}.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:#fff;border-radius:12px;width:1100px;max-width:96vw;max-height:96vh;margin:10px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.gantt-worker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.gantt-worker-header h3{margin:0;font-size:16px;color:#1e293b}.gantt-worker-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 20px}.gantt-worker-footer{padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-radius:0 0 12px 12px}.gantt-worker-columns{display:flex;gap:12px;height:100%}.gantt-worker-column{flex:1;min-width:0;display:flex;flex-direction:column}.gantt-worker-dept-title{font-size:13px;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:4px;min-height:60px;overflow-y:auto;padding:6px 0;border-bottom:1px solid #e2e8f0;margin-bottom:0;flex-shrink:0}.gantt-worker-empty{font-size:12px;color:#94a3b8;font-style:italic}.gantt-worker-chip{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:3px 8px 3px 10px;font-size:12px;color:#334155}.gantt-worker-half{color:#94a3b8;font-size:10px}.gantt-worker-chip-tk{border-color:#22c55e;background:#f0fdf4}.gantt-worker-tk-tag{font-size:9px;font-weight:700;color:#22c55e;margin-right:3px}.gantt-worker-remove{cursor:pointer;color:#94a3b8;font-size:14px;line-height:1;margin-left:2px}.gantt-worker-remove:hover{color:#ef4444}.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:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;padding:4px 6px 2px;letter-spacing:.5px}.gantt-worker-add-row{display:flex;align-items:center;gap:6px;padding:3px 6px;font-size:12px;color:#334155;border-radius:4px}.gantt-worker-add-row:hover{background:#f1f5f9}.gantt-worker-add-btn{background:#3b82f6;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gantt-worker-add-btn:hover{background:#2563eb}.gantt-worker-on-other{border-left:3px solid #f59e0b;padding-left:3px}.gantt-worker-info{display:flex;flex-direction:column;min-width:0}.gantt-worker-breakdown{font-size:10px;color:#94a3b8;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-col-drag{width:16px;flex-shrink:0;cursor:grab;color:#94a3b8;font-size:10px;text-align:center;-webkit-user-select:none;user-select:none}.gantt-col-drag:hover{color:#3b82f6}.gantt-col-drag:active{cursor:grabbing}.gantt-row-dragging{opacity:.4}.gantt-row-drop-above{box-shadow:inset 0 2px #3b82f6}.gantt-row-drop-below{box-shadow:inset 0 -2px #3b82f6}.gantt-worker-dept-hours{font-size:11px;font-weight:400;opacity:.7;margin-left:4px}.gantt-worker-hours-summary{display:flex;gap:6px;font-size:10px;padding:3px 0 4px;color:#64748b;flex-wrap:wrap;flex-shrink:0}.gantt-worker-hours-tk{color:#22c55e;font-weight:600}.gantt-worker-hours-assigned{color:#3b82f6;font-weight:600}.gantt-worker-hours-remaining{color:#64748b}.gantt-worker-hours-done .gantt-worker-hours-remaining{color:#22c55e;font-weight:600}.gantt-worker-hours-over .gantt-worker-hours-remaining{color:#ef4444;font-weight:600}.gantt-worker-chip-row{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.gantt-worker-days-row{display:flex;align-items:center;gap:4px;padding-left:10px}.gantt-worker-days-input{width:38px;padding:2px 4px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px;text-align:center;background:#fff}.gantt-worker-days-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.gantt-worker-days-tk-done{font-size:10px;color:#22c55e;font-weight:600;white-space:nowrap}.gantt-worker-days-total{font-size:11px;color:#94a3b8;white-space:nowrap}.gantt-worker-conflict-icon{color:#f59e0b;font-size:14px;cursor:help;flex-shrink:0}.gantt-sidebar-toggle{background:none;border:none;cursor:pointer;font-size:12px;color:#64748b;padding:4px 6px;border-radius:4px;flex-shrink:0}.gantt-sidebar-toggle:hover{background:#e2e8f0;color:#1e293b}.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{border-radius:16px;padding:20px 24px;margin-bottom:16px;background:#fff;border-left:4px solid #d1d5db;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;transition:border-color .3s,box-shadow .3s}.clock-status-card.clock-status-in{border-left-color:#22c55e;box-shadow:0 1px 3px #22c55e1f,0 4px 12px #22c55e0f}.clock-status-card.clock-status-out{border-left-color:#d1d5db}.clock-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.clock-status-left{display:flex;align-items:center;gap:10px}.clock-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;flex-shrink:0}.clock-status-in .clock-dot{background:#22c55e;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:15px;font-weight:600;color:#6b7280}.clock-status-in .clock-status-label{color:#15803d}.clock-timer-display{font-size:36px;font-weight:700;font-variant-numeric:tabular-nums;font-family:SF Mono,Cascadia Code,Consolas,monospace;color:#d1d5db;letter-spacing:1px;line-height:1}.clock-status-in .clock-timer-display{color:#111827}.clock-current-info{margin:12px 0 4px}.clock-info-chips{display:flex;gap:8px;flex-wrap:wrap}.clock-chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.clock-chip-job{background:#eff6ff;color:#1d4ed8}.clock-chip-dept{background:#fef3c7;color:#92400e;text-transform:capitalize}.clock-status-card .clock-actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.btn.btn-clock-in{flex:1;min-height:48px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a)!important;background-color:#16a34a!important;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #22c55e40}.btn.btn-clock-in:hover{background:linear-gradient(135deg,#16a34a,#15803d)!important;background-color:#15803d!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:15px;font-weight:600;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;background-color:#2563eb!important;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #3b82f640}.btn.btn-clock-switch:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!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:15px;font-weight:600;background:linear-gradient(135deg,#ef4444,#dc2626)!important;background-color:#dc2626!important;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #ef444440}.btn.btn-clock-out:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;background-color:#b91c1c!important;transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn.btn-clock-out:active{transform:translateY(0)}.clock-picker{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:16px;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:15px;font-weight:700;margin:0;padding:16px 20px 12px;color:#111827}.clock-picker-body{padding:0 20px 8px}.clock-picker-field{margin-bottom:14px}.clock-picker-field label{display:block;font-weight:600;margin-bottom:6px;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.clock-job-search{width:100%;min-height:42px;font-size:14px;margin-bottom:8px;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#f9fafb;color:#111827;transition:border-color .15s,box-shadow .15s}.clock-job-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none;background:#fff}.clock-job-list{width:100%;min-height:120px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:14px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;color:#111827;padding:4px}.clock-job-group-label{padding:6px 10px 2px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.clock-job-item{padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.clock-job-item:active{background:#e0e7ff}.clock-job-item-selected{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.clock-job-empty{color:#9ca3af;text-align:center;cursor:default}.clock-dept-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.clock-dept-btn{min-height:42px;font-size:13px;font-weight:600;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;color:#374151;text-transform:capitalize}.clock-dept-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.clock-dept-btn.selected{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 2px 6px #3b82f64d}.clock-picker-actions{display:flex;gap:10px;padding:14px 20px;border-top:1px solid #f3f4f6;background:#f9fafb}.btn-clock-confirm{flex:1;min-height:46px;font-size:15px;font-weight:600;border-radius:10px}.btn-clock-confirm:disabled{opacity:.4;cursor:not-allowed}.btn-clock-cancel{min-height:46px;padding:0 20px;font-size:14px;border-radius:10px}.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:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000a}.clock-sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.clock-sessions-title{font-size:15px;font-weight:700;margin:0;color:#111827}.clock-today-total{font-size:18px;font-weight:700;color:#3b82f6}.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:#f9fafb;border-radius:10px;border-left:3px solid #d1d5db;font-size:13px;transition:background .15s}.clock-session-item.clock-session-active{border-left-color:#22c55e;background:#f0fdf4}.clock-session-info{display:flex;flex-direction:column;gap:1px}.clock-session-job{font-weight:600;color:#111827;font-size:13px}.clock-session-dept{color:#6b7280;font-size:12px;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:12px;color:#6b7280}.clock-session-hours{font-weight:700;color:#111827;font-size:14px}.clock-no-sessions{color:#9ca3af;text-align:center;padding:20px 16px;font-size:13px}.clock-week-summary{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 16px;background:#f8fafc;border-radius:10px}.clock-week-main,.clock-week-overtime{display:flex;flex-direction:column}.clock-week-label{font-size:12px;color:#6b7280;margin-bottom:2px}.clock-week-hours{font-size:18px;font-weight:700;color:#111827}.clock-week-contracted{font-weight:400;color:#9ca3af}.clock-week-ot{font-size:18px;font-weight:700;color:#f59e0b;text-align:right}.clock-history-section{margin-top:16px}.clock-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.clock-history-title{margin:0;font-size:14px;font-weight:700;color:#111827}.clock-history-nav{display:flex;gap:6px;align-items:center}.clock-history-btn{min-width:32px;min-height:32px;padding:0;background:#f3f4f6;border:none;border-radius:8px;font-size:14px;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center}.clock-history-btn:hover{background:#e5e7eb}.clock-history-range{font-size:13px;color:#6b7280;min-width:120px;text-align:center}.clock-history-list{display:flex;flex-direction:column;gap:4px}.clock-history-totals{margin-top:8px;padding:8px 12px;background:#eff6ff;border-radius:8px;display:flex;justify-content:space-between;font-size:13px;font-weight:600}.clock-history-days{color:#6b7280}.clock-tab-bar{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid #e5e7eb}.clock-tab{flex:1;padding:12px 16px;background:none;border:none;font-size:14px;font-weight:500;color:#9ca3af;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;position:relative}.clock-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.clock-tab:active{background:#f9fafb}.clock-tab-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.clock-holiday-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;max-width:960px;margin:0 auto;padding:16px}@media(max-width:768px){.clock-holiday-layout{grid-template-columns:1fr;gap:16px;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:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin-top:12px}.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:12px}.clock-holiday-cal-grid .cal-header{font-weight:600;color:#6b7280;padding:4px 0;font-size:11px}.clock-holiday-cal-grid .cal-day{padding:6px 2px;border-radius:6px;cursor:default;position:relative;color:#374151;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:#f3f4f6}.clock-holiday-cal-grid .cal-day.cal-selected{outline:2px solid #2563eb;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:#ef4444;pointer-events:none}.clock-holiday-cal-grid .cal-day.cal-other-month{color:#d1d5db}.clock-holiday-cal-grid .cal-day.cal-today{font-weight:700;box-shadow:inset 0 0 0 2px #3b82f6}.clock-holiday-cal-grid .cal-day.cal-weekend{color:#9ca3af}.clock-holiday-cal-grid .cal-day.cal-leave-approved{background:#3b82f6;color:#fff;font-weight:600}.clock-holiday-cal-grid .cal-day.cal-leave-pending{background:#fef3c7;color:#92400e;font-weight:600;border:1px dashed #f59e0b}.clock-holiday-cal-grid .cal-day.cal-leave-sick{background:#ef4444;color:#fff;font-weight:600}.clock-holiday-cal-grid .cal-day.cal-bank-holiday{background:#8b5cf61a;color:#8b5cf6;font-weight:600}.clock-holiday-cal-legend{display:flex;gap:12px;margin-top:10px;font-size:11px;color:#6b7280;flex-wrap:wrap}.cal-legend-item{display:flex;align-items:center;gap:4px}.cal-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.clock-holiday-cal-day-info{margin-top:12px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:13px}.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:#111827}.clock-holiday-cal-day-close{background:transparent;border:none;font-size:20px;line-height:1;color:#6b7280;cursor:pointer;padding:0 4px}.clock-holiday-cal-day-close:hover{color:#111827}.clock-holiday-cal-bh-line{color:#7c3aed;font-weight:500;margin-bottom:6px}.clock-holiday-cal-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.clock-holiday-cal-day-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.clock-holiday-cal-day-name{font-weight:500;color:#111827}.clock-holiday-cal-day-meta{color:#6b7280;font-size:12px;display:flex;align-items:center;gap:6px}.clock-holiday-cal-pill{font-size:11px;padding:1px 6px;border-radius:999px;font-weight:600}.clock-holiday-cal-pill-pending{background:#fef3c7;color:#92400e}.clock-holiday-cal-day-empty{color:#6b7280;font-style:italic}.clock-holiday-cal-book{display:block;width:100%;margin-top:10px}.clock-leave-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.clock-leave-stat{text-align:center;padding:12px 8px;background:#f9fafb;border-radius:10px;border:1px solid #f3f4f6}.clock-leave-stat-value{font-size:20px;font-weight:700;color:#111827;display:block}.clock-leave-stat-label{font-size:11px;color:#6b7280;display:block;margin-top:2px}@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 18px;border-radius:14px}.clock-timer-display{font-size:28px}.clock-status-label{font-size:14px}.clock-status-card .clock-actions{flex-direction:column;gap:8px}.btn-clock-in,.btn-clock-switch,.btn-clock-out{min-height:50px;font-size:15px}.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:0 -4px 24px #0000001f}.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:#d1d5db;border-radius:2px;margin:10px auto 4px;flex-shrink:0}.clock-picker-title{font-size:16px;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:16px}.clock-job-list{flex:1;min-height:0;max-height:none;font-size:15px}.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:16px}.clock-sessions-section{padding:14px;border-radius:14px}.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:14px 8px;font-size:13px;min-height:44px}.clock-leave-summary{gap:6px}.clock-leave-stat{padding:8px 4px}.clock-leave-stat-value{font-size:17px}.clock-leave-stat-label{font-size:10px}}#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;gap:10px;padding:10px;background:#f8f9fa;border-radius:8px;overflow-x:auto}.tca-tab{padding:12px 20px;border:2px solid #dee2e6;background:#fff;border-radius:6px;cursor:pointer;font-weight:500;color:#333;white-space:nowrap;min-width:120px;transition:all .2s ease}.tca-tab:hover{border-color:#06c;background:#f0f7ff}.tca-tab.active{border-color:#06c;background:#06c;color:#fff}.tca-date-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.tca-nav-btn{min-width:36px;padding:6px 10px}.tca-date-label{font-size:16px;font-weight:600;min-width:180px;text-align:center}.tca-section{margin-bottom:20px}.tca-section-title{font-size:14px;font-weight:600;color:#555;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.tca-live-cards{display:flex;flex-wrap:wrap;gap:12px}.tca-live-card{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;min-width:200px}.tca-live-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;animation:tca-pulse 2s infinite}@keyframes tca-pulse{0%,to{opacity:1}50%{opacity:.4}}.tca-live-name{font-weight:600;font-size:14px}.tca-live-detail{font-size:12px;color:#666}.tca-live-elapsed{margin-left:auto;font-family:monospace;font-size:14px;font-weight:600;color:#16a34a}.tca-add-bar{margin-bottom:16px}.tca-empty{color:#999;font-style:italic;padding:12px 0}.tca-user-group{margin-bottom:20px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tca-user-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tca-user-name{font-weight:600;font-size:14px}.tca-user-total{font-size:13px;color:#666;font-weight:500}.tca-user-header-stats{display:flex;align-items:center;gap:12px}.tca-user-breaks{font-size:11px;color:#999}.tca-user-diff{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.tca-user-diff.tca-over{color:#16a34a;background:#f0fdf4}.tca-user-diff.tca-under{color:#dc2626;background:#fef2f2}.tca-session-header-row{display:grid;grid-template-columns:1fr 70px 70px 80px 1fr 60px 30px;gap:8px;padding:4px 16px;font-size:10px;font-weight:600;text-transform:uppercase;color:#999;border-bottom:1px solid #e5e7eb}.tca-session-row{display:grid;grid-template-columns:1fr 70px 70px 80px 1fr 60px 30px;gap:8px;align-items:center;padding:6px 16px;border-bottom:1px solid #f3f4f6;font-size:13px}.tca-session-row:last-child{border-bottom:none}.tca-session-job{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tca-job-link{color:#2563eb;text-decoration:none;cursor:pointer}.tca-job-link:hover{text-decoration:underline;color:#1d4ed8}.tca-session-time-edit{display:flex}.tca-inline-time{width:100%;padding:2px 4px;border:1px solid transparent;border-radius:4px;font-size:12px;font-family:inherit;background:transparent}.tca-inline-time:hover{border-color:#e5e7eb;background:#fafafa}.tca-inline-time:focus{border-color:#3b82f6;outline:none;background:#fff}.tca-placeholder-time{opacity:.4;cursor:default}.tca-loc-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;text-decoration:none;margin-right:4px;cursor:pointer;transition:opacity .15s}.tca-loc-tag:hover{opacity:.8}.tca-loc-in{color:#15803d;background:#f0fdf4}.tca-loc-out{color:#dc2626;background:#fef2f2}.tca-loc-arrow{font-size:12px;line-height:1}.tca-loc-out .tca-loc-arrow{transform:rotate(90deg);display:inline-block}.tca-geofence-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tca-geofence-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.tca-geofence-name{font-weight:600;font-size:14px;color:#1f2937}.tca-geofence-detail{font-size:12px;color:#6b7280;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-session-dept{color:#666;font-size:12px}.tca-session-notes-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#666}.tca-muted{color:#ccc}.tca-session-hours{text-align:right;font-weight:600}.tca-session-actions{display:flex;justify-content:center}.tca-btn-delete{padding:0;width:20px;height:20px;font-size:12px;line-height:1;border:none;background:none;color:#d1d5db;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.tca-btn-delete:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.tca-table-wrap{overflow-x:auto}.tca-weekly-table{width:100%;border-collapse:collapse;font-size:13px}.tca-weekly-table th,.tca-weekly-table td{padding:8px 12px;border:1px solid #e5e7eb;text-align:center}.tca-weekly-table th{background:#f9fafb;font-weight:600;font-size:12px;text-transform:uppercase;color:#555}.tca-th-name{text-align:left!important;min-width:140px;position:sticky;left:0;background:#f9fafb;z-index:1}.tca-weekly-table td:first-child{text-align:left;font-weight:500;position:sticky;left:0;background:#fff;z-index:1}.tca-th-total{font-weight:700!important}.tca-cell-total{font-weight:700;background:#f9fafb}.tca-row-total td{font-weight:700;background:#f0f4ff;border-top:2px solid #007bff}.tca-th-diff{font-weight:600!important;min-width:60px}.tca-cell-diff{font-weight:600;font-size:12px}.tca-cell-diff.tca-over{color:#16a34a}.tca-cell-diff.tca-under{color:#dc2626}.tca-week-row{cursor:pointer;transition:background .15s}.tca-week-row:hover{background:#f0f4ff!important}.tca-week-detail-cell{padding:0!important;background:#f9fafb}.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:8px}.wc-day-detail-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.wc-day-detail-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.wc-day-detail-name{font-weight:600;font-size:14px;color:#1f2937}.wc-day-detail-type{font-size:12px;color:#6b7280;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:4px}.wc-mm-dow-row>div{text-align:center;font-size:10px;font-weight:600;color:#6b7280;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 #e5e7eb;border-radius:4px;background:#fff;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:#f3f4f6}.wc-mm-cell.wc-mm-bank-holiday{background:#ede9fe}.wc-mm-cell.wc-mm-today{border-color:#3b82f6;border-width:2px;padding:1px 0}.wc-mm-cell.wc-mm-selected{outline:2px solid #2563eb;outline-offset:-2px;background:#eff6ff}.wc-mobile-day-detail{margin-top:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.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:14px;font-weight:600;color:#1f2937}#wc-mobile-day-detail-close{font-size:18px!important;padding:2px 10px!important;line-height:1}.wc-mm-day-num{font-size:12px;font-weight:600;color:#1f2937;line-height:1}.wc-mm-cell.wc-mm-other-month .wc-mm-day-num{color:#9ca3af}.wc-mm-badge{margin-top:2px;min-width:16px;height:16px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;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:#7c3aed;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:16px}.tca-edit-modal .modal-body label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px;display:block}.tca-edit-modal .modal-body .form-control{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s;background:var(--color-bg-primary);color:var(--color-text-primary)}.tca-edit-modal .modal-body .form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a;outline:none}.tca-edit-modal .modal-body select.form-control[size]{border-radius:var(--radius-md);padding:4px;font-size:13px;max-height:120px;margin-top:6px}.tca-edit-modal .modal-body select.form-control[size] option{padding:6px 10px;border-radius:4px}.tca-edit-modal .modal-body textarea.form-control{resize:vertical;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:14px!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:11px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:10px}.tca-shutdown-emp-item .tca-shutdown-emp-skip{font-size:11px;color:#f59e0b;font-style:italic}.tca-shutdown-preview{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:12px 16px;font-size:13px;color:var(--color-text-secondary);margin-top:8px}.tca-shutdown-progress{margin-top:12px;padding:12px 16px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-secondary)}.tca-shutdown-progress .progress-bar{height:6px;background:var(--color-border);border-radius:3px;margin-top:8px;overflow:hidden}.tca-shutdown-progress .progress-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s}.tca-edit-modal .clock-dept-buttons{display:flex;flex-wrap:wrap;gap:6px}.tca-edit-modal .clock-dept-btn{padding:6px 14px;font-size:13px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all .15s;font-weight:500}.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)}.tca-modal-info{padding:8px 12px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:12px;font-size:13px;color:var(--color-text-secondary)}.tca-edit-hours{padding:8px 0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.modal-footer-right{display:flex;gap:8px}.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:8px}.tca-session-active{background:#f0fdf4}.tca-session-note{padding:2px 16px 6px;font-size:12px;color:#888;font-style:italic;border-bottom:1px solid #f3f4f6}.tca-notes-input{resize:vertical;min-height:40px}.tca-dept-section{margin-bottom:16px}.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:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.tca-dept-name{font-weight:500}.tca-dept-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.tca-dept-remove:hover{color:#dc2626}.tca-dept-add-row{display:flex;gap:8px;align-items:center}.tca-dept-add-row input{max-width:220px;padding:6px 10px;font-size:13px}.tca-settings-layout{gap:0;height:100%}.tca-settings-sidebar{width:180px;min-width:180px;background:#f9fafb;border-right:1px solid #e5e7eb;padding:16px 0;display:flex;flex-direction:column;gap:2px}.tca-settings-sidebar-title{color:#888;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:0 16px 10px;border-bottom:1px solid #e5e7eb;margin-bottom:4px}.tca-settings-nav{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;color:#555;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;border-left:3px solid transparent}.tca-settings-nav:hover{background:#f0f0f0;color:#333}.tca-settings-nav.active{background:#eef2ff;color:#4f46e5;border-left-color:#4f46e5;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:8px;margin-top:12px}.tca-leave-type-preview-card{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.tca-leave-type-color{width:14px;height:14px;border-radius:50%;flex-shrink:0}.tca-leave-type-label{font-size:14px;font-weight:500;color:#1f2937}.tca-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tca-global-defaults-btn{padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.tca-global-defaults-btn:hover{background:#4338ca}.tca-settings-desc{color:#666;font-size:13px;margin-bottom:16px}.tca-emp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding-bottom:32px}.tca-emp-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:border-color .2s,box-shadow .2s;background:#fff}.tca-emp-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.tca-emp-avatar{width:40px;height:40px;border-radius:50%;background:#e0e7ff;color:#4338ca;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.tca-emp-info{flex:1;min-width:0}.tca-emp-name{font-weight:600;font-size:14px;color:#333}.tca-emp-summary{font-size:12px;color:#888;margin-top:2px}.tca-emp-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.tca-emp-badge.configured{background:#dcfce7;color:#166534}.tca-emp-badge.not-configured{background:#fef3c7;color:#92400e}.tca-emp-badge.global-defaults{background:#e0e7ff;color:#3730a3}#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:20px;padding-top:16px;border-top:1px solid var(--color-border, #e2e8f0)}.tca-leaver-calc-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tca-leaver-calc-title{font-weight:600;font-size:14px;color:var(--color-text, #334155)}.tca-leaver-results{margin-top:12px;border:1px solid var(--color-border, #e2e8f0);border-radius:8px;overflow:hidden;font-size:13px}.tca-leaver-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border, #f1f5f9)}.tca-leaver-row:last-child{border-bottom:none}.tca-leaver-row span:first-child{color:var(--color-text-secondary, #64748b)}.tca-leaver-row span:last-child{font-weight:500;text-align:right}.tca-leaver-row-header{background:var(--color-bg-secondary, #f8fafc);font-weight:600}.tca-leaver-row-header span:first-child{color:var(--color-text, #334155)}.tca-leaver-row-subtotal{background:var(--color-bg-secondary, #f8fafc);border-top:2px solid var(--color-border, #e2e8f0);font-weight:600}.tca-leaver-row-subtotal span:first-child{color:var(--color-text, #334155)}.tca-leaver-row-balance{border-top:2px solid var(--color-border, #e2e8f0);font-weight:700;font-size:14px;padding:10px 12px}.tca-leaver-row-balance.positive{background:#f0fdf4}.tca-leaver-row-balance.positive span:last-child{color:#16a34a}.tca-leaver-row-balance.negative{background:#fef2f2}.tca-leaver-row-balance.negative span:last-child{color:#dc2626}.tca-leaver-row-balance.neutral{background:var(--color-bg-secondary, #f8fafc)}.tca-leaver-row-balance.neutral span:last-child{color:var(--color-text, #334155)}.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 #e5e7eb;border-radius:6px;background:#fafafa}.tca-day-row.disabled{opacity:.5;background:#f3f4f6}.tca-day-check{display:flex;align-items:center;gap:6px;min-width:110px;font-size:13px;font-weight:500}.tca-day-times{display:flex;align-items:center;gap:6px;font-size:13px}.tca-day-times input[type=time]{padding:3px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.tca-recurring-options{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px;padding:12px 14px;margin-bottom:8px}.tca-recurring-options .form-group{margin-bottom:10px}.tca-recurring-options .form-group:last-child{margin-bottom:0}.tca-recurring-options label{font-size:13px;font-weight:500;color:#374151}.tca-day-times span{color:#999}.tca-breaks-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.tca-break-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;font-size:13px}.tca-break-row label{font-weight:500;min-width:60px}.tca-break-row input{padding:3px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.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:#dc2626;cursor:pointer;font-size:16px;padding:0 4px}.tca-toil-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.tca-toil-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;font-size:13px}.tca-toil-row label{font-weight:500;min-width:50px}.tca-toil-row input[type=number]{width:70px;padding:3px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.tca-toil-row input[type=text]{flex:1;padding:3px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.tca-toil-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;padding:0 4px}.tca-checkbox-row label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.tca-checkbox-row input[type=checkbox]{width:16px;height:16px}.tca-report-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-bottom:12px}.tca-report-table{width:100%;border-collapse:collapse;font-size:13px}.tca-report-table th,.tca-report-table td{padding:8px 10px;border:1px solid #e5e7eb;text-align:right}.tca-report-table th{background:#f9fafb;font-weight:600;font-size:11px;text-transform:uppercase;color:#555;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:#fff;z-index:1;min-width:140px}.tca-report-table th:first-child{background:#f9fafb}.tca-report-ot{color:#ea580c;font-weight:600}.tca-report-pay{font-weight:600;color:#16a34a}.tca-bradford-green{color:#16a34a;font-weight:600}.tca-bradford-yellow{color:#ca8a04;font-weight:600}.tca-bradford-amber{color:#ea580c;font-weight:600}.tca-bradford-red{color:#dc2626;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, #e5e7eb);border-radius:6px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none;transition:background .12s}.tca-bradford-types-list label:hover{background:#f9fafb}.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:3px;flex-shrink:0}.tca-report-total-row td{font-weight:700;background:#f0f4ff;border-top:2px solid #007bff}.tca-billable-summary{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.tca-billable-card{flex:1;min-width:140px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px 18px;text-align:center}.tca-billable-card-label{font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:600;margin-bottom:4px}.tca-billable-card-value{font-size:22px;font-weight:700;color:#1f2937}.tca-billable-green{color:#16a34a}.tca-billable-red{color:#dc2626}.tca-billable-subtotal-row td{font-weight:600;background:#f0fdf4;border-top:1px solid #bbf7d0}.tca-nonbillable-total-row td{font-weight:600;background:#fef2f2;border-top:1px solid #fecaca}.tca-leave-actions{margin-bottom:16px}.tca-leave-list{display:flex;flex-direction:column;gap:16px}.tca-leave-emp-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tca-leave-emp-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer}.tca-leave-emp-header:hover{background:#f3f4f6}.tca-leave-emp-name{font-weight:600;font-size:14px}.tca-leave-summary{display:flex;gap:16px;font-size:12px}.tca-leave-stat{display:flex;flex-direction:column;align-items:center;padding:2px 8px}.tca-leave-stat-val{font-weight:700;font-size:14px}.tca-leave-stat-label{color:#888;font-size:11px}.tca-leave-stat.remaining .tca-leave-stat-val{color:#16a34a}.tca-leave-stat.used .tca-leave-stat-val{color:#ea580c}.tca-leave-entries{display:none}.tca-leave-entries.expanded{display:block}.tca-leave-entry-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid #f3f4f6;font-size:13px;gap:12px}.tca-leave-entry-row:last-child{border-bottom:none}.tca-leave-entry-date{min-width:90px;font-weight:500}.tca-leave-entry-type{min-width:100px;color:#666}.tca-leave-entry-hours{min-width:50px;font-weight:600;text-align:right}.tca-leave-entry-note{flex:1;color:#888;font-style:italic}.tca-leave-entry-delete{background:none;border:none;color:#dc2626;cursor:pointer;font-size:14px;padding:2px 6px}.tca-leave-entry-delete:hover{background:#fef2f2;border-radius:4px}.tca-leave-no-entries{padding:8px 16px;color:#999;font-style:italic;font-size:12px}.tca-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.tca-cal-nav{display:flex;align-items:center;gap:8px}.tca-cal-actions{display:flex;gap:8px}.tca-cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:8px 12px;background:#f9fafb;border-radius:6px}.tca-cal-legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.tca-cal-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tca-cal-filter select{max-width:220px}.tca-timeline-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:8px;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:12px;border:1px solid #eee;padding:0}.tca-timeline-table thead{position:sticky;top:0;z-index:3}.tca-timeline-dow{padding:4px 0;font-weight:500;color:#888;background:#fafafa;font-size:10px;text-transform:uppercase;width:46px;min-width:46px}.tca-timeline-daynum{padding:4px 0;font-weight:600;font-size:12px;background:#fafafa;color:#333;width:46px;min-width:46px}.tca-tl-bank-holiday{background:#faf5ff!important;color:#7c3aed!important}.tca-tl-bday-emoji{font-size:10px;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:#fafafa;font-size:11px;color:#888;text-transform:uppercase}.tca-tl-weekend{background:#e5e5e5!important}.tca-tl-today{background:#e0efff!important;border-left:3px solid #3b82f6!important}.tca-tl-day.tca-tl-weekend.tca-tl-today{background:#e5e5e5!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:#fff;white-space:nowrap;border-right:2px solid #e5e7eb}.tca-tl-emp-info{display:flex;align-items:center;gap:8px}.tca-tl-balance{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:22px;border-radius:11px;font-size:10px;font-weight:700;color:#fff;padding:0 6px;flex-shrink:0;cursor:pointer}.tca-tl-balance:hover{opacity:.8}.tca-tl-balance.positive{background:#22c55e}.tca-tl-balance.negative{background:#ef4444}.tca-tl-balance.zero{background:#6b7280}.tca-tl-emp-name{font-size:13px;font-weight:500;color:#2563eb;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:#e0efff!important}.tca-timeline-table td.tca-tl-day.tca-drag-selected{background:#bfdbfe!important;outline:2px solid #3b82f6;outline-offset:-2px}.tca-tl-day-num{font-size:11px;color:#aaa}.tca-tl-leave-marker{display:block;cursor:pointer;position:absolute;top:4px;bottom:4px;left:0;right:0;border-radius:4px}.tca-tl-leave-marker.tca-lm-start{border-radius:4px 0 0 4px;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 4px 4px 0;left:0}.tca-tl-leave-marker.tca-lm-pending{opacity:.45;border:1px dashed rgba(0,0,0,.3)}.tca-tl-leave-marker:hover{opacity:.8}.tca-leave-types-list{display:flex;flex-direction:column;gap:8px}.tca-leave-type-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa}.tca-leave-type-row input[type=text]{flex:1;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.tca-leave-type-row input[type=color]{width:32px;height:28px;border:1px solid #d1d5db;border-radius:4px;padding:1px;cursor:pointer}.tca-leave-type-check{display:flex;align-items:center;gap:3px;font-size:12px;color:#4b5563;white-space:nowrap;cursor:pointer}.tca-leave-type-check input[type=checkbox]{margin:0}.tca-leave-type-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;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:16px}.tca-lh-year-nav{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:16px;font-size:13px}.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:12px;margin-bottom:20px;flex-shrink:0}.tca-lh-stat-card{text-align:center;padding:12px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.tca-lh-stat-clickable:hover{background:#f0edff;border-color:#7c3aed}.tca-lh-stat-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:4px}.tca-lh-stat-value{font-size:22px;font-weight:700}.tca-lh-stat-value.green{color:#16a34a}.tca-lh-stat-value.amber{color:#f59e0b}.tca-lh-stat-value.red{color:#ef4444}.tca-lh-stat-value.blue{color:#3b82f6}.tca-lh-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;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:14px;font-weight:600;margin-bottom:10px;color:#333}.tca-lh-entries,.tca-lh-toil{font-size:13px;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 #f3f4f6;font-size:12px}.tca-lh-entry-row:hover{background:#f9fafb}.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:8px;align-items:start;padding:6px 8px;border-bottom:1px solid #f3f4f6;font-size:12px}.tca-lh-toil-row>span,.tca-lh-toil-header-row>span{word-break:break-word}.tca-lh-toil-header-row{font-weight:600;color:#555;border-bottom:2px solid #e5e7eb;font-size:11px;text-transform:uppercase}.tca-lh-toil-row:hover{background:#f9fafb}.tca-lh-header-row{display:grid;grid-template-columns:130px 200px 50px 65px 110px 60px;gap:6px;padding:6px 8px;font-weight:600;color:#555;border-bottom:2px solid #e5e7eb;font-size:11px;text-transform:uppercase}.tca-lh-btn-edit,.tca-lh-btn-delete{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;color:#666}.tca-lh-btn-delete:hover{color:#dc2626}.tca-today-layout{display:flex;height:100%;min-height:0;gap:0}.tca-emp-sidebar{width:240px;min-width:240px;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;background:#f9fafb}.tca-emp-sidebar-header{padding:16px 16px 8px}.tca-emp-sidebar-header h3{margin:0;font-size:15px;font-weight:600;color:#333}.tca-team-filter{margin:0 12px 6px;padding:6px 10px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;width:calc(100% - 24px);cursor:pointer}.tca-emp-search{margin:0 12px 8px;padding:6px 10px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;width:calc(100% - 24px)}.tca-emp-sidebar-list{flex:1;overflow-y:auto;padding:4px 0}.tca-sidebar-emp{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:500;color:#333;transition:background .15s;border-left:3px solid transparent}.tca-sidebar-emp:hover{background:#eef2ff}.tca-sidebar-emp.tca-sidebar-selected{background:#e0e7ff;border-left-color:#4f46e5;color:#312e81;font-weight:600}.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:#94a3b8;font-style:italic}.tca-sidebar-active-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.tca-today-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.tca-today-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 4px}.tca-selected-name{margin:0;font-size:18px;font-weight:600;color:#333}.tca-date-range-sub{font-size:13px;color:#888}.tca-date-nav{display:flex;align-items:center;gap:12px;padding:4px 20px 8px}.tca-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;color:#555;transition:background .15s,border-color .15s}.tca-nav-btn:hover{background:#f3f4f6;border-color:#9ca3af}.tca-date-label{font-size:14px;font-weight:600;color:#333}.tca-today-table-wrap{flex:1;overflow:auto;padding:0 20px}.tca-today-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.tca-today-table thead th{padding:8px 10px;text-align:center;font-size:11px;border:1px solid #e5e7eb;font-weight:600;text-transform:uppercase;color:#6b7280;background:#f9fafb;position:sticky;top:0;z-index:1;white-space:nowrap;overflow:hidden}.tca-today-table thead th:nth-child(1){width:17%}.tca-today-table thead th:nth-child(2){width:7%}.tca-today-table thead th:nth-child(3){width:7%}.tca-today-table thead th:nth-child(4){width:16%}.tca-today-table thead th:nth-child(5){width:9%}.tca-today-table thead th:nth-child(6){width:9%}.tca-today-table thead th:nth-child(7){width:12%}.tca-today-table thead th:nth-child(8){width:6%}.tca-today-table thead th:nth-child(9){width:5%}.tca-today-table thead th:nth-child(10){width:6%}.tca-today-table thead th:nth-child(11){width:2%;padding:0}.tca-today-table tbody td:nth-child(11){padding:2px;text-align:center}.tca-today-table thead th:first-child,.tca-today-table tbody td:first-child{text-align:left;font-weight:500;position:sticky;left:0;background:#fff;z-index:1;min-width:140px}.tca-today-table thead th:first-child{background:#f9fafb}.tca-today-table tbody td{padding:6px 10px;border:1px solid #e5e7eb;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.tca-today-table tbody tr:hover{background:#f8fafc}.tca-td-date{font-weight:600;color:#333;white-space:nowrap}.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-td-date-empty{border-color:#e5e7eb!important;background:#fff!important}.tca-day-add-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#888;font-size:14px;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:#eef2ff;color:#4f46e5;border-color:#4f46e5}.tca-td-job{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tca-td-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:12px}.tca-td-location{white-space:nowrap;overflow:hidden}.tca-td-duration{font-weight:600;white-space:nowrap}.tca-td-break{color:#888;white-space:nowrap}.tca-td-diff{font-weight:600;font-size:12px;white-space:nowrap}.tca-td-diff.tca-over{color:#16a34a}.tca-td-diff.tca-under{color:#dc2626}.tca-day-total-row td{background:#f9fafb;border:1px solid #e5e7eb}.tca-day-empty td{color:#bbb;font-style:italic}.tca-day-empty .tca-td-date{color:#999;font-style:normal}.tca-row-active{background:#f0fdf4!important}.tca-clocked-in-tag{display:inline-block;padding:1px 6px;background:#dcfce7;color:#166534;border-radius:4px;font-size:11px;font-weight:600}.tca-today-summary{display:flex;gap:24px;padding:12px 20px;border-top:2px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.tca-summary-stat{display:flex;flex-direction:column;gap:2px}.tca-summary-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#888}.tca-summary-value{font-size:16px;font-weight:700;color:#333}.tca-home-panel{padding:24px 32px}.tca-home-greeting h2{margin:0 0 4px;font-size:22px;font-weight:700;color:#1a1a1a}.tca-home-sub{margin:0 0 24px;font-size:14px;color:#888}.tca-home-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tca-home-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;border:1px solid #e5e7eb;border-top:3px solid #e5e7eb;border-radius:8px;background:#fafafa;text-align:center;transition:border-color .2s,box-shadow .2s}.tca-home-stat-card:hover{border-top-color:#d4a017;box-shadow:0 2px 8px #0000000f}.tca-home-stat-card.tca-home-stat-clickable:hover{border-top-color:#3b82f6;box-shadow:0 2px 12px #3b82f626;transform:translateY(-1px)}.tca-home-stat-label{font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.tca-home-stat-value{font-size:28px;font-weight:600;color:#d4a017}.tca-whos-in-widget{margin-top:24px}.tca-whos-in-title{font-size:16px;font-weight:700;color:#1a1a1a;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:16px}.tca-whos-in-column{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;min-height:120px}.tca-whos-in-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:14px;font-weight:700;color:#fff}.tca-whos-in-header-green{background:#16a34a}.tca-whos-in-header-blue{background:#2563eb}.tca-whos-in-header-amber{background:#d97706}.tca-whos-in-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;font-size:12px;font-weight:700;padding:0 6px;background:#ffffff40;color:#fff}.tca-whos-in-list{padding:8px}.tca-whos-in-dept-group{margin-bottom:8px}.tca-whos-in-dept-group:last-child{margin-bottom:0}.tca-whos-in-dept-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;padding:4px 6px 2px;margin-bottom:4px}.tca-whos-in-emp{padding:6px 8px;border-radius:6px;margin-bottom:4px}.tca-whos-in-emp:last-child{margin-bottom:0}.tca-whos-in-emp-green{background:#f0fdf4;border-left:3px solid #16a34a}.tca-whos-in-emp-blue{background:#eff6ff;border-left:3px solid #2563eb}.tca-whos-in-emp-amber{background:#fffbeb;border-left:3px solid #d97706}.tca-whos-in-emp-name{font-size:13px;font-weight:600;color:#1a1a1a}.tca-whos-in-emp-detail{font-size:11px;color:#6b7280;margin-top:1px}.tca-whos-in-empty{padding:20px 12px;text-align:center;color:#9ca3af;font-size:13px;font-style:italic}@media(max-width:767px){.tca-whos-in-grid{grid-template-columns:1fr}}.tca-home-overtime-section{margin-top:24px}.tca-home-overtime-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #ef4444}.tca-home-overtime-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.tca-home-overtime-table thead th{background:#f8f8f8;padding:10px 14px;text-align:left;font-size:13px;font-weight:600;color:#555;border-bottom:1px solid #e5e5e5}.tca-home-overtime-table tbody td{padding:10px 14px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.tca-home-overtime-table tbody tr:last-child td{border-bottom:none}.tca-home-overtime-table tbody tr:hover{background:#fafafa}.tca-home-overtime-value{font-weight:700;color:#ef4444}.tca-home-rtw-section{margin-top:24px}.tca-home-rtw-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #f59e0b}.tca-home-rtw-list{display:flex;flex-direction:column;gap:10px}.tca-rtw-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e5e5e5;border-left:4px solid #f59e0b;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s}.tca-rtw-card:hover{box-shadow:0 2px 8px #0000000f;border-left-color:#d97706}.tca-rtw-card-info{display:flex;flex-direction:column;gap:4px}.tca-rtw-card-name{font-size:15px;font-weight:600;color:#1a1a1a}.tca-rtw-card-dates{font-size:13px;color:#666}.tca-rtw-card-duration{font-size:12px;color:#999;font-style:italic}.tca-rtw-card-btn{background:#f59e0b;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.tca-rtw-card-btn:hover{background:#d97706}.tca-rtw-badge{background:#f59e0b;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;display:inline-block;margin-left:6px;vertical-align:middle}.tca-rtw-checklist{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-top:8px}.tca-rtw-checklist-title{font-size:14px;font-weight:600;color:#374151;margin:0 0 10px}.tca-rtw-check-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.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:#f59e0b}.tca-rtw-check-item span{line-height:1.4}.tca-clickable-cell{cursor:pointer;transition:background .15s;border-radius:4px}.tca-clickable-cell:hover{background:#eef2ff}.tca-inline-dropdown{position:fixed;z-index:9999;min-width:180px;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 16px #0000001f;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 #e5e7eb;font-size:13px;outline:none;width:100%;box-sizing:border-box}.tca-dropdown-list{overflow-y:auto;flex:1}.tca-dropdown-item{padding:6px 12px;font-size:13px;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tca-dropdown-item:hover{background:#eef2ff}.tca-dropdown-item.tca-dropdown-selected{background:#e0e7ff;font-weight:600;color:#312e81}.tca-dropdown-more{padding:6px 12px;font-size:11px;color:#888;text-align:center;font-style:italic}.tca-inline-note-input{width:100%;padding:4px 8px;border:1px solid #3b82f6;border-radius:4px;font-size:12px;font-family:inherit;outline:none;background:#fff;box-sizing:border-box}.tca-requests-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tca-requests-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.tca-requests-filters{display:flex;gap:4px;background:#f3f4f6;padding:3px;border-radius:8px}.tca-req-filter{padding:6px 14px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.tca-req-filter:hover{color:#1f2937}.tca-req-filter.active{background:#fff;color:#1f2937;box-shadow:0 1px 3px #00000014}.tca-requests-list{display:flex;flex-direction:column;gap:8px}.tca-request-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:border-color .15s,background-color .15s;cursor:pointer}.tca-request-card:hover{border-color:#d1d5db;background:#f9fafb}.tca-request-card:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.tca-request-card.tca-req-pending{border-left:3px solid #f59e0b}.tca-request-card.tca-req-approved{border-left:3px solid #10b981}.tca-request-card.tca-req-declined{border-left:3px solid #ef4444}.tca-request-info{flex:1;min-width:0}.tca-request-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tca-request-name{font-weight:600;font-size:14px;color:#1f2937}.tca-request-type-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.tca-request-type-badge.type-modify-clock-in{background:#dbeafe;color:#1e40af}.tca-request-type-badge.type-modify-clock-out{background:#fce7f3;color:#9d174d}.tca-request-type-badge.type-add-time-entry{background:#d1fae5;color:#065f46}.tca-request-type-badge.type-time-addition{background:#fef3c7;color:#92400e}.tca-request-type-badge.type-default{background:#f3f4f6;color:#374151}.tca-request-detail{font-size:13px;color:#6b7280;margin:2px 0}.tca-request-detail strong{color:#374151}.tca-leave-detail{display:flex;flex-direction:column;gap:6px}.tca-leave-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px}.tca-leave-dates{font-weight:600;color:#374151}.tca-leave-amount{font-size:15px;font-weight:700;color:#1f2937}.tca-leave-breakdown{font-size:12px;color:#6b7280}.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:13px;flex-wrap:wrap}.tca-leave-edit-row .tca-leave-edit-label{display:inline-block;min-width:70px;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tca-leave-edit-row.tca-leave-edit-now .tca-leave-edit-label{color:#1d4ed8}.tca-leave-edit-row.tca-leave-edit-cancel .tca-leave-edit-label{color:#b91c1c}.tca-leave-edit-line{font-weight:600;color:#374151}.tca-request-reason{font-size:13px;color:#4b5563;margin-top:6px;padding:8px 10px;background:#f9fafb;border-radius:6px;border-left:2px solid #d1d5db}.tca-request-date{font-size:11px;color:#9ca3af;margin-top:4px}.tca-request-reviewer{font-size:11px;color:#6b7280;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 14px;border:none;background:#10b981;color:#fff;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.tca-req-approve-btn:hover{background:#059669}.tca-req-decline-btn{padding:6px 14px;border:none;background:#ef4444;color:#fff;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.tca-req-decline-btn:hover{background:#dc2626}.tca-request-status-tag{padding:4px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tca-request-status-tag.pending{background:#fef3c7;color:#92400e}.tca-request-status-tag.approved{background:#d1fae5;color:#065f46}.tca-request-status-tag.declined,.tca-request-status-tag.rejected{background:#fee2e2;color:#991b1b}.tca-request-status-tag.cancelled{background:#e5e7eb;color:#4b5563}.tca-tab{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:8px;background:#dc3545;color:#fff;font-size:10px;font-weight:700;line-height:1}.tca-tab.has-badge{padding-right:36px}.tca-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:16px;flex-shrink:0}.tca-tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;white-space:nowrap}.tca-tab-btn:hover{color:#333}.tca-tab-btn.active{color:#007bff;border-bottom-color:#007bff}.tca-greeting-text{font-size:22px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.tca-greeting-sub{font-size:14px;color:#6b7280;margin-bottom:16px}.tca-home-section{margin-top:24px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.tca-whos-in-col{flex:1;min-width:0}.tca-whos-in-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;font-size:12px;font-weight:700;padding:0 6px;background:#ffffff40;color:#fff;margin-left:6px}.tca-debug-panel{border:1px solid #fbbf24;background:#fffbeb;border-radius:8px;padding:12px 16px}.tca-debug-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tca-debug-header .tca-section-title{margin-bottom:0}.tca-debug-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.tca-debug-stat-card{background:#fff;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;font-size:12px}.tca-debug-stat-label{color:#92400e;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.tca-debug-stat-value{font-size:18px;font-weight:700;color:#1a1a1a}.tca-debug-duplicates{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:8px 12px;font-size:13px;color:#991b1b}.tca-debug-stat{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:#fff;border:1px solid #fde68a;border-radius:6px;font-size:13px;gap:8px}.tca-debug-stat .tca-debug-stat-label{font-weight:500;color:#78350f;font-size:12px}.tca-debug-stat .tca-debug-stat-value{font-weight:700;color:#1a1a1a;font-size:14px}.tca-debug-stat-primary{border-color:#93c5fd;background:#eff6ff}.tca-debug-stat-primary .tca-debug-stat-label{color:#1d4ed8}.tca-debug-stat-warn{border-color:#fca5a5;background:#fef2f2}.tca-debug-stat-warn .tca-debug-stat-label{color:#991b1b}.tca-debug-stat-warn .tca-debug-stat-value{color:#dc2626}.tca-debug-stat-divider{grid-column:1 / -1;background:transparent;border:none;border-top:1px solid #fde68a;padding:6px 0 2px;font-weight:600;color:#92400e;font-size:11px;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:8px;padding:4px 0;border-bottom:1px solid #fecaca;font-size:12px}.tca-debug-dup-row:last-child{border-bottom:none}.tca-debug-dup-info{flex:1}.tca-debug-dup-ids{display:flex;gap:4px;flex-shrink:0}.tca-debug-del-btn{font-size:11px;padding:2px 6px;background:#fee2e2;border:1px solid #fca5a5;border-radius:4px;cursor:pointer;white-space:nowrap}.tca-debug-del-btn:hover{background:#fecaca}.tca-debug-dup-none{color:#166534;font-weight:500;font-size:13px;padding:4px 0}.tca-debug-header-btns{display:flex;gap:6px}.tca-debug-history{margin-top:12px;border-top:1px solid var(--border-color, #e5e7eb);padding-top:12px}.tca-debug-hist-header{font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.tca-debug-hist-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;font-size:13px;margin-bottom:2px}.tca-debug-hist-row:nth-child(2n){background:#00000005}.tca-debug-hist-current{background:#eff6ff!important;font-weight:600}.tca-debug-hist-month{color:var(--text-secondary, #6b7280)}.tca-debug-hist-current .tca-debug-hist-month{color:var(--primary, #2563eb)}.tca-debug-hist-count{font-weight:500}.tca-day-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;vertical-align:middle}.tca-day-badge+.tca-day-badge{margin-left:4px}.tca-approvals-header{margin-bottom:12px}.tca-approvals-title{margin:0;font-size:22px;font-weight:700;color:#0f172a}.tca-approvals-subtitle{margin:4px 0 0;font-size:13px;color:#64748b}.tca-approvals-chips{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tca-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tca-chip:hover{background:#e2e8f0}.tca-chip-active{color:#fff;background:#007bff;border-color:#007bff}.tca-chip-active:hover{background:#006fe6}.tca-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:700;background:#00000014;border-radius:999px}.tca-chip-active .tca-chip-count{background:#ffffff40}.tca-approvals-period-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.tca-approvals-period-info{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:240px}.tca-approvals-list{display:flex;flex-direction:column;gap:8px}.tca-approvals-card{display:grid;grid-template-columns:minmax(220px,1.4fr) 130px repeat(3,minmax(120px,1fr)) auto;align-items:center;gap:16px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .15s,transform .15s;cursor:pointer}.tca-approvals-card:hover{box-shadow:0 2px 6px #0000000f}.tca-approvals-card-emp{display:flex;align-items:center;gap:0;min-width:0}.tca-approvals-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#fff;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.tca-approvals-card-name{font-weight:600;font-size:14px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tca-approvals-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 14px;font-size:12px;font-weight:600;border-radius:6px;text-transform:lowercase;letter-spacing:.3px;white-space:nowrap}.tca-status-pending{color:#fff;background:#f59e0b}.tca-status-approved{color:#fff;background:#16a34a}.tca-status-rejected{color:#fff;background:#dc2626}.tca-approvals-card-metric{display:flex;flex-direction:column;gap:2px;min-width:0}.tca-approvals-card-metric-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.tca-approvals-card-metric-value{font-size:14px;font-weight:600;color:#0f172a}.tca-approvals-card-actions{display:flex;gap:6px;align-items:center}.tca-btn-approve,.tca-btn-reject,.tca-btn-undo{padding:6px 14px;font-size:13px;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:background .15s}.tca-btn-approve{color:#fff;background:#16a34a}.tca-btn-approve:hover{background:#15803d}.tca-btn-reject{color:#fff;background:#dc2626}.tca-btn-reject:hover{background:#b91c1c}.tca-btn-undo{color:#475569;background:#e2e8f0}.tca-btn-undo:hover{background:#cbd5e1}@media(max-width:900px){.tca-approvals-card{grid-template-columns:1fr 1fr;gap:10px}.tca-approvals-card-emp{grid-column:1 / -1}.tca-approvals-card-actions{grid-column:1 / -1;justify-content:flex-end}}.tca-approvals-detail-toolbar{display:flex;align-items:center;gap:16px;padding:12px 0;margin-bottom:12px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.tca-approvals-detail-emp{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.tca-approvals-detail-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#fff;font-weight:700;font-size:16px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.tca-approvals-detail-name{font-size:18px;font-weight:700;color:#0f172a}.tca-approvals-detail-period{font-size:12px;color:#64748b}.tca-approvals-detail-actions{display:flex;gap:6px}.tca-approvals-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.tca-approvals-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.tca-approvals-summary-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.tca-approvals-summary-value{margin-top:2px;font-size:16px;font-weight:700;color:#0f172a}.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:#94a3b8;background:#fff;box-shadow:0 1px 3px #0000000f}.tca-approvals-summary-clickable:focus-visible{outline:2px solid #007bff;outline-offset:2px}.tca-approvals-summary-active{background:#eff6ff!important;border-color:#3b82f6!important;box-shadow:0 0 0 1px #3b82f6 inset}.tca-approvals-summary-active .tca-approvals-summary-label{color:#1d4ed8}.tca-approvals-summary-ot .tca-approvals-summary-value{color:#15803d}.tca-approvals-summary-under .tca-approvals-summary-value{color:#b91c1c}.tca-input-sm{width:auto;height:30px;padding:2px 8px;font-size:13px}.tca-input-sm.tca-input-sm--inline{display:inline-block}.tca-day-badge.tca-day-badge--custom{background:#f59e0b1a;color:#f59e0b;border:1px solid #f59e0b40}.tca-report-mode-bar{display:flex;gap:8px;margin:12px 0 12px 12px}.tca-monthly-meta{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.tca-monthly-meta .tca-settings-desc{margin:0}.tca-monthly-meta .tca-monthly-payday{font-weight:600}.tca-monthly-meta .tca-monthly-edit-dates{padding:2px 10px;font-size:12px}.tca-leave-year-nav{display:flex;align-items:center;gap:8px}.tca-leave-year-nav .tca-leave-year-label{font-weight:600;font-size:14px;min-width:120px;text-align:center}.tca-report-actions--split{justify-content:space-between}.tca-approvals-period-range{font-size:12px}.tca-approvals-period-range,.tca-monthly-meta .tca-settings-desc{margin:0}.tca-approvals-detail-position{font-size:11px;color:#64748b;margin-top:2px}.tca-empty.tca-empty--centered{text-align:center;padding:24px}.tca-billable-date-range{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.tca-billable-date-range label{font-size:13px;font-weight:500}.tca-section-subtitle{margin:16px 0 8px;font-size:14px;font-weight:600}.tca-cal-filter,.tca-cal-actions{display:flex;gap:8px;align-items:center}.tca-date-nav.tca-date-nav--inline{margin-bottom:0}.wc-settings-btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:16px;padding:6px 10px}.tca-show-ex-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;padding:4px 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.tca-settings-input--sm{max-width:160px}.tca-settings-input--md{max-width:200px}.tca-settings-input--lg{max-width:250px}.tca-settings-block{display:flex;flex-direction:column;gap:16px;max-width:400px}.tca-settings-desc--mt-sm{margin-top:4px}.tca-settings-desc--mt-xs{margin-top:6px}.tca-settings-desc--mb-sm{margin-bottom:8px}.tca-settings-desc--mb-md{margin-bottom:12px}.tca-settings-divider{margin:24px 0;border:none;border-top:1px solid #e5e5e5}.tca-maintenance-title{margin:0 0 4px}.tca-settings-maintenance-block{margin-top:16px}.tca-request-types-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.tca-request-type-card{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.tca-request-type-card span{font-size:14px;font-weight:500;color:#1f2937}.tca-request-type-delete{width:28px;height:28px;border:none;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.tca-request-type-delete:hover{background:#fee2e2;color:#ef4444}.tca-notif-info-box{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px;padding:12px 16px;font-size:13px;color:#3730a3;line-height:1.6;margin-bottom:16px}.tca-notif-info-box strong{color:#1e1b4b}.tca-notif-group-header{padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px 8px 0 0;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:16px}.tca-notif-group-header:first-child{margin-top:0}.tca-notif-list{display:flex;flex-direction:column;gap:6px}.tca-notif-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:background .15s}.tca-notif-row:hover{background:#f9fafb}.tca-notif-row.disabled{opacity:.5}.tca-notif-name{flex:1;font-size:14px;font-weight:500;color:#1f2937}.tca-notif-dept{font-size:12px;color:#6b7280;min-width:100px}.tca-notif-role{font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase}.tca-notif-role.manager{background:#dbeafe;color:#1e40af}.tca-notif-role.director{background:#ede9fe;color:#5b21b6}.tca-notif-toggle{position:relative;width:40px;height:22px;flex-shrink:0}.tca-notif-toggle input{opacity:0;width:0;height:0}.tca-notif-toggle .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:22px;transition:background .2s}.tca-notif-toggle .slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.tca-notif-toggle input:checked+.slider{background:#4f46e5}.tca-notif-toggle input:checked+.slider:before{transform:translate(18px)}.tca-notif-empty{padding:16px;text-align:center;color:#9ca3af;font-size:13px}.clock-tab-bar{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:16px;padding:0 16px}.clock-tab{padding:10px 20px;border:none;background:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;position:relative}.clock-tab:hover{color:#374151}.clock-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.clock-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;margin-left:6px;vertical-align:middle}.clock-requests-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.clock-requests-list{display:flex;flex-direction:column;gap:8px}.clock-request-item{padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.clock-request-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.clock-request-item-type{font-weight:600;font-size:13px;color:#1f2937}.clock-request-item-status{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.clock-request-item-status.pending{background:#fef3c7;color:#92400e}.clock-request-item-status.approved{background:#d1fae5;color:#065f46}.clock-request-item-status.declined{background:#fee2e2;color:#991b1b}.clock-request-item-detail{font-size:12px;color:#6b7280}.clock-request-item-reason{font-size:12px;color:#4b5563;margin-top:4px;font-style:italic}.clock-leave-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.clock-leave-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 8px;text-align:center}.clock-leave-stat-value{display:block;font-size:20px;font-weight:700;color:#1f2937}.clock-leave-stat-label{display:block;font-size:11px;color:#6b7280;margin-top:2px}.clock-holiday-item{padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.clock-holiday-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.clock-holiday-item-type{font-weight:600;font-size:13px;color:#1f2937}.clock-holiday-item-detail{font-size:12px;color:#6b7280}.clock-holiday-item-note{font-size:12px;color:#4b5563;margin-top:4px;font-style:italic}.clock-cert-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;margin-top:4px}.clock-cert-badge.uploaded{background:#d1fae5;color:#065f46}.clock-cert-badge.missing{background:#fef3c7;color:#92400e}.btn-upload-cert{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;margin-top:4px;transition:background .15s}.btn-upload-cert:hover{background:#f3f4f6}.btn-upload-cert.uploading{opacity:.6;pointer-events:none}.tca-cert-section{margin-top:8px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.tca-cert-section label{font-size:13px;font-weight:600;color:#374151;margin-bottom:6px;display:block}.tca-cert-status{display:flex;align-items:center;gap:8px;font-size:13px}.tca-cert-status .cert-icon{font-size:16px}.tca-cert-link{color:#2563eb;text-decoration:underline;cursor:pointer;font-size:13px}.tca-cert-link:hover{color:#1d4ed8}.tca-cert-no{color:#9ca3af;font-size:13px;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;padding:6px 8px;font-size:13px;font-weight:500;border:1.5px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s;box-shadow:none}button.tca-leave-period-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#fff}button.tca-leave-period-btn.active{background:#3b82f6;border-color:#1d4ed8;color:#fff;font-weight:600;box-shadow:0 0 0 2px #3b82f640,0 1px 2px #00000014}button.tca-leave-period-btn.active:hover{background:#2563eb;border-color:#1d4ed8;color:#fff}.tca-approvals-desc{font-size:12px;color:#6b7280;margin-bottom:12px}.tca-recommended-approver{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 12px;font-size:12px;color:#1e40af;margin-bottom:12px}.tca-approvers-list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px}.tca-approver-tag{display:inline-flex;align-items:center;gap:4px;background:#e5e7eb;border-radius:12px;padding:4px 10px;font-size:12px;color:#374151}.tca-approver-tag .remove-approver{cursor:pointer;font-weight:700;color:#9ca3af;margin-left:2px}.tca-approver-tag .remove-approver:hover{color:#ef4444}.tca-audit-filters{margin-bottom:16px}.tca-audit-filter-row{display:flex;flex-wrap:wrap;gap:12px;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:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.tca-audit-filter-row .form-control{font-size:13px;padding:6px 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:8px}.tca-audit-table{width:100%;border-collapse:collapse;font-size:13px}.tca-audit-table thead th{background:var(--color-bg-secondary);padding:10px 12px;text-align:left;font-weight:600;font-size:12px;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;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.tca-audit-action-badge.create{background:#d1fae5;color:#065f46}.tca-audit-action-badge.update{background:#dbeafe;color:#1e40af}.tca-audit-action-badge.delete{background:#fee2e2;color:#991b1b}.tca-audit-action-badge.other{background:#f3f4f6;color:#374151}.tca-audit-details{max-width:300px;word-break:break-word;font-size:12px;color:var(--color-text-secondary)}.tca-audit-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:0 4px}.tca-audit-count{font-size:13px;color:var(--color-text-secondary)}.tca-audit-loading{text-align:center;padding:24px;color:var(--color-text-secondary);font-size:13px}.clock-request-modal-content{max-width:500px}.clock-request-step-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.clock-request-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.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-icon{font-size:22px}.clock-request-type-btn .req-type-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.clock-request-type-btn .req-type-desc{font-size:11px;color:var(--color-text-secondary);line-height:1.3}.clock-request-time-group{display:flex;gap:12px}.clock-request-time-group>div,.clock-request-time-group>.form-group{flex:1}.clock-request-current-info{padding:10px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-primary);margin-bottom:12px}.clock-request-current-info strong{font-weight:600}.clock-request-hint{font-size:12px;color:var(--color-text-secondary);font-style:italic;margin-top:-4px;margin-bottom:12px}.clock-request-fields{margin-bottom:4px}.clock-request-dept-buttons{margin-bottom:8px}.clock-request-dept-buttons .clock-dept-btn{padding:6px 12px;font-size:12px}.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:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 30px #0000001f}.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:14px;color:#1f2937}.push-banner-text span{font-size:12px;color:#6b7280;line-height:1.4}.push-banner-actions{display:flex;gap:8px;flex-shrink:0}.push-banner-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s}.push-banner-btn:active{transform:scale(.97)}.push-banner-enable{background:#3b82f6;color:#fff}.push-banner-enable:hover{background:#2563eb}.push-banner-dismiss{background:#f3f4f6;color:#6b7280}.push-banner-dismiss:hover{background:#e5e7eb}.push-pref-master-btn{padding:6px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.push-pref-master-btn.push-enabled{background:#d1fae5;color:#065f46}.push-pref-master-btn.push-disabled{background:#3b82f6;color:#fff}.push-pref-master-btn.push-disabled:hover{background:#2563eb}.push-pref-item{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-bottom:1px solid #f3f4f6}.push-pref-item:last-child{border-bottom:none}.push-pref-item label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#374151;cursor:pointer}.push-pref-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.push-pref-desc{font-size:12px;color:#9ca3af;margin-left:28px}@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:13px;font-weight:500;color:#374151;cursor:pointer;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #e5e7eb;transition:background .15s;flex-shrink:0}.notif-toggle:hover{background:#f0f9ff;border-color:#bae6fd}.notif-toggle input[type=checkbox]{margin:0;cursor:pointer}.notif-toggle input[type=checkbox]:disabled{opacity:.5}.notif-category h4{display:flex;align-items:center;gap:8px}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#f8fafc;border-radius:8px}.user-management-actions{display:flex;gap:12px}.user-management-actions .btn{padding:8px 16px;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}#add-user-btn{background:#3b82f6}#add-user-btn:active{background:#2563eb}#refresh-users-btn{background:#6b7280}#refresh-users-btn:active{background:#4b5563}.user-stats{display:flex;gap:12px;flex-wrap:wrap}.user-stats .stat-card{text-align:center;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e5e7eb;min-width:60px}.user-stats .stat-icon{display:block;font-size:18px}.user-stats .stat-label{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;font-weight:500}.user-stats .stat-count{display:block;font-size:16px;font-weight:600;color:#1f2937}.users-table-container{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff;margin-bottom:20px}#users-table{width:100%;border-collapse:collapse;margin:0}#users-table thead{background-color:#f9fafb;position:sticky;top:0;z-index:10}#users-table th{padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #e5e7eb;background-color:#f9fafb;font-size:13px;color:#374151}#users-table td{padding:12px;vertical-align:middle;border-bottom:1px solid #f3f4f6}#users-table tbody tr{transition:background-color .15s}#users-table tbody tr:hover{background-color:#f9fafb}.user-display-info{min-width:0}.user-primary-name{font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mention-preview{font-size:11px;color:#6b7280;margin-top:2px}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.role-badge.admin{background:#fef3c7;color:#92400e}.role-badge.workshop{background:#dbeafe;color:#1e40af}.role-badge.install{background:#e0e7ff;color:#3730a3}.role-badge.refurb{background:#fce7f3;color:#9d174d}.role-badge.screen{background:#e0f2fe;color:#075985}.user-status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.user-status-badge.active{background:#d1fae5;color:#065f46}.user-status-badge.inactive{background:#fee2e2;color:#991b1b}.user-actions{display:flex;gap:8px;align-items:center}.user-action-btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:14px;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:#3b82f6;color:#fff}.user-action-btn.toggle{background-color:#6b7280;color:#fff}.user-action-btn.delete{background-color:#ef4444;color:#fff}.loading-cell{text-align:center;padding:20px}.loading-cell .spinner{margin:0 auto 10px;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}#users-table-info{padding:8px 12px;background-color:#f3f4f6;border-radius:6px;margin-bottom:10px;font-size:14px;color:#374151}.users-scroll-hint{color:#059669}.pending-users-banner{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:20px}.pending-users-banner h4{margin:0 0 12px;color:#92400e;font-size:15px}.pending-users-list{display:flex;flex-direction:column;gap:8px}.pending-user-item{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:6px;padding:12px 16px;border:1px solid #fbbf24;margin-bottom:0}.pending-user-info{min-width:0;flex:1}.pending-user-email{font-weight:600;color:#1f2937}.pending-user-date{font-size:12px;color:#6b7280}.pending-user-actions{display:flex;gap:8px;flex-shrink:0}.btn-approve{padding:6px 14px;background:#059669;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.btn-approve:active{background:#047857}.btn-reject{padding:6px 14px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.btn-reject:active{background:#dc2626}.user-management-help{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.user-management-help h4{margin:0 0 15px;color:#1f2937}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.help-grid h5{margin:0 0 8px}.help-grid ul{margin:0;padding-left:20px;font-size:14px;color:#6b7280}.approve-modal{max-width:640px}.approve-modal-body{max-height:70vh;overflow-y:auto}.approve-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.approve-section-title{margin:0 0 12px;color:#334155;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.approve-email-line{margin:0 0 12px;color:#64748b;font-size:13px}.approve-email-line strong{color:#1e293b}.approve-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.approve-grid:last-child{margin-bottom:0}.approve-hint{color:#94a3b8;font-size:12px;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:#059669;color:#fff}#user-permission-modal .modal-content{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,#1e40af,#3b82f6);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.perm-modal-header-info{display:flex;align-items:center;gap:12px}.perm-modal-icon{font-size:24px}.perm-modal-title{margin:0;font-size:18px}.perm-modal-email{opacity:.9;font-size:13px}.perm-modal-close{color:#fff;font-size:24px;background:none;border:none;cursor:pointer;padding:4px}.perm-user-info{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.perm-user-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.perm-field-label{font-weight:600;font-size:13px;color:#374151;display:block;margin-bottom:6px}.perm-field-row{display:flex;gap:8px;align-items:center}.perm-field-hint{font-size:11px;color:#6b7280;margin-top:4px}.perm-field-hint .mention-tag{background:#dbeafe;padding:2px 6px;border-radius:4px;color:#1d4ed8}.perm-change-btn{padding:6px 12px;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.perm-edit-role-btn{padding:6px 12px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.perm-role-warning{color:#dc2626;font-size:11px}.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:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:12px}#permission-summary{font-size:12px;color:#6b7280;flex:1;min-width:0}.perm-footer-actions{display:flex;gap:8px;flex-shrink:0}@media screen and (max-width:767px){.user-management-header{flex-direction:column;gap:12px;padding:12px}.user-management-actions{width:100%}.user-management-actions .btn{flex:1;min-height:44px;font-size:14px;padding:10px 12px}.user-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.user-stats .stat-card{padding:6px 8px}.user-stats .stat-icon{font-size:14px}.user-stats .stat-label{font-size:10px}.user-stats .stat-count{font-size:14px}.users-table-container{max-height:none;overflow:visible;border:none;background:transparent}#users-table{display:block}#users-table thead{display:none}#users-table tbody{display:flex;flex-direction:column;gap:8px}#users-table tbody tr{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;gap:8px}#users-table td{padding:0;border:none}#users-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}#users-table td:nth-child(2),#users-table td:nth-child(3){display:inline-block;width:auto}#users-table td:nth-child(4),#users-table td:nth-child(5){display:none}.user-actions{justify-content:flex-end;padding-top:8px;border-top:1px solid #f3f4f6}.user-action-btn{min-height:40px;min-width:40px;padding:8px 12px}.help-grid{grid-template-columns:1fr}.pending-user-item{flex-direction:column;align-items:stretch;gap:8px}.pending-user-actions{width:100%}.pending-user-actions button{flex:1;min-height:44px}.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:8px}.approve-actions .btn{width:100%;min-height:44px}.perm-user-info-grid{grid-template-columns:1fr;gap:12px}.perm-modal-footer{flex-direction:column;gap:8px}.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{padding:14px 16px}.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){.user-stats{gap:8px}.user-stats .stat-card{padding:6px 10px}.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:12px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;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:0 1px 3px #0000000d}.sidebar-order-item.dragging{opacity:.5;cursor:grabbing}.sidebar-order-item.drag-over{border-color:#6366f1;background:#eef2ff}.sidebar-order-item.is-hidden{opacity:.55;background:#f9fafb}.sidebar-order-handle{color:#9ca3af;font-size:16px;line-height:1;cursor:grab}.sidebar-order-icon{font-size:18px;line-height:1;width:24px;text-align:center}.sidebar-order-label{flex:1;font-weight:500;font-size:14px;color:#1f2937}.sidebar-order-item.is-hidden .sidebar-order-label{color:#9ca3af;text-decoration:line-through}.sidebar-order-toggle{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:12px;color:#6b7280;cursor:pointer;transition:all .15s}.sidebar-order-toggle:hover{border-color:#6366f1;color:#4f46e5}.sidebar-order-item.is-hidden .sidebar-order-toggle{background:#fff;border-color:#d1d5db}.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, #e5e7eb);--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, #1e293b);--mc-text-secondary: var(--color-text-secondary, #6b7280);--mc-text-muted: var(--color-text-muted, #9ca3af);--mc-accent: var(--color-accent, #2563eb);--mc-success: var(--color-success, #059669);--mc-bg-subtle: var(--color-bg-tertiary, #f9fafb);--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:0 1px 2px #00000014}.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:4px;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:4px;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:4px;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:4px}.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:4px;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:4px}.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:0 2px 4px #0000001a;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 #fbbf24;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:4px;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:4px}.mc-sched-you-badge{position:absolute;bottom:8px;right:8px;padding:4px 8px;border-radius:4px;font-size:var(--mc-font-size-xs);background:#fbbf24;color:#111827;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:linear-gradient(135deg,#667eea,#764ba2);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:12px;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-icon{font-size:48px;margin-bottom:var(--space-lg, 16px)}.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 #f3f3f3;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:16px}#orientation-hint{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--color-warning, #fbbf24);color:#78350f;padding:var(--space-sm, 8px) var(--space-lg, 16px);border-radius:4px;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:0 2px 8px #0003;cursor:pointer;min-height:var(--mc-min-tap);min-width:var(--mc-min-tap)}.mobile-meeting-back-btn:active{background:var(--color-accent-hover, #2563eb);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:24px;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:4px}.mc-checkin-modal-body .mc-section-label--wins{color:var(--color-success, #10b981)}.mc-checkin-modal-body .mc-section-label--barriers{color:var(--color-warning, #f59e0b)}.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 #f3f4f6;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:4px}.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:4px;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:16px;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{opacity:1;transition:opacity .15s ease-out}.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{will-change:transform}.mobile-nav-drawer.swiping{transition:none!important}.mobile-kanban-container{display:flex;flex-direction:column;gap:12px;padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.mobile-kanban-header{display:flex;align-items:center;gap:12px;padding:4px 0}.mobile-kanban-header h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--mc-text-primary, #1e293b)}.mobile-kanban-section{border:1px solid var(--mc-card-border, #e2e8f0);border-radius:10px;overflow:hidden;background:var(--mc-card-bg, #ffffff)}.mobile-kanban-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--mc-card-bg, #ffffff);min-height:48px}.mobile-kanban-section-header:active{background:#f1f5f9}.mk-section-left{display:flex;align-items:center;gap:10px}.mk-section-indicator{width:14px;height:14px;border-radius:4px;flex-shrink:0}.mk-section-title{font-weight:600;font-size:.95rem;color:var(--mc-text-primary, #1e293b)}.mk-section-count{background:#e2e8f0;color:#475569;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px;min-width:22px;text-align:center}.mk-section-chevron{color:#94a3b8;font-size:1rem;flex-shrink:0}.mobile-kanban-section-content{border-top:1px solid var(--mc-card-border, #e2e8f0);padding:8px;display:flex;flex-direction:column;gap:8px;transition:max-height .2s ease}.mobile-kanban-section-content.collapsed{display:none}.mk-empty-column{text-align:center;padding:16px;color:#94a3b8;font-size:.85rem;font-style:italic}.mobile-kanban-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;cursor:pointer;transition:background .1s}.mobile-kanban-card:active{background:#e2e8f0;transform:scale(.98)}.mk-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mk-card-number{font-weight:700;color:var(--mc-accent, #2563eb);font-size:.9rem}.mk-card-date{font-size:.75rem;color:#64748b;background:#e2e8f0;padding:2px 6px;border-radius:4px}.mk-card-customer{font-weight:500;font-size:.88rem;color:var(--mc-text-primary, #1e293b);margin-bottom:2px}.mk-card-desc{font-size:.8rem;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.mk-card-meta{font-size:.75rem;color:#94a3b8}.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!important;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 14px!important;font-size:.8rem!important}#settings-modal .settings-content{padding:12px!important}#settings-modal .modal-footer{flex-wrap:wrap;gap:8px;padding:12px!important}#settings-modal .modal-footer .standard-buttons{display:flex;gap:8px;width:100%}#settings-modal .modal-footer button{flex:1;min-height:44px}.tca-today-layout{flex-direction:column!important}.tca-emp-sidebar{width:100%!important;max-height:200px;overflow-y:auto}.tca-today-main{width:100%!important}.tca-report-mode-bar{flex-wrap:wrap!important;gap:4px!important}.tca-report-mode-bar button{flex:1 1 auto;min-width:80px;font-size:.75rem!important;padding:8px 6px!important}}.production-tracking-modal .modal-content.production-tracking-modal-content{width:92%;max-width:1100px;max-height:88vh;display:flex;flex-direction:column;border-radius:12px}.production-tracking-modal-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.production-tracking-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.production-add-item-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.production-add-item-form .form-control{max-width:180px}.production-empty-state{text-align:center;color:#9ca3af;font-size:13px;padding:40px 0}.production-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.production-table{width:100%;border-collapse:collapse;font-size:13px;min-width:500px}.production-table th{background:#f8f9fa;padding:8px 12px;text-align:center;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.production-table th.item-col{text-align:left;min-width:80px}.production-table th.notes-col{text-align:left;min-width:180px}.production-table th.remove-col{width:40px}.production-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle;text-align:center}.production-table td.item-ref-cell{text-align:left;font-weight:600;font-size:14px;color:#1e40af}.production-table td.notes-cell{text-align:left}.production-table tr:last-child td{border-bottom:none}.production-table tr:hover td{background:#f9fafb}.stage-checkbox-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.stage-checkbox-wrap input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.stage-done-by{font-size:10px;color:#6b7280;max-width:80px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-notes-input{width:100%;min-width:140px;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;font-size:12px;resize:vertical;min-height:32px;box-sizing:border-box;font-family:inherit}.production-notes-input:focus{outline:none;border-color:#2563eb}.remove-production-item-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;font-size:16px;line-height:1;border-radius:4px}.remove-production-item-btn:hover{color:#ef4444;background:#fef2f2}.production-stages-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-width:420px}.production-stage-row{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px}.production-stage-row .stage-name-input{flex:1;border:none;background:transparent;font-size:14px;color:#374151;outline:none}.production-stage-row .stage-name-input:focus{background:#fff;border:1px solid #2563eb;border-radius:4px;padding:2px 6px}.production-stage-remove-btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.production-stage-remove-btn:hover{color:#ef4444}.production-stage-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:767px){.production-tracking-modal .modal-content.production-tracking-modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:0}.production-table-wrap{display:none}.production-cards{display:flex;flex-direction:column;gap:12px}.production-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000f}.production-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.production-card-ref{font-weight:700;font-size:18px;color:#1e40af}.production-card-stages{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.production-card-stage{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f3f4f6}.production-card-stage:last-child{border-bottom:none}.production-card-stage input[type=checkbox]{width:24px;height:24px;flex-shrink:0;accent-color:#2563eb;cursor:pointer}.production-card-stage-label{flex:1;font-size:15px;color:#374151}.production-card-stage-done-by{font-size:11px;color:#6b7280;text-align:right}.production-card-notes{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;font-size:14px;resize:vertical;min-height:44px;box-sizing:border-box;font-family:inherit}}@media(min-width:768px){.production-cards{display:none}}: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:14px}.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!important;align-items:center;justify-content:flex-start;gap:12px;background:#fff;box-shadow:0 2px 4px #0000001a;z-index:1000}.header-left{flex-direction:row!important;align-items:center;gap:8px}.app-title{font-size:16px!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:24px;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{position:fixed;top:56px;left:-100%;width:280px;height:calc(100dvh - 56px);background:#fff;box-shadow:2px 0 8px #0000001a;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:14px 16px;border-bottom:1px solid #e5e7eb;text-decoration:none;color:#374151;font-size:15px;gap:12px}.mobile-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:500}.mobile-nav-item.hidden-mobile{display:none!important}#main-content{margin-top:56px!important;padding:0!important;width:100vw;overflow-x:hidden}.content-section{padding:8px!important;margin:0!important}#dashboard-view .dashboard-panels{padding:0!important}.dashboard-panel{margin:0 0 12px!important;border-radius:8px!important}.panel-header{padding:12px!important;flex-direction:column;align-items:flex-start;gap:12px}.panel-header h2{font-size:18px!important;margin:0!important}.panel-actions{width:100%;flex-direction:column!important;gap:8px!important}.search-container,.sort-container{width:100%!important}.search-input,.select-filter{width:100%!important;font-size:16px!important}.data-table{display:none!important}.mobile-job-cards{display:block!important;padding:0 8px}.mobile-job-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #0000001a}.mobile-job-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-job-number{font-size:16px;font-weight:600;color:#2563eb}.mobile-job-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.mobile-job-customer{font-size:15px;font-weight:500;margin-bottom:4px}.mobile-job-description{font-size:13px;color:#6b7280;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-job-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e5e7eb;font-size:12px;color:#6b7280}#orders-view .table-container,#inventory-view .table-container,.orders-table-enhanced{display:none!important}.mobile-order-cards{display:block!important}.mobile-order-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:12px}.mobile-order-header{display:flex;justify-content:space-between;margin-bottom:8px}.mobile-order-item{font-size:14px;font-weight:500;margin-bottom:4px}.mobile-order-supplier{font-size:13px;color:#6b7280;margin-bottom:8px}.mobile-order-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.mobile-inventory-cards{display:block!important}.mobile-inventory-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:12px;position:relative}.mobile-inventory-code{font-size:14px;font-weight:600;color:#2563eb;margin-bottom:4px}.mobile-inventory-description{font-size:14px;margin-bottom:8px}.mobile-inventory-stock{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f9fafb;border-radius:4px;margin-bottom:8px}.mobile-inventory-qty{font-size:16px;font-weight:600}.mobile-inventory-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.mobile-fab{display:block!important;position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:#2563eb;color:#fff;border:none;box-shadow:0 4px 12px #2563eb4d;font-size:24px;z-index:900;cursor:pointer}.mobile-fab:active{transform:scale(.95)}.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:18px!important}.modal-footer{padding:12px 16px!important}.form-group{margin-bottom:16px!important}.form-label{font-size:13px!important}.form-control{font-size:16px!important}textarea.form-control{min-height:80px!important;height:auto!important}.btn{font-size:14px!important;padding:8px 16px!important;touch-action:manipulation}.clock-holiday-item .btn-xs{font-size:12px!important;padding:4px 10px!important}.clock-request-type-btn{padding:10px 8px;gap:3px}.clock-request-type-btn .req-type-icon{font-size:18px}.clock-request-type-btn .req-type-label{font-size:12px}.clock-request-type-btn .req-type-desc{font-size:10px}#export-jobs,#products-btn,.panel-action:not(#add-job-btn):not(#refresh-dashboard){display:none!important}.offline-banner{top:56px!important;font-size:12px!important;padding:8px!important}.loading-overlay{padding:20px!important}.loading-content{transform:scale(.9)}.toast-container{top:66px!important;right:10px!important;left:10px!important}.toast{width:100%!important;font-size:14px!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!important;align-items:center;justify-content:space-between;background:#fff;box-shadow:0 2px 4px #0000001a;z-index:1000}.header-left{display:flex!important;flex-direction:row!important;align-items:center;gap:12px}.app-title{font-size:16px!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!important;align-items:center;gap:6px;flex-wrap:nowrap!important}.connection-indicator,#notification-indicator,#settings-btn{display:flex!important;align-items:center;font-size:11px!important;padding:3px 6px!important;height:auto!important;min-height:unset!important}.user-info{display:flex!important;align-items:center;gap:4px;padding:2px 8px!important;background:#3b82f614!important;border-radius:12px;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:11px!important;font-weight:500;line-height:1.2}.user-info .user-role{display:none!important}.logout-btn{padding:3px 8px!important;font-size:11px!important;font-weight:500;white-space:nowrap;height:auto!important;min-height:unset!important;line-height:1.2}.tabs-container{display:none!important}.mobile-nav-drawer{position:fixed;top:56px;left:-100%;width:320px;height:calc(100dvh - 56px);background:#fff;box-shadow:2px 0 8px #0000001a;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 #e5e7eb;text-decoration:none;color:#374151;font-size:16px;gap:14px}.mobile-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:500}.mobile-nav-item.hidden-mobile{display:none!important}#main-content{margin-top:56px!important;padding:12px!important}.panel-header{flex-direction:column!important;align-items:stretch!important;gap:12px}.panel-actions{width:100%!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px}.btn,.button,button{padding:4px 10px!important;font-size:12px!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:12px}.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:12px}.job-section{padding:12px}#job-timekeeper,.timekeeper-column{display:none!important}.notes-section{grid-column:1 / -1!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:12px!important}#job-modal .job-modal-layout.hide-financial #job-financial-info,#job-modal .full-screen-layout.hide-financial #job-financial-info,#job-modal .job-modal-layout.hide-financial .notes-section,#job-modal .full-screen-layout.hide-financial .notes-section{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!important}.kanban-column .column-content{overflow-y:auto!important;flex:1!important;-webkit-overflow-scrolling:touch}.kanban-card{font-size:12px;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}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}.gantt-day-cell{min-width:80px!important}.gantt-job-card{font-size:11px!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}.notes-section{grid-column:1 / -1!important}.job-modal-layout.hide-financial .notes-section,.full-screen-layout.hide-financial .notes-section{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){.desktop-only{display:none!important}.mobile-only{display:block!important}.responsive-text{font-size:14px!important}.mobile-full-width{width:100%!important}.mobile-stack{flex-direction:column!important}.mobile-no-margin{margin:0!important}.mobile-compact{padding:8px!important}}@media screen and (max-width:767px){#board-tab{display:none!important}}@media print{.header,.tabs-container,.mobile-menu-btn,.mobile-nav-drawer,.mobile-fab,.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{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:12px!important;position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #e5e7eb}.panel-header h2{font-size:18px!important;margin:0!important}.mobile-nav-drawer{position:fixed;top:56px;left:-100%;width:280px;height:calc(100dvh - 56px);background:#fff;box-shadow:2px 0 8px #0000001a;z-index:999;transition:left .3s ease;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.mobile-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:600;position:relative}.mobile-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}.mobile-fab{position:fixed!important;bottom:20px!important;right:20px!important;width:56px;height:56px;z-index:900!important}#orders-view .panel-actions{flex-direction:column!important;gap:8px!important}#orders-view .search-container{width:100%!important}#orders-view #orders-search{width:100%!important;height:44px!important;font-size:16px!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:8px!important}#inventory-view .search-container{width:100%!important}#inventory-view #inventory-search{width:100%!important;height:44px!important;font-size:16px!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:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.mobile-job-card:active{transform:scale(.98);box-shadow:0 1px 2px #0000001a}.mobile-cards-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#6b7280}.mobile-cards-loading .spinner{width:40px;height:40px;margin-bottom:12px}.mobile-cards-empty{text-align:center;padding:60px 20px;color:#6b7280}.mobile-cards-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.mobile-cards-empty-text{font-size:16px;margin-bottom:8px}.mobile-cards-empty-subtext{font-size:14px;color:#9ca3af}}@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:16px!important}.mobile-fab{width:48px!important;height:48px!important;bottom:12px!important;right:12px!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:8px!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:12px!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:#f9fafb!important;z-index:10}.mobile-table-view td:first-child,.mobile-table-view th:first-child{position:sticky;left:0;background:#fff;z-index:5;border-right:2px solid #e5e7eb}.mobile-table-view th:first-child{background:#f9fafb!important;z-index:15}.mobile-table-view .hide-on-mobile-table{display:none!important}}@media screen and (max-width:767px){#settings-modal{display:none!important}}.company-docs-mobile{padding:12px;display:flex;flex-direction:column;gap:12px}.cdoc-breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cdoc-breadcrumb-name{font-weight:600;font-size:16px;color:#111827}.cdoc-list{display:flex;flex-direction:column;gap:8px}.cdoc-folder-card,.cdoc-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-align:left;cursor:pointer;text-decoration:none;color:#111827;font:inherit;transition:border-color .15s,box-shadow .15s;width:100%}.cdoc-folder-card{border:1px solid #e5e7eb}.cdoc-folder-card:hover,.cdoc-row:hover{border-color:#2563eb;box-shadow:0 2px 6px #2563eb14}.cdoc-folder-icon,.cdoc-row-icon{font-size:26px;line-height:1;flex-shrink:0}.cdoc-folder-body,.cdoc-row-body{flex:1;min-width:0}.cdoc-folder-name,.cdoc-row-name{font-weight:600;font-size:15px;color:#111827;word-break:break-word}.cdoc-folder-meta,.cdoc-row-meta{font-size:12px;color:#6b7280;margin-top:2px}.cdoc-folder-chev,.cdoc-row-chev{font-size:20px;color:#9ca3af;flex-shrink:0}
