:root{--ink:#18272b;--paper:#f3efe7;--card:#fffdf8;--accent:#d95d39;--line:#cec8bb;--muted:#716f69;--metal:#829397}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;background:rgba(243,239,231,.94);backdrop-filter:blur(12px);z-index:5}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:800;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:34px;height:34px;border-radius:50%;font-family:Unbounded}.stepper{display:flex;align-items:center;gap:12px;color:#969189;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.stepper span.active{color:var(--accent)}.stepper i{width:42px;height:1px;background:var(--line)}button{font:inherit;cursor:pointer}.ghost{border:0;background:none;border-bottom:1px solid var(--ink);padding:6px 0}main{max-width:1500px;margin:auto}.intro{padding:64px 4vw 42px;display:grid;grid-template-columns:1.3fr .7fr;align-items:end}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--accent);margin:0 0 14px;text-transform:uppercase}.intro .eyebrow{grid-column:1/-1}.intro h1{font-family:Unbounded;margin:0;font-size:clamp(2.7rem,6vw,6.8rem);line-height:.9;letter-spacing:-.055em;text-transform:uppercase}.intro h1 em{font-style:normal;color:var(--accent)}.lede{max-width:480px;font-size:1.08rem;line-height:1.65;margin:0 0 8px 4vw;color:#545650}.workspace{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.controls{padding:34px 4vw;border-right:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-title span,summary span{background:var(--accent);color:white;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;font-size:.72rem}.section-title h2{font-family:Unbounded;font-size:1.15rem;margin:0;text-transform:uppercase}.section-title small{margin-left:auto}.field-grid{display:grid;gap:10px}.field-grid.three{grid-template-columns:repeat(3,1fr)}label{font-size:.78rem;color:var(--muted)}label input,label select{width:100%;margin-top:7px;background:var(--card);border:1px solid var(--line);border-radius:4px;min-height:49px;padding:0 12px;color:var(--ink);font-size:1rem}label{position:relative}.field-grid label span{position:absolute;right:10px;bottom:14px;color:var(--accent)}details{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}summary{list-style:none;display:flex;gap:12px;align-items:center;font-weight:700;cursor:pointer}summary::-webkit-details-marker{display:none}summary b{margin-left:auto;color:var(--accent);font-size:.75rem}.settings{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.notice{margin-top:26px;border-left:3px solid var(--accent);padding:3px 0 3px 14px}.notice strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.notice p{font-size:.78rem;line-height:1.5;color:var(--muted);margin:5px 0}.result-panel{padding:34px 4vw;display:flex;flex-direction:column}.visual-card{background:var(--ink);color:white;min-height:430px;position:relative;overflow:hidden}.view-tabs{position:absolute;top:18px;left:18px;z-index:2;display:flex;background:#25363a;padding:3px;border-radius:4px}.view-tabs button{border:0;background:transparent;color:#aab4b5;padding:8px 12px;font-size:.76rem}.view-tabs button.active{background:var(--paper);color:var(--ink)}.drawing{height:390px;display:grid;place-items:center;padding:60px 20px 25px}.drawing svg{width:100%;height:100%}.key{display:flex;gap:24px;padding:0 20px 18px;font-size:.7rem;color:#b3bbba}.key span{display:flex;gap:7px;align-items:center}.key i{display:block;width:10px;height:10px}.wood{background:#e3c998}.metal{background:var(--metal)}.hole{border:1px solid var(--accent);border-radius:50%}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-top:0;background:var(--card)}.metrics div{padding:16px;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end}.metrics div:last-child{border:0}.metrics small{grid-column:1/-1;color:var(--muted);font-size:.68rem;min-height:30px}.metrics strong{font-family:Unbounded;font-size:1.4rem}.metrics span{font-size:.7rem}.cutlist{padding:70px 4vw}.cut-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.cut-head h2{font-family:Unbounded;text-transform:uppercase;font-size:clamp(1.6rem,3vw,3rem);margin:0}.actions{display:flex;gap:8px}.actions button{border:1px solid var(--ink);background:transparent;padding:12px 16px}.actions .primary{background:var(--ink);color:white}.table-wrap{overflow:auto;border-top:2px solid var(--ink)}table{width:100%;border-collapse:collapse;background:var(--card)}th,td{text-align:left;padding:17px 14px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.7rem;color:var(--muted);text-transform:uppercase}td:nth-child(2){font-weight:700}.drill-card{margin-top:30px;background:var(--card);border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.drill-card h3{font-family:Unbounded;text-transform:uppercase;margin:0 0 10px}.drill-card p:not(.eyebrow){color:var(--muted);font-size:.85rem;line-height:1.6}.rail-map{min-height:150px;display:grid;place-items:center}.rail-map svg{width:100%;height:170px}footer{border-top:1px solid var(--line);padding:28px 4vw;display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}footer p{margin:0}@media(max-width:900px){.stepper{display:none}.intro{grid-template-columns:1fr;gap:25px}.lede{margin:0}.workspace{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid var(--line)}.result-panel{padding-top:25px}.drill-card{grid-template-columns:1fr}}@media(max-width:560px){.intro{padding-top:40px}.intro h1{font-size:2.5rem}.field-grid.three,.settings{grid-template-columns:1fr}.visual-card{min-height:350px}.drawing{height:315px}.metrics{grid-template-columns:1fr}.metrics div{border-right:0;border-bottom:1px solid var(--line)}.actions{width:100%;margin-top:20px}.cut-head{display:block}.actions button{flex:1;font-size:.78rem}footer{display:block}footer>*{display:block;margin:8px 0!important}}
@media print{.topbar,.intro,.controls,.view-tabs,.actions,footer{display:none}.workspace{display:block;border:0}.result-panel{padding:0}.cutlist{padding:25px 0}.visual-card{background:#fff;color:#111;min-height:300px}.drawing{height:270px}.key{color:#333}body{background:#fff}.drill-card{break-inside:avoid}}
.drill-intro{margin-top:34px;padding:28px;background:var(--ink);color:white;display:grid;grid-template-columns:.45fr .55fr;gap:20px}.drill-intro .eyebrow{grid-column:1/-1;margin-bottom:0}.drill-intro h3{font-family:Unbounded;text-transform:uppercase;font-size:1.55rem;margin:0}.drill-intro p:not(.eyebrow){margin:0;color:#bbc3c2;line-height:1.6;font-size:.86rem}.detail-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line)}.detail-card{background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;break-inside:avoid}.detail-card-head{display:flex;justify-content:space-between;gap:15px}.detail-card h4{font-family:Unbounded;text-transform:uppercase;margin:0;font-size:.95rem}.detail-card small{color:var(--accent);font-weight:700;white-space:nowrap}.detail-card svg{width:100%;height:245px;margin-top:10px}.detail-note{border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:.76rem;line-height:1.5}
@media(max-width:900px){.detail-cards{grid-template-columns:1fr}.drill-intro{grid-template-columns:1fr}.drill-intro .eyebrow{grid-column:auto}}
.drill-option{margin:0;border-top:0;background:#e9e3d8}
.detail-options{display:grid;grid-template-columns:1fr 1fr}.detail-options .drill-option+ .drill-option{border-left:0}@media(max-width:760px){.detail-options{grid-template-columns:1fr}.detail-options .drill-option+ .drill-option{border-left:1px solid var(--line)}}.edge-key{display:flex;align-items:center;gap:7px;margin-top:12px;color:#16806c;font-size:.68rem;font-weight:800}.edge-key i{display:block;width:25px;height:5px;background:#16806c}
.detail-group-head{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:20px 24px;background:#e9e3d8;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-group-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:white;font-size:.72rem;font-weight:800}.detail-group-head>div{display:grid;gap:3px}.detail-group-head strong{font-family:Unbounded;text-transform:uppercase;font-size:.9rem}.detail-group-head small{color:var(--muted);font-size:.72rem}
@media(max-width:560px){.detail-card{padding:16px}.detail-card svg{height:210px}}
@media print{.detail-cards{grid-template-columns:1fr 1fr}.detail-card{break-inside:avoid}}
.check-row{margin-top:18px;display:flex;align-items:flex-start;gap:12px;background:var(--card);border:1px solid var(--line);padding:14px;cursor:pointer}.check-row input{width:19px;height:19px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}.check-row span{display:grid;gap:3px}.check-row strong{color:var(--ink);font-size:.85rem}.check-row small{font-size:.7rem;color:var(--muted)}.nesting{padding:70px 4vw;border-top:1px solid var(--line)}.nest-head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end}.nest-head h2{font-family:Unbounded;text-transform:uppercase;font-size:clamp(1.6rem,3vw,3rem);margin:0}.nest-head>p{color:var(--muted);line-height:1.6;font-size:.9rem}.nest-controls{display:grid;grid-template-columns:repeat(4,1fr) 1.25fr;gap:10px;margin:30px 0 18px}.check-row.compact{margin:0;min-height:74px;align-items:center}.nest-summary{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:18px}.nest-summary div{background:var(--card);padding:16px 20px;flex:1}.nest-summary small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase}.nest-summary strong{font-family:Unbounded;font-size:1.35rem}.sheets{display:grid;gap:24px}.sheet-card{background:var(--ink);color:white;padding:20px}.sheet-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sheet-card h3{font-family:Unbounded;text-transform:uppercase;margin:0;font-size:.95rem}.sheet-card span{color:#aeb8b7;font-size:.72rem}.sheet-card svg{display:block;width:100%;height:auto;max-height:620px;background:#e7dfd0}.nest-warning{font-size:.74rem;color:var(--muted);border-left:3px solid var(--accent);padding-left:12px;max-width:780px;margin-top:18px}.nest-error{background:#fff0eb;color:#8c311b;border:1px solid #e7a18e;padding:18px}
@media(max-width:1000px){.nest-controls{grid-template-columns:repeat(2,1fr)}.nest-head{grid-template-columns:1fr}.nest-summary{flex-wrap:wrap}.nest-summary div{min-width:45%}}
@media(max-width:560px){.nest-controls{grid-template-columns:1fr}.nest-summary{display:grid;grid-template-columns:1fr 1fr}.nest-summary div{min-width:0}.nest-head{gap:12px}.nesting{padding-top:45px}}
@media print{.nest-controls,.nest-warning{display:none}.nesting{padding:25px 0}.sheet-card{break-inside:avoid}.sheet-card svg{max-height:500px}}
.project-fields{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-bottom:18px}.add-drawer{width:100%;margin-top:18px;border:0;background:var(--accent);color:white;padding:15px 18px;font-weight:800}.project{padding:42px 4vw;border-bottom:1px solid var(--line)}.project-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.project-head h2{font-family:Unbounded;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,3vw,2.6rem)}.project-total{color:var(--muted);font-size:.85rem}.drawer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.empty-project{grid-column:1/-1;padding:22px;border:1px dashed var(--line);color:var(--muted);font-size:.85rem}.drawer-item{background:var(--card);border:1px solid var(--line);padding:18px}.drawer-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.drawer-item h3{font-family:Unbounded;font-size:.85rem;text-transform:uppercase;margin:0}.qty-control{display:flex;align-items:center;background:var(--ink);color:white;white-space:nowrap}.qty-control button{width:30px;height:32px;border:0;background:transparent;color:white;font-size:1rem;padding:0}.qty-control input{width:42px;height:32px;border:0;border-left:1px solid #435155;border-right:1px solid #435155;background:var(--ink);color:white;text-align:center;font:700 .78rem Manrope;appearance:textfield}.qty-control input::-webkit-inner-spin-button,.qty-control input::-webkit-outer-spin-button{appearance:none;margin:0}.qty-control span{padding:0 8px;font-size:.68rem}.drawer-item p{font-size:.75rem;color:var(--muted);line-height:1.55}.drawer-actions{display:flex;gap:7px}.drawer-actions button{border:1px solid var(--line);background:transparent;padding:7px 9px;font-size:.7rem;color:var(--accent)}
@media(max-width:900px){.drawer-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.project-fields,.drawer-list{grid-template-columns:1fr}.project-head{display:block}.project-total{margin-top:10px}}
@media print{.add-drawer,.drawer-actions,.qty-control{display:none}.project{padding:20px 0}}
.supplier-rule{font-size:.75rem;color:var(--muted);margin:-7px 0 18px}.estimate{padding:70px 4vw;background:var(--card);border-top:1px solid var(--line)}.estimate-head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end}.estimate-head h2{font-family:Unbounded;text-transform:uppercase;font-size:clamp(1.6rem,3vw,3rem);margin:0}.estimate-head>p{color:var(--muted);line-height:1.6;font-size:.9rem}.price-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0}.estimate-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.estimate-grid div{padding:20px;border-right:1px solid var(--line)}.estimate-grid div:last-child{border:0}.estimate-grid small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase}.estimate-grid strong{display:block;font-family:Unbounded;font-size:1.35rem;margin:6px 0}.estimate-grid span{font-size:.74rem;color:var(--muted)}.estimate-total{margin-top:12px;background:var(--accent);color:white;padding:24px;display:flex;justify-content:space-between;align-items:center}.estimate-total span{font-weight:700}.estimate-total strong{font-family:Unbounded;font-size:clamp(1.7rem,4vw,3rem)}.price-source{font-size:.72rem;color:var(--muted);margin-top:14px}.price-source a{color:var(--accent)}
@media(max-width:760px){.estimate-head{grid-template-columns:1fr;gap:12px}.price-controls,.estimate-grid{grid-template-columns:1fr}.estimate-grid div{border-right:0;border-bottom:1px solid var(--line)}.estimate-total{align-items:flex-start;gap:15px;flex-direction:column}}
@media print{.price-controls,.estimate-options{display:none}.estimate{padding:25px 0}}
.estimate-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-18px 0 22px;max-width:1000px}.price-option{margin:0}
@media(max-width:760px){.estimate-options{grid-template-columns:1fr}}
.edge-section{border-top:1px solid var(--line);padding-top:14px;margin-bottom:14px}.edge-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:10px}.edge-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edge-view{border:1px solid var(--line);padding:8px;background:#f8f5ee}.edge-view span{display:block;font-size:.63rem;color:var(--muted)}.detail-card .edge-view svg{height:58px;margin:2px 0 0}
.edge-view.is-edged{border-color:#16806c;background:#eef8f4}.edge-view span b{float:right;color:#16806c;text-transform:uppercase;font-size:.6rem;letter-spacing:.08em}
@media(max-width:560px){.edge-grid{grid-template-columns:1fr}.detail-card .edge-view svg{height:52px}}
@media print{.edge-grid{grid-template-columns:1fr 1fr}.detail-card .edge-view svg{height:48px}}
.fastener-settings{grid-column:1/-1;margin-top:4px;padding:14px;background:#eee8dd;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fastener-settings p{grid-column:1/-1;margin:0;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--ink)}.fastener-settings.is-hidden{display:none}label input:disabled{opacity:.45;cursor:not-allowed}.price-controls.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.price-controls.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fastener-settings,.price-controls.four{grid-template-columns:1fr}.fastener-settings p{grid-column:auto}}
.config-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.config-actions .add-drawer{margin:0}.save-template{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:15px 18px;font-weight:800}.templates{padding:42px 4vw;border-bottom:1px solid var(--line);background:#e9e3d8}.templates-head{display:grid;grid-template-columns:1fr .7fr;gap:40px;align-items:end;margin-bottom:20px}.templates-head h2{font-family:Unbounded;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,3vw,2.6rem)}.templates-head>p{color:var(--muted);font-size:.8rem;line-height:1.6}.template-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-empty{grid-column:1/-1;border:1px dashed #a9a195;padding:22px;color:var(--muted);font-size:.82rem}.template-card{background:var(--card);border:1px solid var(--line);padding:18px}.template-card h3{font-family:Unbounded;text-transform:uppercase;font-size:.84rem;margin:0 0 10px}.template-card p{font-size:.74rem;color:var(--muted);line-height:1.55}.template-actions{display:flex;gap:7px}.template-actions button{border:1px solid var(--line);background:transparent;padding:8px 10px;font-size:.7rem}.template-actions button:first-child{background:var(--ink);color:white}.template-actions button:last-child{color:var(--accent)}
@media(max-width:900px){.template-list{grid-template-columns:1fr 1fr}.templates-head{grid-template-columns:1fr}}
@media(max-width:560px){.config-actions,.template-list{grid-template-columns:1fr}.templates-head{gap:10px}}
@media print{.templates,.config-actions{display:none}}
@media print{body.print-details main>section:not(.cutlist){display:none!important}body.print-details .cut-head,body.print-details .table-wrap,body.print-details .drill-intro,body.print-details .drill-option{display:none!important}body.print-details .cutlist{padding:0}body.print-details .detail-cards{margin:0}}
.actions{flex-wrap:wrap}
.facade-key{border:1px dashed var(--accent)}
.product-nav{display:flex;gap:4px;padding:4px;background:#e8e2d7;border-radius:4px}.product-nav a{padding:8px 13px;color:var(--muted);text-decoration:none;font-size:.75rem;font-weight:800;text-transform:uppercase}.product-nav a.active{background:var(--ink);color:white}@media(max-width:560px){.brand>span:last-child{display:none}.product-nav a{padding:8px 9px;font-size:.68rem}}
.drill-table{margin:14px 0}.drill-table table{font-size:.7rem;border:1px solid var(--line)}.drill-table th,.drill-table td{padding:8px 9px;white-space:normal}.drill-table th{background:#eee8dd}.drill-table td:first-child{font-weight:700}.drill-table td:nth-child(2){width:38px;text-align:center}.drill-table p{margin:0;padding:11px;border:1px dashed var(--line);color:var(--muted);font-size:.72rem}
