@font-face{font-family:'Tay Kari';src:url('/fonts/TayKari-Regular.woff2') format('woff2');font-display:swap}@font-face{font-family:'Plus Jakarta Sans';src:url('/fonts/PlusJakartaSans-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f7f4ed;--ink:#292720;--muted:#716d62;--line:#d8d2c5;--orange:#e25a00;--brand:#009e45;--soft:#ece7db;--green:#39704b;--purple:#7762c9;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;font-size:13px}body.dark{--paper:#14131f;--ink:#f1ede5;--muted:#b0a9c5;--line:rgba(141,125,255,.22);--soft:#252235;--green:#a3d7a5;--orange:#ff8b3f;--purple:#aa98ff;color-scheme:dark}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.6}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-family:'Tay Kari',sans-serif;font-size:clamp(38px,4.3vw,66px);line-height:.98;font-weight:400;letter-spacing:-.02em}h2{font-size:22px;font-weight:700;letter-spacing:-.7px}h3{font-size:14px;font-weight:700}.orange{color:var(--orange)}.appheader{height:76px;display:flex;align-items:center;padding:0 4.4%;border-bottom:1px solid var(--line);gap:26px}.brand{font-size:35px;font-weight:700;letter-spacing:-2px}.brand span{color:var(--orange);font-size:26px;padding-left:5px}.header-note{font-size:12px;color:var(--muted)}.theme{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:40px}.theme:first-letter{font-size:20px}main{max-width:1600px;margin:auto;padding:0 4.4%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:37px 0 27px;gap:25px}.intro p{margin-top:15px;color:var(--muted);font-size:14px}.demo-note{line-height:2;flex-shrink:0;font-size:12px}.demo-note small{font-size:11px;color:var(--muted)}.status-dot{display:inline-block;background:var(--green);width:6px;height:6px;border-radius:50%;margin-right:5px}.trades{display:flex;border-bottom:1px solid var(--line);gap:32px}.trades button{padding:17px 0;font-size:13px;position:relative;font-weight:600;white-space:nowrap}.trades button[aria-pressed=true]{color:var(--orange)}.trades button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--orange);left:0;right:0}.workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:42px;margin:30px 0 42px}.capture{padding-right:34px;border-right:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.subtle{font-size:10px;color:var(--muted);white-space:nowrap}.capture .subtle{display:none}.capture-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 23px}.text-button{font-size:11px;padding:8px 0;white-space:nowrap}.text-button span{margin-left:5px;color:var(--orange)}.secondary{border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-size:11px;white-space:nowrap}.secondary:hover{background:var(--soft)}.primary{background:linear-gradient(180deg,#ff7e29 0%,#f26100 62%,#d95300 100%);color:#fff;border:1px solid #db5804;border-radius:7px;padding:12px 17px;box-shadow:inset 0 1px 0 #ffad77;font-weight:700;white-space:nowrap;min-height:43px}.primary:hover{filter:brightness(1.06)}.full{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:22px}.memo-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:9px}.memo-label span{font-size:10px;color:var(--muted)}.field{border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;padding:1px;transition:box-shadow .15s}.field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,158,69,.16)}.field input,.field textarea{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;color:var(--ink);flex:1 1 auto;min-width:0;width:100%;padding:0!important;height:100%;margin:0;font-weight:500}.memo{padding:13px}.memo textarea{display:block;min-height:147px;resize:vertical;line-height:1.85;font-size:12px}.perimeter{position:absolute;pointer-events:none;background:var(--brand);z-index:2;transition:width .1s ease-out,height .1s ease-out}.perimeter.top,.perimeter.bottom{height:3px;width:0;left:0}.perimeter.top{top:0}.perimeter.bottom{bottom:0}.perimeter.left,.perimeter.right{width:3px;height:0;top:0}.perimeter.left{left:0}.perimeter.right{right:0;transition-delay:.1s}.field:focus-within .top,.field:focus-within .bottom{width:100%}.field:focus-within .left,.field:focus-within .right{height:100%}.audio-line{display:flex;align-items:center;gap:12px;height:35px;color:var(--muted);font-size:10px}.wave{display:flex;align-items:center;gap:3px;height:22px}.wave i{width:2px;height:5px;background:var(--purple);border-radius:2px}.wave i:nth-child(3n){height:13px}.wave i:nth-child(4n){height:19px}.wave.live i{animation:pulse .4s ease-in-out infinite alternate}.wave.live i:nth-child(2n){animation-delay:.15s}.audio-line #word-count{margin-left:auto}@keyframes pulse{to{transform:scaleY(.2);background:var(--orange)}}.scan{padding:18px 0 0;border-top:1px solid var(--line);margin-top:13px}.scan-head{display:flex;justify-content:space-between;align-items:center}.scan h3{font-size:12px}.scan-head span{font-size:10px;color:var(--muted)}.scan svg{height:131px;width:100%;color:var(--purple);margin-top:10px}.scan svg text{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:600}.scan p{font-size:12px;text-align:center;font-weight:700;margin:4px 0 5px}.scan small{display:block;text-align:center;font-size:10px;color:var(--muted)}.quiet{color:var(--muted);font-size:10px;line-height:1.8;margin-top:12px}.error{color:#ba4319;font-size:12px;line-height:1.6;margin-top:9px}.empty{padding:72px 0 90px;text-align:center}.empty-symbol{font-size:54px;color:var(--orange);display:block;margin-bottom:20px}.empty h3{font-size:26px;letter-spacing:-.8px;margin-bottom:14px}.empty p{line-height:1.9;color:var(--muted);font-size:13px}.empty-benefits{display:flex;justify-content:center;gap:22px;font-size:10px;color:var(--muted);margin-top:30px}.estimate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:19px;border-bottom:1px solid var(--line)}.estimate-head h3{font-size:21px;letter-spacing:-.7px}.estimate-head p{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.7}.view-tabs{display:flex;gap:18px;flex-wrap:wrap}.view-tabs button{font-size:11px;padding:12px 0;border-bottom:2px solid transparent}.view-tabs button[aria-pressed=true]{border-bottom-color:var(--ink);font-weight:700}.guardrails{padding:18px 0 4px;border-bottom:1px solid var(--line)}.guardrail-heading{font-size:12px;display:flex;justify-content:space-between;margin-bottom:12px}.guardrail-heading span{color:var(--orange);font-size:10px}.flag{margin-bottom:16px}.flag p{font-size:11px;line-height:1.75;color:var(--muted);padding-left:19px;position:relative}.flag p:before{content:'!';position:absolute;left:0;top:0;font-weight:700;color:var(--orange)}.flag.included p:before{content:'✓';color:var(--green)}.flag button{color:var(--orange);font-size:10px;font-weight:700;padding:6px 0 0 19px;text-align:left}.flag button[aria-pressed=true]{color:var(--green)}.table-head,.item-row{display:grid;grid-template-columns:minmax(0,1fr) 65px 86px 85px;gap:12px;align-items:center}.table-head{color:var(--muted);font-size:9px;padding:17px 0 10px}.table-head span:not(:first-child){text-align:right}.category{font-size:10px;color:var(--muted);padding:14px 0 5px;font-weight:700}.item-row{border-bottom:1px solid var(--line);padding:10px 0;font-size:11px}.item-row .description{line-height:1.65}.item-row small{display:block;font-size:9px;color:var(--muted);font-weight:500}.item-row .field{padding:6px 4px}.item-row input{text-align:right;appearance:textfield;font-size:11px}.item-row input::-webkit-inner-spin-button{appearance:none}.amount{text-align:right;white-space:nowrap;font-weight:600}.summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.summary-label{font-size:11px;color:var(--muted)}.price{font-size:34px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.summary small{display:block;text-align:right;color:var(--muted);font-size:10px;margin-top:4px}.profit-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:10px;padding-top:13px;color:var(--muted)}.profit-row b{color:var(--ink)}.markup-control{display:flex;align-items:center;gap:5px}.markup-control .field{width:46px;padding:5px}.markup-control input{text-align:right;font-size:10px}.actions{margin-top:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions .primary{flex:1}.customer-scope{line-height:1.9;color:var(--muted);font-size:12px;padding:16px 0;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.approval{padding:15px 0;border-bottom:1px solid var(--line);color:var(--green);font-size:12px;line-height:1.9}.approval strong{display:block;font-size:16px}.nowrap{white-space:nowrap}.job-ticket{margin-top:25px;scroll-margin-top:20px}.job-ticket h3{font-size:20px;margin-bottom:8px}.ticket-meta{color:var(--muted);font-size:10px;line-height:1.9}.pull-list{padding-left:18px;font-size:11px;line-height:2}.job-ticket h4{margin:20px 0 8px;font-size:12px}.job-ticket .checks{padding-left:18px;font-size:11px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}footer>span:first-child{color:var(--ink)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:7px;background:var(--ink);color:var(--paper);font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.visible{opacity:1}body.customer .capture,body.customer .intro,body.customer .trades,body.customer .header-note{display:none}body.customer .workspace{display:block;max-width:820px;margin:32px auto}body.customer .result>.section-title{display:none}
@media(min-width:1250px){.capture-actions .secondary{padding:10px 14px}.capture-actions{gap:10px}}
@media(max-width:1100px){.workspace{gap:24px;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.capture{padding-right:22px}.capture-actions{flex-direction:column;align-items:stretch;gap:6px}.text-button{text-align:left}.table-head,.item-row{grid-template-columns:minmax(0,1fr) 48px 65px 70px;gap:8px}.section-title h2{font-size:20px}}
@media(max-width:768px){.appheader{height:48px;padding:0 20px}.brand{font-size:28px}.brand span{font-size:20px}.header-note{display:none}.theme{font-size:12px}.theme span{display:none}main{padding:0 20px}.intro{padding:22px 0 15px}.intro h1{font-size:34px}.intro p,.demo-note{display:none}.trades{gap:0;justify-content:space-between;flex-wrap:wrap}.trades button{font-size:10px;white-space:normal;padding:14px 5px;flex:1;line-height:1.6}.trades button:first-child{text-align:left;padding-left:0}.trades button:last-child{text-align:right;padding-right:0}.workspace{display:block;margin-top:23px}.capture{padding:0 0 28px;border-right:0;border-bottom:1px solid var(--line)}.capture-actions{flex-direction:row;gap:7px;margin-bottom:18px}.capture-actions .secondary{font-size:10px;padding:9px}.text-button{font-size:10px}.section-title{margin-bottom:18px}.section-title h2{font-size:22px}.memo textarea{min-height:145px}.scan{position:relative;min-height:110px;padding-top:14px}.scan svg{width:130px;height:80px;position:absolute;right:0;top:15px}.scan-head{display:block}.scan-head span{display:block;margin-top:5px}.scan p,.scan small{text-align:left;max-width:200px;font-size:10px}.scan p{margin-top:18px;line-height:1.7}.scan small{font-size:8px}.full{margin-top:16px}.result{padding-top:26px}.empty{padding:36px 0 50px}.empty-benefits{gap:14px;font-size:9px}.estimate-head h3{font-size:20px}.table-head,.item-row{grid-template-columns:minmax(0,1fr) 42px 60px 66px;gap:6px}.table-head{font-size:8px}.item-row{font-size:10px;padding:11px 0}.item-row input{font-size:10px}.item-row .field{padding:7px 3px}.item-row small{font-size:8px}.category{font-size:9px}.price{font-size:31px}.profit-row{gap:12px}.actions .primary{font-size:11px;white-space:normal}.actions .secondary{font-size:10px}footer{font-size:9px;gap:20px;line-height:1.8}footer>span:last-child{display:none}body.customer .workspace{margin-top:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{body{--paper:#fff;--ink:#222;--muted:#555;--line:#ccc;color-scheme:light;background:#fff}.appheader,.intro,.trades,.capture,.view-tabs,.guardrails,.actions,.theme,footer,#toast,.profit-row{display:none!important}.workspace{display:block;margin:0}.result>.section-title{display:none}main{padding:0}.result{padding:0}.item-row{break-inside:avoid}.job-ticket{break-before:auto}button{display:none}.price{color:#222}}

.mobile-title{display:none}@media(max-width:768px){.intro{display:none}.mobile-title{display:flex;align-items:center;height:36px;font-size:17px;font-weight:700;position:sticky;top:0;background:var(--paper);z-index:5;border-bottom:1px solid var(--line);white-space:nowrap}.trades button{padding-top:8px;padding-bottom:8px;line-height:16px}.workspace{margin-top:12px}}
@media(max-width:768px){.actions .primary{flex:1 0 100%;width:100%;white-space:nowrap;min-height:44px;font-size:11px}.actions .secondary{flex:1;min-height:40px}.empty-benefits{flex-wrap:wrap}.scan small{white-space:normal}}
