#quoteResult{
    margin-top:14px;
}

.quote-lines-panel{
    margin-bottom:14px;
}

.quote-lines-body,
.quote-result-body{
    padding:22px 24px 24px;
}

.quote-lines-list{
    display:grid;
    gap:12px;
}

.quote-line-card{
    display:grid;
    grid-template-columns:1fr auto auto auto auto;
    align-items:center;
    gap:16px;
    padding:14px 16px;
    border:1px solid rgba(30,42,91,.10);
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,23,42,.05);
}

.quote-line-cost-status{
    text-align:left;
}

.quote-line-card strong{
    display:block;
    color:#1E2A5B;
    font-size:15px;
    font-weight:900;
    margin-bottom:4px;
}

.quote-line-card span{
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.quote-line-amount{
    color:#1E2A5B;
    font-size:18px;
    font-weight:900;
    white-space:nowrap;
}

.quote-total-layout{
    display:grid;
    grid-template-columns:320px 1fr 1fr;
    gap:18px;
}

.quote-money-card,
.quote-scenario-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:22px;
    box-shadow:0 4px 18px rgba(15,23,42,.06);
}

.quote-money-card.total{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:linear-gradient(135deg,#1E2A5B,#273d87);
}

.quote-money-card span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.quote-money-card strong{
    font-size:34px;
    font-weight:900;
    color:#1E2A5B;
    letter-spacing:-1px;
}

.quote-money-card.total span,
.quote-money-card.total strong{
    color:#fff;
}

.quote-scenario-card h3{
    margin:0 0 14px;
    color:#1E2A5B;
    font-size:16px;
    font-weight:900;
}

.quote-scenario-card div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:10px 0;
    border-top:1px solid #eef2f7;
}

.quote-scenario-card span{
    color:#64748b;
    font-weight:800;
}

.quote-scenario-card strong{
    color:#1E2A5B;
    font-size:20px;
    font-weight:900;
}

#quoteLineModal .modal-backdrop{
    z-index:10000;
}

#quoteLineModal .modal-card{
    width:min(820px,94vw);
    max-width:820px;
    max-height:90vh;
    overflow:auto;
}

#quoteLineModal .modal-card,
#quoteLineModal .modal-card *{
    box-sizing:border-box;
}

#quoteLineModal .quote-builder-form{
    width:100%;
    padding:24px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
}

#quoteLineModal .quote-builder-form label,
#quoteLineModal .qb-hourly-fields label{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:13px;
    font-weight:800;
    color:#334155;
}

#quoteLineModal .quote-builder-form select,
#quoteLineModal .quote-builder-form input{
    width:100%;
    height:44px;
    border:1px solid #dbe3ef;
    border-radius:12px;
    padding:0 12px;
    font-size:14px;
    outline:none;
    background:#fff;
}

#quoteLineModal .modal-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding-top:16px;
    border-top:1px solid rgba(30,42,91,.08);
}

.qb-hourly-fields{
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
    grid-column:1/-1;
}

@media(max-width:900px){
    .quote-total-layout,
    .quote-line-card,
    #quoteLineModal .quote-builder-form{
        grid-template-columns:1fr;
    }

    .quote-line-amount{
        font-size:22px;
    }
}

#quoteResult .quote-result-body{
    padding:24px !important;
}

#quoteResult .quote-total-layout{
    display:grid;
    grid-template-columns:300px 1fr 1fr;
    gap:18px;
    width:100%;
}

#quoteResult .quote-money-card.total{
    min-height:180px;
    border-radius:18px;
}

#quoteResult .quote-scenario-card{
    min-height:180px;
}

.qb-fuel-fields{
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
    grid-column:1/-1;
}

.quote-line-qty{
    display:flex;
    align-items:center;
    gap:8px;
}

.quote-line-qty span{
    font-size:12px;
    font-weight:900;
    color:#64748b;
}

.quote-line-qty input{
    width:64px;
    height:34px;
    border:1px solid #dbe3ef;
    border-radius:10px;
    padding:0 8px;
    font-weight:800;
}

.quote-line-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:6px 0;
}

.quote-line-route{
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.quote-line-meta .tag{
    background:#eef2ff;
    color:#1E2A5B;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.quote-header-panel{
    margin-bottom:14px;
}

.quote-header-body{
    padding:22px 24px 24px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
}

.quote-header-body .form-full{
    grid-column:1/-1;
}

.quote-header-body label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:13px;
    font-weight:800;
    color:#334155;
}

