.header-actions, .estimate-actions { display:flex; align-items:center; gap:20px; }
.ask-panel > summary { cursor:pointer; list-style:none; margin-bottom:0; }
.ask-panel > summary::-webkit-details-marker { display:none; }
.ask-panel[open] > summary { margin-bottom:20px; }
.ask-title { display:block; font-size:1.05rem; font-weight:500; }
.ask-description { display:block; font-size:.8rem; color:var(--muted); margin-top:5px; line-height:1.5; }
.disclosure-icon { margin-left:auto; color:var(--aqua); font-size:1.7rem; }
.ask-panel[open] .disclosure-icon { transform:rotate(45deg); }
dialog { width:min(760px,calc(100% - 32px)); max-height:90vh; border:1px solid #40555e; border-radius:6px; padding:28px; background:var(--panel); color:var(--ink); }
dialog::backdrop { background:rgb(0 0 0 / .78); }
.dialog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.dialog-heading .eyebrow { margin-bottom:8px !important; }
.dialog-heading button { flex-shrink:0; }
.contact-grid, .settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-grid label, .settings-form label { display:block; font-size:.85rem; margin-bottom:9px; }
.contact-grid input, .contact-grid select, .settings-form input, .settings-form textarea, .settings-form select { width:100%; }
.contact-grid small { color:var(--muted); }
#customer-form > button { margin-top:10px; }
.email-envelope { display:grid; grid-template-columns:auto 1fr; gap:10px 20px; border-top:1px solid var(--line); padding-top:22px; font-size:.85rem; }
.email-envelope dt { color:var(--muted); }
.email-envelope dd { margin:0; overflow-wrap:anywhere; }
.email-paper { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; font: .875rem/1.65 Helvetica,Arial,sans-serif; background:var(--field); border:1px solid var(--line); border-radius:4px; padding:20px; }
.attachment-preview summary { color:var(--aqua); cursor:pointer; padding:12px 0; font-size:.85rem; }
.delivery-mode { font-size:.9rem; color:var(--ink); border-left:2px solid var(--aqua); padding-left:12px; }
#email-status { white-space:pre-line; font-size:.85rem; }
#email-status.is-error, .settings-status.is-error { color:#ffbda3; }
#open-outlook { display:inline-block; margin-top:16px; }
.settings-page { max-width:1000px; }
.settings-panel { background:var(--panel); border:1px solid var(--line); padding:28px; border-radius:5px; margin:25px 0; }
.settings-form fieldset { margin:0; }
.settings-form textarea { padding:12px; min-height:110px; resize:vertical; line-height:1.6; }
.settings-form .field { margin:24px 0; }
.settings-form code { color:var(--aqua); }
.settings-status { white-space:pre-line; }
.settings-note { font-size:.85rem; }
#workbook-warning { border-left:2px solid var(--aqua); padding:8px 12px; color:var(--ink); }
.settings-form .delivery-select { max-width:500px; }
@media(max-width:760px) {
  .topbar { height:auto; min-height:84px; flex-wrap:wrap; gap:12px; padding-top:12px; padding-bottom:12px; }
  .header-actions { gap:12px; }
  .estimate-actions { align-items:flex-end; flex-direction:column; gap:10px; }
  .estimate-actions button { font-size:.75rem; white-space:nowrap; padding:10px; }
  .contact-grid, .settings-grid { grid-template-columns:1fr; }
  dialog { padding:20px; }
  .dialog-heading h2 { font-size:1.15rem; }
  .settings-panel { padding:20px; }
}
.email-attachments{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
