body{font-family:sans-serif;line-height:1.6;margin:0;padding:20px;background-color:#f4f4f4;color:#333}.container{max-width:1100px;margin:auto;overflow:auto;padding:0 20px}h1,h2,h3,h4{color:#333;margin-bottom:.7em}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-control{width:100%;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea.form-control{min-height:60px;resize:vertical}.form-check{margin-bottom:10px}.form-check-label{margin-left:5px;font-weight:400}.form-check-input{vertical-align:middle}.error{color:red;font-size:.9em;margin-top:5px}.btn{display:inline-block;border:none;border-radius:4px;cursor:pointer;text-align:center;font-size:1em;margin-right:5px;margin-bottom:5px}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3;color:#fff;text-decoration:none}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268;color:#fff;text-decoration:none}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838;color:#fff;text-decoration:none}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496;color:#fff;text-decoration:none}.btn-link{background-color:transparent;color:#007bff;text-decoration:underline}.btn-link:hover{color:#0056b3}.btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.table{width:100%;border-collapse:collapse;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.table td,.table th{border:1px solid #ddd;text-align:left;vertical-align:top}.table th{background-color:#f2f2f2;font-weight:700}.table-hover tbody tr:hover{background-color:#f5f5f5}.table-striped tbody tr:nth-of-type(odd){background-color:#f9f9f9}.status-badge{padding:3px 8px;border-radius:10px;font-size:.8em;color:#fff;text-transform:capitalize;white-space:nowrap}.status-draft{background-color:#6c757d}.status-new{background-color:#17a2b8}.status-active{background-color:#007bff}.status-awaiting_quotes{background-color:#ffc107;color:#333}.status-awaiting quotes{background-color:#ffc107;color:#333}.status-quotes_received{background-color:#fd7e14}.status-quotes received{background-color:#fd7e14}.status-ordered{background-color:#28a745}.status-completed{background-color:#20c997}.status-cancelled{background-color:#dc3545}.status-quoted{background-color:#6610f2}.status-submitted{background-color:#6f42c1}.category-badge{display:inline-block;background-color:#e9ecef;color:#495057;padding:3px 8px;margin:2px;border-radius:4px;font-size:.8em}.table_padding td,.table_padding th{padding:0 0}.login-container,.register-container{max-width:510px;margin:30px auto;padding:30px;background:#fff;border-radius:5px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.auth-links{margin-top:20px;text-align:center;font-size:.9em}.flashes{list-style:none;padding:0;margin-bottom:15px}.flashes li{padding:10px;border-radius:4px;margin-bottom:10px}.flashes .error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.flashes .success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.flashes .info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.card{background:#fff;padding:20px;border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.1);text-align:center}.card h2{margin-top:0;font-size:1.2em;color:#555}.card .count{font-size:2.5em;font-weight:700;color:#007bff;margin:10px 0}.card a{display:block;margin-top:10px;color:#007bff}.dashboard-section,.report-section{background:#fff;padding:20px;margin-bottom:20px;border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.tabs{overflow:hidden;border-bottom:1px solid #ccc;margin-bottom:15px;background-color:#f1f1f1}.tabs button.tab-link{background-color:inherit;float:left;border:none;outline:0;cursor:pointer;padding:14px 16px;transition:.3s;font-size:1em}.tabs button.tab-link:hover{background-color:#ddd}.tabs button.tab-link.active{background-color:#ccc;font-weight:700}.tab-content{padding:15px 10px;border-top:none}.quote-comparison-table td,.quote-comparison-table th{text-align:center}.quote-comparison-table td:first-child,.quote-comparison-table th:first-child{text-align:left}.quote-cell{cursor:pointer}.quote-cell label{display:block;padding:10px 5px;margin:-10px -5px}.quote-cell input[type=radio]{margin-right:5px;vertical-align:middle}.quote-cell.price-cell{background-color:#e9f5ff}.quote-cell.days-cell{background-color:#f8f9fa}.cannot-provide{background-color:#f8f8f8;color:#999;font-style:italic;text-align:center!important}.no-quote{background-color:#f8f8f8;color:#ccc;font-style:italic;text-align:center!important}.total-summary{margin-top:20px;padding:15px;background-color:#e9ecef;border-radius:4px;font-size:1.2em;font-weight:700}#selected-total-price{color:#28a745}.quote-entry-table input[type=number],.quote-entry-table textarea{width:90%}.cannot-provide-checkbox{width:auto;margin:auto;display:block}.current-total{font-size:1.3em;font-weight:700;margin-bottom:15px;padding:10px;background-color:#f0fff0;border:1px solid #c3e6cb;border-radius:4px}#current-total-display{color:#155724}.actions,.form-actions{margin-top:25px;border-top:1px solid #eee}.view_actions{border-top:1px solid #eee}.filters form{background-color:#fff;padding:15px;margin-bottom:20px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;flex-wrap:wrap;gap:15px;align-items:center}.filters label{font-weight:700;margin-right:5px}.filters input[type=date],.filters input[type=text],.filters select{padding:8px;border:1px solid #ccc;border-radius:4px}.filters input[type=checkbox]{margin-left:5px;vertical-align:middle}@media (max-width:768px){.summary-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.table td,.table th{padding:8px 10px}h1{font-size:1.8em}.btn{padding:8px 15px;font-size:.9em}.filters form{flex-direction:column;align-items:stretch}}.isDisabled{color:currentColor;cursor:not-allowed;opacity:.5;text-decoration:none;pointer-events:none}.table-responsive-container{overflow-x:auto;position:relative}.quote-comparison-table .sticky-col{position:-webkit-sticky;position:sticky;left:0;width:250px;min-width:250px;z-index:2;background-color:#f8f9fa}.quote-comparison-table td.sticky-col,.quote-comparison-table th.sticky-col{box-shadow:2px 0 5px rgba(0,0,0,.1)}.previous-value{font-size:.75rem;opacity:.8;line-height:1.2}.bi-arrow-left{font-size:.65rem;margin-right:2px}