.quote-header-body input,
.quote-header-body textarea{
    width:100%;
    border:1px solid #dbe3ef;
    border-radius:12px;
    padding:12px;
    font-size:14px;
    outline:none;
}

@media(max-width:900px){
    .quote-header-body{
        grid-template-columns:1fr;
    }
}

.quote-history-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
}

.quote-history-layout.viewer-open{
    grid-template-columns:minmax(420px,60%) 1fr;
    align-items:start;
}

.quote-preview-pane{
    overflow:hidden;
}

.quote-preview-frame{
    width:100%;
    height:680px;
    border:0;
    background:#fff;
}

@media(max-width:1100px){
    .quote-history-layout.viewer-open{
        grid-template-columns:1fr;
    }
}

.qb-rate-preview{
    grid-column:1/-1;
    padding:14px 16px;
    border:1px dashed #cbd5e1;
    border-radius:14px;
    background:#f8fafc;
    color:#64748b;
    font-weight:800;
}

.qb-rate-preview strong{
    display:block;
    color:#1E2A5B;
    font-size:24px;
    margin-bottom:4px;
}

.qb-rate-preview span{
    font-size:13px;
}

.quote-actions{
    display:flex;
    gap:10px;
    align-items:center;
}

.quote-actions .btn-soft{
    background:#f8fafc;
    color:#1E2A5B;
    border:1px solid #e2e8f0;
}

.quote-actions .btn-secondary{
    background:#fff7ed;
    color:#c2410c;
    border:1px solid #fed7aa;
}

.quote-actions .btn-primary{
    background:#FF4F00;
    color:#fff;
    border:1px solid #FF4F00;
    box-shadow:0 8px 22px rgba(255,79,0,.22);
}

.quote-customer-field{
    position:relative;
}

.quote-customer-suggestions{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:500;

    background:#fff;
    border:1px solid #dbe3ef;
    border-radius:14px;
    overflow:hidden;

    box-shadow:
        0 12px 28px rgba(15,23,42,.12),
        0 2px 6px rgba(15,23,42,.06);

    max-height:260px;
    overflow-y:auto;
}

.quote-customer-suggestions button{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;

    padding:14px 16px;

    background:#fff;
    border:0;
    cursor:pointer;
    transition:.15s;
}

.quote-customer-suggestions button+button{
    border-top:1px solid #eef2f7;
}

.quote-customer-suggestions button:hover{
    background:#eef5ff;
}

.quote-customer-suggestions strong{
    font-size:14px;
    color:#1E2A5B;
    font-weight:800;
}

.quote-customer-suggestions span{
    font-size:12px;
    color:#64748b;
}

.quote-customer-suggestions button{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    padding:14px 16px;
    background:#fff;
    border:0;
    cursor:pointer;
    transition:.15s;
}

.quote-customer-suggestions span{
    display:flex;
    align-items:center;
    gap:6px;
    color:#64748b;
    font-size:13px;
}

.quote-customer-suggestions span .material-icons{
    font-size:16px;
    color:#94a3b8;
}

.quote-customer-suggestions small{
    color:#94a3b8;
    font-size:11px;
    font-weight:700;
}

#quoteHistoryStatus{
    max-width: 220px;
}
#status-filters{
    grid-template-columns:1fr auto auto;
}

.quote-history-list{
    height:680px;
    display:flex;
    flex-direction:column;
}

.quote-history-list.preview-open{
    height:760px;
}

.quote-history-list .driver-cost-filters{
    flex:0 0 auto;
}

.quote-history-table-wrap{
    flex:1;
    min-height:0;
    overflow:auto;
}

.driver-cost-header h2{
    margin:0;
}

.panel-actions{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:10px;
}

.btn-download-pdf{
    background: #FF4F00;
    color: #fff;
}

.btn-download-pdf .material-icons{
    font-size:20px;
}

.table-pagination{
    flex:0 0 auto;
    padding:12px 16px;
    border-top:1px solid #e5e7eb;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}

.quote-history-table-wrap table{
    width:100%;
    border-collapse:collapse;
}

.quote-line-cost-status{
    margin-top:7px;
    display:inline-flex;
    width:max-content;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
}

.quote-line-cost-status.has-cost{
    background:#ecfdf5;
    color:#15803d;
}

.quote-line-cost-status.missing-cost{
    background:#fff7ed;
    color:#c2410c;
}

