/* Estimate requests: shared by /request (homeowner) and /bid (pro). Calm precision, mobile first. */
:root{--ink:#12263F;--ink-2:#4E5C6B;--surface:#FFF;--canvas:#F5F6F7;--hairline:#E4E7EB;--hairline-strong:#CDD3DA;--gold:#F4C542;--gold-wash:#FBF0CC;--gold-ink:#8A6400;--ok:#2E8B6A;--ok-wash:#E7F4EE;--warn-wash:#FFF4DC;--warn-ink:#7A5200;--critical:#B3261E;--font:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 1rem/1.55 var(--font);-webkit-font-smoothing:antialiased}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem 7rem}
header{padding:.8rem 0;display:flex;justify-content:space-between;align-items:center}header img{height:28px;display:block}header a.back{font-size:.88rem;color:var(--ink-2);text-decoration:none}
.card{background:var(--surface);border:1px solid var(--hairline);border-radius:20px;padding:1.1rem;display:grid;gap:1.1rem;margin-bottom:1rem}
@media(min-width:700px){.card{padding:1.6rem}}
.eyebrow,.lbl{font:600 .75rem/1.2 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
h1{font:500 1.6rem/1.2 var(--font);margin:.35rem 0 .2rem;letter-spacing:-.01em}
h2{font:600 1.15rem/1.3 var(--font);margin:0}
.lede{margin:0;color:var(--ink-2);font-size:.95rem}
.loc{margin:0;color:var(--ink-2);font-size:.92rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.chip{background:var(--canvas);border:1px solid var(--hairline);border-radius:999px;padding:.25rem .65rem;font-size:.82rem;font-weight:500}
.blk{display:grid;gap:.7rem}
.blk>.sub{margin:-.45rem 0 0;font-size:.86rem;color:var(--ink-2)}
label.f{display:grid;gap:.25rem;font-size:.86rem;font-weight:600}
label.f small{font-weight:400;color:var(--ink-2)}
input,textarea,select{font:400 1rem/1.35 var(--font);color:var(--ink);background:#fff;border:1px solid var(--hairline-strong);border-radius:8px;padding:.65rem .75rem;width:100%;min-width:0}
input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px}
textarea{min-height:4.2rem;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.money{position:relative;display:block}.money::before{content:"$";position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--ink-2)}.money input{padding-left:1.5rem;text-align:right;font-variant-numeric:tabular-nums}
.seg{display:flex;flex-wrap:wrap;gap:.3rem}
.seg button{font:500 .86rem/1 var(--font);color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:999px;padding:.55rem .85rem;min-height:38px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.tog{display:flex;gap:.55rem;align-items:flex-start;font-size:.92rem;cursor:pointer}
.tog input{width:20px;height:20px;margin:.12rem 0 0;accent-color:var(--ink);flex:none}
/* checklist (owner) */
.chk{display:grid;gap:.15rem}
.chk label{display:flex;gap:.6rem;align-items:center;padding:.6rem .7rem;border-radius:10px;cursor:pointer;font-size:.95rem}
.chk label:hover{background:var(--canvas)}
.chk input{width:20px;height:20px;accent-color:var(--ink);flex:none;margin:0}
.chk .cust{display:flex;gap:.4rem;align-items:center;padding:.3rem .4rem}.chk .cust input{width:auto;height:auto;flex:1;accent-color:auto}
.add{justify-self:start;background:#fff;border:1px dashed var(--hairline-strong);border-radius:999px;padding:.5rem .85rem;min-height:40px;font:500 .85rem/1 var(--font);color:var(--ink);cursor:pointer}
.x{background:none;border:0;width:2rem;height:2rem;border-radius:8px;cursor:pointer;color:var(--ink-2);font-size:1.2rem;line-height:1;flex:none}
/* item marks (pro) */
.it{border:1px solid var(--hairline);border-radius:14px;padding:.7rem .8rem;display:grid;gap:.5rem}
.it .nm{font-weight:600;font-size:.95rem}
.it .mk{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}
.it .mk button{font:600 .82rem/1.1 var(--font);border:1px solid var(--hairline-strong);background:#fff;color:var(--ink);border-radius:8px;padding:.55rem .3rem;min-height:40px;cursor:pointer}
.it .mk button[data-v=in][aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}
.it .mk button[data-v=extra][aria-pressed=true]{background:var(--gold);border-color:var(--gold-ink);color:var(--ink)}
.it .mk button[data-v=no][aria-pressed=true]{background:#5B6673;border-color:#5B6673;color:#fff}
.it.miss{border-color:var(--critical)}
.qk{display:flex;gap:.4rem;flex-wrap:wrap}
.qk button{font:500 .86rem/1 var(--font);background:var(--canvas);border:1px solid var(--hairline);border-radius:999px;padding:.55rem .9rem;min-height:40px;cursor:pointer;color:var(--ink)}
/* buttons + bar */
.btn{font:600 1rem/1 var(--font);color:var(--ink);background:var(--gold);border:0;border-radius:8px;padding:.95rem 1.2rem;min-height:3rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn.sec{background:#fff;border:1px solid var(--hairline-strong)}
.btn[disabled]{opacity:.6}
.bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--hairline);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));z-index:5}
.bar .in{max-width:46rem;margin:0 auto;display:flex;align-items:center;gap:.8rem}
.bar .tot{flex:1;min-width:0}.bar .tot span{display:block;font:600 .7rem/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.bar .tot b{font:300 1.5rem/1.15 var(--font);font-variant-numeric:tabular-nums}
.err{color:var(--critical);font-size:.88rem;margin:0}
.ok{background:var(--ok-wash);border-radius:12px;padding:.9rem 1rem;display:grid;gap:.3rem}
.fine{font-size:.78rem;color:var(--ink-2);margin:0}
.hint{font-size:.84rem;color:var(--ink-2);margin:0}
.state{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:2rem 1.2rem;text-align:center}
.hp{position:absolute;left:-9999px}
/* share */
.share{display:grid;gap:.6rem}
.link{display:flex;gap:.4rem}.link input{font-size:.9rem;background:var(--canvas)}
.sbtns{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}
@media(min-width:560px){.sbtns{grid-template-columns:repeat(4,1fr)}}
.sbtns a,.sbtns button{font:600 .88rem/1 var(--font);border:1px solid var(--hairline-strong);background:#fff;color:var(--ink);border-radius:8px;padding:.75rem .5rem;text-align:center;text-decoration:none;cursor:pointer}
/* compare */
.cmpw{overflow-x:auto;margin:0 -1.1rem;padding:0 1.1rem}
table.cmp{border-collapse:separate;border-spacing:0;width:100%;font-size:.86rem}
.cmp th,.cmp td{padding:.55rem .5rem;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}
.cmp thead th{font-weight:600;position:sticky;top:0;background:#fff}
.cmp th.r,.cmp td.r{text-align:center}
.cmp td:first-child,.cmp th:first-child{position:sticky;left:0;background:#fff;min-width:8.5rem;max-width:12rem;z-index:1}.cmp th.r,.cmp td.r{min-width:6.2rem}
.cmp tr.tot td{font-weight:700;font-variant-numeric:tabular-nums}
.cmp tr.sum td{background:var(--canvas)}.cmp tr.sum td:first-child{background:var(--canvas)}
.m-in{color:var(--ok);font-weight:700}.m-ex{color:var(--gold-ink);font-weight:700}.m-no{color:var(--critical);font-weight:700}
.tag{display:inline-block;font:600 .72rem/1 var(--font);border-radius:999px;padding:.3rem .5rem;margin-top:.25rem}
.tag.lo{background:var(--warn-wash);color:var(--warn-ink)}.tag.mid{background:var(--ok-wash);color:var(--ok)}.tag.hi{background:#FDE8E7;color:var(--critical)}
.flags{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}
.flags li{background:var(--warn-wash);color:#4A3A10;border-radius:10px;padding:.55rem .75rem;font-size:.88rem}
.bidc{border:1px solid var(--hairline);border-radius:14px;padding:.8rem;display:grid;gap:.3rem;font-size:.9rem}
.bidc b{font-size:1rem}
.mine{display:grid;gap:.4rem}.mine a{display:flex;justify-content:space-between;gap:.6rem;padding:.75rem .9rem;border:1px solid var(--hairline);border-radius:12px;color:var(--ink);text-decoration:none;background:#fff}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
