:root{--surface-0:#111827;--surface-1:#1f2937;--surface-2:#374151;--surface-3:#4b5563;--border-0:#111827;--border-1:#1f2937;--border-2:#374151;--border-3:#4b5563;--text-0:#f9fafb;--text-1:#f3f4f6;--text-2:#d1d5db;--text-3:#9ca3af;--text-4:#6b7280;--text-5:#4b5563;--bg-1:var(--surface-0);--bg-2:var(--surface-1);--bg-3:var(--surface-2);--accent-blue:#3b82f6;--accent-blue-hover:#2563eb;--accent-blue-light:#60a5fa;--accent-blue-lighter:#93c5fd;--accent-blue-dark:#1d4ed8;--accent-blue-darkest:#1e40af;--accent-green:#4ade80;--accent-green-dark:#22c55e;--accent-green-light:#86efac;--accent-red:#f87171;--accent-red-dark:#ef4444;--accent-red-light:#fca5a5;--accent-red-bg:#7f1d1d;--accent-red-bg-hover:#991b1b;--accent-yellow:#fbbf24;--accent-amber:#f59e0b;--accent-purple:#a78bfa;--accent-purple-dark:#8b5cf6;--accent-cyan:#06b6d4;--shadow-sm:#0000004d;--shadow-md:#0006;--shadow-lg:#00000080;--overlay:#000000bf;--overlay-light:#00000080;--gradient-header:linear-gradient(90deg,#374151,#4b5563);--scrollbar-track:#1f2937;--scrollbar-thumb:#374151;--scrollbar-thumb-hover:#4b5563}[data-theme=light]{--surface-0:#f3f4f6;--surface-1:#fff;--surface-2:#f9fafb;--surface-3:#e5e7eb;--border-0:#f3f4f6;--border-1:#e5e7eb;--border-2:#d1d5db;--border-3:#9ca3af;--text-0:#111827;--text-1:#1f2937;--text-2:#374151;--text-3:#6b7280;--text-4:#9ca3af;--text-5:#d1d5db;--bg-1:var(--surface-0);--bg-2:var(--surface-1);--bg-3:var(--surface-2);--accent-blue:#2563eb;--accent-blue-hover:#1d4ed8;--accent-blue-light:#3b82f6;--accent-blue-lighter:#60a5fa;--accent-blue-dark:#1d4ed8;--accent-blue-darkest:#1e40af;--accent-green:#16a34a;--accent-green-dark:#15803d;--accent-green-light:#22c55e;--accent-red:#ef4444;--accent-red-dark:#dc2626;--accent-red-light:#f87171;--accent-red-bg:#fef2f2;--accent-red-bg-hover:#fee2e2;--accent-yellow:#d97706;--accent-amber:#b45309;--accent-purple:#7c3aed;--accent-purple-dark:#6d28d9;--accent-cyan:#0891b2;--shadow-sm:#0000000f;--shadow-md:#0000001a;--shadow-lg:#00000026;--overlay:#0006;--overlay-light:#00000040;--gradient-header:linear-gradient(90deg,#e5e7eb,#d1d5db);--scrollbar-track:#e5e7eb;--scrollbar-thumb:#9ca3af;--scrollbar-thumb-hover:#6b7280}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text-accent-green{color:#4ade80;color:var(--accent-green)}.text-accent-red{color:#f87171;color:var(--accent-red)}.text-accent-amber{color:#f59e0b;color:var(--accent-amber)}.text-accent-blue{color:#3b82f6;color:var(--accent-blue)}.text-muted{color:#9ca3af;color:var(--text-3)}.text-center{text-align:center}.text-muted-center{color:#9ca3af;color:var(--text-3);text-align:center}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1.25rem}.ml-auto{margin-left:auto}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ws-priority-text{color:#9ca3af;color:var(--text-3)}.login-overlay{align-items:center;background:linear-gradient(135deg,var(--surface-1) 0,var(--surface-0) 100%);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:9999}.login-container{max-width:450px;padding:1rem;width:100%}.login-form{background:var(--surface-1);border:1px solid var(--border-2);border-radius:16px;box-shadow:0 20px 25px -5px var(--shadow-lg),0 10px 10px -5px var(--shadow-md);overflow:hidden}.login-header{background:var(--gradient-header);border-bottom:1px solid var(--border-3);padding:2rem 2rem 1rem;text-align:center}.login-icon{color:var(--accent-blue-light);display:flex;justify-content:center;margin-bottom:1rem}.login-header h2{color:var(--text-0);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.login-header p{color:var(--text-2);font-size:.875rem;margin:0}.demo-credentials{background:var(--surface-2);border:1px solid var(--border-3);border-radius:8px;color:var(--text-2);font-size:13px;margin:1rem 2rem;padding:12px 16px}.login-form-content{background:var(--surface-1);padding:2rem}.input-group{margin-bottom:1.5rem}.input-group label{color:var(--text-2);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.input-group input{background-color:var(--surface-2);border:2px solid var(--border-3);border-radius:8px;box-sizing:border-box;color:var(--text-0);font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.input-group input:focus{background-color:var(--surface-3);border-color:var(--accent-blue-light);box-shadow:0 0 0 3px #60a5fa1a;outline:none}.input-group input::placeholder{color:var(--text-3)}.input-group input:disabled{background:var(--surface-2);cursor:not-allowed;opacity:.6}.error-message{align-items:center;background-color:var(--accent-red-bg);border:1px solid var(--accent-red);border-radius:8px;color:var(--accent-red-light);display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.login-button{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-dark) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.025em;margin-top:1rem;padding:.875rem 1.5rem;text-transform:uppercase;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-blue-hover) 0,var(--accent-blue-darkest) 100%);box-shadow:0 10px 15px -3px var(--shadow-sm);transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{background-color:var(--surface-1);border-top:1px solid var(--border-2);padding:1.5rem 2rem;text-align:center}.login-footer p{color:var(--text-4);font-size:.75rem;margin:0}.auth-switch-link{color:var(--text-3);font-size:.85rem;margin-top:1.25rem;text-align:center}.auth-text-btn{background:none;border:none;color:var(--accent-blue-light);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-text-btn:hover{color:var(--accent-blue-hover)}.register-success{padding:1.5rem 0;text-align:center}.register-success-icon{align-items:center;background:#22c55e26;border-radius:50%;color:var(--accent-green);display:inline-flex;font-size:1.75rem;font-weight:700;height:56px;justify-content:center;margin-bottom:1rem;width:56px}.register-success-title{color:var(--text-0);font-size:1rem;font-weight:600;margin:0 0 .5rem}.register-success-sub{color:var(--text-3);font-size:.85rem;line-height:1.5;margin:0 0 1.5rem}.sidebar{background-color:var(--surface-0);border-right:1px solid var(--border-1);display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:1000}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{background:var(--overlay-light);height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:999}.sidebar-backdrop.visible{opacity:1;visibility:visible}@media (max-width:480px){.sidebar{width:260px}}.sidebar-header{border-bottom:1px solid var(--border-1);padding:20px 16px 16px}.sidebar-title{color:var(--text-1);font-size:17px;font-weight:700;letter-spacing:-.3px;margin:0 0 16px}.user-profile-card{align-items:center;background:var(--surface-1);border-radius:10px;display:flex;gap:10px;padding:10px 12px}.user-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.user-details{flex:1 1;min-width:0}.user-name{color:var(--text-1);font-size:13px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;margin-top:2px;padding:2px 6px}.user-role.pm{background:#3b82f626;color:var(--accent-blue-light)}.user-role.technician{background:#22c55e26;color:var(--accent-green)}.user-role.helper{background:#a855f726;color:#a855f7}.user-role.electrician{background:#f59e0b26;color:#f59e0b}.user-role.mechanic{background:#ef444426;color:#ef4444}.logout-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-4);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .2s}.logout-btn:hover{background:#ef44441a;color:var(--accent-red)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:12px 0}.nav-department{margin:0 8px 8px}.department-toggle{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-3);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:10px;letter-spacing:.8px;padding:8px 10px;text-transform:uppercase;transition:all .2s;width:100%}.department-toggle:hover{background:#ffffff08;color:var(--text-2)}.department-toggle .chevron{margin-left:auto;transition:transform .2s}.department-toggle .chevron.open{transform:rotate(90deg)}.nav-list{list-style:none;margin:4px 0 0;padding:0}.nav-list li{margin-bottom:2px}.nav-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-3);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px 10px 20px;text-align:left;transition:all .15s;width:100%}.nav-button:hover{background:#ffffff0d;color:var(--text-1)}.nav-button.active{background:#3b82f61a;color:var(--accent-blue-light);font-weight:600}.nav-button.active svg{stroke:var(--accent-blue-light)}.nav-button svg{flex-shrink:0}.nav-settings-section{border-top:1px solid var(--border-1);margin:0 8px;padding-top:12px}.nav-settings-section .nav-button{width:100%}.sidebar-footer{border-top:1px solid var(--border-1);padding:16px}.theme-toggle-btn{align-items:center;background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;color:var(--text-3);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;padding:.55rem .75rem;transition:all .2s;width:100%}.theme-toggle-btn:hover{background:var(--surface-2);color:var(--text-0)}.gantt-container{width:100%}.gantt-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.gantt-filter-select{background:var(--surface-0);border:1px solid var(--border-2);border-radius:6px;color:var(--text-1);font-size:.8rem;padding:.35rem .6rem}.gantt-task-count{color:var(--text-4);font-size:.78rem}.gantt-expand-btn{background:var(--surface-1);border:1px solid var(--border-2);border-radius:6px;color:var(--text-3);cursor:pointer;font-size:.75rem;padding:.3rem .6rem;transition:all .15s}.gantt-expand-btn:hover{background:var(--surface-2);color:var(--text-0)}.gantt-export-btn{background:var(--surface-1);border:1px solid var(--border-2);border-radius:6px;color:var(--text-2);cursor:pointer;font-size:.8rem;margin-left:auto;padding:.35rem .75rem;transition:all .15s}.gantt-export-btn:hover{background:var(--surface-2);color:var(--text-0)}.gantt-chart{background:var(--surface-0);border:1px solid var(--border-2);border-radius:8px;display:flex;max-height:600px;overflow:hidden}.gantt-task-list{border-right:2px solid var(--border-2);display:flex;flex-direction:column;flex-shrink:0;min-width:240px;width:240px}.gantt-task-list-header{align-items:center;background:var(--surface-1);border-bottom:1px solid var(--border-2);color:var(--text-3);display:flex;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:0 .75rem;text-transform:uppercase}.gantt-task-list-body{flex:1 1;overflow-y:hidden}.gantt-task-row{align-items:center;border-bottom:1px solid var(--border-0);cursor:pointer;display:flex;overflow:hidden;padding:0 .5rem;transition:background .12s}.gantt-task-row:hover{background:#3b82f60a}.gantt-row-content{align-items:center;display:flex;gap:5px;overflow:hidden;width:100%}.gantt-indent-0{padding-left:4px}.gantt-indent-1{padding-left:20px}.gantt-indent-2{padding-left:36px}.gantt-indent-3{padding-left:48px}.gantt-row-zone{background:#3b82f608}.gantt-row-zone:hover{background:#3b82f60f}.gantt-row-section{background:#ffffff03}.gantt-row-element{background:#ffffff05}.gantt-group-chevron{color:var(--text-4);flex-shrink:0;font-size:.9rem;font-weight:700;transition:transform .15s;width:14px}.gantt-group-chevron.open{transform:rotate(90deg)}.gantt-group-code{color:var(--accent-blue-light);flex-shrink:0;font-family:monospace;font-size:.68rem;font-weight:600}.gantt-group-name{color:var(--text-1);font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-group-count{color:var(--text-4);flex-shrink:0;font-size:.62rem}.gantt-task-code{color:var(--text-4);flex-shrink:0;font-family:monospace;font-size:.7rem}.gantt-task-name{color:var(--text-2);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-timeline-wrapper{flex:1 1;overflow-x:auto;overflow-y:auto}.gantt-timeline-header{background:var(--surface-1);border-bottom:1px solid var(--border-2);position:-webkit-sticky;position:sticky;top:0;z-index:2}.gantt-month-row{height:24px;position:relative}.gantt-month-cell{align-items:center;border-bottom:1px solid var(--border-0);border-right:1px solid var(--border-1);color:var(--text-2);display:flex;font-size:.7rem;font-weight:600;height:24px;justify-content:center;position:absolute;top:0}.gantt-day-row{height:24px;position:relative}.gantt-day-cell{align-items:center;border-right:1px solid var(--border-0);color:var(--text-4);display:flex;font-size:.6rem;height:24px;justify-content:center;position:absolute;top:0}.gantt-day-cell.weekend{background:#6b72800d;color:var(--text-4);color:var(--text-5,var(--text-4))}.gantt-timeline-body{min-height:100px;position:relative}.gantt-weekend-col{background:#6b728008;position:absolute;top:0}.gantt-today-marker{background:var(--accent-red);opacity:.7;position:absolute;top:0;width:2px;z-index:1}.gantt-bar{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:4px;overflow:hidden;padding:0 6px;position:absolute;transition:opacity .12s;z-index:1}.gantt-bar:hover{box-shadow:0 2px 6px #00000026;opacity:.85}.gantt-bar-text{color:#fff;font-size:.62rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-bar-assignee{color:#ffffffbf;font-size:.55rem;margin-left:auto;white-space:nowrap}.gantt-group-bar{border-radius:2px;position:absolute;z-index:0}.gantt-group-bar-zone{background:#3b82f640}.gantt-group-bar-section{background:#8b5cf633}.gantt-group-bar-element{background:#f59e0b33}.gantt-show-more{background:none;border:1px dashed var(--border-2);border-radius:6px;color:var(--accent-blue);cursor:pointer;display:block;font-size:.8rem;margin-top:.5rem;padding:.5rem;transition:background .15s;width:100%}.gantt-show-more:hover{background:#3b82f60a}.gantt-empty{color:var(--text-4);font-size:.85rem;padding:2rem;text-align:center}.gantt-export-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:900px){.gantt-task-list{min-width:180px;width:180px}.gantt-group-name,.gantt-task-name{font-size:.65rem}.gantt-group-code,.gantt-task-code{font-size:.6rem}.gantt-indent-1{padding-left:14px}.gantt-indent-2{padding-left:24px}.gantt-indent-3{padding-left:32px}}@media (max-width:600px){.gantt-chart{max-height:500px}.gantt-task-list{min-width:130px;width:130px}.gantt-task-row{padding:0 .3rem}.gantt-row-content{gap:3px}.gantt-group-name{font-size:.6rem}.gantt-group-code,.gantt-group-count{font-size:.55rem}.gantt-task-name{font-size:.6rem}.gantt-task-code{font-size:.55rem}.gantt-group-chevron{font-size:.75rem;width:10px}.gantt-indent-0{padding-left:2px}.gantt-indent-1{padding-left:10px}.gantt-indent-2{padding-left:18px}.gantt-indent-3{padding-left:24px}.gantt-controls{gap:.5rem}.gantt-expand-btn,.gantt-export-btn{font-size:.7rem;padding:.25rem .5rem}.gantt-bar-text{font-size:.55rem}}.dashboard-container{background-color:var(--surface-0);box-sizing:border-box;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem 1.5rem}.dashboard-title{color:var(--text-0);font-size:2.25rem;font-weight:700;margin-bottom:2rem;text-align:center}.project-header-card{background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.project-header-info{align-items:center;display:flex;gap:12px;margin-bottom:4px}.project-name{color:var(--text-0);font-size:1.25rem;font-weight:700;margin:0}.project-client{color:var(--text-3);font-size:.875rem;margin:0 0 16px}.project-progress-bar-container{margin-top:8px}.project-progress-label{color:var(--text-3);display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:6px}.project-progress-pct{color:var(--accent-blue-light);font-weight:700}.project-progress-track{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.project-progress-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:5px;height:100%;transition:width .5s ease}.priority-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;margin-bottom:1.25rem}.priority-grid.row-1{grid-template-columns:1fr}.priority-grid.row-2{grid-template-columns:repeat(2,1fr)}.priority-grid.row-3{grid-template-columns:repeat(3,1fr)}.priority-grid.row-4{grid-template-columns:repeat(4,1fr)}.priority-card{background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;border-top:3px solid #0000;padding:1.25rem}.priority-card.transit{border-top-color:var(--accent-blue)}.priority-card.ordered{border-top-color:var(--accent-amber)}.priority-card.problems{border-top-color:var(--accent-red-dark)}.priority-header{align-items:center;display:flex;gap:12px;margin-bottom:4px}.priority-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.priority-icon.transit{background:#3b82f626;color:var(--accent-blue-light)}.priority-icon.ordered{background:#f59e0b26;color:var(--accent-yellow)}.priority-icon.problems{background:#ef444426;color:var(--accent-red)}.priority-count{color:var(--text-0);display:block;font-size:1.5rem;font-weight:700;line-height:1.2}.priority-label{color:var(--text-3);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.dashboard-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.25rem}.dashboard-card{background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;padding:1.5rem}.dashboard-card.full-width{grid-column:1/-1}.problems-card{border-left:4px solid var(--accent-red)}.card-title{color:var(--text-0);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.card-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.card-header-row .card-title{margin:0}.view-all-btn{background:none;border:1px solid var(--border-2);border-radius:8px;color:var(--accent-blue-light);cursor:pointer;font-size:.85rem;padding:.4rem 1rem;transition:all .2s}.view-all-btn:hover{background:var(--surface-2);color:var(--accent-blue-lighter)}.status-list{display:flex;flex-direction:column;gap:.75rem}.status-row{gap:12px;justify-content:space-between}.status-badge-wrap,.status-row{align-items:center;display:flex}.status-badge-wrap{gap:.5rem;min-width:120px}.status-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.status-label{color:var(--text-2);font-size:.875rem}.status-bar-wrap{align-items:center;display:flex;flex:1 1;gap:8px}.status-count{background:var(--surface-2);border-radius:6px;color:var(--text-0);font-size:1rem;font-weight:700;min-width:28px;padding:.2rem .6rem;text-align:center}.payment-bar-track{background:var(--surface-2);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.payment-bar-fill{border-radius:4px;height:100%;transition:width .5s ease}.team-workload-list{display:flex;flex-direction:column;gap:12px}.team-workload-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.team-member-info{align-items:center;gap:10px;min-width:140px}.team-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.team-member-name{display:block;font-size:.85rem}.team-member-tasks{color:var(--text-4);display:block;font-size:.7rem}.team-progress-wrap{align-items:center;display:flex;flex:1 1;gap:8px}.team-progress-pct{color:var(--text-2);font-size:.8rem;font-weight:600;min-width:36px;text-align:right}.mini-order-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.mini-order-row{align-items:center;background:var(--surface-0);border-radius:6px;cursor:pointer;display:flex;gap:8px;overflow:hidden;padding:6px 8px;transition:background .15s}.mini-order-row:hover{background:var(--surface-2)}.mini-order-num{color:var(--accent-blue-light);flex-shrink:0;font-size:.8rem;font-weight:600;min-width:70px}.mini-order-supplier{color:var(--text-2);flex:1 1;font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrapper{overflow-x:auto}.orders-table{border-collapse:collapse;font-size:.875rem;width:100%}.orders-table th{border-bottom:1px solid var(--border-2);color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.orders-table td,.orders-table th{padding:.75rem 1rem;white-space:nowrap}.orders-table td{border-bottom:1px solid var(--border-1);color:var(--text-2)}.orders-table .clickable-row{cursor:pointer;transition:background .15s}.orders-table .clickable-row:hover{background:var(--surface-2)}.orders-table .order-number{color:var(--accent-blue-light);font-weight:600}.orders-table .amount{color:var(--text-0);font-weight:600}.orders-table .date-cell{color:var(--text-3);font-size:.8rem}.alerts-card{border-left:4px solid var(--accent-amber)}.alerts-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.alert-item{align-items:flex-start;background:var(--surface-0);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;position:relative;transition:background .15s}.alert-item:hover{background:var(--surface-2)}.alert-item.unread{background:#f59e0b0f;border-left:3px solid var(--accent-amber)}.alert-item-icon{align-items:center;background:#f59e0b1f;border-radius:50%;color:var(--accent-amber);display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:2px;width:28px}.alert-item-content{flex:1 1;min-width:0}.alert-item-title{color:var(--text-1);display:block;font-size:.85rem;font-weight:600}.alert-item-message{color:var(--text-3);display:block;font-size:.78rem;margin-top:2px}.alert-item-time{color:var(--text-4);display:block;font-size:.7rem;margin-top:4px}.alert-unread-badge{background:var(--accent-red);border-radius:9px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:700;height:18px;margin-left:6px;min-width:18px;padding:0 5px;vertical-align:middle}.alert-dismiss,.alert-unread-badge{align-items:center;justify-content:center}.alert-dismiss{background:var(--surface-2);border:none;border-radius:50%;color:var(--text-3);cursor:pointer;display:flex;font-size:1rem;height:22px;line-height:1;position:absolute;right:8px;top:8px;transition:all .15s;width:22px}.alert-dismiss:hover{background:var(--surface-3);color:var(--text-0)}@media (max-width:900px){.priority-grid.row-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.dashboard-container{padding:1rem .5rem}.dashboard-title{font-size:1.75rem}.dashboard-grid,.priority-grid.row-2,.priority-grid.row-3,.priority-grid.row-4{grid-template-columns:1fr}.team-workload-row{flex-wrap:wrap}.team-member-info{min-width:120px}.team-member-name{font-size:.78rem}.team-member-tasks{font-size:.65rem}.team-progress-wrap{min-width:100%}.status-row{flex-wrap:wrap;gap:6px}.status-badge-wrap{min-width:100px}.status-label{font-size:.78rem}.status-count{font-size:.85rem;padding:.15rem .5rem}.project-name{font-size:1.05rem}.project-header-info{flex-wrap:wrap}.mini-order-row{flex-wrap:wrap;gap:4px}.mini-order-num{min-width:auto}.mini-order-num,.mini-order-supplier{font-size:.75rem}.dashboard-card,.priority-card{padding:1rem}.priority-count{font-size:1.25rem}.card-title{font-size:.95rem}}.workspace-container{background-color:var(--surface-0);margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem 1.5rem}.workspace-title{color:var(--text-0);font-size:2.25rem;font-weight:700;margin:0;text-align:center}.workspace-subtitle{color:var(--text-3);font-size:.9rem;margin:.25rem 0 1.5rem;text-align:center}.ws-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:1rem}.ws-toolbar-left{display:flex;flex:1 1;gap:10px;min-width:200px}.ws-toolbar-right{align-items:center;display:flex;gap:8px}.ws-search-input{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;color:var(--text-0);flex:1 1;font-size:.875rem;max-width:360px;padding:.6rem 1rem;transition:border-color .2s}.ws-search-input:focus{border-color:var(--accent-blue-light);outline:none}.ws-search-input::placeholder{color:var(--text-4)}.ws-filter-select{color:var(--text-0);font-size:.875rem;padding:.6rem .75rem}.ws-filter-select,.ws-toolbar-btn{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;cursor:pointer}.ws-toolbar-btn{color:var(--text-3);font-size:.8rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.ws-toolbar-btn:hover{background:var(--surface-2);color:var(--text-0)}.add-btn{background:var(--surface-2);border:1px dashed var(--border-3);border-radius:8px;color:var(--accent-blue-light);cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .8rem;transition:all .2s;white-space:nowrap}.add-btn:hover{background:var(--surface-3);border-style:solid}.ws-table-wrapper{-webkit-overflow-scrolling:touch;background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;overflow-x:auto}.ws-table{border-collapse:collapse;font-size:.875rem;min-width:1000px;table-layout:fixed;width:100%}.ws-th{background:var(--surface-1);border-bottom:2px solid var(--border-2);color:var(--text-3);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.ws-th-name{width:22%}.ws-th-code{width:12%}.ws-th-status{width:10%}.ws-th-priority{width:8%}.ws-th-assigned{width:9%}.ws-th-hours{width:10%}.ws-th-dates{width:11%}.ws-th-attachments{width:5%}.ws-th-actions{padding-left:12px;padding-right:12px;text-align:center;width:9%}.ws-cell-actions{padding-left:12px!important;padding-right:12px!important;text-align:center;white-space:nowrap}.ws-cell-dates{color:var(--text-3);font-size:.75rem;white-space:nowrap}.ws-date-range{color:var(--text-3);font-size:.72rem}.ws-row{cursor:pointer;transition:background .12s}.ws-row:hover{background:var(--surface-2)}.ws-cell{border-bottom:1px solid var(--border-1);overflow:hidden;padding:.6rem 1rem;vertical-align:middle}.ws-cell-name{color:var(--text-1);font-weight:500}.ws-cell-code{overflow:hidden}.ws-cell-priority,.ws-cell-status{overflow:hidden;white-space:nowrap}.ws-cell-hours{white-space:nowrap}.ws-empty-cell{color:var(--text-4);font-style:italic;padding:2rem;text-align:center}.ws-zone-spacer td{background:var(--surface-0);border:none;height:14px;padding:0}.ws-row-zone .ws-cell{background:#3b82f608;border-bottom:2px solid var(--border-2);border-top:2px solid var(--border-2);padding:.9rem 1rem}.ws-row-section .ws-cell{border-bottom:1px solid var(--border-2);border-top:1px dashed var(--border-1);padding:.75rem 1rem}.ws-row-element .ws-cell{border-bottom:1px solid var(--border-1);padding:.65rem 1rem}.ws-row-subelement .ws-cell{padding:.6rem 1rem}.ws-indent{align-items:center;display:flex;gap:8px}.ws-indent-1{padding-left:8px}.ws-indent-2{padding-left:32px}.ws-indent-3{padding-left:56px}.ws-indent-4{padding-left:80px}.ws-chevron{align-items:center;color:var(--text-4);display:inline-flex;flex-shrink:0;font-size:1.1rem;font-weight:700;justify-content:center;transition:transform .15s;width:20px}.ws-chevron.open{transform:rotate(90deg)}.ws-row-zone{background:var(--surface-0)}.ws-row-zone:hover{background:#3b82f60d}.ws-zone-icon{color:var(--accent-blue-light);display:inline-flex;flex-shrink:0}.ws-zone-name{color:var(--text-0);font-size:.95rem;font-weight:700}.ws-row-section{background:#ffffff03}.ws-row-section:hover{background:#ffffff0a}.ws-row-element{background:#ffffff05}.ws-row-subelement{background:#0000}.ws-row-subelement:hover{background:#3b82f60f}.ws-code{background:#3b82f61a;border-radius:4px;color:var(--accent-blue-light);display:inline-block;font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:600;max-width:100%;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.ws-name-text{color:var(--text-2);font-size:.85rem}.ws-child-count{color:var(--text-4);font-size:.7rem;margin-left:4px}.ws-priority-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin-right:4px;width:8px}.ws-priority-text{color:var(--text-2);font-size:.8rem}.ws-assignees{display:flex;flex-wrap:wrap;gap:4px}.ws-assignee-chip{align-items:center;background:var(--surface-3);border-radius:50%;color:var(--text-1);cursor:default;display:inline-flex;font-size:.65rem;font-weight:700;height:28px;justify-content:center;width:28px}.ws-hours-est{color:var(--text-3);font-size:.8rem}.ws-hours-sep{color:var(--text-5);margin:0 3px}.ws-hours-act{color:var(--accent-green);font-size:.8rem;font-weight:600}.ws-hours-act.over{color:var(--accent-red)}.ws-attachment-count,.ws-comment-count{align-items:center;color:var(--text-4);display:inline-flex;font-size:.75rem;gap:3px;margin-right:8px}.ws-progress-container{align-items:center;display:flex;gap:8px}.ws-progress-track{background:var(--surface-2);border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.ws-progress-fill{border-radius:3px;height:100%;transition:width .4s ease}.ws-progress-text{color:var(--text-3);font-size:.75rem;font-weight:600;min-width:34px;text-align:right}.ws-crud-actions{align-items:center;display:inline-flex;flex-shrink:0;gap:3px;opacity:0;transition:opacity .15s}.ws-cell-actions .ws-crud-actions,.ws-row:hover .ws-crud-actions{opacity:1}.ws-adding-row .ws-crud-actions,.ws-crud-actions:has(.cancel),.ws-crud-actions:has(.save){opacity:1}.ws-delete-confirm{opacity:1}.ws-crud-actions .action-icon-btn{border-radius:5px;height:26px;width:26px}.ws-add-child-btn{align-items:center;background:#3b82f60f;border:1px dashed var(--accent-blue);border-radius:5px;color:var(--accent-blue);cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .15s;width:22px}.ws-add-child-btn:hover{background:#3b82f626;border-style:solid}.ws-inline-input{background:var(--surface-0);border:1px solid var(--border-2);border-radius:5px;color:var(--text-1);font-family:inherit;font-size:.82rem;max-width:180px;min-width:60px;padding:3px 8px;transition:border-color .15s;width:auto}.ws-inline-input:focus{border-color:var(--accent-blue);outline:none}.ws-inline-input.mono{font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;max-width:100px}.ws-adding-row{background:#3b82f60a}@media (max-width:900px){.ws-toolbar,.ws-toolbar-left{flex-direction:column}.ws-search-input{max-width:100%}.ws-indent-1{padding-left:4px}.ws-indent-2{padding-left:20px}.ws-indent-3{padding-left:36px}.ws-indent-4{padding-left:52px}}@media (max-width:600px){.workspace-container{padding:1rem .5rem}.workspace-title{font-size:1.5rem}.ws-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.ws-table{min-width:1000px}.ws-indent{flex-wrap:wrap;row-gap:4px}.ws-indent-1{padding-left:2px}.ws-indent-2{padding-left:14px}.ws-indent-3{padding-left:26px}.ws-indent-4{padding-left:38px}.ws-crud-actions{opacity:1}.ws-crud-actions .action-icon-btn{height:28px;width:28px}.ws-add-child-btn{height:24px;width:24px}.ws-zone-name{font-size:.88rem}.ws-cell{padding:.5rem}.ws-th{padding:.6rem .5rem}.ws-row-zone .ws-cell{padding:.7rem .5rem}.badge{font-size:.65rem;padding:2px 6px;white-space:nowrap}.ws-progress-container{min-width:80px}.ws-progress-track{min-width:40px}}.ws-crud-actions-visible{opacity:1!important}.mytasks-container{margin:0 auto;max-width:860px;padding:24px}.mytasks-title{color:var(--text-1);font-size:1.5rem;font-weight:700;margin:0 0 4px}.mytasks-subtitle{color:var(--text-3);font-size:.9rem;margin:0 0 20px}.mytasks-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.mytasks-stat{align-items:center;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px}.mytasks-stat-count{color:var(--text-1);font-size:1.6rem;font-weight:700}.mytasks-stat-label{color:var(--text-3);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.mytasks-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.mytasks-filter-bar .ws-filter-select{background:var(--bg-2);border:1px solid var(--border-1);border-radius:8px;color:var(--text-1);font-size:.85rem;padding:8px 12px;width:200px}.mytasks-view-toggle{border:1px solid var(--border-1);border-radius:8px;display:flex;overflow:hidden}.mytasks-view-btn{align-items:center;background:var(--bg-2);border:none;color:var(--text-3);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:5px;padding:7px 14px;transition:all .15s}.mytasks-view-btn:not(:last-child){border-right:1px solid var(--border-1)}.mytasks-view-btn.active{background:var(--accent-blue);color:#fff}.mytasks-view-btn:hover:not(.active){background:var(--bg-3)}.mytasks-list{display:flex;flex-direction:column;gap:10px}.mytask-card{background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;cursor:pointer;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.mytask-card:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px #0000001a}.mytask-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.mytask-card-left{align-items:center;display:flex;gap:10px}.mytask-card-name{color:var(--text-1);font-size:.9rem;font-weight:600}.mytask-card-meta{align-items:center;color:var(--text-3);display:flex;font-size:.78rem;gap:6px}.mytask-path{color:var(--accent-blue)}.mytask-meta-sep{color:var(--border-2)}.mytask-card-coworkers{align-items:center;display:flex;font-size:.78rem;gap:6px;margin-top:6px}.mytask-coworker-label{color:var(--text-3)}.mytask-coworker{background:var(--bg-3);border-radius:999px;color:var(--text-2);font-size:.72rem;padding:2px 8px}.mytask-overdue{border-left:3px solid var(--accent-red)}.mytask-date{color:var(--text-3)}.mytask-date-overdue{color:var(--accent-red);font-weight:600}.mytasks-week-group{margin-bottom:4px}.mytasks-week-header{align-items:center;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;color:var(--text-1);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:8px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.mytasks-week-header:hover{background:var(--bg-3)}.mytasks-week-header.current{background:#3b82f60d;border-color:var(--accent-blue)}.mytasks-week-chevron{color:var(--text-3);flex-shrink:0;font-size:.85rem;width:16px}.mytasks-week-label{flex:1 1}.mytasks-week-current-badge{background:#3b82f61f;border-radius:999px;color:var(--accent-blue);font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.mytasks-week-count{color:var(--text-4);font-size:.75rem;font-weight:400}.mytasks-week-body{display:flex;flex-direction:column;gap:4px;padding:6px 0 6px 12px}.mytasks-day-group{display:flex;flex-direction:column;gap:6px}.mytasks-day-header{color:var(--text-3);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:6px 4px 2px;text-transform:uppercase}.mytasks-calendar-wrapper{background:var(--bg-2);border:1px solid var(--border-1);border-radius:12px;padding:16px}.mytasks-calendar-nav{gap:16px;margin-bottom:16px}.mytasks-cal-nav-btn,.mytasks-calendar-nav{align-items:center;display:flex;justify-content:center}.mytasks-cal-nav-btn{background:var(--bg-3);border:1px solid var(--border-1);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:1.1rem;height:32px;transition:all .15s;width:32px}.mytasks-cal-nav-btn:hover{background:var(--surface-2);color:var(--text-0)}.mytasks-cal-month-label{color:var(--text-1);font-size:1rem;font-weight:700;min-width:180px;text-align:center}.mytasks-calendar-grid{grid-gap:1px;background:var(--border-0);border:1px solid var(--border-1);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.mytasks-calendar-header-cell{background:var(--bg-3);color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:8px 4px;text-align:center;text-transform:uppercase}.mytasks-calendar-day{background:var(--bg-2);display:flex;flex-direction:column;gap:2px;min-height:80px;padding:4px}.mytasks-calendar-day.other-month{opacity:.4}.mytasks-calendar-day.today{background:#3b82f60a}.mytasks-cal-day-num{color:var(--text-3);font-size:.75rem;font-weight:500;padding:2px 4px}.mytasks-cal-day-num.today{align-items:center;background:var(--accent-blue);border-radius:50%;color:#fff;display:inline-flex;font-weight:700;height:22px;justify-content:center;width:22px}.mytasks-cal-day-tasks{display:flex;flex-direction:column;gap:2px;overflow:hidden}.mytasks-cal-task-chip{border-radius:4px;color:#fff;cursor:pointer;font-size:.62rem;font-weight:600;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;transition:opacity .12s;white-space:nowrap}.mytasks-cal-task-chip:hover{opacity:.8}.mytasks-cal-more{color:var(--text-4);font-size:.62rem;padding:1px 4px}.mytasks-empty{color:var(--text-3);padding:40px 20px;text-align:center}.mytasks-empty svg{margin-bottom:12px;opacity:.5}.mytask-action-area{display:flex;flex-direction:column;gap:10px}.mytask-comment-input{background:var(--bg-3);border:1px solid var(--border-1);border-radius:8px;color:var(--text-1);font-family:inherit;font-size:.85rem;min-height:56px;padding:10px 12px;resize:vertical;width:100%}.mytask-comment-input:focus{border-color:var(--accent-blue);outline:none}.mytask-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.mytask-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 16px;transition:opacity .15s}.mytask-action-btn:hover{opacity:.85}.mytask-action-started{background:var(--accent-blue);color:#fff}.mytask-action-in_progress{background:var(--accent-amber);color:#fff}.mytask-action-finished{background:var(--accent-green);color:#fff}.mytask-action-issues{background:var(--accent-red);color:#fff}.mytask-finished-msg{align-items:center;color:var(--accent-green);display:flex;font-size:.9rem;font-weight:600;gap:10px;padding:12px 0}@media (max-width:600px){.mytasks-stats{grid-template-columns:repeat(2,1fr)}}.calendar-page-container{background-color:var(--surface-0);margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem 1.5rem}.calendar-page-title{color:var(--text-0);font-size:2rem;font-weight:700;margin:0;text-align:center}.calendar-page-subtitle{color:var(--text-3);font-size:.9rem;margin:.25rem 0 1.5rem;text-align:center}.calendar-page-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1rem}.calendar-page-view-toggle{border:1px solid var(--border-2);border-radius:8px;display:flex;overflow:hidden}.cal-page-view-btn{background:var(--surface-1);border:none;color:var(--text-3);cursor:pointer;font-size:.82rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.cal-page-view-btn:not(:last-child){border-right:1px solid var(--border-2)}.cal-page-view-btn.active{background:var(--accent-blue);color:#fff}.cal-page-view-btn:hover:not(.active){background:var(--surface-2)}.cal-page-filter{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;color:var(--text-0);cursor:pointer;font-size:.85rem;padding:.5rem .75rem}.cal-page-task-count{color:var(--text-4);font-size:.8rem;margin-left:auto}.calendar-page-nav{gap:20px;margin-bottom:16px}.cal-page-nav-btn,.calendar-page-nav{align-items:center;display:flex;justify-content:center}.cal-page-nav-btn{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:1.2rem;height:36px;transition:all .15s;width:36px}.cal-page-nav-btn:hover{background:var(--surface-2);color:var(--text-0)}.cal-page-month-label{color:var(--text-0);font-size:1.15rem;font-weight:700;min-width:200px;text-align:center}.calendar-page-calendar{-webkit-overflow-scrolling:touch;background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;overflow-x:auto;padding:20px}.calendar-page-grid{grid-gap:1px;background:var(--border-1);border:1px solid var(--border-2);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);min-width:520px;overflow:hidden}.cal-page-header-cell{background:var(--surface-2);color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:10px 4px;text-align:center;text-transform:uppercase}.cal-page-day{background:var(--surface-0);display:flex;flex-direction:column;gap:3px;min-height:100px;padding:6px}.cal-page-day.other-month{opacity:.35}.cal-page-day.today{background:#3b82f60a}.cal-page-day.weekend{background:#6b728008}.cal-page-day-num{color:var(--text-3);font-size:.78rem;font-weight:500;padding:2px 4px}.cal-page-day-num.today{align-items:center;background:var(--accent-blue);border-radius:50%;color:#fff;display:inline-flex;font-weight:700;height:24px;justify-content:center;width:24px}.cal-page-day-tasks{display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-page-task-chip{align-items:center;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.65rem;gap:4px;overflow:hidden;padding:2px 6px;transition:opacity .12s;white-space:nowrap}.cal-page-task-chip:hover{opacity:.8}.cal-page-chip-code{font-weight:700}.cal-page-chip-code,.cal-page-chip-name{overflow:hidden;text-overflow:ellipsis}.cal-page-more{color:var(--text-4);font-size:.65rem;padding:1px 4px}.calendar-page-gantt{background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;overflow:visible;padding:20px}.calendar-page-gantt .gantt-chart{max-height:70vh}@media (max-width:900px){.calendar-page-container{padding:1rem .75rem}.cal-page-day{min-height:70px;padding:4px}.cal-page-chip-name{display:none}.calendar-page-calendar{padding:12px}}@media (max-width:600px){.calendar-page-title{font-size:1.5rem}.calendar-page-controls{align-items:stretch;flex-direction:column}.calendar-page-calendar{padding:8px}.cal-page-day{min-height:50px;padding:3px}.cal-page-task-chip{font-size:.58rem;gap:2px;padding:1px 3px}.cal-page-day-num{font-size:.7rem;padding:1px 2px}.cal-page-header-cell{font-size:.65rem;padding:6px 2px}.cal-page-month-label{font-size:1rem;min-width:160px}}.team-container{margin:0 auto;max-width:1040px;padding:24px}.team-title{color:var(--text-1);font-size:1.5rem;font-weight:700;margin:0 0 4px}.team-subtitle{color:var(--text-3);font-size:.9rem;margin:0 0 20px}.team-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.team-summary-card{align-items:center;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:16px}.team-summary-val{color:var(--text-1);font-size:1.5rem;font-weight:700}.team-summary-label{color:var(--text-3);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.team-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:32px}.team-member-card{background:var(--bg-2);border:1px solid var(--border-1);border-radius:12px;padding:18px;transition:border-color .15s}.team-member-card:hover{border-color:var(--accent-blue)}.team-member-header{align-items:center;display:flex;gap:12px;margin-bottom:14px}.team-member-avatar{align-items:center;background:var(--accent-blue);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:42px;justify-content:center;width:42px}.team-member-info{display:flex;flex-direction:column;min-width:0}.team-member-name{color:var(--text-1);font-size:.95rem;font-weight:600}.team-member-email{color:var(--text-3);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-workload-bar{background:var(--bg-3);border-radius:4px;display:flex;height:8px;margin-bottom:12px;overflow:hidden}.team-workload-segment{min-width:4px;transition:width .3s}.team-member-stats{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.team-member-stat-row{align-items:center;display:flex;font-size:.82rem;justify-content:space-between}.team-stat-label{color:var(--text-3)}.team-stat-value{color:var(--text-1);font-weight:600}.team-completion{align-items:center;display:flex;gap:10px}.team-completion-bar-wrap{background:var(--bg-3);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.team-completion-bar-fill{background:var(--accent-green);border-radius:3px;height:100%;transition:width .3s}.team-completion-pct{color:var(--accent-green);font-size:.8rem;font-weight:600;min-width:36px;text-align:right}@media (max-width:600px){.team-grid,.team-summary{grid-template-columns:1fr}}.reports-container{margin:0 auto;max-width:1100px;padding:24px}.reports-title{color:var(--text-1);font-size:1.5rem;font-weight:700;margin:0 0 4px}.reports-subtitle{color:var(--text-3);font-size:.9rem;margin:0 0 20px}.reports-kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-bottom:28px}.reports-kpi{align-items:center;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:16px}.reports-kpi-val{color:var(--text-1);font-size:1.4rem;font-weight:700}.reports-kpi-label{color:var(--text-3);font-size:.72rem;letter-spacing:.05em;text-align:center;text-transform:uppercase}.reports-section{margin-bottom:28px}.reports-section-title{color:var(--text-1);font-size:1.1rem;font-weight:600;margin:0 0 14px}.reports-status-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.reports-status-card{align-items:center;background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;display:flex;gap:10px;padding:14px}.reports-status-color{border-radius:4px;flex-shrink:0;height:36px;width:8px}.reports-status-info{display:flex;flex:1 1;flex-direction:column}.reports-status-count{color:var(--text-1);font-size:1.2rem;font-weight:700}.reports-status-label{color:var(--text-3);font-size:.72rem}.reports-status-pct{color:var(--text-2);font-size:.85rem;font-weight:600}.reports-table-wrap{background:var(--bg-2);border:1px solid var(--border-1);border-radius:10px;overflow-x:auto}.reports-table{border-collapse:collapse;font-size:.85rem;width:100%}.reports-table th{background:var(--bg-3);color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 14px;text-align:left;text-transform:uppercase}.reports-table td,.reports-table th{border-bottom:1px solid var(--border-1)}.reports-table td{color:var(--text-1);padding:10px 14px}.reports-table tr:last-child td{border-bottom:none}.reports-zone-name{color:var(--text-3);display:block;font-size:.78rem;margin-top:2px}.reports-tech-name{font-weight:600}.reports-inline-bar{background:var(--bg-3);border-radius:3px;display:inline-block;height:6px;margin-right:6px;overflow:hidden;vertical-align:middle;width:80px}.reports-inline-bar-fill{background:var(--accent-green);border-radius:3px;height:100%;transition:width .3s}.reports-inline-pct{color:var(--text-2);font-size:.8rem;font-weight:600}@media (max-width:768px){.reports-kpis,.reports-status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.reports-kpis,.reports-status-grid{grid-template-columns:1fr}}.member-dd-wrapper{display:inline-block;position:relative;width:100%}.member-dd-trigger{align-items:center;background:#1e1e2e;background:var(--surface-2,#1e1e2e);border:1px solid #3a3a4a;border:1px solid var(--border-2,#3a3a4a);border-radius:6px;box-sizing:border-box;color:#888;color:var(--text-3,#888);cursor:pointer;display:flex;font-size:.82rem;gap:8px;justify-content:space-between;padding:.4rem .65rem;text-align:left;transition:border-color .15s;width:100%}.member-dd-trigger.open,.member-dd-trigger:hover{border-color:#60a5fa;border-color:var(--accent-blue-light,#60a5fa)}.member-dd-trigger.has-selection{color:#e2e2e2;color:var(--text-1,#e2e2e2)}.member-dd-trigger-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-dd-arrow{color:#888;color:var(--text-3,#888);flex-shrink:0;font-size:.65rem;transition:transform .15s}.member-dd-arrow.open{transform:rotate(180deg)}.member-dd-portal{background:#1a1a2e;background:var(--surface-1,#1a1a2e);border:1px solid #3a3a4a;border:1px solid var(--border-2,#3a3a4a);border-radius:8px;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;max-height:300px;overflow:hidden;z-index:9999}.member-dd-search-box{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-1,#ffffff0f);padding:8px 10px}.member-dd-search-input{background:#1e1e2e;background:var(--surface-2,#1e1e2e);border:1px solid #3a3a4a;border:1px solid var(--border-2,#3a3a4a);border-radius:5px;box-sizing:border-box;color:#e2e2e2;color:var(--text-1,#e2e2e2);font-size:.78rem;padding:.35rem .55rem;transition:border-color .15s;width:100%}.member-dd-search-input:focus{border-color:#60a5fa;border-color:var(--accent-blue-light,#60a5fa);outline:none}.member-dd-search-input::placeholder{color:#888;color:var(--text-4,#888)}.member-dd-list{max-height:240px;overflow-y:auto}.member-dd-empty{color:#888;color:var(--text-4,#888);font-size:.8rem;padding:16px;text-align:center}.member-dd-option{align-items:center;border-bottom:1px solid #ffffff0a;border-bottom:1px solid var(--border-0,#ffffff0a);cursor:pointer;display:flex;gap:8px;padding:7px 12px;transition:background .1s}.member-dd-option:last-child{border-bottom:none}.member-dd-option:hover{background:#ffffff0d;background:var(--surface-2,#ffffff0d)}.member-dd-option.selected{background:#3b82f614}.member-dd-checkbox{accent-color:#60a5fa;accent-color:var(--accent-blue-light,#60a5fa);cursor:pointer;flex-shrink:0;height:15px;width:15px}.member-dd-avatar{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.62rem;font-weight:700;height:26px;justify-content:center;width:26px}.member-dd-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.member-dd-name{color:#e2e2e2;color:var(--text-1,#e2e2e2);font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-dd-role{border-radius:4px;flex-shrink:0;font-size:.62rem;font-weight:600;letter-spacing:.03em;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.member-dd-role.technician{background:#22c55e26;color:#22c55e;color:var(--accent-green,#22c55e)}.member-dd-role.project_manager{background:#3b82f626;color:#60a5fa;color:var(--accent-blue-light,#60a5fa)}.member-dd-role.helper{background:#f59e0b26;color:#f59e0b;color:var(--accent-yellow,#f59e0b)}.member-dd-role.electrician{background:#a855f726;color:#a855f7;color:var(--accent-purple,#a855f7)}.member-dd-role.mechanic{background:#06b6d426;color:#06b6d4;color:var(--accent-cyan,#06b6d4)}.phone-input-wrapper{align-items:center;display:flex;position:relative}.phone-flag-btn{align-items:center;background:var(--surface-2);border:none;border-radius:5px 0 0 5px;border-right:1px solid var(--border-3);bottom:1px;color:var(--text-2);cursor:pointer;display:flex;gap:3px;left:1px;padding:0 6px;position:absolute;top:1px;transition:background .15s;z-index:2}.phone-flag-btn:hover{background:var(--surface-3)}.phone-flag-code{color:var(--accent-blue-light);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.7rem;font-weight:700;letter-spacing:.5px}.phone-flag-img{border-radius:2px;box-shadow:0 0 0 1px #ffffff1f;display:block;flex-shrink:0}.phone-flag-caret{font-size:.55rem;opacity:.6}.phone-input{box-sizing:border-box;width:100%}.phone-input.has-flag-btn{padding-left:3rem!important}.phone-flag{font-size:1rem;left:8px;line-height:1;pointer-events:none;position:absolute;z-index:1}.phone-input.has-flag{padding-left:2rem!important}.phone-dropdown{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:10000}.phone-dropdown-filter{background:var(--surface-0);border:none;border-bottom:1px solid var(--border-2);box-sizing:border-box;color:var(--text-0);font-size:.8rem;outline:none;padding:8px 10px;width:100%}.phone-dropdown-filter::placeholder{color:var(--text-4)}.phone-dropdown-list{max-height:200px;overflow-y:auto}.phone-dropdown-item{align-items:center;color:var(--text-2);cursor:pointer;display:flex;font-size:.8rem;gap:8px;padding:6px 10px;transition:background .1s}.phone-dropdown-item:hover{background:var(--surface-2);color:var(--text-0)}.phone-dropdown-item.active{background:#3b82f626;color:var(--accent-blue-light)}.phone-dropdown-code{background:#3b82f61f;border-radius:3px;color:var(--accent-blue-light);flex-shrink:0;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.65rem;font-weight:700;min-width:22px;padding:1px 4px;text-align:center}.phone-dropdown-item .phone-flag-img{flex-shrink:0;height:13px;width:18px}.phone-dropdown-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-dropdown-dial{color:var(--text-3);flex-shrink:0;font-family:SF Mono,Fira Code,monospace;font-size:.75rem}.image-drop-zone{cursor:pointer;position:relative;transition:all .2s}.image-drop-zone.drag-over{background:#3b82f614!important;border-color:var(--accent-blue)!important}.image-drop-zone .drop-hint{align-items:center;background:#3b82f626;border-radius:inherit;color:var(--accent-blue-light);display:none;font-size:.6rem;font-weight:600;inset:0;justify-content:center;pointer-events:none;position:absolute}.image-drop-zone.drag-over .drop-hint{display:flex}.lang-multi-select{position:relative}.lang-multi-input{align-items:center;background:var(--surface-2);border:1px solid var(--border-3);border-radius:6px;cursor:text;display:flex;flex-wrap:wrap;gap:4px;min-height:32px;padding:4px 6px;transition:border-color .2s}.lang-multi-input:focus-within{border-color:var(--accent-blue-light)}.lang-tag{align-items:center;background:#3b82f626;border-radius:4px;display:inline-flex;font-size:.7rem;font-weight:600;gap:3px;padding:1px 6px}.lang-tag,.lang-tag-remove{color:var(--accent-blue-light)}.lang-tag-remove{background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;opacity:.7;padding:0 2px}.lang-tag-remove:hover{color:var(--accent-red);opacity:1}.lang-multi-text-input{background:#0000;border:none;color:var(--text-0);flex:1 1;font-size:.8rem;min-width:60px;outline:none;padding:2px 0}.lang-multi-text-input::placeholder{color:var(--text-4)}.lang-dropdown{background:var(--surface-1);border:1px solid var(--border-2);border-radius:6px;bottom:100%;box-shadow:var(--shadow-md);left:0;margin-bottom:2px;max-height:160px;overflow-y:auto;position:absolute;right:0;z-index:50}.lang-option{color:var(--text-2);cursor:pointer;font-size:.8rem;padding:6px 10px;transition:background .1s}.lang-option:hover{background:var(--surface-2);color:var(--text-0)}.supplier-logo-zone{align-items:center;background:var(--surface-2);border:1px dashed var(--border-3);border-radius:10px;cursor:default;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;transition:all .2s;width:44px}.supplier-logo-zone:focus{border-color:var(--accent-blue);outline:none}.supplier-logo-zone img{height:100%;object-fit:cover;width:100%}.supplier-logo-zone svg{color:var(--text-4)}.supplier-logo-zone.drag-over{background:#3b82f614;border-color:var(--accent-blue)}.settings-page{background-color:var(--surface-0);box-sizing:border-box;margin:0 auto;max-width:1100px;min-height:100vh;padding:2rem 1.5rem}.settings-title{color:var(--text-1);color:var(--text-0,var(--text-1));font-size:2.25rem;font-weight:700;margin-bottom:2rem;text-align:center}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.settings-card{background:var(--bg-2);background:var(--surface-1,var(--bg-2));border:1px solid var(--border-2,var(--border-1));border-radius:12px;padding:1.5rem}.settings-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.settings-card-title{align-items:center;color:var(--text-1);color:var(--text-0,var(--text-1));display:flex;font-size:1.05rem;font-weight:600;gap:.5rem;margin:0}.settings-card-title svg{color:var(--accent-blue-light)}.new-form-row{align-items:center;background:var(--surface-0);border:1px solid var(--border-2);border-radius:8px;display:flex;gap:.5rem;margin-bottom:1rem;padding:.75rem}.settings-table{overflow-x:auto}.settings-table table{border-collapse:collapse;font-size:.875rem;width:100%}.settings-table th{border-bottom:1px solid var(--border-2,var(--border-1));color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.6rem .75rem;text-align:left;text-transform:uppercase}.settings-table th:last-child{background:var(--bg-2);background:var(--surface-1,var(--bg-2));position:-webkit-sticky;position:sticky;right:0;text-align:right;z-index:2}.settings-table td{border-bottom:1px solid var(--border-0,var(--border-1));color:var(--text-1);color:var(--text-2,var(--text-1));padding:.6rem .75rem}.settings-table td:last-child{background:var(--bg-2);background:var(--surface-1,var(--bg-2));position:-webkit-sticky;position:sticky;right:0;z-index:1}.settings-table .editing-row td:last-child{background:var(--surface-0)}.settings-table .mono{color:var(--accent-blue-light);font-family:monospace;font-size:.8rem}.action-cell{align-items:center;display:flex;gap:.4rem;justify-content:flex-end;white-space:nowrap}.inline-input{background:var(--surface-2);border:1px solid var(--border-3);border-radius:6px;box-sizing:border-box;color:var(--text-1);color:var(--text-0,var(--text-1));font-size:.8rem;min-width:140px;padding:.35rem .5rem;width:100%}.inline-input.mono{font-family:monospace}.inline-input:focus{border-color:var(--accent-blue-light);outline:none}.inline-select{background:var(--surface-2);border:1px solid var(--border-3);border-radius:6px;color:var(--text-1);color:var(--text-0,var(--text-1));cursor:pointer;font-size:.8rem;padding:.35rem .5rem}.inline-select:focus{border-color:var(--accent-blue-light);outline:none}.editing-row td{background:var(--surface-0)}.status-badge-sm{color:#fff}.role-badge,.status-badge-sm{border-radius:6px;display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;text-transform:uppercase}.role-badge{letter-spacing:.03em;white-space:nowrap}.role-badge.technician{background:#22c55e26;color:var(--accent-green)}.role-badge.helper{background:#a855f726;color:#a855f7}.role-badge.electrician{background:#f59e0b26;color:#f59e0b}.role-badge.mechanic{background:#ef444426;color:#ef4444}.role-badge.pm,.role-badge.project_manager{background:#3b82f626;color:var(--accent-blue-light)}.mono{color:var(--accent-blue-light);font-family:monospace;font-size:.8rem}.settings-user-avatar{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:28px;justify-content:center;width:28px}.address-label{color:var(--text-1);color:var(--text-0,var(--text-1));font-weight:600;white-space:nowrap}.info-list{display:flex;flex-direction:column;gap:.5rem}.info-row{align-items:center;border-bottom:1px solid var(--border-0,var(--border-1));display:flex;justify-content:space-between;padding:.5rem 0}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-3);font-size:.8rem}.info-value{color:var(--text-1);color:var(--text-2,var(--text-1));font-size:.875rem;font-weight:500}.settings-theme-toggle{align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:8px;color:var(--text-1);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:8px 16px;transition:border-color .15s}.settings-theme-toggle:hover{border-color:var(--accent-blue-light)}.settings-mock-badge{background:#8b5cf6;background:var(--accent-purple,#8b5cf6);color:#fff}.settings-mock-badge,.settings-supabase-badge{border-radius:6px;font-size:.7rem;font-weight:600;padding:.15rem .5rem;text-transform:uppercase}.settings-supabase-badge{background:#22c55e26;color:#22c55e;color:var(--accent-green,#22c55e)}.members-cell{max-width:240px;min-width:180px}.members-cell .member-dd-wrapper{width:100%}.members-cell .member-dd-trigger{font-size:.78rem;padding:.3rem .5rem}.members-count-label{color:var(--text-1);color:var(--text-2,var(--text-1));font-size:.8rem;white-space:nowrap}.user-email-cell{max-width:220px}.user-email-value{color:var(--text-1);font-size:.82rem;word-break:break-all}.user-email-empty{font-size:.78rem}.user-email-empty,.user-email-hint{color:var(--text-3);color:var(--text-4,var(--text-3));font-style:italic}.user-email-hint{display:block;font-size:.68rem;margin-top:2px}.user-email-local-tag{background:#a855f726;border-radius:4px;color:#a855f7;color:var(--accent-purple,#a855f7);display:inline-block;font-size:.62rem;font-weight:600;margin-left:6px;padding:1px 5px;text-transform:uppercase;vertical-align:middle}.user-phone-value{color:var(--text-1);font-size:.82rem;white-space:nowrap}.editing-row .phone-input-wrapper{min-width:160px}.editing-row .phone-input-wrapper .phone-input{font-size:.8rem;padding:.35rem .5rem .35rem 42px}@media (max-width:600px){.settings-page{padding:1rem .5rem}.settings-title{font-size:1.75rem}.settings-card-header{align-items:flex-start;flex-direction:column;gap:.5rem}.new-form-row{flex-direction:column}.inline-input{min-width:0;width:100%}.address-label{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.settings-table table td{min-width:0;padding:.75rem .5rem}}.detail-page{background-color:var(--surface-0);box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem 1.5rem}.detail-empty{color:var(--text-4);padding:4rem 2rem;text-align:center}.detail-empty h2{color:var(--text-0);margin-bottom:1rem}.detail-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.detail-header-left{align-items:center;display:flex;gap:1rem}.back-btn{background:var(--surface-1);border:1px solid var(--border-2);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.back-btn:hover{background:var(--surface-2);color:var(--text-0)}.detail-order-number{color:var(--text-0);font-size:1.75rem;font-weight:700;margin:0}.detail-date{color:var(--text-3);font-size:.85rem}.status-row-detail{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.status-group{display:flex;flex-direction:column;gap:.4rem}.status-group label{color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.total-amount-box{align-items:center;display:flex;flex-direction:row;gap:1.25rem;margin-left:auto}.total-amount-item{align-items:flex-end;display:flex;flex-direction:column;gap:.4rem}.total-amount-divider{background:var(--border);height:2.5rem;opacity:.5;width:1px}.total-amount-box label{color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.total-value{color:var(--accent-green);font-size:1.75rem;font-weight:700}.detail-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem}.detail-card{background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;padding:1.5rem}.detail-card.full-width{margin-bottom:1.5rem}.detail-card-title{align-items:center;color:var(--text-0);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.detail-card-title svg{color:var(--accent-blue-light)}.detail-field{align-items:flex-start;border-bottom:1px solid var(--border-0);display:flex;gap:1rem;justify-content:space-between;padding:.5rem 0}.detail-field:last-child{border-bottom:none}.field-label{align-items:center;color:var(--text-3);display:inline-flex;flex-shrink:0;font-size:.8rem;gap:.25rem;white-space:nowrap}.field-value{color:var(--text-2);font-size:.875rem;text-align:right;word-break:break-word}.field-value.mono{font-family:monospace;font-size:.8rem}.text-danger{color:var(--accent-red)!important;font-weight:600}.text-success{color:var(--accent-green)!important;font-weight:600}.priority-picker-wrap{display:inline-flex;position:relative}.priority-badge-clickable{align-items:center;cursor:pointer;display:inline-flex;gap:.3rem;transition:filter .15s;-webkit-user-select:none;user-select:none}.priority-badge-clickable:hover{filter:brightness(1.15)}.priority-badge-caret{font-size:.7rem;opacity:.8}.priority-popover{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;gap:.25rem;left:0;min-width:130px;padding:.4rem;position:absolute;top:calc(100% + 6px);z-index:200}.priority-option{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--text-2);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:.5rem;padding:.45rem .75rem;text-align:left;transition:background .15s;width:100%}.priority-option:hover{background:var(--surface-3);color:var(--text-1)}.priority-option.active{background:color-mix(in srgb,var(--priority-color) 15%,#0000);color:var(--text-1);font-weight:600}.priority-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.priority-check{color:var(--accent-green);font-size:.75rem;margin-left:auto}.timer-running-dot{animation:timer-pulse 1.2s ease-in-out infinite;background-color:var(--accent-green);border-radius:50%;display:inline-block;height:7px;margin-left:5px;vertical-align:middle;width:7px}@keyframes timer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.task-description-text{color:var(--text-2);font-size:.875rem;line-height:1.6;margin:0}.task-action-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.task-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem 1.25rem;transition:all .2s}.task-action-btn:hover{transform:translateY(-1px)}.task-action-in_progress,.task-action-started{background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));color:#fff}.task-action-in_progress:hover,.task-action-started:hover{background:linear-gradient(135deg,var(--accent-blue-hover),var(--accent-blue-darkest))}.task-action-paused{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff}.task-action-paused:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.task-action-finished{background:linear-gradient(135deg,var(--accent-green),#16a34a);color:#fff}.task-action-finished:hover{background:linear-gradient(135deg,#16a34a,#15803d)}.task-action-issues{background:linear-gradient(135deg,var(--accent-red),#dc2626);color:#fff}.task-action-issues:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.task-finished-msg{align-items:center;color:var(--accent-green);display:flex;font-size:.95rem;font-weight:500;gap:.75rem}.field-edit-row{align-items:center;display:flex;gap:6px}.field-edit-row .action-icon-btn{height:24px;width:24px}.inline-edit-input{background:var(--surface-0);border:1px solid var(--border-2);border-radius:6px;color:var(--text-1);font-family:inherit;font-size:.85rem;padding:4px 8px;width:80px}.inline-edit-input:focus{border-color:var(--accent-blue);outline:none}.inline-edit-hint{color:var(--text-4);font-size:.75rem}.assign-edit-list{display:flex;flex-direction:column;gap:6px}.assign-edit-item{align-items:center;border-radius:6px;color:var(--text-1);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:6px 10px;transition:background .12s}.assign-edit-item:hover{background:#3b82f60f}.assign-edit-item input[type=checkbox]{accent-color:var(--accent-blue);height:16px;width:16px}.assign-edit-avatar{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.68rem;font-weight:700;height:24px;justify-content:center;width:24px}.desc-edit-wrap{display:flex;flex-direction:column;gap:8px}.desc-edit-textarea{background:var(--surface-0);border:1px solid var(--border-2);border-radius:8px;box-sizing:border-box;color:var(--text-1);font-family:inherit;font-size:.85rem;line-height:1.5;padding:.6rem .75rem;resize:vertical;width:100%}.desc-edit-textarea:focus{border-color:var(--accent-blue);outline:none}.att-remove-btn{align-items:center;background:var(--accent-red);border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:.65rem;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:4px;top:4px;width:18px}.att-card{position:relative}.att-card:hover .att-remove-btn{display:flex}.task-comments-list{display:flex;flex-direction:column;gap:.75rem}.task-comment-item{background:var(--surface-0);border:1px solid var(--border-0);border-radius:8px;padding:.75rem 1rem}.task-comment-header{align-items:center;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.4rem}.task-comment-header strong{color:var(--text-1)}.task-comment-header span{color:var(--text-4);font-size:.75rem}.task-comment-item p{color:var(--text-2);font-size:.85rem;line-height:1.5;margin:0}.task-no-history{color:var(--text-4);font-size:.85rem;font-style:italic;padding:1.5rem 1rem;text-align:center}.att-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.att-card{align-items:center;background:var(--surface-0);border:1px solid var(--border-0);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;padding:.5rem;transition:all .15s}.att-card:hover{background:#3b82f60a;border-color:var(--accent-blue)}.att-thumb{align-items:center;border-radius:6px;display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;width:64px}.att-thumb img{border-radius:6px;height:100%;object-fit:cover;width:100%}.att-thumb-img{background:#3b82f60f}.att-thumb-pdf{background:#ef44440f}.att-thumb-file{background:#6b728014}.att-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-3);display:-webkit-box;font-size:.72rem;line-height:1.3;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-all}.task-comment-system{background:#3b82f60a;border-left:3px solid var(--accent-blue)}.system-change-text{color:var(--text-2);font-size:.82rem;line-height:1.5;margin:0}.system-change-text .old-val{color:var(--text-4);text-decoration:line-through}.system-change-text .new-val{color:var(--accent-blue-light);font-weight:600}.system-change-comment{color:var(--text-2);font-size:.85rem;line-height:1.5;margin:.35rem 0 0}.comment-input-row{border-top:1px solid var(--border-0);display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem}.comment-input{background:var(--surface-0);border:1px solid var(--border-2);border-radius:8px;color:var(--text-1);flex:1 1;font-family:inherit;font-size:.85rem;padding:.5rem .75rem;transition:border-color .15s}.comment-input:focus{border-color:var(--accent-blue);outline:none}.comment-input::placeholder{color:var(--text-4)}.comment-send-btn{align-items:center;background:var(--accent-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:opacity .15s;width:36px}.comment-send-btn:hover{opacity:.85}.comment-send-btn:disabled{cursor:not-allowed;opacity:.4}.modal-overlay{align-items:center;background:#0009;background:var(--overlay,#0009);bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:var(--surface-1);border:1px solid var(--border-2);border-radius:16px;box-shadow:0 20px 60px #0000004d;box-shadow:var(--shadow-lg,0 20px 60px #0000004d);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-2);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-title{color:var(--text-0);font-size:1rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:var(--surface-2);border:none;border-radius:8px;color:var(--text-2);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-close-btn:hover{background:var(--surface-3);color:var(--text-0)}.modal-body{align-items:center;display:flex;justify-content:center;overflow:auto;padding:1.5rem}.modal-image{border-radius:8px;max-height:70vh;max-width:100%;object-fit:contain}.modal-file-preview{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2rem}.modal-filename{color:var(--text-0);font-size:1rem;font-weight:600;margin:0;text-align:center;word-break:break-all}.modal-file-hint{color:var(--text-4);font-size:.8rem;margin:0}.status-modal-backdrop{align-items:center;background:var(--overlay-light);display:flex;height:100%;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100%;z-index:2000}.status-modal{animation:modalSlideIn .2s ease;background:var(--surface-1);border:1px solid var(--border-2);border-radius:12px;box-shadow:0 20px 60px var(--shadow-lg);max-width:420px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.status-modal-header{align-items:center;border-bottom:1px solid var(--border-2);display:flex;justify-content:space-between;padding:1rem 1.25rem}.status-modal-header h4{color:var(--text-0);font-size:.95rem;font-weight:600;margin:0}.status-modal-close{background:none;border:none;color:var(--text-4);cursor:pointer;font-size:1.4rem;line-height:1;padding:0;transition:color .15s}.status-modal-close:hover{color:var(--text-0)}.status-modal-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.status-modal-new-value{align-items:center;display:flex;gap:.5rem}.status-modal-label{color:var(--text-3);font-size:.8rem}.status-modal-badge{border-radius:6px;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.status-modal-field{display:flex;flex-direction:column;gap:.35rem}.status-modal-field label{color:var(--text-2);font-size:.8rem;font-weight:600}.status-modal-field label .required{color:var(--accent-red)}.status-modal-field textarea{background:var(--surface-0);border:1px solid var(--border-2);border-radius:8px;color:var(--text-0);font-family:inherit;font-size:.85rem;padding:.5rem .75rem;resize:vertical;transition:border-color .2s}.status-modal-field textarea:focus{border-color:var(--accent-blue);outline:none}.status-modal-error{background:#ef444414;border-left:3px solid var(--accent-red-dark);border-radius:6px;color:var(--accent-red);font-size:.8rem;padding:.5rem .75rem}.status-modal-footer{border-top:1px solid var(--border-2);display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem}.status-modal-cancel{background:var(--surface-2);border:1px solid var(--border-3);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.status-modal-cancel:hover{background:var(--surface-3);color:var(--text-0)}.status-modal-confirm{background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-hover));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.status-modal-confirm:hover{background:linear-gradient(135deg,var(--accent-blue-hover),var(--accent-blue-dark))}.photo-upload-area{border:2px dashed var(--border-2);border-radius:8px;padding:1rem;text-align:center;transition:border-color .2s}.photo-upload-area:focus,.photo-upload-area:hover{border-color:var(--accent-blue)}.photo-upload-area:focus{outline:none}.photo-upload-area.drag-over{background:#3b82f614;border-color:var(--accent-blue)}.photo-drop-content{align-items:center;color:var(--text-4);display:flex;flex-direction:column;gap:.5rem}.photo-drop-text{color:var(--text-4);font-size:.78rem;margin:0}.photo-upload-btn{align-items:center;background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.photo-upload-btn:hover{background:var(--surface-3);color:var(--text-0)}.photo-preview{align-items:center;display:flex;flex-direction:column;gap:.5rem}.photo-preview-img{border-radius:8px;max-height:200px;max-width:100%;object-fit:contain}.photo-remove-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--accent-red);cursor:pointer;display:inline-flex;font-size:.8rem;gap:4px;padding:4px 8px;transition:background .15s}.photo-remove-btn:hover{background:#ef444414}.activity-photo-link{align-items:center;background:none;border:1px solid var(--accent-blue);border-radius:6px;color:var(--accent-blue);cursor:pointer;display:inline-flex;font-size:.78rem;gap:4px;margin-top:.4rem;padding:3px 8px;transition:all .15s}.activity-photo-link:hover{background:#3b82f614}.multi-files-preview{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.multi-file-item{display:inline-block;position:relative}.multi-file-thumb{display:block;object-fit:cover}.multi-file-doc,.multi-file-thumb{border:1px solid var(--border-2);border-radius:6px;height:80px;width:80px}.multi-file-doc{align-items:center;background:var(--surface-2);color:var(--text-3);display:flex;flex-direction:column;font-size:10px;justify-content:center;overflow:hidden;padding:4px;text-align:center}.multi-file-doc-icon{font-size:24px}.multi-file-doc-name{line-height:1.2;word-break:break-all}.multi-file-remove{align-items:center;background:var(--accent-red);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:20px;padding:0;position:absolute;right:-6px;top:-6px;width:20px}.multi-file-remove:hover{background:#c0392b;background:var(--accent-red-dark,#c0392b)}.multi-file-add-btn{align-items:center;background:#0000;border:2px dashed var(--border-2);border-radius:6px;color:var(--text-4);cursor:pointer;display:flex;height:80px;justify-content:center;transition:all .15s;width:80px}.multi-file-add-btn:hover{background:#3b82f60a;border-color:var(--accent-blue);color:var(--accent-blue)}.comment-input-area{border-top:1px solid var(--border-0);margin-top:1rem;padding-top:.75rem}.comment-browse-btn{align-items:center;background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;color:var(--text-3);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .15s;width:36px}.comment-browse-btn:hover{background:var(--surface-3);border-color:var(--accent-blue);color:var(--text-0)}.comment-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:.4rem}.comment-photo-thumb{align-items:center;background:var(--surface-2);border:1px solid var(--border-2);border-radius:6px;cursor:pointer;display:flex;height:52px;justify-content:center;overflow:hidden;padding:0;transition:all .15s;width:52px}.comment-photo-thumb:hover{border-color:var(--accent-blue)}.comment-photo-thumb img{height:100%;object-fit:cover;width:100%}.activity-photo-link-inner{align-items:center;color:var(--accent-blue);display:inline-flex;font-size:.72rem;gap:4px}.att-size{color:var(--text-4);font-size:.65rem}.att-drag-over{background:#3b82f60a;border-color:var(--accent-blue)!important}.badge-overdue{animation:pulseOverdue 2s ease-in-out infinite}@keyframes pulseOverdue{0%,to{opacity:1}50%{opacity:.7}}@media (max-width:767px){.detail-page{padding:1rem .5rem}.detail-order-number{font-size:1.25rem}.status-row-detail{align-items:stretch;flex-direction:column}.total-amount-box{margin-left:0}.detail-grid{grid-template-columns:1fr}.task-action-buttons{flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.main-content,body{background-color:var(--surface-0)}.main-content{min-height:100vh;position:relative;width:100%}.menu-button{align-items:center;background:var(--surface-1);border:1px solid var(--border-2);border-radius:10px;box-shadow:0 2px 8px #0000004d;color:var(--text-2);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;left:16px;position:fixed;top:16px;transition:all .2s;width:40px;z-index:998}.menu-button:hover{background:var(--surface-2);color:var(--text-0)}.content{min-height:100vh;padding-top:56px;width:100%}.badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.badge.small{font-size:.65rem;padding:.15rem .4rem}.badge.large{font-size:.82rem;padding:.3rem .8rem}.action-icon-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s;width:30px}.action-icon-btn.edit{background:#3b82f61f;color:var(--accent-blue-light)}.action-icon-btn.edit:hover{background:#3b82f640;color:var(--accent-blue-lighter)}.action-icon-btn.delete{background:#ef44441a;color:var(--accent-red)}.action-icon-btn.delete:hover{background:#ef444433;color:var(--accent-red-light)}.action-icon-btn.save{background:#22c55e1f;color:var(--accent-green)}.action-icon-btn.save:hover{background:#22c55e40;color:var(--accent-green-light)}.action-icon-btn.cancel{background:#9ca3af1f;color:var(--text-3)}.action-icon-btn.cancel:hover{background:#9ca3af40;color:var(--text-2)}.action-icon-btn.add{background:#3b82f614;border:1px dashed #3b82f64d;color:var(--accent-blue)}.action-icon-btn.add:hover{background:#3b82f62e;border-color:#3b82f680}.action-btn-group{display:flex;flex-shrink:0;gap:.35rem}
/*# sourceMappingURL=main.0dbfd31b.css.map*/