.estimate-row { display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #dfe3e6; }
.estimate-info { display:grid; gap:6px; flex:1; min-width:0; overflow-wrap:anywhere; }
.estimate-info span,.estimate-info small,.estimate-empty { color:#667078; }
.estimate-info details a { display:block; margin-top:8px; }
.estimate-actions { display:flex; gap:8px; flex-shrink:0; }
.estimate-actions a,.estimate-actions button { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid #dfe3e6; background:white; border-radius:6px; padding:6px; }
.estimate-dialog { width: min(680px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 32px); padding:24px; border:1px solid #dfe3e6; border-radius:8px; overflow:auto; color:#202628; background:white; box-sizing:border-box; }
.estimate-dialog::backdrop { background:rgb(0 0 0 / 35%); }
.estimate-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.estimate-dialog h2 { font-size:22px; margin:0; }
.estimate-dialog header button { width:36px; height:36px; padding:0; font-size:24px; border:1px solid #dfe3e6; background:white; border-radius:6px; }
.estimate-dialog form { display:grid; gap:12px; margin-top:20px; border-top:1px solid #dfe3e6; padding-top:20px; }
.estimate-dialog [hidden] { display:none !important; }
.estimate-dialog label { display:grid; gap:8px; min-width:0; }
.estimate-dialog input { max-width:100%; min-width:0; width:100%; box-sizing:border-box; }
.estimate-dialog [type=submit],.estimate-upload { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.estimate-dialog [type=submit] { background:#ae1938; color:white; padding:10px 16px; border:0; border-radius:6px; justify-self:start; }
.estimate-dialog [type=submit] img { filter:brightness(0) invert(1); }
.estimate-dialog button { cursor:pointer; }
.estimate-dialog button:disabled { opacity:.55; cursor:wait; }
.estimate-dialog [role=alert] { color:#ac1534; overflow-wrap:anywhere; }
.estimate-dialog [data-estimate-project] { overflow-wrap:anywhere; }
.crm-card-estimates { display:inline-flex; align-items:center; gap:5px; border:0; background:transparent; color:#5b6269; padding:4px; font:inherit; cursor:pointer; }
.crm-card-estimates img { width:16px; height:16px; }
@media(max-width:480px) { .estimate-dialog {padding:16px;} .estimate-row {gap:10px;align-items:flex-start;} .estimate-actions {flex-direction:column;} }
.estimate-dialog { width:min(760px,calc(100vw - 24px)); font-size:14px; line-height:1.45; letter-spacing:0; }
.estimate-dialog [data-current-price] { margin:8px 0 20px; color:#657078; font-variant-numeric:tabular-nums; }
.funnel-estimate { padding:20px 0; border-top:1px solid #cfd5da; }
.funnel-estimate-heading { display:flex; align-items:flex-start; gap:16px; justify-content:space-between; }
.funnel-estimate h3 { margin:0; font-size:17px; line-height:1.4; overflow-wrap:anywhere; min-width:0; }
.funnel-estimate-meta { margin:6px 0 12px; color:#53636a; font-variant-numeric:tabular-nums; }
.funnel-estimate-file { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.funnel-estimate-file>span { min-width:0; overflow-wrap:anywhere; color:#657078; font-size:12px; }
.funnel-estimate-controls,.estimate-review-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.estimate-dialog .funnel-estimate button,.estimate-dialog .estimate-review-actions button { min-height:40px; padding:8px 12px; border:1px solid #ccd3d7; border-radius:6px; background:#fff; color:#9d1633; font:inherit; }
.estimate-dialog .funnel-estimate [data-remove],.estimate-dialog [data-clear-file],.funnel-estimate-controls a { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; padding:0; border:1px solid #dfe3e6; border-radius:6px; background:white; color:#a71635; font-size:22px; }
.funnel-estimate-controls [data-price] { white-space:nowrap; }
.estimate-dialog .estimate-drop { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:118px; padding:16px; border:1px dashed #aab7c0; border-radius:6px; background:#f7f9fa; cursor:pointer; }
.estimate-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.estimate-drop:focus-within,.estimate-drop.dragging { outline:2px solid #ad1939; outline-offset:2px; background:#fff5f7; }
.estimate-selected { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }
.estimate-selected span { overflow-wrap:anywhere; min-width:0; }
.estimate-selected:has(span:empty) { display:none; }
.estimate-price-review { margin-top:16px; padding:16px 0 0; border-top:1px solid #dfe3e6; }
.estimate-price-review h4 { margin:0 0 12px; font-size:15px; }
.estimate-price-review select,.estimate-price-review input { width:100%; min-width:0; min-height:42px; padding:8px; border:1px solid #cbd2d6; border-radius:4px; background:white; font:inherit; box-sizing:border-box; }
.estimate-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.estimate-dialog [data-price-apply] { background:#a91535!important; color:white!important; border-color:#a91535!important; }
.estimate-warning { color:#806017; }
.estimate-price-source { overflow-wrap:anywhere; color:#53636a; }
.funnel-estimate-version { margin-bottom:8px; font-size:12px; color:#15725b; font-weight:600; }
.previous-estimate .funnel-estimate-version { color:#657078; }
.estimate-file-details { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; font-size:12px; }
.estimate-file-details span { color:#657078; }
.estimate-review-actions { justify-content:flex-end; }
.estimate-dialog [data-price-change] { margin:16px 0; font-size:18px; font-weight:600; overflow-wrap:anywhere; }
@media(max-width:480px) { .funnel-estimate-file { align-items:flex-start; flex-direction:column; } .funnel-estimate-controls { width:100%; justify-content:flex-end; } .estimate-price-fields { grid-template-columns:1fr; } .estimate-dialog h3 { font-size:16px; } }
