body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){*{-webkit-tap-highlight-color:rgba(0,0,0,.1)}a,button,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:16px!important}}.sidebar{background-color:#1a2541;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100vh;max-width:220px;min-width:220px;padding:20px 0;position:relative;transition:width .3s ease,min-width .3s ease,max-width .3s ease;width:220px}.sidebar.collapsed{max-width:60px;min-width:60px;width:60px}.sidebar-logo{line-height:0;margin-bottom:30px;padding:0;text-align:center}.sidebar-logo img{display:block;height:auto;margin:0 auto;padding:13px 0;transition:opacity .3s ease;width:140px}.sidebar.collapsed .sidebar-logo img{height:0;opacity:0;overflow:hidden;width:0}.logo-icon{align-items:center;background-color:#253363;border-radius:50%;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;margin:0 auto;opacity:0;transition:opacity .3s ease;width:30px}.sidebar.collapsed .logo-icon{opacity:1}.sidebar ul{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;list-style:none;margin:0;padding:0}.sidebar li{margin:20px 0 0}.sidebar a{align-items:center;border-radius:6px;box-sizing:border-box;color:#fff;display:flex;font-size:1rem;font-weight:500;padding:8px 20px;text-decoration:none;transition:background .18s,color .18s,padding .3s ease;width:100%}.sidebar.collapsed a{justify-content:center;padding:8px 12px}.sidebar a:hover{background-color:#ffffff21;color:#eee}.sidebar a.active{background-color:#253363;color:#fff;font-weight:600}.nav-icon{font-size:1.2rem;margin-right:12px;transition:margin .3s ease}.sidebar.collapsed .nav-icon{margin-right:0}.nav-icon.defect-icon{display:inline-block;filter:hue-rotate(-30deg) saturate(2) brightness(1.1)}.nav-icon.truck-icon{display:inline-block;filter:hue-rotate(180deg) saturate(1.3)}.nav-text{transition:opacity .3s ease}.sidebar.collapsed .nav-text{opacity:0;overflow:hidden;width:0}.sidebar-toggle{align-items:center;background-color:#0f1a2e;border:none;border-radius:0;border-top:1px solid #ffffff14;bottom:0;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;position:absolute;right:0;transition:background-color .3s ease;width:100%}.sidebar-toggle:hover{background-color:#1a2541}.toggle-arrow{align-items:center;display:flex;flex-direction:column;gap:2px;justify-content:center}.arrow-line,.toggle-arrow{transition:transform .3s ease}.arrow-line{background-color:#fff;border-radius:1px;height:2px;width:8px}.toggle-arrow.collapsed .arrow-line:first-child{transform:rotate(45deg) translate(1px,-1px)}.toggle-arrow.collapsed .arrow-line:last-child,.toggle-arrow:not(.collapsed) .arrow-line:first-child{transform:rotate(-45deg) translate(1px,1px)}.toggle-arrow:not(.collapsed) .arrow-line:last-child{transform:rotate(45deg) translate(1px,-1px)}@media (max-width:768px){.sidebar{box-shadow:2px 0 8px #0003;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;z-index:10000}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{max-width:220px;min-width:220px;width:220px}.sidebar.collapsed .sidebar-logo img{height:auto;opacity:1;width:140px}.sidebar.collapsed .logo-icon{opacity:0}.sidebar.collapsed .nav-text{opacity:1;overflow:visible;width:auto}.sidebar.collapsed a{justify-content:flex-start;padding:8px 20px}.sidebar.collapsed .nav-icon{margin-right:12px}}@media (max-width:480px){.sidebar{max-width:280px;width:100%}}body,html{background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;padding:0}.top-header{align-items:center;background-color:#f4f6fa;box-shadow:0 1px 4px #0000001a;display:flex;height:60px;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.top-header>*{margin-bottom:0!important;margin-top:0!important}.header-center{font-size:1rem;font-weight:700;line-height:60px;margin:0;white-space:nowrap}.header-right{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;line-height:60px;margin:0;padding:6px 10px;transition:background .2s ease}.header-right:hover{background-color:#e6ebf5}.profile-icon{font-size:1.5rem}.profile-panel{background:#fff;border-left:1px solid #ccc;box-shadow:-2px 0 4px #0000001a;height:calc(100vh - 60px);overflow-y:auto;position:fixed;right:0;top:60px;width:250px;z-index:999}.profile-panel-content{display:flex;flex-direction:column;gap:12px;padding:20px}.main-content{background-color:#f5f7fa;flex-grow:1;margin-top:0!important;min-height:calc(100vh - 60px);overflow-y:auto;padding-top:0!important}@media (max-width:768px){.top-header{height:56px;padding:0 12px}.header-center{font-size:.9rem;line-height:56px}.header-right{gap:6px;padding:4px 8px}.profile-icon{font-size:1.3rem}.profile-panel{max-width:320px;top:56px;width:100%}}@media (max-width:480px){.top-header{height:52px;padding:0 8px}.header-center{font-size:.85rem;line-height:52px}.profile-panel{top:52px;width:100%}}.mobile-menu-btn,.mobile-menu-overlay{display:none}@media (max-width:768px){.mobile-menu-btn{display:flex!important}.mobile-menu-overlay{display:block!important}.main-content-wrapper{margin-left:0!important}}.login-container{align-items:center;background:linear-gradient(to bottom right,#c0f0f0,#f7d5e8);color:#000;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;justify-content:center}.login-box{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff6;border-radius:15px;box-shadow:0 8px 20px #00000026;padding:2rem;text-align:center;width:300px}.login-box h2{color:#000;font-size:1.4rem;margin-bottom:1.5rem}.login-box input{background-color:#fff;border:1px solid #aaa;border-radius:6px;color:#000;font-size:.9rem;margin-bottom:1rem;padding:.625rem;width:100%}.login-box input:focus{border-color:#666;box-shadow:0 0 0 2px #0000001a;outline:none}.login-box button{background-color:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.125rem;transition:background .2s ease}.login-box button:hover{background-color:#555}.login-box button:focus{box-shadow:0 0 0 2px #0003;outline:none}.error-message{color:red;font-size:.8rem;margin-top:.625rem}.login-note{color:#374151;font-size:.75rem;line-height:1.4;margin-top:.75rem}.claims-container{background-color:#f5f7fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:32px}.claims-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:32px}.claims-header h1{color:#1a1a1a;font-size:32px;font-weight:700;letter-spacing:-.025em;margin:0 0 24px}.month-navigation{gap:12px;margin-bottom:24px}.month-navigation,.nav-btn{align-items:center;display:flex}.nav-btn{background-color:#fff;border:2px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;font-size:24px;font-weight:600;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.nav-btn:hover{background-color:#3b82f6;color:#fff;transform:scale(1.05)}.nav-btn:active{transform:scale(.95)}.month-selector{flex:1 1;max-width:400px;position:relative}.month-display-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 6px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;justify-content:space-between;padding:10px 20px;transition:all .2s ease;width:100%}.month-display-btn:hover{box-shadow:0 6px 12px #3b82f64d;transform:translateY(-2px)}.month-text{flex:1 1;text-align:left}.dropdown-icon{font-size:14px;margin-left:8px;transition:transform .2s ease}.month-picker-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;gap:16px;left:0;margin-top:8px;padding:20px;position:absolute;right:0;top:100%;z-index:100}.month-picker-header{display:flex;flex-direction:column;gap:8px}.month-picker-header label{color:#374151;font-size:14px;font-weight:600}.month-select,.year-select{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.month-select:focus,.year-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.today-btn{background-color:#10b981;border:none;color:#fff;padding:10px 20px}.today-btn:hover{background-color:#059669;box-shadow:0 4px 6px #10b98133;transform:translateY(-2px)}.today-btn:active{transform:translateY(0)}.filter-controls{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px}.search-container{margin-bottom:16px}.search-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:16px;max-width:400px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-group{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;min-width:140px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.claims-stats{align-items:center;display:flex;gap:24px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:24px}.stat-divider{background-color:#e5e7eb;height:40px;width:1px}.add-claim-container{flex-wrap:wrap;justify-content:space-between;margin-bottom:24px}.action-buttons,.add-claim-container{align-items:center;display:flex;gap:16px}.export-buttons{display:flex;gap:8px}.export-btn{align-items:center;background-color:#f8fafc;border:1px solid #d1d5db;border-radius:6px;color:#374151;display:flex;font-weight:500;gap:6px;padding:8px 12px}.export-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.csv-btn:hover{background-color:#dbeafe;border-color:#3b82f6;color:#1e40af}.json-btn:hover{background-color:#d1fae5;border-color:#10b981;color:#065f46}.add-claim-btn{align-items:center;background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:background-color .2s ease}.add-claim-btn:hover{background-color:#2563eb}.claims-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:auto}.claims-table{border-collapse:collapse;min-width:800px;table-layout:fixed;width:100%}.claims-table.resizing{-webkit-user-select:none;user-select:none}.claims-table.resizing *{cursor:col-resize!important}.claims-table th{background-color:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;letter-spacing:.025em;padding:16px 20px;position:relative;text-align:left}.sortable-header{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#f0f4f8}.sortable-header:active{background-color:#e5e9f0}.header-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.sort-indicator{color:#3b82f6;font-size:16px;font-weight:700;line-height:1}.resizable-col{min-width:100px;position:relative;-webkit-user-select:none;user-select:none}.resize-handle{background-color:initial;bottom:0;position:absolute;right:0;top:0;transition:background-color .2s ease;width:4px;z-index:10}.resize-handle:hover{background-color:#3b82f6}.resize-handle:active{background-color:#1d4ed8}.claims-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:16px 20px}.claims-table td,.text-wrap{word-wrap:break-word;overflow-wrap:break-word}.text-wrap{max-width:200px;white-space:normal}.claims-table tr:hover{background-color:#f9fafb}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background-color:#e5f3ff!important}.image-cell{width:80px}.claim-image{object-fit:cover}.claim-image,.no-image{border:1px solid #e5e7eb;border-radius:8px;height:60px;width:60px}.no-image{align-items:center;background-color:#f3f4f6;color:#6b7280;display:flex;font-size:12px;justify-content:center}.amount-cell{color:#059669;font-weight:600}.no-claims{color:#6b7280;font-style:italic;padding:48px 20px;text-align:center}.delete-btn{background-color:#ef4444;border-radius:6px;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s ease}.delete-btn:hover{background-color:#dc2626}.modal-content{border-radius:12px;max-height:95vh;max-width:800px}.modal-header h2{font-weight:600}.close-btn{font-size:24px}.form-group label[for]:after{content:""}.form-group input:required+label:after,.form-group label:has(+* input:required):after,.form-group label:has(+input:required):after{color:#ef4444;content:" *";font-weight:700;margin-left:2px}.form-group input{border:1px solid #d1d5db}.form-group input:focus,.form-group select:focus{box-shadow:0 0 0 3px #3b82f61a}.project-site-select{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.project-site-select option{padding:8px}.no-projects-message{background-color:#fef3c7;border:2px solid #fbbf24;border-radius:8px;padding:20px;text-align:center}.no-projects-message p{color:#92400e;font-size:14px;font-weight:600;margin:0 0 8px}.no-projects-message small{color:#78350f;font-size:12px}.image-upload-container{margin-bottom:0}.image-upload-btn{border:2px dashed #d1d5db;border-radius:8px;box-sizing:border-box;cursor:pointer;display:block;max-width:100%;overflow:hidden;padding:24px;text-align:center;transition:border-color .2s ease,background-color .2s ease;width:100%}.image-upload-btn:hover{background-color:#f8fafc;border-color:#3b82f6}.upload-placeholder{align-items:center;display:flex;flex-direction:column;gap:8px}.upload-placeholder span{font-size:32px}.upload-placeholder p{color:#6b7280;font-size:14px;margin:0}.preview-container{border-radius:8px;box-sizing:border-box;height:400px;max-width:100%;overflow:hidden;position:relative;width:100%}.main-preview{background-color:#f8fafc;height:100%;object-fit:contain;width:100%}.preview-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.preview-container:hover .preview-overlay{opacity:1}.preview-overlay span{font-size:32px;margin-bottom:8px}.preview-overlay p{color:#fff;font-size:14px;font-weight:500;margin:0}.image-preview{border-radius:8px;max-height:200px;object-fit:cover;width:100%}.cancel-btn{background:none;border:1px solid #d1d5db}.cancel-btn,.save-btn{transition:background-color .2s ease}.save-btn{background-color:#3b82f6}.save-btn:hover{background-color:#2563eb}.amount-input-container{align-items:center;display:flex;gap:8px}.currency-selector{position:relative}.currency-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 8px;text-align:center;text-align-last:center;transition:border-color .2s ease,box-shadow .2s ease;width:70px}.currency-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.amount-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.amount-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.image-carousel{background-color:#f8fafc;border-radius:8px;margin-top:16px;padding:16px}.carousel-header{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.carousel-container{max-width:100%;overflow-x:auto;padding-bottom:8px}.carousel-track{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.carousel-item{border:2px solid #e5e7eb;border-radius:8px;cursor:move;flex-shrink:0;height:80px;overflow:hidden;position:relative;transition:transform .2s ease,border-color .2s ease;width:80px}.carousel-item:hover{border-color:#3b82f6;transform:translateY(-2px)}.carousel-item.drag-over{background-color:#3b82f61a;border-color:#3b82f6}.carousel-item img{height:100%;object-fit:cover;pointer-events:none;width:100%}.remove-image-btn{background-color:#ef4444;font-size:12px;font-weight:700;height:18px;transition:background-color .2s ease;width:18px;z-index:2}.remove-image-btn:hover{background-color:#dc2626}.view-image-btn{align-items:center;background-color:#10b981;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;position:absolute;right:24px;top:4px;transition:background-color .2s ease;width:18px;z-index:3}.view-image-btn:hover{background-color:#059669}.main-view-image-btn{align-items:center;background-color:#10b981;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s ease;width:24px;z-index:3}.main-view-image-btn:hover{background-color:#059669}.image-viewer-overlay{align-items:center;background-color:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:2.5vh;position:fixed;right:0;top:0;z-index:2000}.image-viewer-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;height:95vh;max-height:95vh;max-width:95vw;overflow:hidden;position:relative;width:95vw}.image-viewer-header{padding:12px;position:absolute;right:0;top:0;z-index:10}.zoom-controls-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000001a;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;gap:8px;left:20px;padding:10px 14px;position:absolute;top:20px;z-index:15}.zoom-btn{align-items:center;background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;transition:background-color .2s ease;width:28px}.zoom-btn:hover{background:#2563eb}.zoom-btn.reset-btn{background:#6b7280}.zoom-btn.reset-btn:hover{background:#4b5563}.zoom-level{color:#374151;font-size:14px;font-weight:600;min-width:45px;text-align:center}.close-viewer-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;transition:background-color .2s ease;width:28px}.close-viewer-btn:hover{background:#dc2626}.image-viewer-body{align-items:center;background:#f9fafb;box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:50px 30px 30px;width:100%}.full-size-image{border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;max-height:100%;max-width:100%;object-fit:contain}.drag-handle{background-color:#0009;border-radius:4px;bottom:4px;color:#fff;cursor:move;font-size:10px;left:4px;opacity:0;padding:2px 4px;position:absolute;transition:opacity .2s ease}.carousel-item:hover .drag-handle{opacity:1}.image-preview-container{display:inline-block;position:relative}.image-count-badge{align-items:center;background-color:#3b82f6;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}@media (max-width:768px){.claims-container{padding:16px}.claims-header{padding:20px}.claims-header h1{font-size:24px}.month-navigation{flex-wrap:wrap;gap:8px}.month-selector{flex:1 1 100%;max-width:100%;order:-1}.month-display-btn{font-size:18px;padding:12px 16px}.nav-btn{height:50px;width:50px}.today-btn{flex:1 1}.claims-stats{align-items:flex-start;flex-direction:column;gap:16px}.stat-divider{height:1px;width:100%}.filter-controls{margin-top:16px;padding-top:16px}.filter-group{align-items:stretch;flex-direction:column}.filter-select{min-width:auto;width:100%}.search-input{max-width:100%}.action-buttons,.add-claim-container{align-items:stretch;flex-direction:column}.export-buttons{justify-content:center}.claims-table{font-size:14px}.claims-table td,.claims-table th{padding:12px 16px}.modal-content{margin:20px;max-width:calc(100vw - 40px)}}.projects-list-container{background-color:#f5f7fa;min-height:100vh;padding:32px}.projects-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:32px}.add-project-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 6px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:14px 28px;transition:all .2s ease}.add-project-btn:hover{box-shadow:0 6px 12px #3b82f64d;transform:translateY(-2px)}.add-project-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.projects-stats-bar{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{transition:transform .2s ease,box-shadow .2s ease}.active-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.completed-icon{background:linear-gradient(135deg,#10b981,#059669)}.total-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.stat-label-with-selector{align-items:center;color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px}.year-selector{background-color:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px;transition:all .2s ease}.year-selector:hover{background-color:#fffbeb;border-color:#fbbf24}.year-selector:focus{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf241a;outline:none}.sales-card{cursor:default}.kanban-board{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.kanban-column{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:24px;transition:box-shadow .2s ease}.kanban-column.active-column,.kanban-column.completed-column{border:2px solid #0000}.column-header{border-bottom:2px solid #f3f4f6;margin-bottom:24px;padding-bottom:20px}.column-title{align-items:center;display:flex;gap:12px;margin-bottom:8px}.column-icon{font-size:24px}.column-title h2{color:#1a1a1a;flex:1 1;font-size:24px;font-weight:700;margin:0}.column-count{background:#f3f4f6;border-radius:12px;color:#374151;font-size:14px;font-weight:600;padding:4px 12px}.column-header-footer{align-items:center;display:flex;gap:12px;justify-content:space-between}.column-subtitle{color:#6b7280;flex:1 1;font-size:14px;margin:0}.view-all-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.view-all-btn:hover{background:#eff6ff;color:#2563eb;transform:translateX(2px)}.view-all-arrow{font-size:14px;transition:transform .2s ease}.view-all-btn:hover .view-all-arrow{transform:translateX(2px)}.projects-grid{display:flex;flex-direction:column}.project-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:move;padding:12px;position:relative;transition:all .2s ease}.project-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.project-card.completed{background:#f0fdf4;border-color:#d1fae5}.project-card.completed:hover{border-color:#10b981;box-shadow:0 4px 12px #10b98126}.project-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.project-status-badge{border-radius:8px;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.project-status-badge.active{background:#dbeafe;color:#1e40af}.project-status-badge.completed{background:#d1fae5;color:#065f46}.project-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.project-card:hover .project-actions{opacity:1}.project-edit-btn{align-items:center;background:#dbeafe;border:none;border-radius:50%;color:#1e40af;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.project-edit-btn:hover{background:#1e40af;color:#fff;transform:scale(1.1)}.project-delete-btn{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.project-delete-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.project-summary-overlay{background-color:initial;display:block;left:220px;position:fixed;width:calc(100vw - 220px);z-index:1000}.project-summary-modal,.project-summary-overlay{bottom:0;height:100vh;margin:0;padding:0;right:0;top:0}.project-summary-modal{background:#fff;border-radius:0;box-shadow:none;left:0;overflow-y:auto;position:absolute;width:100%}.project-summary-content{display:flex;flex-direction:column;gap:24px;height:calc(100vh - 120px);overflow-y:auto;padding:0 24px 24px}.project-info-section h3{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 24px}.project-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1a1a1a;font-size:14px;font-weight:500}.detail-value.status-active{color:#1e40af;font-weight:600}.detail-value.status-completed{color:#065f46;font-weight:600}.project-description-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.project-description-section h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px}.project-description-section p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.project-stats-section h4{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats-grid .stat-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;min-height:120px;padding:24px;transition:all .2s ease}.stats-grid .stat-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.stats-grid .stat-icon{align-items:center;background:#f0f4f8;border-radius:8px;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.stats-grid .stat-content{flex:1 1}.stats-grid .stat-value{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 8px}.stats-grid .stat-label{color:#6b7280;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.project-actions-section{border-top:1px solid #e5e7eb;display:flex;gap:16px;margin-top:auto;padding-top:24px}.edit-project-btn,.view-details-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;min-width:160px;padding:16px 32px;transition:all .2s ease}.edit-project-btn{background:#3b82f6;color:#fff}.edit-project-btn:hover{background:#2563eb;transform:translateY(-1px)}.view-details-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.view-details-btn:hover{background:#e5e7eb;border-color:#9ca3af}.project-name{font-size:16px;font-weight:700;line-height:1.2;margin:0 0 8px}.project-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.project-detail-item{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px}.detail-icon{font-size:14px}.detail-text{flex:1 1}.project-description{border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px;line-height:1.4;margin:8px 0 0;padding-top:8px}.project-drag-hint{align-items:center;background:#ffffffe6;border-radius:4px;color:#9ca3af;display:flex;font-size:10px;gap:4px;left:8px;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:8px;transition:opacity .2s ease}.project-card:hover .project-drag-hint{opacity:1}.project-drag-hint span{font-size:14px}.modal-content{max-width:600px}.project-summary-modal .modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:0;padding:24px 24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header-left{gap:16px}.back-btn,.modal-header-left{align-items:center;display:flex}.back-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;gap:8px;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s ease}.back-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.back-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.back-btn:hover:before{left:100%}.back-btn:active{box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}.project-summary-modal .modal-header h2{margin:0;padding:0}.form-group input,.form-group select,.form-group textarea{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.status-select{cursor:pointer}@media (max-width:1024px){.kanban-board{grid-template-columns:1fr}}@media (max-width:768px){.projects-list-container{padding:16px}.projects-header{align-items:stretch;flex-direction:column}.add-project-btn{justify-content:center;width:100%}.header-content h1{font-size:28px}.projects-stats-bar{grid-template-columns:1fr}.kanban-column{padding:16px}.column-title h2{font-size:20px}.modal-content{margin:10px;max-width:calc(100vw - 20px)}}.kanban-column.drag-over{background:#f0f9ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-card.dragging{opacity:.5;transform:rotate(2deg)}.location-autocomplete-container{position:relative;width:100%}.location-input{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.location-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.location-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.autocomplete-dropdown{animation:slideDown .2s ease;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-loading{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px;justify-content:center;padding:16px;text-align:center}.loading-spinner-small{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.api-error-note{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:13px;line-height:1.5;margin-top:8px;padding:12px}.api-error-note small{color:#78350f;font-size:11px}.api-error-message{color:#dc2626;font-size:13px;line-height:1.5;padding:16px;text-align:center}.api-error-message small{color:#6b7280;font-size:11px}.no-results{color:#6b7280;font-size:14px;padding:16px;text-align:center}.input-hint{animation:fadeIn .3s ease;background-color:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;font-size:12px;margin-top:4px;padding:8px 12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background-color .15s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item.active,.suggestion-item:hover{background-color:#f0f9ff}.suggestion-icon{flex-shrink:0;font-size:18px}.suggestion-text{flex:1 1;min-width:0}.suggestion-main{color:#1a1a1a;font-size:14px;font-weight:600;margin-bottom:2px}.suggestion-main,.suggestion-secondary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-secondary{color:#6b7280;font-size:12px}.suggestion-postal{background-color:#eff6ff;border-radius:4px;color:#3b82f6;display:inline-block;font-size:11px;font-weight:600;margin-top:4px;padding:2px 6px}.autocomplete-dropdown::-webkit-scrollbar{width:8px}.autocomplete-dropdown::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb:hover{background:#9ca3af}.team-management-container{background-color:#f5f7fa;min-height:100vh;padding:32px}.team-management-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:32px}.access-permissions-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#4338ca);border:none;border-radius:12px;box-shadow:0 10px 20px #6366f140;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:transform .2s ease,box-shadow .2s ease}.access-permissions-btn:hover{box-shadow:0 14px 28px #4f46e559;transform:translateY(-2px)}.access-permissions-btn:active{box-shadow:0 6px 14px #4f46e540;transform:translateY(0)}.access-permissions-btn:focus{box-shadow:0 0 0 3px #6366f159;outline:none}.access-permissions-btn .access-icon{align-items:center;display:inline-flex;font-size:16px}.create-team-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 6px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:14px 28px;transition:all .2s ease}.create-team-btn:hover{box-shadow:0 6px 12px #3b82f64d;transform:translateY(-2px)}.create-team-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.plus-icon{font-size:20px;font-weight:300}.team-stats-bar{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:20px;padding:24px;position:relative;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-4px)}.stat-card.active{border:3px solid #3b82f6;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.worker-stat-card{align-items:center;display:flex;justify-content:space-between}.view-all-workers-btn{background:#0000;border:2px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.view-all-workers-btn:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.view-all-workers-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:28px;height:60px;justify-content:center;width:60px}.team-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.worker-icon{background:linear-gradient(135deg,#10b981,#059669)}.vehicle-icon{background:#f05d5e}.unassigned-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content{flex:1 1}.stat-value{color:#1a1a1a;font-size:32px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#6b7280;font-size:14px;font-weight:500}.team-management-content{grid-gap:24px;align-items:start;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 8px 360px;padding:24px}.resize-handle{align-items:center;border-radius:12px;cursor:col-resize;display:flex;height:100%;justify-content:center;margin:0 -2px;min-width:12px;position:relative;touch-action:none}.resize-handle .handle-grip{background:linear-gradient(180deg,#d1d5db,#9ca3af);border-radius:999px;height:44px;transition:background .2s ease,height .2s ease;width:3px}.resize-handle:hover .handle-grip,body.resizing .resize-handle .handle-grip{background:linear-gradient(180deg,#6366f1,#4338ca);height:52px}body.resizing,body.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.workers-table-view{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.workers-table-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.workers-table-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-title{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.create-team-btn-small{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.create-team-btn-small:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.create-team-btn-small:disabled{cursor:not-allowed;opacity:.6;transform:none}.teams-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:24px}.teams-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.teams-grid{grid-template-columns:1fr}}.team-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;min-height:200px;padding:20px;position:relative;transition:all .2s ease}.team-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.team-card.drag-over{background:#eff6ff;border-color:#3b82f6;border-width:3px;box-shadow:0 0 0 4px #3b82f633,0 8px 16px #3b82f64d;transform:scale(1.02)}.team-card.drag-over:before{animation:pulse 1.5s ease-in-out infinite;background:#3b82f6e6;border-radius:8px;color:#fff;content:"Drop here";font-size:14px;font-weight:600;left:50%;padding:8px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.team-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.team-name{color:#1a1a1a;margin:0}.delete-team-btn,.team-name{font-size:18px;font-weight:700}.delete-team-btn{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;transition:all .2s ease;width:24px}.team-card:hover .delete-team-btn{opacity:1}.delete-team-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.team-members-count{color:#6b7280;font-size:12px;font-weight:500;margin-bottom:12px}.team-members-list{display:flex;flex-direction:column;gap:8px;min-height:60px}.empty-team-members{align-items:center;color:#9ca3af;display:flex;flex-direction:column;font-size:14px;gap:4px;justify-content:center;padding:20px;text-align:center}.hint-text{color:#d1d5db;font-size:12px}.team-member-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:move;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;transition:all .2s ease}.team-member-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.team-member-item:active{cursor:grabbing}.team-member-main{grid-gap:12px;align-items:center;display:grid;flex:1 1;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-width:0}.member-name{color:#1a1a1a;flex:1 1;font-size:14px;font-weight:500;line-height:1.4;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:normal;word-break:break-word}.member-role-badges{align-items:center;display:inline-flex;flex-shrink:0;gap:6px}.remove-member-btn{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;opacity:0;transition:all .2s ease;width:20px}.team-member-item:hover .remove-member-btn{opacity:1}.remove-member-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.workers-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 200px);overflow-y:auto;padding:24px;position:-webkit-sticky;position:sticky;top:20px}.workers-list{display:flex;flex-direction:column;gap:12px}.worker-item{grid-column-gap:12px;grid-row-gap:8px;align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;column-gap:12px;cursor:move;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:12px;row-gap:8px;transition:all .2s ease}.worker-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.worker-item .worker-avatar,.worker-item .worker-drag-hint{grid-row:span 2}.worker-item.dragging{opacity:.5}.worker-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.worker-info{display:flex;flex-direction:column;gap:6px;min-width:0}.worker-name{color:#1a1a1a;font-size:14px;font-weight:600}.worker-role-badges{align-items:center;display:inline-flex;flex-shrink:0;flex-wrap:wrap;gap:6px}.worker-drag-hint{color:#9ca3af;flex-shrink:0;font-size:16px;opacity:.5}.worker-item:hover .worker-drag-hint{opacity:1}.empty-state{padding:60px 20px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;font-weight:600;margin:0 0 8px}.empty-state span{color:#d1d5db;font-size:14px}.loading-overlay{align-items:center;background-color:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{background-color:#00000080;padding:20px}.modal-content{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.modal-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0;padding-bottom:16px}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:4px;transition:background-color .2s ease}.close-btn:hover{background-color:#f3f4f6}.modal-body{flex:1 1;overflow-y:auto;padding:0 24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.role-selection{display:flex;gap:12px;margin-bottom:8px}.role-button{background:#fff;border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#374151;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;min-width:0;padding:12px 20px;transition:all .2s ease}.role-button:hover{background-color:#f9fafb;border-color:#9ca3af}.role-button.active{border-width:2px;box-shadow:0 4px 6px #0000001a;font-weight:600;padding:12px 20px}.role-button.active.carpenter{background:#10b981;border-color:#10b981;color:#fff}.role-button.active.driver{background:#f05d5e;border-color:#f05d5e;color:#fff}.form-hint{color:#6b7280;font-size:13px;margin-bottom:0;margin-top:4px}.modal-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;margin-top:24px;padding:24px}.cancel-btn{background:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.save-btn{border:none;border-radius:8px;box-shadow:0 4px 6px #3b82f633;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.save-btn:hover{box-shadow:0 6px 12px #3b82f64d}.save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.delete-btn{background:#ef4444;border:none;border-radius:8px;box-shadow:0 4px 6px #ef444433;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-right:auto;padding:12px 24px;transition:all .2s ease}.delete-btn:hover{background:#dc2626;box-shadow:0 6px 12px #ef44444d;transform:translateY(-2px)}.delete-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.vehicle-info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.info-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.info-row:last-child{border-bottom:none}.info-label{color:#6b7280;font-size:14px;font-weight:600}.info-value{color:#1a1a1a;font-size:14px;font-weight:500}.fullscreen-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;z-index:1000}.fullscreen-modal-content{background:#fff;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.fullscreen-modal-header{align-items:center;background:#fff;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.fullscreen-header-left{align-items:center;display:flex;gap:20px}.fullscreen-modal-header h2{color:#1a1a1a;font-size:28px;font-weight:700;margin:0}.add-worker-in-table-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 6px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.add-worker-in-table-btn:hover{box-shadow:0 6px 12px #3b82f64d;transform:translateY(-2px)}.add-worker-in-table-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.fullscreen-modal-body{background:#f5f7fa;flex:1 1;overflow-y:auto;padding:32px}.workers-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.workers-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.workers-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.workers-table th{color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.workers-table th.sortable{cursor:pointer;padding-right:24px;position:relative;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.workers-table th.sortable:hover{background-color:#f3f4f6}.workers-table th .sort-indicator{color:#3b82f6;display:inline-block;font-weight:700;margin-left:4px;min-width:16px;position:absolute;right:8px;text-align:center}.workers-table td{border-bottom:1px solid #f3f4f6;color:#1a1a1a;font-size:14px;padding:12px 16px}.workers-table tbody tr:hover{background:#f9fafb}.workers-table tbody tr:last-child td{border-bottom:none}.table-roles{flex-wrap:nowrap;gap:8px}.role-badge,.table-roles{align-items:center;display:inline-flex}.role-badge{border-radius:12px;color:#fff;flex-direction:row;font-size:11px;font-weight:600;gap:6px;justify-content:center;line-height:1;padding:4px 10px;text-transform:capitalize;white-space:nowrap}.role-badge.icon-only{border-radius:13px;box-shadow:0 4px 10px #0f172a1f;gap:0;height:26px;padding:4px;position:relative;transition:transform .15s ease,box-shadow .15s ease;width:26px}.role-badge.icon-only:after{border-radius:8px;box-shadow:0 12px 24px #0f172a33;color:#f8fafc;content:attr(data-role-label);font-size:12px;font-weight:500;line-height:1.2;padding:6px 10px;transform:translate(-50%,calc(100% + 6px));white-space:nowrap}.role-badge.icon-only:after,.role-badge.icon-only:before{background:#0f172af5;left:50%;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease,transform .2s ease}.role-badge.icon-only:before{border-radius:2px;-webkit-clip-path:polygon(50% 0,0 100%,100% 100%);clip-path:polygon(50% 0,0 100%,100% 100%);content:"";height:8px;transform:translate(-50%,calc(100% + 2px));width:8px}.role-badge.icon-only:hover{box-shadow:0 8px 18px #0f172a2e;transform:translateY(-2px)}.role-badge.icon-only:hover:after,.role-badge.icon-only:hover:before{opacity:1;transform:translate(-50%,calc(100% + 2px))}.role-badge-icon{align-items:center;display:inline-flex;font-size:18px;justify-content:center;line-height:1}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.role-badge-label{display:inline-block;line-height:1}.no-role-badge{color:#9ca3af;font-size:14px}.table-actions{display:flex;gap:8px}.table-delete-btn,.table-edit-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.table-edit-btn{background:#dbeafe;color:#1e40af}.table-edit-btn:hover{background:#1e40af;color:#fff;transform:scale(1.1)}.table-delete-btn{background:#fee2e2;color:#dc2626;font-size:20px;font-weight:700}.table-delete-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.error-message{align-items:center;animation:slideDown .3s ease;background:#fee2e2;border:2px solid #ef4444;border-radius:8px;color:#991b1b;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 20px}.error-icon{flex-shrink:0;font-size:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vehicles-view{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:32px}.vehicles-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.vehicles-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.vehicles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vehicle-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;position:relative;transition:all .2s ease}.vehicle-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.vehicle-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.vehicle-plate{color:#1a1a1a;font-size:20px;font-weight:700;letter-spacing:1px;margin:0}.vehicle-model{color:#6b7280;font-size:14px;font-style:italic;margin-bottom:16px}.vehicle-driver-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.vehicle-driver-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.vehicle-driver-dropdown{position:relative}.vehicle-driver-trigger{align-items:center;background:linear-gradient(135deg,#818cf82e,#6366f10d);border:2px solid #e0e7ff;border-radius:16px;box-shadow:inset 0 1px 0 #fff9;color:#1f2937;cursor:pointer;display:flex;font-weight:600;gap:12px;justify-content:flex-start;padding:12px 44px 12px 16px;position:relative;transition:all .2s ease;width:100%}.vehicle-driver-trigger:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='none' stroke='%235256CD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m2.5 4.5 3.5 3 3.5-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:12px;pointer-events:none;position:absolute;right:18px;width:12px}.vehicle-driver-trigger:hover{background:linear-gradient(135deg,#818cf84d,#6366f11f);border-color:#818cf8}.vehicle-driver-trigger:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f126;outline:none}.vehicle-driver-dropdown.open .vehicle-driver-trigger{background:linear-gradient(135deg,#6366f133,#818cf81f);border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.vehicle-driver-trigger.has-selection{color:#312e81}.vehicle-driver-trigger-content{align-items:center;display:flex;gap:10px;text-align:left;width:100%}.driver-trigger-label{color:inherit;flex:1 1;font-weight:600;text-align:left}.driver-trigger-label.no-driver{color:#4b5563;font-weight:500}.driver-trigger-icon{align-items:center;background:#f05d5e;border-radius:10px;box-shadow:0 4px 8px #f05d5e59;color:#fff;display:inline-flex;font-size:16px;height:28px;justify-content:center;width:28px}.vehicle-driver-menu{background:#fff;border:1px solid #6366f11f;border-radius:18px;box-shadow:0 18px 45px #4f46e52e;left:0;padding:8px;position:absolute;top:calc(100% + 10px);width:100%;z-index:10}.vehicle-driver-option{align-items:center;background:#0000;border:none;border-radius:12px;color:#1f2937;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:space-between;padding:12px 14px;transition:all .2s ease;width:100%}.vehicle-driver-option:hover{background:#6366f114;transform:translateX(4px)}.vehicle-driver-option.selected{background:linear-gradient(135deg,#818cf859,#6366f133);color:#312e81}.vehicle-driver-option.no-driver{color:#4b5563}.vehicle-driver-option.no-driver.selected{color:#312e81}.option-check{color:#4338ca;font-size:16px}.vehicle-driver-info{background:#ede9fe;border-radius:6px;display:inline-block;margin-top:12px;padding:8px 12px}.driver-badge-small{color:#6d28d9;font-size:13px;font-weight:600}@media (max-width:1024px){.team-management-content{grid-template-columns:1fr!important}.workers-section{max-height:none;position:static}.resize-handle{display:none}}@media (max-width:768px){.team-management-container{padding:16px}.team-management-header{align-items:stretch;flex-direction:column}.create-team-btn{justify-content:center;width:100%}.header-content h1{font-size:28px}.team-stats-bar,.teams-grid{grid-template-columns:1fr}.fullscreen-header-left{align-items:flex-start;flex-direction:column;gap:12px}.fullscreen-modal-header{padding:16px}.fullscreen-modal-header h2{font-size:20px}.fullscreen-modal-body{padding:16px}.workers-table{font-size:12px}.workers-table td,.workers-table th{padding:8px}.team-management-container{padding:16px}.team-management-header{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.header-content h1{font-size:24px}.header-subtitle{font-size:14px}.header-actions{margin-left:0;width:100%}.access-permissions-btn{font-size:13px;justify-content:center;padding:10px 16px;width:100%}.teams-section,.workers-section{margin-bottom:20px;padding:16px}.section-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.section-header h2{font-size:20px}.add-team-btn,.add-worker-btn{font-size:13px;padding:10px 16px;width:100%}.teams-grid{gap:12px;grid-template-columns:1fr}.team-card{padding:16px}.team-header{align-items:flex-start;flex-direction:column;gap:12px}.team-name{font-size:16px}.team-actions{justify-content:flex-start;width:100%}.workers-table{-webkit-overflow-scrolling:touch;display:block;font-size:12px;overflow-x:auto}.workers-table td,.workers-table th{padding:8px 6px;white-space:nowrap}.modal-overlay{padding:16px}.modal-content{max-height:90vh;max-width:100%;overflow-y:auto;padding:20px;width:95%}.modal-content h3{font-size:18px}.form-group{margin-bottom:16px}.form-group label{font-size:14px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px}.modal-actions{flex-direction:column;gap:10px}.cancel-btn,.save-btn{padding:10px;width:100%}}@media (max-width:480px){.team-management-container{padding:12px}.header-content h1{font-size:20px}.section-header h2{font-size:18px}.team-card{padding:12px}.workers-table{font-size:11px}}.daily-transport-container{background-color:#f5f7fa;min-height:100vh;padding:32px}.available-members-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-top:24px;padding:24px}.available-members-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.available-members-list{display:flex;flex-wrap:wrap;gap:8px}.available-member-item{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;color:#1a1a1a;cursor:move;display:inline-flex;font-size:14px;font-weight:600;gap:4px;padding:6px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.available-member-item:hover{background:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.available-member-item:active{cursor:grabbing;opacity:.7}.available-members-section.drag-over{background:#eff6ff;border:2px dashed #3b82f6}.no-available-members{color:#6b7280;font-size:14px;font-style:italic}.daily-transport-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:32px}.header-content h1{color:#1a1a1a;font-size:36px;font-weight:700;letter-spacing:-.025em;margin:0 0 8px}.header-subtitle{color:#6b7280;font-size:16px;margin:0}.header-actions{align-items:center;display:flex;gap:12px;margin-left:auto}.date-input-group{align-items:center;display:flex;gap:8px}.date-input{border:2px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:border-color .2s ease}.date-input:focus{border-color:#3b82f6;outline:none}.today-btn{background:#fff;border:2px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.today-btn:hover{background:#3b82f6;box-shadow:0 2px 4px #3b82f633;color:#fff;transform:translateY(-1px)}.export-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.export-btn:disabled{cursor:not-allowed;opacity:.5}.export-image-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 6px #10b98133;color:#fff}.export-image-btn:hover:not(:disabled){box-shadow:0 6px 12px #10b9814d;transform:translateY(-2px)}.export-pdf-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 6px #f59e0b33;color:#fff}.export-pdf-btn:hover:not(:disabled){box-shadow:0 6px 12px #f59e0b4d;transform:translateY(-2px)}.schedule-builder{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;overflow-x:auto;padding:24px}.schedule-table-container{margin-top:20px;overflow-x:auto;overflow-y:visible!important;overflow:visible!important}.schedule-builder{position:relative}.daily-transport-container,.schedule-builder{overflow:visible!important}.schedule-table.editable{border-collapse:collapse;margin-top:0;width:100%}.schedule-table.editable thead{background:#f9fafb;border-bottom:2px solid #1a1a1a}.schedule-table.editable th{border:1px solid #e5e7eb;color:#1a1a1a;font-size:14px;font-weight:700;padding:12px 16px;text-align:left;white-space:nowrap}.schedule-table.editable th.actions-header{max-width:40px;min-width:40px;padding:12px 4px;text-align:center;width:40px}.schedule-table.editable th.driver-header{position:relative;text-align:center}.schedule-table.editable td{word-wrap:break-word;border:1px solid #e5e7eb;color:#1a1a1a;font-size:14px;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;padding:8px 12px;vertical-align:middle;word-break:break-word}.schedule-table.editable tbody tr{background:#fff;transition:all .2s ease}.schedule-table.editable tbody tr:nth-child(2n){background:#f9fafb}.schedule-table.editable tbody tr.drag-over-row{background:#eff6ff;border:2px dashed #3b82f6;border-radius:8px;box-shadow:0 4px 12px #3b82f633;transform:scale(1.02)}.schedule-table.editable tbody tr[draggable=true]:hover{background:#f3f4f6;cursor:move}.schedule-table.editable tbody tr[draggable=true]:active{cursor:grabbing}.schedule-table.editable .location-cell{word-wrap:break-word;max-width:300px;min-width:200px;overflow-wrap:break-word;word-break:break-word}.location-projects-list{align-items:stretch;display:flex;flex-direction:column;gap:6px}.project-item-wrapper{align-items:center;display:flex;gap:6px;position:relative;width:100%}.project-item-wrapper .custom-dropdown{flex:1 1}.location-projects-list>.custom-dropdown{align-self:center;display:inline-flex;justify-content:center;width:auto!important}.location-projects-list>.custom-dropdown .custom-dropdown-trigger{width:auto!important}.location-projects-list>.custom-dropdown .custom-dropdown-menu{left:50%!important;min-width:200px;transform:translateX(-50%);width:200px}.remove-project-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:20px;justify-content:center;line-height:1;margin:0;opacity:0;padding:0;transition:all .2s ease;visibility:hidden;width:20px}.project-item-wrapper:hover .remove-project-btn{opacity:1;visibility:visible}.remove-project-btn:hover{background:#dc2626;transform:scale(1.1)}.add-more-btn{align-items:center!important;background:#0000!important;border:1px solid #d1d5db!important;border-radius:50%!important;box-shadow:none!important;color:#9ca3af!important;display:flex!important;font-size:20px!important;height:32px!important;justify-content:center!important;line-height:1!important;max-width:32px!important;min-width:32px!important;padding:0!important;position:relative!important;width:32px!important}.add-more-btn:after{display:none!important}.add-more-btn span{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.add-more-btn:hover{background:#f9fafb!important;border-color:#9ca3af!important;box-shadow:none!important;color:#6b7280!important;transform:scale(1.05)}.add-more-btn:active{transform:scale(.95)}.schedule-table.editable .personnel-cell{word-wrap:break-word;max-width:300px;min-width:200px;overflow-wrap:break-word;word-break:break-word}.team-option{font-weight:600!important}.team-divider{background:#e5e7eb;height:1px;margin:8px 0}.team-divider-inline{background:#e5e7eb;height:1px;margin:12px 0 8px;width:100%}.team-member-option{padding:8px 14px 8px 28px}.team-member-name-dropdown{align-items:center;color:#1f2937;display:inline-flex;font-size:14px;font-weight:500;gap:6px}.no-members{color:#9ca3af;font-size:13px;font-style:italic}.schedule-table.editable .lorry-cell{min-width:100px;text-align:center}.schedule-table.editable .driver-site-cell{color:#1a1a1a;font-weight:600;min-width:120px;position:relative;text-align:center}.schedule-table.editable .actions-header{max-width:40px;min-width:40px;padding:12px 4px;text-align:center;width:40px}.schedule-table.editable .row-actions-cell{max-width:40px;min-width:40px;padding:8px 4px;text-align:center;width:40px}.remove-row-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;line-height:1;opacity:.7;padding:0;transition:all .2s ease;width:28px}.remove-row-btn:hover{background:#dc2626;opacity:1;transform:scale(1.1)}.remove-row-btn:active{transform:scale(.95)}.driver-cell-trigger{background:#0000!important;border:none!important;box-shadow:none!important;color:#1a1a1a!important;font-weight:600!important;padding:4px 8px!important;text-align:center!important;width:100%!important}.driver-cell-trigger:hover{background:#0000000d!important}.schedule-table.editable .actions-cell{min-width:120px;text-align:center}.team-members-display-table{display:flex;flex-direction:column;gap:4px}.team-member-name-table{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#1a1a1a;display:inline-flex;font-size:14px;font-weight:600;gap:4px;padding:4px 8px;position:relative}.team-member-with-remove{align-items:center!important;display:inline-flex!important;padding-right:28px!important;position:relative!important;width:auto}.team-member-with-remove .member-name-content{align-items:center;display:inline-flex;gap:4px}.team-member-with-remove .remove-member-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:18px;justify-content:center;line-height:1;margin:0;opacity:0;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:all .2s ease;visibility:hidden;width:18px;z-index:10}.team-member-with-remove:hover .remove-member-btn{opacity:1!important;visibility:visible!important}.team-member-with-remove .remove-member-btn:hover{background:#dc2626;transform:translateY(-50%) scale(1.15)}.team-member-with-remove .remove-member-btn:active{transform:translateY(-50%) scale(.9)}.team-member-name-table.drag-over-member{background:#dbeafe!important;border-color:#3b82f6!important;box-shadow:0 2px 8px #3b82f64d;transform:scale(1.05);transition:all .2s ease}.draggable-worker{cursor:move;transition:all .2s ease;-webkit-user-select:none;user-select:none}.draggable-worker:hover{background:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.draggable-worker:active{cursor:grabbing;opacity:.7}.personnel-cell.drag-over{background:#eff6ff;border:2px dashed #3b82f6;border-radius:8px;position:relative}.personnel-cell.drag-over:before{animation:pulse 1.5s ease-in-out infinite;background:#3b82f6e6;border-radius:8px;color:#fff;content:"Drop here";font-size:14px;font-weight:600;left:50%;padding:8px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}@keyframes pulse{0%,to{opacity:.9;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.no-members-text{color:#9ca3af;font-size:13px;font-style:italic;padding:4px 0}.table-row-actions{gap:8px;justify-content:center}.entry-color-selector-table,.table-row-actions{align-items:center;display:flex}.entry-color-selector-table .color-options{display:flex;flex-wrap:wrap;gap:4px}.entry-color-selector-table .color-option{border:2px solid #0000;border-radius:4px;box-shadow:0 1px 2px #0000001a;cursor:pointer;height:20px;padding:0;transition:all .2s ease;width:20px}.entry-color-selector-table .color-option:hover{transform:scale(1.1)}.entry-color-selector-table .color-option.selected{border-color:#1a1a1a;box-shadow:0 0 0 2px #fff,0 0 0 3px #1a1a1a}.remove-entry-btn-table{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.remove-entry-btn-table:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.builder-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.builder-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.builder-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.copy-previous-btn{background:linear-gradient(135deg,#a855f7,#9333ea);border:none;border-radius:8px;box-shadow:0 2px 4px #a855f733;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.copy-previous-btn:hover{box-shadow:0 4px 8px #a855f74d;transform:translateY(-2px)}.add-entry-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.add-entry-btn:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.empty-builder{color:#6b7280;padding:40px 20px;text-align:center}.empty-builder p{font-size:16px;margin:0}.entries-list{display:flex;flex-direction:column;gap:16px}.schedule-entry-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;min-height:200px;padding:20px;position:relative;transition:all .2s ease}.schedule-entry-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.entry-color-selector{align-items:center;display:flex;gap:8px}.color-selector-label{color:#6b7280;font-size:13px;font-weight:600}.color-options{align-items:center;display:flex;gap:6px}.color-option{border:2px solid #0000;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:24px;padding:0;transition:all .2s ease;width:24px}.color-option:hover{box-shadow:0 2px 6px #00000026;transform:scale(1.1)}.color-option.selected{border-color:#1a1a1a;box-shadow:0 0 0 2px #fff,0 0 0 4px #1a1a1a;transform:scale(1.1)}.entry-number{color:#6b7280;font-size:14px;font-weight:600}.remove-entry-btn{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:24px;justify-content:center;opacity:0;transition:all .2s ease;width:24px}.schedule-entry-card:hover .remove-entry-btn{opacity:1}.remove-entry-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.entry-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label{color:#374151;font-size:13px;font-weight:600}.custom-dropdown{position:relative;width:100%;z-index:1}.custom-dropdown.open{z-index:1001}.custom-dropdown-trigger{align-items:center;background:linear-gradient(135deg,#818cf82e,#6366f10d);border:2px solid #e0e7ff;border-radius:16px;box-shadow:inset 0 1px 0 #fff9;color:#1f2937;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:flex-start;padding:12px 44px 12px 16px;position:relative;text-align:left;transition:all .2s ease;width:100%}.custom-dropdown-trigger:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='none' stroke='%235256CD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m2.5 4.5 3.5 3 3.5-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";height:12px;pointer-events:none;position:absolute;right:18px;width:12px}.custom-dropdown-trigger:hover{background:linear-gradient(135deg,#818cf84d,#6366f11f);border-color:#818cf8}.custom-dropdown.open .custom-dropdown-trigger{background:linear-gradient(135deg,#6366f133,#818cf81f);border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.custom-dropdown-trigger.has-selection{color:#312e81}.custom-dropdown-trigger:disabled{background:linear-gradient(135deg,#f3f4f680,#e5e7eb4d);border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.6}.custom-dropdown-menu{background:#fff;border:1px solid #6366f11f;border-radius:18px;box-shadow:0 18px 45px #4f46e52e;left:0;max-height:300px;overflow-y:auto;padding:8px;position:absolute;top:calc(100% + 10px);width:100%;z-index:1000}.team-members-dropdown{max-height:none!important;overflow-x:visible!important;overflow-y:visible!important}.driver-dropdown-menu{min-width:250px}.driver-dropdown-header{align-items:center;border-bottom:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;font-weight:600;justify-content:flex-start;margin-bottom:4px;padding:8px 12px}.driver-color-picker-inline{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:8px 12px}.color-picker-label{color:#6b7280;font-size:12px;font-weight:500;white-space:nowrap}.color-picker-options-inline{display:flex;flex-wrap:wrap;gap:6px}.color-option-inline{border:2px solid #0000;border-radius:4px;box-shadow:0 1px 2px #0000001a;cursor:pointer;height:20px;padding:0;transition:all .2s ease;width:20px}.color-option-inline:hover{box-shadow:0 2px 4px #00000026;transform:scale(1.15)}.color-option-inline.selected{border-color:#1a1a1a;box-shadow:0 0 0 2px #fff,0 0 0 4px #1a1a1a;transform:scale(1.15)}.driver-option-wrapper{min-height:48px;position:relative;width:100%}.color-picker-container{z-index:10}.color-picker-container,.color-picker-trigger{flex-shrink:0;pointer-events:auto;position:relative}.color-picker-trigger{border:2px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:24px;padding:0;transform:translateZ(0);transition:transform .15s ease,border-color .15s ease;width:24px;will-change:transform;z-index:11}.color-picker-trigger:hover{border-color:#6366f1;transform:scale(1.1)}.color-picker-menu{grid-gap:6px;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #00000026;box-sizing:border-box;display:grid;gap:6px;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,1fr);height:100px;overflow:hidden;padding:8px;pointer-events:auto;position:fixed;transform:translateZ(0);width:190px;will-change:transform,opacity;z-index:100000}.color-picker-menu .color-option{border:2px solid #0000;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:24px;opacity:1!important;padding:0;pointer-events:auto;position:relative;transform:translateZ(0);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;width:24px;will-change:transform;z-index:10001}.color-picker-menu .color-option.white-color{border:1px solid #d1d5db}.color-picker-menu .color-option:hover{box-shadow:0 2px 6px #00000026;transform:scale(1.1)}.color-picker-menu .color-option.selected{border-color:#1a1a1a;box-shadow:0 0 0 2px #fff,0 0 0 4px #1a1a1a;transform:scale(1.1)}.custom-dropdown-option{align-items:center;background:#0000;border:none;border-radius:12px;color:#1f2937;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:space-between;padding:12px 14px;position:relative;text-align:left;transition:all .2s ease;width:100%;z-index:1}.custom-dropdown-option:hover:not(.hidden){background:#6366f114;transform:translateX(4px)}.custom-dropdown-option.hidden{pointer-events:none;visibility:hidden}.custom-dropdown-option.selected{background:linear-gradient(135deg,#818cf859,#6366f133);color:#312e81}.custom-dropdown-option.placeholder{color:#4b5563}.custom-dropdown-option.placeholder.selected{color:#312e81}.custom-dropdown-check{color:#4338ca;font-size:16px}.field-select{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#818cf82e,#6366f10d);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='none' stroke='%235256CD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m2.5 4.5 3.5 3 3.5-3'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border:2px solid #e0e7ff;border-radius:16px;box-shadow:inset 0 1px 0 #fff9;color:#1f2937;cursor:pointer;font-size:14px;font-weight:600;padding:12px 44px 12px 16px;position:relative;transition:all .2s ease;width:100%}.team-members-display{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:40px;padding:8px;transition:all .2s ease}.team-members-display.drag-over{background:#eff6ff;border-color:#3b82f6;border-width:2px}.team-member-name{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:16px;color:#1a1a1a;display:inline-flex;font-size:13px;gap:4px;padding:4px 10px}.team-member-name.draggable-worker{cursor:move;transition:all .2s ease}.team-member-name.draggable-worker:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f633;transform:translateY(-1px)}.team-member-name.draggable-worker:active{cursor:grabbing;opacity:.7}.carpenter-indicator,.driver-indicator{font-size:12px;margin-left:2px}.export-preview{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:32px}.preview-header{border-bottom:3px solid #1a1a1a;margin-bottom:24px;padding-bottom:16px;text-align:center}.preview-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.schedule-table{border-collapse:collapse;margin-top:20px;width:100%}.schedule-table thead{background:#f9fafb;border-bottom:2px solid #1a1a1a}.schedule-table th{border:1px solid #e5e7eb;color:#1a1a1a;font-size:14px;font-weight:700;padding:12px 16px;text-align:left}.schedule-table th.driver-header{position:relative;text-align:center}.driver-subheaders{border-top:1px solid #d1d5db;display:flex;font-size:13px;font-weight:600;justify-content:space-around;margin-top:8px;padding-top:8px}.driver-subheaders span{flex:1 1;text-align:center}.schedule-table td{border:1px solid #e5e7eb;color:#1a1a1a;font-size:14px;padding:12px 16px}.schedule-table tbody tr{background:#fff}.schedule-table tbody tr:nth-child(2n){background:#f9fafb}.location-cell{font-weight:500;min-width:200px}.personnel-cell{min-width:180px}.lorry-cell{min-width:100px}.driver-site-cell,.lorry-cell{font-weight:600;text-align:center}.driver-site-cell{color:#1a1a1a;min-width:120px}@media (max-width:768px){.daily-transport-container{padding:16px}.daily-transport-header{align-items:flex-start;flex-direction:column}.header-actions{flex-wrap:wrap;margin-left:0;width:100%}.entry-fields{grid-template-columns:1fr}.export-preview{padding:20px}.daily-transport-container{padding:16px}.daily-transport-header{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.header-content h1{font-size:24px}.header-subtitle{font-size:14px}.header-actions{flex-direction:column;gap:10px;margin-left:0;width:100%}.date-input-group{flex-direction:column;gap:8px;width:100%}.date-input,.today-btn{padding:10px;width:100%}.export-btn{font-size:13px;padding:10px 16px;width:100%}.schedule-builder{margin-bottom:20px;padding:16px}.schedule-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-table.editable{font-size:12px;min-width:800px}.schedule-table.editable td,.schedule-table.editable th{padding:8px 6px}.custom-dropdown-trigger{font-size:12px;padding:6px 10px}.custom-dropdown-menu{font-size:12px;max-width:200px}.custom-dropdown-option{font-size:12px;padding:8px 12px}.color-picker-menu{gap:4px;height:80px;padding:6px;width:152px}.color-picker-menu .color-option{height:20px;width:20px}.available-members-section{margin-top:16px;padding:16px}.available-members-title{font-size:16px}.available-member-item{font-size:12px;padding:5px 10px}.schedule-entry-card{min-height:150px;padding:16px}.entry-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:12px}.entry-fields{gap:12px;grid-template-columns:1fr}.field-group{align-items:flex-start;flex-direction:column;gap:6px}.field-label{font-size:12px}.export-preview{padding:16px}.export-preview h2{font-size:18px}}@media (max-width:480px){.daily-transport-container{padding:12px}.header-content h1{font-size:20px}.header-subtitle{font-size:12px}.schedule-table.editable{font-size:11px;min-width:700px}.schedule-table.editable td,.schedule-table.editable th{padding:6px 4px}.custom-dropdown-trigger{font-size:11px;padding:5px 8px}.color-picker-menu{gap:3px;height:70px;padding:5px;width:133px}.color-picker-menu .color-option{height:18px;width:18px}.available-member-item{font-size:11px;padding:4px 8px}.schedule-entry-card{padding:12px}}.defect-tracker-container{background:#f5f7fa;min-height:100vh;padding:32px}.defect-tracker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.defect-tracker-header h1{color:#1a1a1a;font-size:36px;font-weight:700;margin:0}.header-left{align-items:center;display:flex;gap:16px}.back-btn{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.back-btn:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateX(-2px)}.create-defect-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.create-defect-btn:hover{box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.create-defect-btn:active{transform:translateY(0)}.loading-state{color:#6b7280;font-size:18px;padding:64px;text-align:center}.projects-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;padding:24px}.projects-section h2{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 20px}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:none;overflow:visible}.projects-grid.expanded{max-height:600px;overflow-y:auto;padding-right:8px}.projects-grid.expanded::-webkit-scrollbar{width:8px}.projects-grid.expanded::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.projects-grid.expanded::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.projects-grid.expanded::-webkit-scrollbar-thumb:hover{background:#94a3b8}.show-more-container{display:flex;justify-content:center;margin-top:20px}.show-more-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.show-more-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.show-more-btn:active{transform:translateY(0)}.project-tile{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:20px;transition:all .2s ease}.project-tile:hover{border-color:#3b82f6;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.project-name{color:#1a1a1a;font-size:18px;font-weight:600;margin-bottom:8px}.project-location{color:#6b7280;font-size:14px;margin-bottom:4px}.project-client{color:#9ca3af;font-size:12px;margin-top:8px}.recently-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.recently-section h2{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 20px}.defect-lists-table{border-collapse:collapse;width:100%}.defect-lists-table thead{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.defect-lists-table th{font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.defect-lists-table td{border-bottom:1px solid #e5e7eb;color:#1a1a1a;font-size:14px;padding:12px 16px}.defect-lists-table tbody tr:hover{background:#f9fafb}.defect-lists-table tbody tr:last-child td{border-bottom:none}.actions-cell{display:flex;gap:8px}.delete-btn,.edit-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:4px 8px;transition:all .2s ease}.edit-btn:hover{background:#eff6ff;transform:scale(1.1)}.delete-btn:hover{background:#fef2f2;transform:scale(1.1)}.empty-state{color:#9ca3af;font-size:16px;padding:48px;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:32px;width:90%}.modal-content h3{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 24px}.modal-form{gap:20px}.form-group,.modal-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input,.form-group select{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover{background:#e5e7eb}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.save-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.defect-list-row{cursor:pointer;transition:background-color .2s ease}.defect-list-row:hover{background:#f3f4f6}.defect-entries-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.defect-entries-section h2{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 20px}.defect-entries-table{border-collapse:collapse;width:100%}.defect-entries-table thead{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.defect-entries-table th{font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.defect-entries-table td{border-bottom:1px solid #e5e7eb;padding:16px;vertical-align:top}.defect-entries-table tbody tr:last-child td{border-bottom:none}.images-cell{width:200px}.main-image-container{cursor:move;display:flex;flex-direction:column;gap:8px;position:relative}.main-image-container[draggable=true]{cursor:grab}.main-image-container[draggable=true]:active{cursor:grabbing}.drag-hint{background:#000000b3;border-radius:4px;bottom:4px;color:#fff;font-size:10px;left:4px;opacity:0;padding:4px 8px;position:absolute;right:4px;text-align:center;transition:opacity .2s ease}.main-image-container:hover .drag-hint{opacity:1}.main-image{height:auto;object-fit:cover}.main-image,.main-image video{border-radius:8px;max-height:200px;max-width:180px;width:100%}.description-cell{min-width:300px}.description-content{border-radius:4px;cursor:pointer;padding:8px;transition:background-color .2s ease}.description-content:hover{background:#f9fafb}.location-text{color:#1a1a1a;font-weight:600;margin-bottom:4px}.description-text{color:#6b7280;font-size:14px}.placeholder-text{color:#9ca3af;font-size:14px;font-style:italic}.edit-form{display:flex;flex-direction:column;gap:8px}.description-textarea,.location-input,.who-input{border:2px solid #e5e7eb;border-radius:6px;font-family:inherit;font-size:14px;padding:8px;width:100%}.description-textarea:focus,.location-input:focus,.who-input:focus{border-color:#3b82f6;outline:none}.description-textarea{min-height:60px;resize:vertical}.edit-actions{display:flex;gap:8px;margin-top:4px}.cancel-entry-btn,.save-entry-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.save-entry-btn{background:#3b82f6;color:#fff}.save-entry-btn:hover{background:#2563eb}.cancel-entry-btn{background:#f3f4f6;color:#374151}.cancel-entry-btn:hover{background:#e5e7eb}.who-in-charge-cell{min-width:150px}.who-content{border-radius:4px;cursor:pointer;padding:8px;transition:background-color .2s ease}.who-content:hover{background:#f9fafb}.additional-images-cell{width:250px}.additional-images-grid{grid-gap:8px;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);min-height:100px;padding:8px;transition:all .2s ease}.additional-images-grid.drag-over{background:#eff6ff;border-color:#3b82f6;border-style:solid}.additional-image-item{aspect-ratio:1;border-radius:6px;cursor:move;overflow:hidden;position:relative;width:100%}.additional-image-item[draggable=true]{cursor:grab}.additional-image-item[draggable=true]:active{cursor:grabbing}.remove-additional-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;opacity:0;position:absolute;right:2px;top:2px;transition:all .2s ease;width:20px}.additional-image-item:hover .remove-additional-btn{opacity:1}.remove-additional-btn:hover{background:#dc2626;transform:scale(1.1)}.additional-image,.additional-image video{height:100%;object-fit:cover;width:100%}.image-upload-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.image-upload-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.image-upload-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.image-upload-header h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.close-modal-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px 8px;transition:all .2s ease}.close-modal-btn:hover{background:#f3f4f6;color:#1a1a1a}.image-upload-content{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.defect-name-input-group{display:flex;flex-direction:column;gap:8px}.defect-name-input-group label{color:#374151;font-size:14px;font-weight:500}.defect-name-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.defect-name-input:focus{border-color:#3b82f6;outline:none}@media (max-width:768px){.defect-tracker-container{padding:16px}.defect-tracker-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.defect-tracker-header h1{font-size:24px}.header-left{flex-wrap:wrap;width:100%}.back-btn{font-size:13px;padding:6px 12px}.create-defect-btn{font-size:14px;padding:10px 20px;width:100%}.projects-section,.recently-section{margin-bottom:20px;padding:16px}.projects-section h2,.recently-section h2{font-size:20px;margin-bottom:16px}.projects-grid{gap:12px;grid-template-columns:1fr}.project-tile{padding:16px}.project-name{font-size:16px}.defect-lists-table{font-size:14px}.defect-lists-table td,.defect-lists-table th{padding:8px 6px}.defect-lists-table td:first-child,.defect-lists-table th:first-child{min-width:120px}.defect-lists-table td:nth-child(2),.defect-lists-table th:nth-child(2){min-width:100px}.defect-entries-section{padding:16px}.defect-entries-section h2{font-size:20px;margin-bottom:16px}.defect-entries-table{font-size:12px}.defect-entries-table td,.defect-entries-table th{padding:8px 4px}.additional-images-cell,.main-image-cell{min-width:80px}.main-image-cell img,.main-image-cell video{height:60px;width:60px}.additional-image-item{height:50px;width:50px}.location-input,.who-in-charge-input{font-size:12px;padding:6px}.image-upload-modal{max-height:90vh;max-width:100%;padding:16px;width:95%}.image-upload-header h3{font-size:18px}.defect-name-input-group{margin-bottom:12px}.defect-name-input{font-size:14px;padding:10px}.upload-area{padding:40px 20px}.upload-placeholder-content{gap:12px}.upload-icon{font-size:3rem}.images-preview-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:250px}.image-preview-item{height:100px;width:100px}.preview-media{height:100%;width:100%}.upload-actions{flex-direction:column;gap:10px}.add-more-btn,.submit-defects-btn{font-size:14px;padding:10px;width:100%}.modal-overlay{padding:16px}.modal-content{max-width:100%;padding:20px;width:95%}.modal-content h3{font-size:18px}.form-group{margin-bottom:16px}.form-group label{font-size:14px}.form-group input,.form-group select{font-size:14px;padding:10px}.modal-actions{flex-direction:column;gap:10px}.cancel-btn,.save-btn{padding:10px;width:100%}.actions-cell{display:flex;gap:8px}.delete-btn,.edit-btn{font-size:14px;padding:4px 8px}}@media (max-width:480px){.defect-tracker-container{padding:12px}.defect-tracker-header h1{font-size:20px}.defect-entries-section h2,.projects-section h2,.recently-section h2{font-size:18px}.defect-lists-table{font-size:12px}.defect-entries-table,.defect-lists-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.defect-entries-table{font-size:11px}.defect-entries-table td,.defect-entries-table th{padding:6px 3px}.main-image-cell img,.main-image-cell video{height:50px;width:50px}.additional-image-item{height:40px;width:40px}.images-preview-grid{gap:6px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.image-preview-item{height:80px;width:80px}}.upload-area{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:block;display:flex;justify-content:center;min-height:300px;transition:all .2s ease;width:100%}.upload-area:hover{background:#eff6ff;border-color:#3b82f6}.upload-placeholder-content{color:#6b7280;text-align:center}.upload-icon{display:block;font-size:48px;margin-bottom:12px}.upload-placeholder-content p{font-size:16px;margin:4px 0}.upload-hint{color:#9ca3af;font-size:14px}.images-preview-container{display:flex;flex-direction:column;gap:16px}.images-preview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:400px;overflow-y:auto;padding:8px}.image-preview-item{aspect-ratio:1;border:2px solid #e5e7eb;border-radius:8px;cursor:move;overflow:hidden;position:relative;transition:all .2s ease}.image-preview-item:hover{border-color:#3b82f6;transform:scale(1.05)}.image-preview-item.dragging{opacity:.5}.image-preview-item.drag-over{background:#eff6ff;border-color:#3b82f6;border-style:dashed}.preview-media,.preview-media video{height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .2s ease;width:24px}.remove-image-btn:hover{background:#dc2626;transform:scale(1.1)}.image-number{background:#000000b3;border-radius:4px;bottom:4px;color:#fff;font-size:12px;font-weight:600;left:4px;padding:2px 6px;position:absolute}.upload-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.add-more-btn{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.add-more-btn:hover{background:#e5e7eb;border-color:#d1d5db}.submit-defects-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.submit-defects-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}
/*# sourceMappingURL=main.44eedf7f.css.map*/