:root {
  --qm-teal:#14b8a6;
  --qm-teal-dark:#0f9f91;
  --qm-teal-soft:#e8fbf8;
  --qm-navy:#0f2d4a;
  --qm-navy-2:#173e61;
  --qm-orange:#f97316;
  --qm-orange-soft:#fff2e8;
  --qm-bg:#f8faf7;
  --qm-card:#fff;
  --qm-text:#15324a;
  --qm-muted:#6d7d8b;
  --qm-border:#dbe6e5;
  --qm-danger:#b42318;
  --qm-danger-bg:#fff1f0;
  --qm-shadow:0 18px 55px rgba(15,45,74,.10);
}

.qm,.qm *{box-sizing:border-box}
.qm{color:var(--qm-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
.qm button,.qm input,.qm textarea,.qm select{font:inherit}
.qm button{cursor:pointer}
.qm img{max-width:100%}
.qm h1,.qm h2,.qm h3,.qm p{margin-top:0}
.qm h1,.qm h2,.qm h3{color:var(--qm-navy);line-height:1.08}
.qm h1{font-size:clamp(2.3rem,6vw,5.4rem);letter-spacing:-.055em;font-weight:850}
.qm h2{font-size:clamp(1.7rem,3.5vw,3rem);letter-spacing:-.035em;font-weight:820}
.qm h3{font-size:1.05rem;margin-bottom:.8rem}
.qm p{color:var(--qm-muted)}
.qm .qm-kicker,.qm .qm-eyebrow,.qm-section-head>span{color:var(--qm-teal-dark);font-size:.74rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}

.qm-btn{min-height:46px;border-radius:14px;border:1px solid transparent;padding:.72rem 1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.qm-btn:hover{transform:translateY(-1px)}
.qm-btn-primary{background:var(--qm-teal);color:#fff!important;box-shadow:0 10px 22px rgba(20,184,166,.2)}
.qm-btn-primary:hover{background:var(--qm-teal-dark)}
.qm-btn-orange{background:var(--qm-orange);color:#fff!important;box-shadow:0 10px 22px rgba(249,115,22,.18)}
.qm-btn-ghost{background:#fff;color:var(--qm-navy)!important;border-color:var(--qm-border)}
.qm-btn-small{min-height:36px;padding:.5rem .75rem;font-size:.82rem;border-radius:11px}
.qm-btn-block{width:100%}
.qm-text-btn{appearance:none;border:0;background:transparent;color:var(--qm-teal-dark);padding:.3rem .1rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}

.qm-brand-lockup{display:flex;align-items:center;gap:.78rem;min-width:0}
.qm-brand-lockup img{width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.qm-brand-lockup>div{min-width:0}
.qm-brand-lockup strong{display:block;color:var(--qm-navy);font-size:1.75rem;font-weight:900;line-height:1;letter-spacing:-.045em;white-space:nowrap}
.qm-brand-lockup strong span{color:var(--qm-orange)}
.qm-brand-lockup small{display:block;margin-top:.28rem;color:var(--qm-muted);font-size:.76rem;font-weight:700;white-space:nowrap}
.qm-brand-hero{margin-bottom:1.6rem}
.qm-brand-hero img{width:76px;height:76px}
.qm-brand-hero strong{font-size:clamp(2rem,4vw,3.15rem)}
.qm-brand-hero small{font-size:.88rem}
.qm-brand-app img{width:52px;height:52px}
.qm-brand-app strong{font-size:1.55rem}
.qm-brand-onboard{margin-bottom:1.1rem}

.qm-landing{background:linear-gradient(180deg,#fbfdfc 0%,#f6faf8 100%);border-radius:28px;overflow:hidden}
.qm-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(1.4rem,4vw,4rem);align-items:center;padding:clamp(2rem,6vw,5.5rem);position:relative}
.qm-hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.12),rgba(20,184,166,0));right:-100px;top:-130px;pointer-events:none}
.qm-hero h1 span{color:var(--qm-teal)}
.qm-lead{font-size:clamp(1.06rem,2vw,1.3rem);max-width:760px}
.qm-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.qm-trust-row{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:1rem;color:#587180;font-weight:700;font-size:.87rem}
.qm-profit-card{background:#fff;border:1px solid var(--qm-border);border-radius:26px;box-shadow:var(--qm-shadow);padding:1.4rem;position:relative;z-index:1}
.qm-mini-title{font-weight:850;color:var(--qm-navy);font-size:1.08rem;margin-bottom:1rem}
.qm-profit-card label,.qm label{display:block;color:#4d6476;font-weight:750;font-size:.83rem}
.qm-profit-card label+label{margin-top:.8rem}
.qm input,.qm textarea,.qm select{width:100%;margin-top:.38rem;border:1px solid #cfdedd;background:#fff;color:var(--qm-navy);border-radius:12px;min-height:46px;padding:.72rem .82rem;outline:none;box-shadow:none}
.qm textarea{resize:vertical;min-height:88px}
.qm input:focus,.qm textarea:focus,.qm select:focus{border-color:var(--qm-teal);box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.qm-mini-result{background:var(--qm-navy);color:#fff;padding:1.15rem;border-radius:18px;margin:1rem 0}
.qm-mini-result small,.qm-mini-result span{display:block;opacity:.72}
.qm-mini-result strong{display:block;font-size:2.2rem;line-height:1.1;margin:.22rem 0}
.qm-section{padding:clamp(2.4rem,6vw,5.5rem);border-top:1px solid rgba(15,45,74,.07)}
.qm-section-head{max-width:760px;margin-bottom:1.6rem}
.qm-section-head h2{margin:.4rem 0 0}
.qm-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.qm-preset-chip{min-height:72px;background:#fff;border:1px solid var(--qm-border);border-radius:16px;padding:1rem;display:flex;align-items:center;font-weight:780;color:var(--qm-navy)}
.qm-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start}
.qm-feature-list{display:grid;gap:.8rem}
.qm-feature-list>div{display:flex;gap:.9rem;background:#fff;border:1px solid var(--qm-border);border-radius:18px;padding:1rem}
.qm-feature-list b{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--qm-teal-soft);color:var(--qm-teal-dark)}
.qm-feature-list strong,.qm-feature-list small{display:block}
.qm-feature-list small{color:var(--qm-muted);margin-top:.18rem}
.qm-cta-band{margin:0 clamp(1rem,4vw,3rem) clamp(1rem,4vw,3rem);padding:clamp(1.6rem,4vw,3rem);background:var(--qm-navy);border-radius:26px;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.qm-cta-band h2,.qm-cta-band p{color:#fff}.qm-cta-band p{opacity:.72;margin-bottom:0}.qm-cta-band>div>span{color:#69e4d8;font-size:.74rem;font-weight:850;letter-spacing:.12em}

.qm-app{max-width:980px;margin:0 auto;padding:1rem}
.qm-app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.qm-app-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.qm-tabs{display:flex;gap:.35rem;overflow:auto;padding:.3rem;background:#edf4f2;border-radius:16px;margin-bottom:1rem}
.qm-tabs button{min-height:42px;padding:.55rem .9rem;border:0;background:transparent;border-radius:12px;color:#5a6e7e;font-weight:800;white-space:nowrap}
.qm-tabs button.is-active{background:#fff;color:var(--qm-navy);box-shadow:0 5px 14px rgba(15,45,74,.08)}
.qm-panel{display:none}.qm-panel.is-active{display:block}
.qm-card{background:#fff;border:1px solid var(--qm-border);border-radius:22px;padding:clamp(1rem,2.6vw,1.6rem);box-shadow:0 10px 30px rgba(15,45,74,.055)}
.qm-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.qm-card-head h2{margin:.2rem 0 0;font-size:1.75rem}
.qm-job-card{max-width:820px;margin:0 auto}
.qm-compact-intro{margin:-.25rem 0 1rem;font-size:.9rem}
.qm-form-grid{display:grid;gap:.8rem}
.qm-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.qm-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qm-inline-help,.qm-field-note{margin-top:.65rem;font-size:.8rem;color:#7a8996}
.qm-muted{color:var(--qm-muted)}

.qm-accordion{border:1px solid #e2ebe9;border-radius:16px;background:#fbfdfc;margin-top:.75rem;overflow:hidden}
.qm-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;color:var(--qm-navy);font-weight:850;user-select:none}
.qm-accordion summary::-webkit-details-marker{display:none}
.qm-accordion summary:after{content:'⌄';font-size:1.1rem;color:var(--qm-teal-dark);transition:transform .18s ease}
.qm-accordion[open] summary:after{transform:rotate(180deg)}
.qm-accordion summary>span{display:flex;align-items:center;gap:.65rem}
.qm-accordion summary>span b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--qm-teal-soft);color:var(--qm-teal-dark);font-size:.78rem}
.qm-accordion summary small{font-weight:650;color:#80909b;margin-left:auto}
.qm-accordion-body{border-top:1px solid #e5edec;padding:1rem;background:#fff}
.qm-accordion-body>label+label,.qm-accordion-body>.qm-form-grid+label,.qm-accordion-body>label+.qm-logo-upload{margin-top:.8rem}
.qm-calculate-btn{margin-top:1rem;min-height:54px;font-size:1rem}

.qm-subsection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.qm-subsection-head h3{margin:0}
.qm-subsection-head .qm-field-note{margin:.25rem 0 0}
.qm-cost-list{display:grid;gap:.65rem}
.qm-cost-row{display:grid;grid-template-columns:minmax(190px,1fr) 120px 150px 42px;gap:.55rem;align-items:end;padding:.72rem;border:1px solid #e4eceb;border-radius:14px;background:#fbfdfc}
.qm-cost-row label{margin:0;min-width:0}
.qm-cost-row input,.qm-cost-row select{margin-top:.28rem;min-height:44px;padding:.58rem .68rem}
.qm-cost-qty{min-width:0;text-align:center;font-variant-numeric:tabular-nums}
.qm-cost-unit{font-variant-numeric:tabular-nums}
.qm-cost-remove{width:42px;height:44px;border-radius:11px;border:1px solid #f0d7d4;background:#fff5f4;color:#a52b20;font-weight:900}
.qm-cost-total{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0 0;color:#5f7280}.qm-cost-total strong{color:var(--qm-navy)}

.qm-true-cost{background:var(--qm-navy);color:#fff;padding:1.15rem;border-radius:18px;margin:.7rem 0 1rem}.qm-true-cost small,.qm-true-cost span{display:block;opacity:.72}.qm-true-cost strong{display:block;font-size:2rem;margin:.15rem 0}
.qm-price-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.qm-price-option{text-align:left;border:1px solid var(--qm-border);background:#fff;border-radius:15px;padding:.78rem;min-width:0}.qm-price-option span,.qm-price-option small{display:block}.qm-price-option span{color:#758694;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.qm-price-option strong{display:block;color:var(--qm-navy);font-size:1.15rem;margin:.18rem 0;overflow-wrap:anywhere}.qm-price-option small{color:#7a8996}.qm-price-option.is-featured{border-color:var(--qm-teal);background:var(--qm-teal-soft);box-shadow:inset 0 0 0 1px rgba(20,184,166,.12)}
.qm-result-breakdown{margin:1rem 0;display:grid;gap:.55rem}.qm-result-breakdown>div{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.qm-result-breakdown span{color:#6a7c89}.qm-result-breakdown strong{color:var(--qm-navy);text-align:right}
.qm-negotiation{border-top:1px solid #e8eeee;padding-top:1rem;margin-top:1rem}.qm-offer-result{margin-top:.65rem;padding:.75rem;border-radius:13px;background:#f3f7f6;color:#617480;font-size:.85rem}.qm-offer-result.good{background:#eaf9f4;color:#176f5d}.qm-offer-result.warn{background:#fff6e8;color:#965f08}.qm-offer-result.bad{background:#fff1f0;color:#9b2c22}
.qm-result-actions{display:flex;gap:.6rem;margin-top:1rem}.qm-result-actions>*{flex:1}

.qm-logo-upload{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-top:.9rem}.qm-logo-preview{width:150px;height:70px;border:1px dashed #cbd9d8;border-radius:13px;display:grid;place-items:center;overflow:hidden;color:#84939e;background:#fbfdfc;font-size:.75rem}.qm-logo-preview img{width:100%;height:100%;object-fit:contain;padding:.3rem}
.qm-calculated-callout{background:var(--qm-teal-soft);color:#176f64;padding:.75rem;border-radius:13px;margin-top:.7rem}.qm-checkbox-label{display:flex!important;align-items:center;gap:.6rem;min-height:46px;padding-top:1.25rem}.qm-checkbox-label input{width:auto;min-height:auto;margin:0;transform:scale(1.15)}
.qm-saved-list{display:grid;gap:.7rem;margin-top:1rem}.qm-saved-empty{padding:2rem;text-align:center;border:1px dashed #cad8d7;border-radius:16px;color:#7b8d99}.qm-saved-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid #e0e9e8;border-radius:15px}.qm-saved-item strong,.qm-saved-item small{display:block}.qm-saved-item small{color:#7a8996;margin-top:.15rem}.qm-saved-price{font-weight:850;color:var(--qm-navy)}
.qm-backup-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.qm-privacy-note{background:#f3f7f6;border:1px solid #e0e9e8;padding:1rem;border-radius:15px;color:#627581}.qm-app-footer{text-align:center;font-size:.75rem;color:#89959e;padding:1.5rem .8rem .5rem}.qm-notice{margin-bottom:1rem;padding:.8rem 1rem;border-radius:13px;background:#eef9f6;color:#146d61;border:1px solid #cfefe9;font-weight:700}.qm-notice.error{background:#fff1f0;border-color:#ffd3cf;color:#9e2d23}

body.qm-modal-open{overflow:hidden}
.qm-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1rem;background:rgba(7,30,49,.74);backdrop-filter:blur(6px)}
.qm-modal[hidden]{display:none!important}
.qm-modal-card{position:relative;width:min(500px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:24px;padding:1.5rem;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.qm-results-modal-card{width:min(720px,100%)}
.qm-results-modal-card h2{font-size:clamp(1.5rem,4vw,2.2rem);margin:.25rem 2.5rem 1rem 0}
.qm-modal-close{position:absolute;right:.8rem;top:.7rem;width:42px;height:42px;border:0;border-radius:50%;background:#eef4f3;color:var(--qm-navy);font-size:1.5rem;line-height:1;font-weight:800}

@media(max-width:900px){
  .qm-hero,.qm-split{grid-template-columns:1fr}
  .qm-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qm-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qm-cost-row{grid-template-columns:minmax(170px,1fr) 110px 135px 42px}
}

@media(max-width:620px){
  .qm{font-size:16px}
  .qm-app{padding:.55rem}
  .qm-app-header{align-items:flex-start}
  .qm-brand-app img{width:44px;height:44px}.qm-brand-app strong{font-size:1.28rem}.qm-brand-app small{display:none}
  .qm-app-actions .qm-btn-ghost{display:none}
  .qm-hero{padding:1.4rem}
  .qm-section{padding:2.2rem 1.2rem}
  .qm-cta-band{margin:.75rem;padding:1.3rem;flex-direction:column;align-items:flex-start}
  .qm-preset-grid,.qm-form-grid-2,.qm-form-grid-3{grid-template-columns:1fr}
  .qm-card{padding:.9rem}
  .qm-card-head h2{font-size:1.55rem}
  .qm-accordion summary{padding:.9rem .85rem;align-items:flex-start}.qm-accordion summary small{font-size:.72rem;text-align:right;max-width:45%}
  .qm-accordion-body{padding:.85rem}
  .qm-subsection-head{align-items:center}.qm-subsection-head .qm-field-note{display:none}
  .qm-cost-row{grid-template-columns:minmax(0,1fr) 118px 42px;gap:.42rem;padding:.6rem}
  .qm-cost-row .qm-cost-category{grid-column:1/-1}
  .qm-cost-row .qm-cost-qty-wrap{grid-column:1}
  .qm-cost-row label:not(.qm-cost-category):not(.qm-cost-qty-wrap){grid-column:2}
  .qm-cost-remove{grid-column:3;align-self:end}
  .qm-cost-qty{font-size:1rem;padding-left:.75rem!important;padding-right:.75rem!important}
  .qm-price-stack{grid-template-columns:1fr}
  .qm-price-option{display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;align-items:center}.qm-price-option small{grid-column:1/-1}
  .qm-result-actions{flex-direction:column}
  .qm-saved-item{grid-template-columns:1fr auto}.qm-saved-item .qm-saved-actions{grid-column:1/-1}
  .qm-modal{padding:.55rem;align-items:end}.qm-modal-card{border-radius:22px 22px 12px 12px;width:100%;max-height:92vh;padding:1rem}
  .qm-results-modal-card h2{margin-right:2.7rem}
}

/* v0.3 — standalone app shell and responsive layout */
html{background:var(--qm-bg)}
body.cost2quote-standalone{margin:0;background:var(--qm-bg);min-height:100vh;-webkit-text-size-adjust:100%}
body.cost2quote-standalone .c2q-standalone-shell{width:100%;min-height:100vh}
body.cost2quote-standalone #wpadminbar{position:fixed}

.qm-app{max-width:1180px;margin:0 auto;padding:clamp(1rem,2.6vw,2rem)}
.qm-job-card,.qm-wide-card{max-width:1080px;margin:0 auto}
.qm-app-header{padding:.2rem 0 .35rem}
.qm-tabs{position:relative}

/* Job + customer grouping */
.qm-subform+.qm-subform{margin-top:1.2rem;padding-top:1.15rem;border-top:1px solid #e7efed}
.qm-subform-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.qm-subform-title h3{margin:0;font-size:1rem}
.qm-subform-title span{font-size:.72rem;font-weight:800;color:#7c8d98;background:#f1f6f5;border-radius:999px;padding:.28rem .55rem}
.qm-job-meta-grid{grid-template-columns:minmax(260px,1.6fr) minmax(170px,.7fr) minmax(200px,.8fr)}
.qm-customer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.qm-full-field{display:block;margin-top:.8rem}
.qm-address-field{grid-column:span 2}
#qmQuoteDate{text-align:left!important;direction:ltr;font-variant-numeric:tabular-nums}
#qmQuoteDate::-webkit-date-and-time-value{text-align:left!important;min-height:1.2em}
#qmQuoteDate::-webkit-datetime-edit{text-align:left!important;display:block}

/* Business type custom dropdown */
.qm-business-type-field{margin-bottom:1rem}
.qm-field-label{display:block;color:#4d6476;font-weight:750;font-size:.83rem;margin-bottom:.38rem}
.qm-business-picker{position:relative}
.qm-business-picker-toggle{width:100%;min-height:68px;border:1px solid #cfdedd;border-radius:15px;background:#fff;color:var(--qm-navy);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .85rem;text-align:left}
.qm-business-picker-toggle:hover{border-color:#b9cfcc}
.qm-business-picker-toggle[aria-expanded="true"]{border-color:var(--qm-teal);box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.qm-business-current-icon{width:42px;height:42px;border-radius:12px;background:var(--qm-teal-soft);display:grid;place-items:center;font-size:1.45rem}
.qm-business-current-copy{min-width:0}
.qm-business-current-copy small,.qm-business-current-copy strong{display:block}
.qm-business-current-copy small{font-size:.67rem;color:#83919a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.1rem}
.qm-business-current-copy strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qm-business-chevron{font-size:1.2rem;color:var(--qm-teal-dark);transition:transform .18s ease}
.qm-business-picker-toggle[aria-expanded="true"] .qm-business-chevron{transform:rotate(180deg)}
.qm-business-type-panel{position:absolute;z-index:60;left:0;right:0;top:calc(100% + .5rem);background:#fff;border:1px solid var(--qm-border);border-radius:18px;padding:.75rem;box-shadow:0 18px 50px rgba(15,45,74,.18);max-height:420px;overflow:auto}
.qm-business-type-panel[hidden]{display:none!important}
.qm-business-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.qm-business-type-option{position:relative;min-height:74px;border:1px solid #dce7e5;background:#fff;border-radius:14px;padding:.7rem;display:flex;align-items:center;gap:.58rem;text-align:left;color:var(--qm-navy);font-weight:800;line-height:1.2}
.qm-business-type-option:hover{border-color:#9fd7d0;background:#fbfefd}
.qm-business-type-option.is-selected{border-color:var(--qm-teal);background:var(--qm-teal-soft);box-shadow:inset 0 0 0 1px rgba(20,184,166,.12)}
.qm-business-option-icon{font-size:1.35rem;flex:0 0 auto}
.qm-business-option-check{margin-left:auto;width:22px;height:22px;border-radius:50%;display:none;place-items:center;background:var(--qm-teal);color:#fff;font-size:.72rem;flex:0 0 auto}
.qm-business-type-option.is-selected .qm-business-option-check{display:grid}
.qm-business-contact-grid{margin-top:.25rem}

/* Desktop layout gets more breathing room; mobile remains touch-first. */
@media(min-width:901px){
  .qm-app-header{margin-bottom:1.2rem}
  .qm-tabs{max-width:760px;margin:0 auto 1.25rem;justify-content:center}
  .qm-tabs button{flex:1;justify-content:center}
  .qm-card{padding:1.6rem 1.75rem}
  .qm-accordion-body{padding:1.2rem 1.25rem}
  .qm-cost-row{grid-template-columns:minmax(260px,1fr) 135px 180px 46px}
  .qm-modal-card{padding:1.7rem}
}

@media(max-width:900px){
  .qm-job-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qm-job-name-field{grid-column:1/-1}
  .qm-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qm-business-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .qm-app{padding:max(.65rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left))}
  .qm-app-header{align-items:center;gap:.65rem;margin-bottom:.8rem}
  .qm-app-actions{flex:0 0 auto}
  .qm-app-actions .qm-btn-primary{min-height:42px;padding:.55rem .72rem;font-size:.82rem}
  .qm-tabs{margin-left:-.1rem;margin-right:-.1rem;border-radius:14px}
  .qm-tabs button{padding:.52rem .72rem;font-size:.86rem}
  .qm-job-meta-grid,.qm-customer-grid{grid-template-columns:1fr}
  .qm-job-name-field,.qm-address-field{grid-column:auto}
  .qm-subform+.qm-subform{margin-top:1rem;padding-top:1rem}
  .qm-subform-title{margin-bottom:.55rem}
  .qm-business-type-grid{grid-template-columns:1fr}
  .qm-business-type-panel{position:fixed;left:.6rem;right:.6rem;top:auto;bottom:max(.6rem,env(safe-area-inset-bottom));max-height:min(72vh,600px);border-radius:20px;z-index:100001;padding:.7rem}
  .qm-business-type-option{min-height:62px;padding:.65rem .75rem}
  .qm-business-picker-toggle{min-height:64px}
  .qm-customer-subform textarea{min-height:72px}
  #qmQuoteDate{min-height:50px;padding-left:.82rem;padding-right:.82rem}
}

/* v0.4 — mobile date containment + stronger visual hierarchy */
.qm-card{
  border:2px solid #d6e5e2;
  box-shadow:0 12px 34px rgba(15,45,74,.07);
}
.qm-accordion{
  border:2px solid #d4e5e2;
  box-shadow:0 7px 20px rgba(15,45,74,.045);
}
.qm-accordion summary{
  background:linear-gradient(90deg,rgba(20,184,166,.07),rgba(255,255,255,.98) 72%);
}
.qm-accordion-body{
  border-top:1px solid #dce9e7;
}

/* Give the three everyday quote steps a small hit of the brand palette. */
.qm-input-card > .qm-accordion:nth-of-type(1){
  border-color:rgba(20,184,166,.58);
  box-shadow:0 8px 22px rgba(20,184,166,.08);
}
.qm-input-card > .qm-accordion:nth-of-type(1) summary{
  background:linear-gradient(90deg,rgba(20,184,166,.13),rgba(255,255,255,.98) 76%);
}
.qm-input-card > .qm-accordion:nth-of-type(1) summary>span b{
  background:#dff8f4;
  color:#0d8f81;
}
.qm-input-card > .qm-accordion:nth-of-type(2){
  border-color:rgba(23,62,97,.42);
  box-shadow:0 8px 22px rgba(23,62,97,.065);
}
.qm-input-card > .qm-accordion:nth-of-type(2) summary{
  background:linear-gradient(90deg,rgba(23,62,97,.09),rgba(255,255,255,.98) 76%);
}
.qm-input-card > .qm-accordion:nth-of-type(2) summary>span b{
  background:#e8f0f7;
  color:var(--qm-navy-2);
}
.qm-input-card > .qm-accordion:nth-of-type(3){
  border-color:rgba(249,115,22,.42);
  box-shadow:0 8px 22px rgba(249,115,22,.065);
}
.qm-input-card > .qm-accordion:nth-of-type(3) summary{
  background:linear-gradient(90deg,rgba(249,115,22,.09),rgba(255,255,255,.98) 76%);
}
.qm-input-card > .qm-accordion:nth-of-type(3) summary>span b{
  background:var(--qm-orange-soft);
  color:#cf5b0c;
}

/* Slightly stronger input edges without making the interface heavy. */
.qm input,.qm textarea,.qm select{
  border-color:#c6d9d6;
}
.qm-cost-row{
  border-width:1.5px;
  border-color:#d5e4e1;
}

/* iOS/Safari date inputs have an intrinsic minimum width. Prevent that from
   widening the grid track and pushing the right half of the control off-screen. */
.qm-job-meta-grid,
.qm-job-meta-grid > label,
.qm-customer-grid,
.qm-customer-grid > label{
  min-width:0;
  max-width:100%;
}
#qmQuoteDate{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden;
  box-sizing:border-box;
}

@media(max-width:620px){
  .qm-job-meta-grid,.qm-customer-grid{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
  }
  .qm-job-meta-grid > label,
  .qm-customer-grid > label,
  .qm-full-field{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  #qmQuoteDate{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    -webkit-min-logical-width:0!important;
  }
  .qm-card{
    border-color:#c9ded9;
  }
  .qm-accordion{
    border-width:2px;
  }
}
