:root{--accent:#2563eb;--accent-dark:#1d4ed8;--surface:#fff;--surface-soft:#f8fafc;--border:#e2e8f0;--text:#111827;--muted:#64748b;--shadow:0 18px 50px rgba(15,23,42,.08)}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0;background:#eff4fb;color:var(--text);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:24px}main.printable{max-width:1080px;margin:24px auto;padding:0 24px}h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.02em;color:#0f172a}h2{margin:0 0 16px;font-size:1.05rem;color:#111827}p{margin:0;color:#475569}section{margin-bottom:24px}.card,.quote-detail-table,.quote-header,.quote-list-table,.section-panel{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.quote-header,.section-panel{padding:24px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));grid-gap:24px;gap:24px}.field-grid label{margin:0}.field-grid input,.field-grid select{min-width:0}.notes-block{display:block;margin-top:18px}.notes-block textarea{min-height:140px;resize:vertical;padding:14px 16px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.builder-grid{grid-template-columns:1.8fr 1fr}.builder-grid,.main-content,.sidebar-panel{display:grid;grid-gap:24px;gap:24px}.data-table{display:block;width:100%;overflow-x:auto;border-radius:18px}.data-table table{width:100%;border-collapse:collapse}.data-table td,.data-table th{padding:16px 18px;border-bottom:1px solid #e2e8f0;text-align:left}.data-table th{background:#f8fafc;color:#475569;font-size:.95rem;letter-spacing:.02em;white-space:nowrap}.data-table tbody tr:hover{background:#f8fbff}.data-table input{width:100%;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid #cbd5e1;background:#fff}.data-table td:nth-child(3),.data-table td:nth-child(4),.data-table th:nth-child(3),.data-table th:nth-child(4){text-align:right;width:110px}.data-table td:last-child,.data-table th:last-child{width:90px;text-align:center}.data-table td:first-child,.data-table th:first-child{width:auto}.quote-summary-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;align-items:start}.quote-summary-panel>div{padding:18px;background:#f8fbff;border-radius:16px;border:1px solid #dbeafe}.quote-summary-panel .grand{margin:0}.quote-header-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));grid-gap:18px;gap:18px;align-items:start}.quote-header-grid>div{margin:0;min-width:0;word-break:break-word;overflow-wrap:anywhere;color:#334155}.quote-header-grid strong{color:#111827}.quote-actions-top{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start;margin-bottom:20px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.page-header p{max-width:520px;margin-top:10px;color:#475569}.search-panel{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.search-input{flex:1 1 420px;min-width:240px;padding:14px 16px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.search-input:focus{outline:none;box-shadow:0 0 0 4px rgba(59,130,246,.12);border-color:#60a5fa}a.primary,button,input,select,textarea{font-family:inherit}button,input,select,textarea{border-radius:14px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;transition:all .18s ease}button{min-height:44px;padding:12px 18px}button:hover{transform:translateY(-1px)}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:none;box-shadow:0 14px 30px rgba(37,99,235,.18);font-weight:600}.primary:hover{background:var(--accent-dark)}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-soft);border:1px solid #cbd5e1;color:#0f172a;font-weight:600}.secondary:hover{background:#f8fafc}button.primary:disabled,button.secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.actions,.print-actions{display:flex;flex-wrap:wrap;gap:20px}table{width:100%;border-collapse:collapse;border-radius:20px;overflow:hidden}table td,table th{padding:16px 18px;border-bottom:1px solid #e2e8f0;text-align:left}table th{background:#f8fafc;color:#475569;font-size:.95rem;letter-spacing:.02em}table tbody tr:hover{background:#f8fbff}.quote-list-table td:last-child{width:260px}.table-actions{display:grid;grid-gap:10px;gap:10px}.table-actions a,.table-actions button{width:100%}.archived-row{opacity:.7}.grand{font-size:1.35rem;margin-top:18px;padding:20px 22px;border-radius:18px;background:#eff6ff;border:1px solid #bdd7fe;color:#1d4ed8;font-weight:700}.error-message{color:#dc2626;font-weight:700;margin-bottom:18px}.printable{background:transparent}.quote-detail-page .print-actions{justify-content:flex-start}.quote-detail-page .print-table{box-shadow:none;border:none}.quote-detail-page .print-table td,.quote-detail-page .print-table th{border-color:#e2e8f0}.quote-header-email{grid-column:span 2}.quote-header-jobaddress{grid-column:1/-1}.company-settings{background:#f8fafc}.company-settings h3{margin-top:0;color:var(--accent)}.company-settings>div{display:grid;grid-gap:12px;gap:12px}.company-settings label{display:flex;flex-direction:column;gap:6px}.company-settings label input,.company-settings label textarea{width:100%}.logo-preview{color:#16a34a;font-weight:600;padding:10px 14px;background:#ecfdf5;border-radius:14px}.material-presets h3{margin-top:0;color:var(--accent)}.preset-form{display:grid;grid-template-columns:1fr 1fr 120px 120px auto;grid-gap:12px;gap:12px;margin-bottom:12px;align-items:flex-end}.preset-form input{margin:0}.preset-form button{margin:0;width:100%}.preset-list{display:grid;grid-gap:10px;gap:10px}.preset-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.preset-item button{margin:0;white-space:nowrap}.edit-notice{background:#fef3c7;border:1px solid #fde68a;padding:16px;border-radius:16px;margin-bottom:20px;color:#92400e;font-weight:600}.print-header{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.company-logo{max-width:120px;height:auto;border-radius:16px}.company-info{flex:1 1}.company-name{font-size:1.5rem;font-weight:700;color:var(--accent)}.company-address,.company-phone{color:#64748b;font-size:.95rem}@media (max-width:900px){.page-header{align-items:flex-start}.page-header,.search-panel{flex-direction:column}.quote-header-grid{grid-template-columns:1fr}.quote-header-email,.quote-header-jobaddress{grid-column:auto}.actions,.print-actions{flex-direction:column;align-items:stretch;gap:12px}.actions a.primary,.actions button,.quote-actions-top a.primary,.quote-actions-top button{width:100%}.field-grid{grid-template-columns:1fr;gap:18px}}@media (max-width:600px){.container,body{padding:12px}.quote-header,.section-panel{padding:18px}table td,table th{padding:12px 10px}}.estimator{max-width:1100px;margin:40px auto;padding:0 20px}.card,.section-panel{background:#fff;border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:0 10px 30px rgba(15,23,42,.08)}.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.meta label{display:flex;flex-direction:column;gap:6px;font-weight:600}.meta input,.meta select,.meta textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px}.meta textarea{min-height:100px;resize:vertical}.meta label:last-child{grid-column:1/-1}.summary div,.summary-card div{display:flex;justify-content:space-between;gap:20px;margin:8px 0}.print-table{width:100%;border-collapse:collapse;table-layout:fixed}.print-table td,.print-table th{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}.print-table td:nth-child(2),.print-table th:nth-child(2){width:80px}.print-table td:nth-child(3),.print-table td:nth-child(4),.print-table th:nth-child(3),.print-table th:nth-child(4){width:120px;text-align:right}button{border-radius:10px;padding:10px 16px;border:1px solid #cbd5e1;cursor:pointer}@media (max-width:700px){.meta{grid-template-columns:1fr}.estimator{margin:20px auto}}.card label,.client-card label,.estimate-details label{display:flex;flex-direction:column;gap:6px;font-weight:600}.card input,.card select,.card textarea,.client-card input,.client-card select,.client-card textarea,.estimate-details input,.estimate-details select,.estimate-details textarea{width:100%;box-sizing:border-box}.estimate-summary div{display:flex;justify-content:space-between;gap:16px;margin:10px 0}.client-card .field-grid{display:grid!important;grid-template-columns:repeat(2,minmax(240px,1fr))!important;grid-gap:18px 28px!important;gap:18px 28px!important;margin-top:20px}.client-card .field-grid label,.client-card .notes-block{display:flex!important;flex-direction:column!important;gap:6px!important;font-weight:600}.client-card .field-grid input,.client-card .field-grid select,.client-card .notes-block textarea{width:100%!important;box-sizing:border-box!important;padding:12px 14px!important;border:1px solid #cbd5e1!important;border-radius:12px!important}.client-card .notes-block{margin-top:18px}.client-card .notes-block textarea{min-height:110px}.estimate-meta{display:flex!important;gap:12px!important;margin-top:14px}.estimate-meta .tag{padding:6px 12px;border-radius:999px;background:#eef2ff;font-weight:700}.quote-summary-panel div{display:flex;justify-content:space-between;gap:20px;margin:8px 0}@media (max-width:700px){.client-card .field-grid{grid-template-columns:1fr!important}}.quote-summary-panel div{display:grid!important;grid-template-columns:1fr auto!important;grid-gap:12px!important;gap:12px!important;margin:10px 0!important;align-items:center}.quote-summary-panel strong{text-align:right}.quote-summary-panel{min-width:280px;overflow:hidden}.summary-grid{display:grid!important;grid-template-columns:1fr!important;grid-gap:12px!important;gap:12px!important}.summary-grid>div{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid #e5e7eb!important}.summary-grid strong{white-space:nowrap!important}.summary-total{font-size:1.15rem!important;font-weight:700!important;margin-top:10px!important;padding-top:12px!important;border-top:2px solid #d1d5db!important}.summary-controls{display:grid!important;grid-template-columns:1fr!important;grid-gap:12px!important;gap:12px!important;margin-top:18px!important;padding-top:16px!important;border-top:1px solid #e5e7eb!important}.summary-controls label{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;font-weight:600!important}.summary-controls input{width:90px!important;padding:8px 10px!important}.nav-button-border{border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;margin-right:15px;background-color:#f8fafc}.nav-button-border:last-child{margin-right:0}.contract-section{margin-top:40px;padding-top:24px;border-top:2px solid #ddd;font-size:14px;line-height:1.5}.contract-section h2{margin-bottom:12px}.contract-section h3{margin-top:20px;margin-bottom:6px}.signature-row{display:flex;justify-content:space-between;gap:40px;margin-top:35px}.signature-row>div{flex:1 1}.signature-line{border-bottom:1px solid #000;height:35px}@media print{.contract-section{page-break-inside:avoid}.no-print,button{display:none!important}}