:root{
  --paper:#f3efe4;--paper2:#e9e2d3;--card:#fbf9f2;--ink:#242d28;--muted:#68716a;
  --pine:#234b3a;--pine2:#35664d;--ochre:#d79a39;--rust:#a64e3c;--line:#d8d0c0;
  --sage:#dce7d9;--sun:#f3e6c9;--rose:#f0dfd8;--radius:18px;--shadow:0 8px 24px rgba(48,48,34,.07);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--paper);font-synthesis:none
}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--paper)}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d79a39;outline-offset:2px}
.shell{max-width:1180px;margin:auto;min-height:100dvh;padding-bottom:96px}
.topbar{background:var(--pine);color:#f8f3e7;padding:14px 18px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:8;box-shadow:0 4px 14px #1d342635}
.brand{display:flex;align-items:center;gap:11px;min-width:0}.brandmark{width:38px;height:38px;border:1.5px solid #cba75f;border-radius:12px;display:grid;place-items:center;font-weight:850;font-size:13px;letter-spacing:-1px;color:#f1ca77;transform:rotate(-3deg)}
.brandname{font-size:14px;letter-spacing:.095em;font-weight:850;white-space:nowrap}.brandtag{display:block;font-size:10px;letter-spacing:.08em;color:#c9d5c9;font-weight:500;margin-top:2px}
.rolebox{display:flex;align-items:center;gap:6px}.rolebox select{background:#315745;color:#fff;border:1px solid #6d8974;border-radius:11px;padding:10px 28px 10px 10px;max-width:137px;font-weight:650;font-size:13px}.reset{border:1px solid #668172;background:transparent;color:#f7f1e5;border-radius:10px;min-height:40px;padding:0 11px;font-size:12px;font-weight:700}
.previewbar{background:var(--ochre);color:#302a1f;padding:9px 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:750}.previewbar button{border:0;background:#292e27;color:white;border-radius:9px;padding:8px 12px;font-weight:700}
.offline{display:flex;align-items:center;gap:7px;color:#cfe0ce;font-size:11px;font-weight:650;white-space:nowrap}.dot{width:8px;height:8px;border-radius:99px;background:#dfb04d;box-shadow:0 0 0 3px #dfb04d32}
.content{padding:22px 16px 30px;max-width:940px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:800}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.pagehead h1{font-size:clamp(27px,7vw,40px);line-height:1.04;letter-spacing:-.045em;margin:6px 0 0;font-weight:820}.date-note{font-size:12px;color:var(--muted);text-align:right}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);margin:0 0 14px}.card.soft{background:var(--sage);border-color:#c9d9c6}.card.warm{background:var(--sun);border-color:#e7d6b4}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-title h2,.card-title h3{margin:0;font-size:16px;letter-spacing:-.02em}.subtle{color:var(--muted);font-size:13px;line-height:1.45}.tag{display:inline-flex;align-items:center;background:var(--sage);color:var(--pine);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}.tag.gold{background:#f5e4bd;color:#72501a}.tag.red{background:var(--rose);color:#8a4135}
.hero-job{background:var(--pine);color:#f8f2e7;border-radius:22px;padding:20px;position:relative;overflow:hidden;margin-bottom:14px}.hero-job:after{content:"";position:absolute;right:-34px;top:-46px;width:160px;height:160px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 18px #ffffff09,0 0 0 38px #ffffff06}.hero-job .eyebrow{color:#c8d5ca}.hero-job h2{margin:7px 0 3px;font-size:24px;letter-spacing:-.04em}.hero-job p{margin:0;color:#d5dfd5;font-size:13px}.hero-metrics{display:flex;gap:9px;margin:18px 0 16px}.metric{border:1px solid #ffffff32;background:#ffffff0c;border-radius:13px;padding:10px 11px;min-width:82px}.metric b{display:block;font-size:20px;line-height:1.1}.metric span{font-size:10px;color:#d5dfd5}
.actions{display:flex;flex-wrap:wrap;gap:9px}.btn{border:0;border-radius:12px;min-height:48px;padding:0 15px;background:var(--pine);color:white;font-weight:760;font-size:14px;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.btn.primary{background:var(--ochre);color:#2d2b24}.btn.light{background:var(--card);color:var(--pine);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--pine);border:1px solid var(--line)}.btn.danger{background:var(--rust)}.btn.small{min-height:40px;padding:0 12px;font-size:12px}.btn.block{width:100%}.btn:active,.navitem:active{transform:scale(.98)}
.nav{position:fixed;z-index:9;bottom:0;left:0;right:0;background:#fbf9f2f5;border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:2px;backdrop-filter:blur(12px)}.navitem{flex:1;max-width:112px;min-height:54px;border:0;background:transparent;color:#69746b;border-radius:12px;font-size:10px;font-weight:700;display:grid;place-items:center;gap:2px}.navitem .navicon{font-size:18px;line-height:1}.navitem.active{background:#e3eadd;color:var(--pine)}
.stack{display:grid;gap:12px}.two{display:grid;gap:12px}.jobrow{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--card);display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.jobrow strong{display:block;font-size:14px}.jobrow small{color:var(--muted);display:block;margin-top:4px;font-size:12px}.jobprice{text-align:right;font-size:15px;font-weight:800;white-space:nowrap}.jobprice small{font-weight:500}
.line{height:1px;background:var(--line);margin:14px 0}.pillrow{display:flex;gap:8px;flex-wrap:wrap}.field{display:grid;gap:6px;margin:10px 0}.field label{font-size:12px;font-weight:750;color:#47544b}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #cfc8b9;border-radius:11px;background:#fffdf7;padding:10px 12px}.field textarea{min-height:80px;resize:vertical}.field input[type=range]{padding:0;accent-color:var(--pine)}
.section-label{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.section-label h2{font-size:19px;margin:0;letter-spacing:-.03em}.section-label span{font-size:12px;color:var(--muted)}
.room-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 8px}.room-tab{border:1px solid var(--line);border-radius:999px;background:var(--card);padding:10px 13px;white-space:nowrap;font-size:12px;font-weight:750}.room-tab.active{background:var(--pine);color:white;border-color:var(--pine)}
.catalog{display:grid;gap:8px}.catalog-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fffdf7;padding:9px 10px}.catalog-label{flex:1;min-width:0}.catalog-label b{font-size:13px;display:block}.catalog-label small{font-size:11px;color:var(--muted)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:42px;height:42px;border:0;border-radius:12px;background:#e2e9df;color:var(--pine);font-size:23px;font-weight:700}.qty b{min-width:17px;text-align:center}
.loadbox{background:#263c31;color:#f7f3e9;border-radius:19px;padding:16px}.loadtop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.loadbig{font-size:37px;font-weight:850;line-height:1;letter-spacing:-.06em}.loadbig small{font-size:14px;letter-spacing:0;color:#d9e2d8}.svgload{width:100%;height:100px;display:block;margin:10px 0 4px}.progress{height:7px;border-radius:99px;background:#ffffff27;overflow:hidden}.progress i{height:100%;display:block;background:var(--ochre);border-radius:99px;transition:width .2s}.warning{border-radius:13px;padding:12px;background:#f4e7ca;color:#604516;font-size:13px;font-weight:700;margin-top:11px}
.load-stat{border-left:1px solid #ffffff35;padding-left:10px;min-width:84px}.load-stat b{display:block;font-size:19px;line-height:1.15}.load-stat span{display:block;max-width:106px;font-size:10px;color:#d9e2d8;line-height:1.35;margin-top:4px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:9px}.compare article{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffdf7}.compare b{display:block;font-size:18px;margin-top:5px}.compare span{font-size:11px;color:var(--muted)}.compare .new{border-color:#b7c8b6;background:#edf3ea}.bigprice{font-weight:850;font-size:30px;color:var(--pine);letter-spacing:-.04em}
.checkrow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;gap:8px}.checkrow:last-child{border:0}.checkrow input{width:22px;height:22px;accent-color:var(--pine)}.photo-placeholder{height:140px;border-radius:14px;border:1px dashed #8a988a;background:repeating-linear-gradient(135deg,#e7e5d8,#e7e5d8 12px,#dedfd1 12px,#dedfd1 24px);display:grid;place-items:center;color:#586559;font-weight:800;font-size:12px;text-align:center;padding:14px}.photo-thumb{max-width:100%;max-height:140px;border-radius:12px;object-fit:cover}.signature{width:100%;height:130px;background:#fffdf7;border:1px dashed #879386;border-radius:13px;touch-action:none}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day{min-height:102px;background:#fffdf7;border:1px solid var(--line);border-radius:12px;padding:7px 5px}.day strong{font-size:11px;display:block}.day small{font-size:9px;color:var(--muted)}.event{display:block;background:#dce8db;border-left:3px solid var(--pine2);border-radius:5px;margin-top:5px;padding:5px 4px;font-size:9px;line-height:1.2}.event.wood{background:#f4e4c8;border-color:#c38b34}
.mobile-notice{padding:10px 12px;border-radius:12px;background:#e3eadf;color:#35533e;font-size:12px;font-weight:650}
.list{display:grid;gap:8px}.listitem{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:13px;border:1px solid var(--line);background:#fffdf7;gap:12px}.listitem b{font-size:13px}.listitem small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#223a2d;color:white;padding:12px 17px;border-radius:13px;z-index:30;font-size:13px;font-weight:700;box-shadow:var(--shadow);animation:toastin .22s ease-out}.modal-back{position:fixed;inset:0;background:#20291f88;z-index:20;display:grid;place-items:end center;padding:12px}.modal{width:min(100%,520px);max-height:88dvh;overflow:auto;background:var(--paper);border-radius:22px 22px 16px 16px;padding:20px;box-shadow:0 18px 60px #141b1680}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h2{margin:0;font-size:20px}.close{width:42px;height:42px;border:0;background:var(--paper2);border-radius:12px;font-size:22px}
.hidden{display:none!important}.muted{color:var(--muted)}.center{text-align:center}.smalltext{font-size:11px;color:var(--muted)}.dispute-step{background:var(--sage);border-radius:13px;padding:13px;margin:10px 0}
@keyframes toastin{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:700px){.shell{padding-bottom:26px}.topbar{padding:15px 28px}.content{padding:32px 28px}.nav{position:static;max-width:940px;margin:8px auto 0;border:1px solid var(--line);border-radius:15px;padding:6px;background:#eae5d8;backdrop-filter:none}.navitem{max-width:none;display:flex;justify-content:center;gap:8px;font-size:12px}.two{grid-template-columns:1fr 1fr}.catalog{grid-template-columns:1fr 1fr}.calendar-week{gap:9px}.day{min-height:130px;padding:10px}.event{font-size:11px}.modal-back{place-items:center}.modal{border-radius:22px}.hero-job{padding:24px}}
@media(max-width:390px){.loadbox{padding:13px}.loadtop{gap:6px}.loadbig{font-size:31px}.load-stat{min-width:72px;padding-left:7px}.load-stat b{font-size:16px}.load-stat span{font-size:9px}}
/* --- pass 3 --- */
.topbar{flex-wrap:wrap;row-gap:10px}.brand{flex:1 1 auto}.topctl{display:flex;align-items:center;gap:8px;flex:1 1 100%;justify-content:space-between}
.topctl select{background:#315745;color:#fff;border:1px solid #6d8974;border-radius:11px;min-height:42px;padding:0 10px;font-weight:700;font-size:13px;flex:1;max-width:220px}
.netbtn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:11px;border:1px solid #6d8974;background:transparent;color:#f3ecdc;font-size:12px;font-weight:750;white-space:nowrap}
.netbtn.on .dot{background:#8fcf8a;box-shadow:0 0 0 3px #8fcf8a33}
@media(min-width:700px){.topctl{flex:0 0 auto;justify-content:flex-end}.topbar{flex-wrap:nowrap}.reset{order:3}}
.btn[disabled],.segbtn[disabled]{opacity:.48;cursor:not-allowed}.btn:disabled:active{transform:none}
.eyebrow.lt,.subtle.lt{color:#d4ded4}.subtle.lt{margin-top:6px}.loadbig.sm{font-size:30px}
.sticky-load{position:sticky;top:118px;z-index:4;box-shadow:0 10px 24px #1d342640}
@media(min-width:700px){.sticky-load{top:76px}}
.svgload{height:auto}
.room-tab.has:not(.active){border-color:#9bb59c;background:#eef3ea}
.empty{padding:18px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted);font-size:13px;background:#fffdf7}
.jobrow{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.jobrow:hover{border-color:#9fb4a0}
.typedot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--pine2)}.typedot.f{background:var(--ochre)}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.filters input{grid-column:1/-1}
.filters input,.filters select{min-height:46px;border:1px solid #cfc8b9;border-radius:11px;background:#fffdf7;padding:0 12px}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.segbtn{flex:1 1 auto;min-height:44px;border:1px solid var(--line);background:#fffdf7;border-radius:11px;font-weight:700;font-size:12px;padding:0 10px}.segbtn.on{background:var(--pine);color:#fff;border-color:var(--pine)}
.sigimg{display:block;max-width:220px;height:60px;object-fit:contain;background:#fffdf7;border:1px solid var(--line);border-radius:10px;margin-top:8px}
.kv{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.kv:last-child{border:0}.kv span{color:var(--muted);font-weight:700;font-size:12px}.kv small{font-weight:500;color:var(--muted)}
.linkgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.h2s{font-size:16px;margin:0 0 10px}
.backbtn{margin-bottom:12px}
.half{border-color:var(--ochre)}.dropzone{margin-top:5px;border:1.5px dashed var(--ochre);border-radius:6px;padding:6px 3px;font-size:9px;color:#7a5a20;text-align:center}.dropzone.over{background:#f4e4c8}
.dragchip{cursor:grab;border:1.5px dashed #c38b34;background:#f8ecd3;border-radius:12px;padding:12px;font-weight:750;font-size:13px;margin:10px 0}
.legend{display:flex;gap:14px;margin-top:10px;font-size:11px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}
.lg{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--pine2)}.lg.f{background:var(--ochre)}.lg.h{background:transparent;border:1.5px dashed var(--ochre)}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mhead{font-size:10px;font-weight:800;color:var(--muted);text-align:center}
.mday{min-height:46px;border:1px solid var(--line);border-radius:8px;background:#fffdf7;padding:4px;font-size:11px;font-weight:700}.mday div{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}.mday.empty{border:0;background:none}.mday.sun{background:#efe9db}
.steps{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.step{font-size:11px;font-weight:750;padding:6px 9px;border-radius:99px;background:#ece5d4;color:var(--muted)}.step.on{background:var(--pine);color:#fff}
.linkrow{width:100%;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;color:inherit;cursor:pointer;text-align:left}
.low{color:var(--rust)}.footnote{text-align:center;margin:24px 0 0}
.toast.hidden{display:none}
.printdoc{background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px}.printhead{display:flex;flex-direction:column;border-bottom:2px solid var(--pine);padding-bottom:10px;margin-bottom:12px}.printhead b{letter-spacing:.08em}.printhead span{font-size:12px;color:var(--muted)}
.printdoc h2{font-size:18px;margin:0 0 8px}.printdoc p{font-size:13px;line-height:1.5}.printdoc table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}.printdoc td{padding:8px 4px;border-bottom:1px solid var(--line);vertical-align:top}.printdoc td:last-child{text-align:right;font-weight:700}.printdoc tr.tot td{font-size:17px;border-bottom:2px solid var(--pine)}
@media print{body{background:#fff}.topbar,.previewbar,.nav,.no-print,#toast{display:none!important}.shell{padding:0}.content{padding:0;max-width:none}.printdoc{border:0;padding:0}}
