*{box-sizing:border-box;margin:0;padding:0}body{align-items:center;background:#f8fafc;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;line-height:1.6;min-height:100vh;padding:20px}[data-theme=dark] body{background:#0f1419}.login-container{max-width:400px;width:100%}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:32px;transition:all .2s ease}[data-theme=dark] .login-card{background:#1a1f2e;border-color:#2d3748}.login-card:hover{box-shadow:0 4px 6px #0000001a}.login-header{margin-bottom:32px;text-align:center}.login-header h2{color:#1a202c;font-size:1.75rem;font-weight:600;margin-bottom:8px}[data-theme=dark] .login-header h2{color:#e8eaed}.login-header p{color:#718096;font-size:14px;font-weight:400}[data-theme=dark] .login-header p{color:#9aa0a6}.form-group,.input-wrapper{position:relative}.input-wrapper{display:flex;flex-direction:column}.input-wrapper input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a202c;font-size:16px;font-weight:400;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}[data-theme=dark] .input-wrapper input{background:#212633;border-color:#2d3748;color:#e8eaed}.input-wrapper input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-wrapper input:focus+label,.input-wrapper input:valid+label{color:#3b82f6;font-weight:500;transform:translateY(-32px) scale(.85)}.input-wrapper label{background:#fff;color:#718096;font-size:16px;font-weight:400;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:12px;transform-origin:left top;transition:all .2s ease}[data-theme=dark] .input-wrapper label{background:#1a1f2e;color:#9aa0a6}.input-wrapper .password-toggle{background:none;border:none;color:#718096;cursor:pointer;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease;z-index:2}.input-wrapper .password-toggle:hover{color:#3b82f6}.toggle-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23718096' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;height:16px;transition:background-image .2s ease;width:16px}.password-toggle:hover .toggle-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233b82f6' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z'/%3E%3C/svg%3E")}.toggle-icon.show-password{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23718096' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.98 8.223A10.477 10.477 0 0 0 1.934 12c1.292 4.338 5.31 7.5 10.066 7.5.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 1-4.243-4.243m4.242 4.242L9.88 9.88'/%3E%3C/svg%3E")}.form-options{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.remember-wrapper{align-items:center;cursor:pointer;display:flex;gap:8px}.remember-wrapper input[type=checkbox]{display:none}.checkmark{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:3px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all .2s ease;width:16px}.remember-wrapper input[type=checkbox]:checked+.checkbox-label .checkmark{background:#3b82f6;border-color:#3b82f6}.remember-wrapper input[type=checkbox]:checked+.checkbox-label .checkmark:after{color:#fff;content:"✓";font-size:10px;font-weight:700}.checkbox-label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.forgot-password{color:#3b82f6;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-password:hover{color:#2563eb}.login-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-bottom:24px;padding:12px 24px;position:relative;transition:all .2s ease;width:100%}.login-btn:hover{background:#2563eb;box-shadow:0 4px 6px #3b82f633;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn.loading{background:#9ca3af;pointer-events:none}.btn-loader,.btn-text{transition:opacity .2s ease}.btn-loader{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}.login-btn.loading .btn-text{opacity:0}.login-btn.loading .btn-loader{opacity:1}.error-message{color:#dc2626;font-size:12px;font-weight:500;margin-left:4px;margin-top:6px;opacity:0;transform:translateY(-10px);transition:all .2s ease}.error-message.show{opacity:1;transform:translateY(0)}.form-group.error .input-wrapper input{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.success-message{display:none;opacity:0;padding:32px 20px;text-align:center;transform:translateY(20px);transition:all .3s ease}.success-message.show{display:block;opacity:1;transform:translateY(0)}.success-icon{align-items:center;background:#059669;border-radius:50%;color:#fff;display:flex;font-size:20px;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.success-message h3{color:#1a202c;font-size:1.25rem;margin-bottom:8px}.success-message p{color:#718096;font-size:14px}.signup-link{text-align:center}.signup-link p{color:#718096;font-size:14px}.signup-link a{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .2s ease}.signup-link a:hover{color:#2563eb}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@media (max-width:480px){body{padding:16px}.login-card{padding:24px}.login-header h2{font-size:1.5rem}.form-options{align-items:flex-start;flex-direction:column;gap:16px}}.admin-page-wrapper{background:#f8f9fa;border-radius:10px;box-shadow:0 2px 12px #00000014;margin:32px auto;max-width:1200px;padding-top:24px;width:100%}[data-theme=dark] .admin-page-wrapper{background:#1a1f2e;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .failed-req-table tbody tr,[data-theme=dark] .mat-catalog-table tbody tr,[data-theme=dark] .users-table tbody tr{background:#252b3b;border-color:#3a3f4e}.admin-container-header{padding:0 32px}.admin-title{color:#007bff;font-size:2.2em;font-weight:700;letter-spacing:1px;margin-bottom:16px}.admin-container{box-sizing:border-box;font-family:Segoe UI,Arial,sans-serif;overflow-x:hidden;padding:0 32px 32px;width:100%}[data-theme=dark] .admin-container{background:#0000}.admin-container h1{color:#007bff;font-size:2.2em;font-weight:700;letter-spacing:1px;margin-bottom:32px}section{margin-bottom:36px}.deliveries-section h2,.projects-section h2,.requests-section h2,.upload-section h2{align-items:center;color:#212529;display:flex;font-size:1.5em;font-weight:700;gap:10px;margin-bottom:20px}[data-theme=dark] .deliveries-section h2,[data-theme=dark] .projects-section h2,[data-theme=dark] .requests-section h2,[data-theme=dark] .upload-section h2{color:#e8eaed}.admin-tabs-scroll-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;margin:0 auto;max-width:1264px;overflow-x:auto;padding:0 32px;scrollbar-width:none;width:100%}.admin-tabs-scroll-wrapper::-webkit-scrollbar{display:none}.admin-tabs{border-bottom:2px solid #dee2e6;display:flex;flex-wrap:nowrap;gap:4px;min-width:max-content;padding-bottom:0}.admin-tab-btn{background:none;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;color:#6c757d;cursor:pointer;flex-shrink:0;font-size:.95em;font-weight:600;margin-bottom:-2px;padding:10px 18px;transition:color .15s,border-color .15s;white-space:nowrap}.admin-tab-btn:hover{color:#007bff}.admin-tab-btn.active{background:#007bff0f;border-bottom-color:#007bff;color:#007bff}[data-theme=dark] .admin-tabs{border-bottom-color:#3a3f4e}[data-theme=dark] .admin-tab-btn{color:#adb5bd}[data-theme=dark] .admin-tab-btn.active{background:#4dabf714;border-bottom-color:#4dabf7;color:#4dabf7}.catalog-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #dee2e6;border-radius:8px;max-width:100%;overflow-x:auto;width:100%}[data-theme=dark] .catalog-table-wrap{border-color:#3a3f4e}.add-catalog-material-form{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.catalog-input{border:1px solid #ced4da;border-radius:6px;font-size:.95em;padding:8px 12px;width:130px}.catalog-input-wide{width:260px}[data-theme=dark] .catalog-input{background:#252b3b;border-color:#3a3f4e;color:#e8eaed}.role-badge{background:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:.82em;font-weight:700;padding:3px 10px}.role-badge.role-dev{background:#7c3aed;color:#fff}.role-badge.role-admin{background:#dc3545;color:#fff}.role-badge.role-project-manager{background:#1a6fd4;color:#fff}.role-badge.role-driver{background:#fd7e14;color:#fff}[data-theme=dark] .role-badge{background:#3a3f4e;color:#adb5bd}.projects-grid{display:flex;flex-wrap:wrap;gap:24px}.project-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 2px 8px #00000014;flex:1 1 280px;margin-bottom:16px;min-width:280px;padding:22px 26px;transition:all .3s ease}[data-theme=dark] .project-card{background:linear-gradient(135deg,#212633,#1a1f2e);border-color:#2d3748;color:#e8eaed}.project-card:hover{border-color:#007bff;box-shadow:0 6px 20px #007bff26;transform:translateY(-4px)}.project-card h3{color:#007bff;font-size:1.2em;font-weight:700;margin-bottom:10px}.materials-list ul{font-size:.98em;margin:0;padding-left:18px}.admin-search-input{background:#fff;border:1px solid #ddd;border-radius:50px;box-sizing:border-box;color:#1a202c;display:block;font-size:14px;margin-bottom:16px;max-width:340px;outline:none;padding:10px 16px;transition:all .2s ease;width:100%}.admin-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1f}[data-theme=dark] .admin-search-input{background:#212633;border-color:#2d3748;color:#e8eaed}[data-theme=dark] .admin-search-input::placeholder{color:#9aa0a6}.edit-btn{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;margin-top:12px;padding:6px 18px;transition:background .2s}.edit-btn:hover{background:#0056b3}.edit-modal{align-items:center;background:#0000002e;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}[data-theme=dark] .edit-modal{background:#0009}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;max-height:85vh;min-width:340px;overflow-y:auto;padding:32px 36px;position:relative}[data-theme=dark] .modal-content{background:#212633;color:#e8eaed}.material-edit{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.material-edit input{background:#fff;border:1px solid #ddd;border-radius:4px;color:#1a202c;font-size:.95em;padding:6px 10px}[data-theme=dark] .material-edit input{background:#212633;border-color:#2d3748;color:#e8eaed}.material-edit input:first-child{width:70px}.material-edit input:nth-child(2){flex:1 1;min-width:150px}.material-edit input:nth-child(3){width:80px}.material-edit input:nth-child(4){width:90px}.add-material-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.add-material-form input{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#1a202c;font-size:.95em;height:38px;padding:8px 10px;width:110px}[data-theme=dark] .add-material-form input{background:#212633;border-color:#2d3748;color:#e8eaed}.autocomplete-container{flex:1 1;min-width:200px;position:relative}.autocomplete-container input{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#1a202c;font-size:.95em;height:38px;padding:8px 12px;width:100%}[data-theme=dark] .autocomplete-container input{background:#212633;border-color:#2d3748;color:#e8eaed}.autocomplete-suggestions{background:#fff;border:1px solid #c0c8d8;border-radius:8px;box-shadow:0 8px 24px #00000026;left:0;max-height:280px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}[data-theme=dark] .autocomplete-suggestions{background:#212633;border-color:#2d3748}.autocomplete-item{border-bottom:1px solid #f0f0f0;color:#1a202c;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 12px;transition:background .2s}[data-theme=dark] .autocomplete-item{border-bottom-color:#2d3748;color:#e8eaed}.autocomplete-item:hover{background:#f8f9fa}[data-theme=dark] .autocomplete-item:hover{background:#2d3748}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item strong{color:#007bff;font-size:1em}.autocomplete-item .material-details{color:#6c757d;font-size:.85em}.add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.95em;font-weight:600;height:38px;padding:0 18px;white-space:nowrap}.add-btn:hover{background:#218838}.excel-import-btn{background:#1a6fd4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88em;font-weight:600;padding:6px 14px;white-space:nowrap}.excel-import-btn:hover{background:#155bb5}.modal-actions{display:flex;gap:12px;margin-top:18px}.cancel-btn,.save-btn{border:none;border-radius:5px;cursor:pointer;font-weight:500;padding:7px 18px}.cancel-btn{background:#6c757d;color:#fff}.save-btn{background:#007bff;color:#fff}.save-btn:hover{background:#0056b3}.current-materials{border:1px solid #e9ecef;border-radius:8px;max-height:40vh;overflow-y:auto}[data-theme=dark] .current-materials{border-color:#2d3748}.material-edit-table{border-collapse:collapse;font-size:.95em;width:100%}.material-edit-table th{background:#f0f2f5;border-bottom:2px solid #dee2e6;color:#495057;font-size:.85em;font-weight:600;letter-spacing:.5px;padding:8px 10px;position:sticky;text-transform:uppercase;top:0;z-index:1}[data-theme=dark] .material-edit-table th{background:#1a1f2e;border-bottom-color:#2d3748;color:#a0aec0}.material-edit-table td{border-bottom:1px solid #e9ecef;padding:6px 10px;vertical-align:middle}[data-theme=dark] .material-edit-table td{border-bottom-color:#2d3748;color:#e8eaed}.material-edit-table tbody tr:hover{background:#f8f9fa}[data-theme=dark] .material-edit-table tbody tr:hover{background:#2d3748}.quantity-input{background:#fff;border:1px solid #ddd;border-radius:4px;color:#1a202c;font-size:.95em;padding:5px 8px;text-align:center;width:100%}[data-theme=dark] .quantity-input{background:#212633;border-color:#2d3748;color:#e8eaed}.remove-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95em;padding:4px 10px}.remove-btn:hover{background:#b71c1c}.add-btn:disabled{background:#a0aec0;cursor:not-allowed;opacity:.6}.project-deliveries-container{display:flex;flex-direction:column;gap:24px}.project-requests-container{display:flex;flex-direction:column;gap:16px}.project-request-group{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px 24px;transition:transform .2s,box-shadow .2s}[data-theme=dark] .project-request-group{background:linear-gradient(135deg,#212633,#1a1f2e);border-color:#2d3748}.project-request-group:hover{box-shadow:0 4px 16px #007bff1f;transform:translateY(-2px)}.project-delivery-group{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;transition:transform .2s,box-shadow .2s}[data-theme=dark] .project-delivery-group{background:linear-gradient(135deg,#212633,#1a1f2e);border-color:#2d3748}.project-delivery-group:hover{box-shadow:0 4px 16px #007bff1f;transform:translateY(-2px)}.project-header{align-items:center;border-bottom:2px solid #e3e6ea;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}[data-theme=dark] .project-header{border-bottom-color:#2d3748}.project-header h3{align-items:center;color:#007bff;display:flex;font-size:1.4em;gap:10px;margin:0}.collapse-arrow{color:#6c757d;display:inline-block;font-size:.7em;transition:transform .3s ease}.collapse-arrow.collapsed{transform:rotate(-90deg)}.project-icon{font-size:1.3em}.project-code-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.75em;font-weight:600;margin-left:8px;padding:4px 12px}.delivery-count-badge{background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:.9em;font-weight:600;padding:6px 14px}.materials-delivery-list{display:flex;flex-direction:column;gap:20px}.status-group-section{margin-bottom:24px}.status-group-header{margin-bottom:12px;padding-left:4px}.status-group-header .status-badge{display:inline-block;font-size:1em;padding:6px 14px}.show-more-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:.9em;font-weight:600;gap:8px;justify-content:center;margin-top:12px;padding:10px 16px;transition:all .2s ease;width:100%}[data-theme=dark] .show-more-btn{background:#1a1f2e;border-color:#2d3748;color:#e8eaed}.show-more-btn:hover{background:#e9ecef;border-color:#007bff;color:#007bff}[data-theme=dark] .show-more-btn:hover{background:#212633;border-color:#007bff;color:#007bff}.material-delivery-section{background:#fff;border:1px solid #e3e6ea;border-radius:10px;margin-bottom:12px;padding:18px}[data-theme=dark] .material-delivery-section{background:#1a1f2e;border-color:#2d3748}.material-header{align-items:center;color:#333;display:flex;font-size:1.1em;gap:8px;margin-bottom:14px}[data-theme=dark] .material-header{color:#e8eaed}.material-icon{font-size:1.2em}.delivery-sub-count{background:#f1f3f5;border-radius:16px;color:#495057;font-size:.85em;font-weight:500;margin-left:auto;padding:4px 10px}.delivery-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.delivery-card-admin{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 4px #0000000f;padding:16px;transition:all .3s ease}[data-theme=dark] .delivery-card-admin{background:linear-gradient(135deg,#212633,#1a1f2e);border-color:#2d3748}.delivery-card-admin:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.delivery-card-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}[data-theme=dark] .delivery-card-header{border-bottom-color:#2d3748}.delivery-id{color:#495057;font-size:.95em;font-weight:600}.status-badge{font-size:.82em;padding:4px 10px}.status-badge.PENDING,.status-badge.pending,[data-theme=dark] .status-badge.pending{background:#e67e00;color:#fff}.status-badge.ASSIGNED{background:#1a6fd4;color:#fff}.status-badge.SENT{background:#1a9e5c;color:#fff}.status-badge.PARTIALLY_ASSIGNED{background:#c0392b;color:#fff}.delivery-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.info-row{align-items:center;display:flex;font-size:.92em;justify-content:space-between}.info-row .label{color:#6c757d;font-weight:500}.info-row .value{color:#212529;font-weight:600;text-align:right}[data-theme=dark] .info-row .value{color:#e8eaed}.mark-sent-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:8px 16px;transition:all .3s ease;width:100%}.mark-sent-btn:hover{background:linear-gradient(135deg,#218838,#1aa179);box-shadow:0 4px 12px #28a7454d;transform:scale(1.02)}.empty-state{background:#fff;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-size:1.1em;padding:40px;text-align:center}[data-theme=dark] .empty-state{background:#1a1f2e;border-color:#2d3748;color:#9aa0a6}.deliveries-table{margin-top:12px;overflow-x:auto}.deliveries-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 6px #0000000f;font-size:1em;width:100%}.deliveries-table td,.deliveries-table th{border-bottom:1px solid #eee;padding:10px 8px;text-align:left}.deliveries-table th{background:#f1f3f6;color:#007bff;font-weight:600}.status{border-radius:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.status.assigned{background:#ffc107;color:#333}.status.dispatched{background:#17a2b8;color:#fff}.status.completed{background:#28a745;color:#fff}.actions button{border:none;border-radius:4px;cursor:pointer;font-size:.97em;margin-right:6px;padding:5px 12px;transition:background .2s}.dispatch-btn{background:#ffc107;color:#333}.complete-btn{background:#28a745;color:#fff}.dispatch-btn:hover{background:#e0a800}.complete-btn:hover{background:#218838}.requests-grid{display:flex;flex-wrap:wrap;gap:20px}.request-table-container{-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;margin-bottom:20px;max-width:100%;overflow-x:auto;width:100%}[data-theme=dark] .request-table-container{background:#212633}.request-table-container .material-table{border-collapse:collapse;font-size:.95em;width:100%}.request-table-container .material-table thead{background:#f8f9fa;border-bottom:2px solid #e3e6ea}[data-theme=dark] .request-table-container .material-table thead{background:#1a1f2e;border-bottom-color:#2d3748}.request-table-container .material-table thead th{color:#212529;font-weight:600;padding:12px 16px;text-align:left}[data-theme=dark] .request-table-container .material-table thead th{color:#e8eaed}.request-table-container .material-table tbody tr{border-bottom:1px solid #e3e6ea}[data-theme=dark] .request-table-container .material-table tbody tr{border-bottom-color:#2d3748}.request-table-container .material-table tbody tr:last-child{border-bottom:none}.request-table-container .material-table tbody td{color:#333;padding:12px 16px}[data-theme=dark] .request-table-container .material-table tbody td{color:#e8eaed}.request-table-container .material-table tbody tr:hover{background:#f8f9fa}[data-theme=dark] .request-table-container .material-table tbody tr:hover{background:#1a1f2e}.request-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e3e6ea;border-radius:10px;box-shadow:0 2px 8px #00000014;flex:1 1 240px;margin-bottom:16px;min-width:240px;padding:20px 24px;transition:all .3s ease}[data-theme=dark] .request-card{background:linear-gradient(135deg,#212633,#1a1f2e);border-color:#2d3748}.request-card:hover{border-color:#007bff;box-shadow:0 4px 14px #007bff1f;transform:translateY(-2px)}.request-card h3{color:#007bff;font-weight:700;margin-bottom:10px}.request-materials ul{font-size:.98em;margin:0;padding-left:18px}@media (max-width:1024px){.admin-container{padding:20px 16px}.delivery-cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.admin-tabs{gap:4px}.admin-tab-btn{font-size:.95em;padding:8px 16px}.catalog-input-wide{width:180px}}@media (max-width:768px){.admin-page-wrapper{border-radius:8px;box-shadow:none;margin:8px;padding-top:8px}.admin-container-header,.admin-tabs-scroll-wrapper{padding:0 12px}.admin-container{max-width:100%;padding:0 12px 20px;width:100%}.admin-title{font-size:1.5em;margin-bottom:12px}.admin-tab-btn{font-size:.82em;padding:8px 10px}.projects-grid,.requests-grid{flex-direction:column;gap:12px}.project-card,.request-card{font-size:.97em;min-width:0;min-width:auto;padding:14px 12px;width:100%}.modal-content{border-radius:8px;max-width:98vw!important;min-width:0;min-width:auto;padding:16px 10px;width:98vw!important}.modal-actions{flex-wrap:wrap}.catalog-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.catalog-table-wrap .material-edit-table{min-width:600px}.catalog-table-wrap:has(.failed-req-table){border:none;border-radius:0;overflow-x:visible}.failed-req-table{display:block;min-width:0!important;min-width:auto!important;width:100%}.failed-req-table thead{display:none}.failed-req-table tbody{display:block}.failed-req-table tbody tr{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:block;margin-bottom:8px;padding:10px 36px 10px 12px;position:relative}.failed-req-table tbody tr:after{color:#6c757d;content:"▼";font-size:11px;pointer-events:none;position:absolute;right:12px;top:13px}.failed-req-table tbody tr.fr-expanded:after{content:"▲"}.failed-req-table td{border:none;display:none;font-size:13px;padding:3px 0;text-align:left!important}.failed-req-table td:before{color:#6c757d;content:attr(data-label) ": ";font-size:11px;font-weight:700;letter-spacing:.3px;margin-right:4px;text-transform:uppercase}.failed-req-table td.fr-action,.failed-req-table td.fr-material,.failed-req-table td.fr-status,.failed-req-table td.fr-type{display:block}.failed-req-table td.fr-action:before{content:none}.failed-req-table tbody tr.fr-expanded td{display:block}.catalog-table-wrap:has(.mat-catalog-table){border:none;border-radius:0;overflow-x:visible}.mat-catalog-table{display:block;min-width:0!important;min-width:auto!important;width:100%}.mat-catalog-table thead{display:none}.mat-catalog-table tbody{display:block}.mat-catalog-table tbody tr{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:block;margin-bottom:8px;padding:10px 36px 10px 12px;position:relative}.mat-catalog-table tbody tr.editing-row{cursor:default}.mat-catalog-table tbody tr:after{color:#6c757d;content:"▼";font-size:11px;pointer-events:none;position:absolute;right:12px;top:13px}.mat-catalog-table tbody tr.editing-row:after{content:none}.mat-catalog-table tbody tr.mat-expanded:after{content:"▲"}.mat-catalog-table td{border:none;display:none;font-size:13px;padding:3px 0;text-align:left!important}.mat-catalog-table td:before{color:#6c757d;content:attr(data-label) ": ";font-size:11px;font-weight:700;letter-spacing:.3px;margin-right:4px;text-transform:uppercase}.mat-catalog-table td.mat-actions,.mat-catalog-table td.mat-code,.mat-catalog-table td.mat-name{display:block}.mat-catalog-table td.mat-actions{padding-top:6px}.mat-catalog-table td.mat-actions:before{content:none}.mat-catalog-table tbody tr.editing-row td,.mat-catalog-table tbody tr.mat-expanded td{display:block}.mat-catalog-table tbody tr.editing-row td:last-child{display:flex}.catalog-table-wrap:has(.users-table){border:none;border-radius:0;overflow-x:visible}.users-table{display:block;min-width:0!important;min-width:auto!important;width:100%}.users-table thead{display:none}.users-table tbody{display:block}.users-table tbody tr{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:block;margin-bottom:8px;padding:10px 36px 10px 12px;position:relative}.users-table tbody tr:after{color:#6c757d;content:"▼";font-size:11px;pointer-events:none;position:absolute;right:12px;top:13px}.users-table tbody tr.u-expanded:after{content:"▲"}.users-table td{border:none;display:none;font-size:13px;padding:3px 0;text-align:left!important}.users-table td:before{color:#6c757d;content:attr(data-label) ": ";font-size:11px;font-weight:700;letter-spacing:.3px;margin-right:4px;text-transform:uppercase}.users-table tbody tr.u-expanded td,.users-table td.u-name,.users-table td.u-role{display:block}.add-catalog-material-form{align-items:stretch;flex-direction:column;gap:8px}.catalog-input,.catalog-input-wide{width:100%!important}.add-material-form{flex-wrap:wrap;gap:8px}.add-material-form input{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;width:calc(50% - 4px)}.autocomplete-container{flex:1 1 100%;min-width:0;min-width:auto;width:100%}.admin-search-input{max-width:100%}.deliveries-table td,.deliveries-table th{font-size:.9em;padding:7px 4px}.delivery-cards-grid{grid-template-columns:1fr}.project-delivery-group{padding:12px 10px}.project-header{align-items:flex-start;flex-direction:column;gap:8px}.project-header h3{flex-wrap:wrap;font-size:1.1em}.project-header>div{flex-wrap:wrap;gap:6px}.delivery-count-badge{align-self:flex-start}.material-delivery-section{padding:12px 10px}.info-row{font-size:.88em}.project-request-group{padding:12px 10px}.request-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.request-table-container .material-table{min-width:360px}.materials-tab form[style]{grid-template-columns:1fr!important}section>div[style*=flexWrap]{flex-wrap:wrap!important}.deliveries-section h2,.projects-section h2,.requests-section h2,.upload-section h2{font-size:1.2em}.project-card>div[style*="display: flex"]{flex-wrap:wrap}.edit-btn{font-size:.88em;padding:5px 12px}.delivery-card-admin:hover,.mark-sent-btn:hover,.project-card:hover,.project-delivery-group:hover,.project-request-group:hover,.request-card:hover{transform:none}}.excel-upload-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin:0 auto;max-width:700px;padding:32px}[data-theme=dark] .excel-upload-container{background:#1a1f2e;border-color:#2d3748}.excel-upload-container h2{align-items:center;color:#007bff;display:flex;font-size:1.8em;gap:10px;margin-bottom:24px}[data-theme=dark] .excel-upload-container h2{color:#4a9eff}.project-selector,.upload-type-selector{margin-bottom:20px}.project-selector label,.upload-type-selector label{color:#333;display:block;font-size:.95em;font-weight:600;margin-bottom:8px}[data-theme=dark] .project-selector label,[data-theme=dark] .upload-type-selector label{color:#e8eaed}.project-selector select,.upload-type-selector select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-size:1em;padding:10px 14px;transition:border-color .2s;width:100%}[data-theme=dark] .project-selector select,[data-theme=dark] .upload-type-selector select{background:#2d3748;border-color:#4a5568;color:#e8eaed}.project-selector select:focus,.upload-type-selector select:focus{border-color:#007bff;outline:none}.upload-form{margin-top:24px}.file-input-wrapper{margin-bottom:20px}.file-input-wrapper input[type=file]{background:#f8f9ff;border:2px dashed #007bff;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s;width:100%}[data-theme=dark] .file-input-wrapper input[type=file]{background:#2d3748;border-color:#4a9eff;color:#e8eaed}.file-input-wrapper input[type=file]:hover{background:#e8f0ff;border-color:#0056b3}[data-theme=dark] .file-input-wrapper input[type=file]:hover{background:#3d4758}.file-name{color:#666;display:block;font-size:.9em;font-weight:500;margin-top:8px}[data-theme=dark] .file-name{color:#a0aec0}.button-group{display:flex;gap:12px}.template-button,.upload-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1em;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.upload-button{background:#007bff;color:#fff}.upload-button:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.upload-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.template-button{background:#28a745;color:#fff}.template-button:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.result-box{border:2px solid;border-radius:8px;margin-top:24px;padding:20px}.result-box.success{background:#d4edda;border-color:#28a745;color:#155724}[data-theme=dark] .result-box.success{background:#1e3a2c;border-color:#28a745;color:#a3d9b1}.result-box.error{background:#f8d7da;border-color:#dc3545;color:#721c24}[data-theme=dark] .result-box.error{background:#3a1e1e;border-color:#dc3545;color:#f5c2c7}.result-box h3{font-size:1.2em;margin-bottom:12px;margin-top:0}.result-details p{font-size:1em;margin:8px 0}.result-details strong{font-weight:700}.error-list{background:#dc35451a;border-radius:6px;margin-top:16px;padding:12px}[data-theme=dark] .error-list{background:#dc354526}.error-list h4{color:#dc3545;font-size:1em;margin-bottom:8px;margin-top:0}.error-list ul{margin:0;padding-left:20px}.error-list li{font-size:.9em;margin:4px 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.upload-button:disabled{animation:pulse 1.5s ease-in-out infinite}.delivery-list-main{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #00000012;margin:32px auto;max-width:700px;padding:32px}[data-theme=dark] .delivery-list-main{background:#1a1f2e}.delivery-list-main h2{color:#333;margin-bottom:16px}[data-theme=dark] .delivery-list-main h2{color:#e8eaed}.delivery-list-main p{color:#555}[data-theme=dark] .delivery-list-main p{color:#9aa0a6}.delivery-list{list-style:none;margin:0;padding:0}.delivery-item{background:#fff;border-left:4px solid #007bff;border-radius:6px;box-shadow:0 1px 4px #0000000d;color:#1a202c;cursor:pointer;margin-bottom:16px;padding:18px 20px;transition:box-shadow .2s}[data-theme=dark] .delivery-item{background:#212633;color:#e8eaed}.delivery-item:hover{background:#eef6ff;box-shadow:0 4px 16px #0000001a}[data-theme=dark] .delivery-item:hover{background:#2d3748}.delivery-error,.delivery-loading{color:#007bff;font-size:1.2em;margin:32px 0;text-align:center}.delivery-error{color:#dc3545}.delivery-item strong{color:#222}[data-theme=dark] .delivery-item strong{color:#e8eaed}@media (max-width:600px){.dynamic-island{left:50%;min-width:0;min-width:auto;padding:18px 8px;top:100%;transform:translate(-50%,8px);width:95vw}}.projectList-main{background:#f9fafb;border-radius:12px;box-shadow:0 4px 8px #00000014;margin:30px auto;max-width:500px;padding:20px}[data-theme=dark] .projectList-main{background:#1a1f2e}.projectList-main h2{color:#333;font-size:1.6rem;margin-bottom:15px;text-align:center}[data-theme=dark] .projectList-main h2{color:#e8eaed}.search-input{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#1a202c;display:block;font-size:14px;margin:0 auto 16px;outline:none;padding:8px 12px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}[data-theme=dark] .search-input{background:#212633;border-color:#2d3748;color:#e8eaed}[data-theme=dark] .search-input::placeholder{color:#9aa0a6}.projectList{list-style:none;margin:0;padding:0}.projectItem{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:12px 15px;transition:all .2s ease}[data-theme=dark] .projectItem{background:#212633;border-color:#2d3748;color:#e8eaed}.projectItem:hover{background:#e6f0ff;border-color:#4a90e2;transform:translateY(-2px)}[data-theme=dark] .projectItem:hover{background:#2d3748;border-color:#4a90e2}.error,.loading,.noProjects{font-size:1.1rem;margin-top:20px;text-align:center}[data-theme=dark] .loading,[data-theme=dark] .noProjects{color:#9aa0a6}.error{color:#e74c3c}.noProjects{color:#777}.project-material-main{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #00000012;margin:32px auto;max-width:700px;padding:32px}[data-theme=dark] .project-material-main{background:#1a1f2e}.project-material-main h2{color:#333;margin-bottom:8px}[data-theme=dark] .project-material-main h2{color:#e8eaed}.project-material-main p{color:#555;margin:4px 0 12px}[data-theme=dark] .project-material-main p{color:#9aa0a6}.material-table{border-collapse:collapse;margin-top:16px}.material-table td,.material-table th{border:1px solid #ddd;color:#1a202c;padding:10px;text-align:left}[data-theme=dark] .material-table td,[data-theme=dark] .material-table th{border-color:#2d3748;color:#e8eaed}.material-table th{background:#e9ecef;color:#222}[data-theme=dark] .material-table th{background:#2d3748}.material-table tr:nth-child(2n){background:#f6f6f6}[data-theme=dark] .material-table tr:nth-child(2n){background:#1a1f2e}.mobile-project-materials{display:none}@media (max-width:768px){.project-material-main{margin:16px;max-width:100%;padding:16px}.project-material-main h2{font-size:20px}.project-material-main p{font-size:14px}.material-table{display:none}.mobile-project-materials{display:flex;flex-direction:column;gap:12px;margin-top:16px}.mobile-material-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px}[data-theme=dark] .mobile-material-card{background:#212633}.mobile-material-name{border-bottom:1px solid #e9ecef;color:#1a202c;font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:12px}[data-theme=dark] .mobile-material-name{border-bottom-color:#2d3748;color:#e8eaed}.mobile-material-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.mobile-info-row{align-items:center;display:flex;font-size:14px;justify-content:space-between}.mobile-info-label{color:#6c757d;font-weight:500}[data-theme=dark] .mobile-info-label{color:#9aa0a6}.mobile-info-value{color:#1a202c;font-weight:600}[data-theme=dark] .mobile-info-value{color:#e8eaed}.mobile-request-input{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}[data-theme=dark] .mobile-request-input{border-top-color:#2d3748}.mobile-request-label{color:#1a202c;display:block;font-size:14px;font-weight:600;margin-bottom:6px}[data-theme=dark] .mobile-request-label{color:#e8eaed}.mobile-request-input input{background:#fff;border:2px solid #ddd;border-radius:6px;color:#1a202c;font-size:16px;outline:none;padding:10px 12px;width:100%}[data-theme=dark] .mobile-request-input input{background:#1a1f2e;border-color:#2d3748;color:#e8eaed}.mobile-request-input input:focus{border-color:#007bff}.mobile-status{border-radius:4px;font-size:13px;margin-top:8px;padding:6px;text-align:center}.mobile-status.success{background:#d4edda;color:#155724}.mobile-status.error{background:#f8d7da;color:#721c24}.mobile-status.pending{background:#fff3cd;color:#856404}.project-material-main form button[type=submit]{font-size:16px;margin-top:16px;padding:14px;width:100%}}.delivery-container{margin:32px auto;max-width:1200px;padding:24px}.delivery-container h2{color:#333;font-size:28px;font-weight:600;margin-bottom:24px}[data-theme=dark] .delivery-container h2{color:#e8eaed}.delivery-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px;padding:24px}[data-theme=dark] .delivery-info{background:#1a1f2e}.delivery-info h3{color:#333;font-size:18px;font-weight:600;margin-bottom:16px}[data-theme=dark] .delivery-info h3{color:#e8eaed}.assignment-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}[data-theme=dark] .assignment-form{background:#1a1f2e}.assignment-form h3{color:#333;font-size:18px;font-weight:600;margin-bottom:20px}[data-theme=dark] .assignment-form h3{color:#e8eaed}.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}[data-theme=dark] .form-group label{color:#9aa0a6}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#1a202c;font-size:14px;margin-top:2px;padding:10px 14px;transition:all .2s ease;width:100%}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:#212633;border-color:#2d3748;color:#e8eaed}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.material-selection{margin-bottom:18px}.material-item{align-items:center;display:flex;margin-bottom:10px}.material-item label{flex:1 1}.quantity-input{margin-left:12px;width:80px}.submit-btn{background:#007bff;border:none;border-radius:8px;box-shadow:0 2px 6px #007bff4d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:12px 32px;transition:all .2s ease}.submit-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff66;transform:translateY(-1px)}.submit-btn:active{box-shadow:0 2px 4px #007bff4d;transform:translateY(0)}.delivery-loading{color:#007bff;font-size:1.2em;margin:32px 0;text-align:center}.project-info-grid{grid-gap:16px;background:#f8f9fa;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:16px}[data-theme=dark] .project-info-grid{background:#212633}.info-label{color:#666;font-size:12px;margin-bottom:4px}[data-theme=dark] .info-label{color:#9aa0a6}.info-value{color:#333;font-size:16px;font-weight:600}[data-theme=dark] .info-value{color:#e8eaed}.info-value-address{color:#333;font-size:14px;font-weight:500}[data-theme=dark] .info-value-address{color:#e8eaed}.material-table{background:#fff;border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:0 2px 8px #0000000f;margin-top:20px;overflow:hidden;width:100%}[data-theme=dark] .material-table{background:#212633}.material-table th{background:linear-gradient(180deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#495057;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:center;text-transform:uppercase}[data-theme=dark] .material-table th{background:linear-gradient(180deg,#2d3748,#1a1f2e);border-bottom-color:#2d3748;color:#e8eaed}.material-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:14px;padding:14px 16px;text-align:center}[data-theme=dark] .material-table td{border-bottom-color:#2d3748;color:#e8eaed}.material-table tbody tr:last-child td{border-bottom:none}.material-table tbody tr:hover{background:#f8f9fa}[data-theme=dark] .material-table tbody tr:hover{background:#2d3748}.material-row-selected{background:#f0f8ff!important;transition:all .2s ease}[data-theme=dark] .material-row-selected{background:#1e3a5f!important}.material-row-disabled{opacity:.6}.request-count-badge{background:#007bff;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.request-id-cell{color:#666;font-weight:500}[data-theme=dark] .request-id-cell{color:#9aa0a6}.material-name-cell{font-weight:500;text-align:left}.remaining-qty{font-size:16px;font-weight:700}.remaining-qty.available{color:#28a745}.remaining-qty.unavailable{color:#dc3545}.status-badge{border-radius:16px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.delivered{background:#28a745}.status-badge.assigned{background:#007bff}.status-badge.pending{background:#ffc107}.quantity-input-field{background:#fff;border:1px solid #ddd;border-radius:6px;color:#1a202c;font-size:14px;outline:none;padding:8px 12px;transition:all .2s ease;width:100%}[data-theme=dark] .quantity-input-field{background:#212633;border-color:#2d3748;color:#e8eaed}.quantity-input-field.selected{border:2px solid #007bff}.quantity-input-field:disabled{background:#f5f5f5}[data-theme=dark] .quantity-input-field:disabled{background:#1a1f2e}.quantity-error{color:#dc3545;font-size:11px;font-weight:500;margin-top:4px}@media (max-width:768px){.delivery-container{margin:16px auto;padding:16px}.delivery-container h2{font-size:20px;margin-bottom:16px}.assignment-form,.delivery-info{padding:16px}.project-info-grid{gap:12px;grid-template-columns:1fr}.material-table{display:none}.material-table+.mobile-material-cards{display:block}}.mobile-material-cards{display:none}@media (max-width:768px){.mobile-material-cards{display:flex;flex-direction:column;gap:12px;margin-top:16px}.mobile-material-card{background:#f8f9fa;border:2px solid #0000;border-radius:8px;padding:16px;transition:all .2s ease}[data-theme=dark] .mobile-material-card{background:#212633}.mobile-material-card.selected{background:#f0f8ff;border-color:#007bff}[data-theme=dark] .mobile-material-card.selected{background:#1e3a5f;border-color:#007bff}.mobile-material-card.disabled{opacity:.6;pointer-events:none}.mobile-card-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}[data-theme=dark] .mobile-card-header{border-bottom-color:#2d3748}.mobile-material-name{color:#1a202c;flex:1 1;font-size:15px;font-weight:600}[data-theme=dark] .mobile-material-name{color:#e8eaed}.mobile-request-badge{background:#007bff;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px}.mobile-card-body{display:flex;flex-direction:column;gap:8px}.mobile-info-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.mobile-info-label{color:#6c757d;font-weight:500}[data-theme=dark] .mobile-info-label{color:#9aa0a6}.mobile-info-value{color:#1a202c;font-weight:600}[data-theme=dark] .mobile-info-value{color:#e8eaed}.mobile-info-value.available{color:#28a745}.mobile-info-value.unavailable{color:#dc3545}.mobile-quantity-input{border-top:1px solid #dee2e6;margin-top:12px;padding-top:12px}[data-theme=dark] .mobile-quantity-input{border-top-color:#2d3748}.mobile-quantity-label{color:#1a202c;display:block;font-size:13px;font-weight:600;margin-bottom:6px}[data-theme=dark] .mobile-quantity-label{color:#e8eaed}.mobile-quantity-input input{background:#fff;border:2px solid #ddd;border-radius:6px;color:#1a202c;font-size:16px;outline:none;padding:10px 12px;width:100%}[data-theme=dark] .mobile-quantity-input input{background:#1a1f2e;border-color:#2d3748;color:#e8eaed}.mobile-quantity-input input:focus{border-color:#007bff}.mobile-quantity-input input:disabled{background:#e9ecef}[data-theme=dark] .mobile-quantity-input input:disabled{background:#0d1117}.assignment-form .form-group{margin-bottom:16px}.assignment-form label{font-size:14px}.assignment-form input,.assignment-form select{font-size:16px;padding:12px}.submit-btn{font-size:16px;padding:14px}}.driver-delivery-container{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #00000012;margin:32px auto;max-width:900px;padding:32px;position:relative}[data-theme=dark] .driver-delivery-container{background:#1a1f2e}.driver-delivery-container h2{color:#333;font-size:2em;font-weight:700;letter-spacing:1px;margin-bottom:24px}[data-theme=dark] .driver-delivery-container h2{color:#e8eaed}.project-group{background:#fff;border-radius:8px;box-shadow:0 1px 6px #00000014;margin-bottom:32px;padding:18px 24px}[data-theme=dark] .project-group{background:#212633}.project-icon{font-size:1.2em;margin-right:8px}.project-code{color:#888;font-size:.95em;margin-left:8px}[data-theme=dark] .project-code{color:#9aa0a6}.vertical-list{display:flex;flex-direction:column;gap:18px;padding-bottom:16px}.delivery-card-vertical{background:#f6f8fc;border:2px solid #0000;border-radius:8px;box-shadow:0 1px 6px #0000000a;color:#1a202c;cursor:pointer;margin-bottom:8px;padding:16px 18px;position:relative;transition:box-shadow .2s,border .2s}[data-theme=dark] .delivery-card-vertical{background:#1a1f2e;color:#e8eaed}.delivery-card-vertical.active{border:2px solid #007bff;box-shadow:0 2px 12px #007bff1f}.delivery-summary{align-items:center;display:flex;font-size:1.1em;justify-content:space-between;margin-bottom:8px}.delivery-mini{color:#555;display:flex;font-size:.98em;gap:18px;margin-bottom:4px}[data-theme=dark] .delivery-mini{color:#9aa0a6}.status-badge{background:#007bff;border-radius:12px;color:#fff;font-size:.95em;padding:4px 12px;text-transform:capitalize}.status-badge.ASSIGNED{background:#ffc107;color:#333}.status-badge.SENT{background:#28a745}.status-badge.PENDING{background:#007bff}.status-badge.PARTIALLY_ASSIGNED{background:#17a2b8}.dynamic-island{animation:fadeInIsland .2s;background:#fff;border-radius:18px;box-shadow:0 4px 24px #0000002e;color:#1a202c;left:50%;min-width:320px;padding:32px 36px 24px;position:absolute;top:100%;transform:translate(-50%,16px);z-index:100}[data-theme=dark] .dynamic-island{background:#212633;color:#e8eaed}@keyframes fadeInIsland{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%,16px)}}.close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.6em;position:absolute;right:18px;top:12px}[data-theme=dark] .close-btn{color:#9aa0a6}.island-actions{margin-top:18px}.action-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;margin-right:8px;margin-top:8px;padding:8px 20px;transition:background .2s}.action-btn.assign{background:#ffc107;color:#333}.action-btn.sent{background:#28a745}.loading{color:#007bff;font-size:1.2em;margin:32px 0;text-align:center}@media (max-width:600px){.driver-delivery-container{max-width:100vw;padding:12px}.project-group{padding:10px 6px}.delivery-card-vertical{font-size:1em;min-width:0;min-width:auto;padding:12px 10px;width:100%}.dynamic-island{left:50%;min-width:0;min-width:auto;padding:18px 8px;top:100%;transform:translate(-50%,8px);width:95vw}.close-btn{font-size:2em;right:12px;top:8px}}.app-logo{cursor:pointer;height:40px;transition:opacity .2s ease}.app-logo:hover{opacity:.8}.theme-controls{align-items:center;display:flex;gap:8px}.language-toggle-btn,.theme-toggle-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:20px;font-weight:500;height:40px;justify-content:center;transition:all .2s ease;width:40px}[data-theme=dark] .language-toggle-btn,[data-theme=dark] .theme-toggle-btn{background:#212633;border-color:#2d3748;color:#e8eaed}.language-toggle-btn:hover,.theme-toggle-btn:hover{background:#f0f0f0;transform:scale(1.05)}[data-theme=dark] .language-toggle-btn:hover,[data-theme=dark] .theme-toggle-btn:hover{background:#2d3748}.language-toggle-btn:active,.theme-toggle-btn:active{transform:scale(.95)}.language-toggle-btn{font-size:12px;font-weight:600}.app-navbar{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:flex;height:60px;justify-content:space-between;padding:0 12px;transition:background-color .3s ease,border-color .3s ease;width:100%}.app-navbar .nav-links{align-items:center;display:flex;gap:8px;list-style:none;margin:0;padding:0}.app-navbar .nav-links li{list-style:none}.app-navbar .nav-link{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s}.app-navbar .nav-link:hover{background:var(--bg-secondary);color:#007bff}.app-navbar .nav-link.active{background:#007bff;color:#fff}.app-navbar .nav-link i{font-size:18px}.app-navbar .nav-actions{align-items:center;display:flex;gap:12px}.app-navbar .logout-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .2s ease;width:40px}[data-theme=dark] .app-navbar .logout-btn{background:#212633;border-color:#2d3748;color:#e8eaed}.app-navbar .logout-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff;transform:scale(1.05)}.app-navbar .logout-btn:active{transform:scale(.95)}
/*# sourceMappingURL=main.0c5ab9fc.css.map*/