:root{--navy:#102f43;--blue:#0d6685;--aqua:#2ea6b7;--foam:#eef8fa;--white:#fff;--ink:#172535;--muted:#58707d;--line:#cad8de;--success:#196d55;--warning:#a65720;--shadow:0 18px 50px rgba(16,47,67,.11);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f5fafc}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#edf8fb 0,#f8fbfc 19rem);min-height:100vh}.site-header{max-width:1080px;margin:0 auto;padding:1.15rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;color:var(--navy);text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:1rem;letter-spacing:.02em}.brand small{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.64rem;margin-top:.13rem}.wave-mark{width:2.55rem;height:2.55rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--aqua));color:#fff;font-weight:800;letter-spacing:-.08em;box-shadow:0 8px 22px rgba(13,102,133,.22)}.secure-label{font-size:.8rem;color:var(--muted)}.page-shell{width:min(920px,calc(100% - 2rem));margin:1.8rem auto 5rem}.intro{max-width:720px;margin:0 auto 1.7rem;text-align:center}.intro.compact{text-align:left;margin-left:0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800;color:var(--blue);margin:0 0 .65rem}h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.5rem);line-height:1.04;letter-spacing:-.035em;color:var(--navy);margin:.2rem 0 .85rem}h2{font-size:1rem;color:var(--navy);margin:0 0 .55rem}.intro p:not(.eyebrow){font-size:1.05rem;line-height:1.65;color:var(--muted);margin:.4rem auto}.card,.project-summary,.done-card{background:rgba(255,255,255,.94);border:1px solid rgba(151,181,192,.55);border-radius:1rem;padding:clamp(1.2rem,4vw,2rem);box-shadow:var(--shadow);margin:1.1rem 0}.done-card{max-width:620px;text-align:center;margin:5rem auto}.done-mark{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0 auto 1rem;border-radius:50%;background:#dff3ec;color:var(--success);font-size:1.6rem;font-weight:800}.done-card h1{font-size:clamp(2rem,5vw,3rem)}.done-card>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.alert{padding:.85rem 1rem;border-radius:.7rem}.error{background:#fff1ea;color:#873812;border:1px solid #efc6b2}.success-card{border-color:#9ecfc0}.success-card h2{font-size:1.25rem}.section-heading{display:flex;align-items:center;gap:.8rem;margin:1.6rem 0 1rem;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem}.section-heading:after{content:"";height:1px;flex:1;background:var(--line)}.section-heading:first-child{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:.42rem;color:var(--navy);font-weight:700;font-size:.86rem}input,textarea{width:100%;border:1px solid var(--line);border-radius:.65rem;padding:.8rem .9rem;background:#fbfdfe;color:var(--ink);font:inherit;line-height:1.45;outline:none}input:focus,textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(46,166,183,.12)}textarea{resize:vertical}button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:.7rem;background:var(--navy);color:#fff;padding:.9rem 1.15rem;font:800 .92rem/1 inherit;cursor:pointer;margin-top:1.2rem;min-height:3rem}button:hover{background:var(--blue)}.project-summary{overflow:hidden;padding:0}.summary-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.35rem;background:var(--navy);color:#fff}.summary-top span{font-weight:700}.summary-top strong{font-size:1.05rem}.project-summary dl{margin:0;padding:1.15rem 1.35rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-bottom:1px solid var(--line)}dt{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:var(--muted);font-weight:800;margin-bottom:.3rem}dd{margin:0;line-height:1.45}.terms-block,.terms-grid,.role-notice{padding:1.2rem 1.35rem}.terms-block{border-bottom:1px solid var(--line)}.terms-block p,.terms-grid p,.role-notice p{white-space:pre-line;line-height:1.65;margin:.3rem 0;color:#344b59}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;border-bottom:1px solid var(--line)}.role-notice{background:var(--foam)}.role-notice strong{color:var(--blue)}.check-line{grid-template-columns:auto 1fr;align-items:start;gap:.8rem;margin:1.4rem 0 .3rem;font-weight:500;line-height:1.55;color:#344b59}.check-line input{width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--blue)}.fine-print{color:var(--muted);font-size:.79rem;line-height:1.5}.project-summary.mini p{padding:0 1.35rem 1rem;color:var(--muted)}.choice{grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:.75rem;margin-bottom:.8rem;cursor:pointer}.choice:has(input:checked){border-color:var(--aqua);background:var(--foam)}.choice input{width:1.3rem;height:1.3rem;accent-color:var(--blue)}.choice span{display:grid;gap:.22rem}.choice small{font-weight:400;color:var(--muted);line-height:1.4}.link-stack{display:grid;gap:.85rem}.link-stack input{font-family:ui-monospace,monospace;font-size:.76rem;background:#f3f8fa}.records{margin-top:2rem}.record-list{display:grid;gap:.65rem}.record{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:.9rem 1rem;color:var(--ink);text-decoration:none}.record:hover{border-color:var(--aqua)}.record>span:first-child{display:grid;gap:.25rem}.record small{color:var(--muted)}.status{display:inline-flex;width:max-content;border-radius:999px;padding:.3rem .55rem;text-transform:capitalize;font-size:.72rem;font-weight:800;background:#e8f0f3;color:var(--blue)}.status-active,.status-complete{background:#dff3ec;color:var(--success)}.status-issue{background:#fff0e5;color:var(--warning)}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e2ebee}.detail-list>div:last-child{border:0}.empty{color:var(--muted)}
select{width:100%;border:1px solid var(--line);border-radius:.65rem;padding:.8rem .9rem;background:#fbfdfe;color:var(--ink);font:inherit;line-height:1.45;outline:none}select:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(46,166,183,.12)}.success{background:#e3f4ee;color:var(--success);border:1px solid #abd8ca}.helper{color:var(--muted);line-height:1.55}.vendor-preview{display:grid;grid-template-columns:1fr 1fr;gap:.3rem .8rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--foam)}.vendor-preview[hidden]{display:none}.vendor-preview strong,.vendor-preview small{grid-column:1/-1}.vendor-preview span,.vendor-preview small{color:var(--muted)}.import-form{align-items:end}.import-form button{margin:0;width:max-content}.document-list{display:grid;gap:.55rem;margin-top:1.2rem}.document-list a{display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.65rem;text-decoration:none;color:var(--ink)}.document-list a:hover{border-color:var(--aqua)}.document-list span{color:var(--muted);font-size:.82rem}.extracted-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f9fa;border:1px solid var(--line);border-radius:.75rem;padding:1rem;font:400 .82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#29414e}
.text-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem}.text-link{color:var(--blue);font-weight:800}.vendor-directory{display:grid;gap:.7rem;margin-top:1rem}.vendor-directory>a{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;color:var(--ink);text-decoration:none;background:#fff}.vendor-directory>a:hover{border-color:var(--aqua)}.vendor-directory>a>div{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.vendor-directory p{margin:0;color:var(--muted)}.vendor-directory small{line-height:1.45;color:#405d6b}.vendor-status{font-size:.72rem;font-weight:800;color:var(--blue);text-align:right}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tier-card{margin:0}.tier-card h2{font-size:1.25rem}.tier-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.tier-card ul{padding-left:1.2rem;margin:1rem 0 0}.tier-card li{margin:.5rem 0;line-height:1.45}
@media(max-width:760px){.tier-grid{grid-template-columns:1fr}}
@media(max-width:650px){.site-header{padding:.9rem 1rem}.secure-label{display:none}.page-shell{width:min(100% - 1rem,920px);margin-top:.8rem}.form-grid,.terms-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.project-summary dl{grid-template-columns:1fr}.summary-top{align-items:flex-start;flex-direction:column}.record{align-items:flex-start}.detail-list>div{grid-template-columns:1fr;gap:.25rem}button{width:100%}.vendor-preview{grid-template-columns:1fr}.vendor-preview strong,.vendor-preview small{grid-column:auto}.import-form button{width:100%}.vendor-directory>a>div{display:grid}.vendor-status{text-align:left}}
.app-nav{display:flex;gap:1rem;align-items:center}.app-nav a{font-size:.8rem;font-weight:800;color:var(--blue);text-decoration:none}.app-nav a:hover{text-decoration:underline}.button-link{display:inline-flex;margin-top:1rem;padding:.75rem 1rem;border-radius:.7rem;background:var(--navy);color:#fff;text-decoration:none;font-weight:800}.search-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-bottom:1rem}.search-row button{margin:0}.activity-list{display:grid;gap:.7rem;margin-top:1rem}.activity{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem}.activity>div{display:grid;gap:.25rem}.activity p{margin:.25rem 0;color:#344b59}.activity small{color:var(--muted)}.activity form{display:flex;gap:.5rem}.activity form button{margin:0;min-height:2.6rem}.quote-terms{margin-top:1.3rem}.quote-item{display:grid;grid-template-columns:minmax(0,3fr) .7fr .8fr 1fr;gap:.6rem;margin-bottom:.6rem}.context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:1.1rem}.context-grid>div{display:grid;gap:.2rem;border:1px solid var(--line);border-radius:.7rem;background:#fbfdfe;padding:.8rem}.context-grid small{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:var(--muted);font-weight:800}.context-grid strong,.context-grid span{line-height:1.35}.secondary{background:#e5f1f4;color:var(--navy);margin-top:.25rem}.quote-sheet{padding:0;overflow:hidden}.quote-parties{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem}.quote-parties>div{display:grid;gap:.25rem}.quote-parties small{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.quote-table{padding:0 1.5rem 1.5rem}.quote-row{display:grid;grid-template-columns:minmax(0,3fr) .6fr 1fr 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:start}.quote-row>span:last-child{text-align:right}.quote-row small{display:block;color:var(--muted);margin-top:.15rem}.quote-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.quote-total{display:flex;justify-content:flex-end;gap:2rem;padding:1rem 0;font-size:1.15rem;color:var(--navy)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.autosave-status{display:inline-flex;padding:.38rem .7rem;border-radius:999px;font-size:.76rem;font-weight:800}.autosave-status.is-saved{background:#dff3ec;color:var(--success)}.autosave-status.is-saving,.autosave-status.is-pending{background:#e8f0f3;color:var(--blue)}.autosave-status.is-error{background:#fff1ea;color:#873812}.quote-edit-fields{padding:1.3rem 1.5rem;border-top:1px solid var(--line);display:grid;gap:1rem}.editable-quote-row{align-items:center}.editable-quote-row label{display:grid;gap:.35rem}.editable-quote-row input{padding:.62rem .7rem}.editable-quote-row .item-unit{font-size:.76rem;color:var(--muted)}.editable-quote-row .line-total{text-align:right;color:var(--navy)}.editable-terms label{font-size:.86rem;color:var(--navy)}.customer-photo-section{padding:1.4rem 1.5rem;border-top:1px solid var(--line)}.customer-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:1rem}.customer-photo-grid a{display:grid;gap:.45rem;text-decoration:none;color:var(--blue);font-weight:800;font-size:.78rem}.customer-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:.75rem;background:var(--foam)}
.quote-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.compact-button{margin:0;padding:.5rem .75rem;font-size:.78rem}.planning-form{max-width:none}.resource-table{display:grid;gap:1rem}.resource-card{display:grid;grid-template-columns:.85fr minmax(13rem,2fr) .55fr .65fr .75fr 1fr 1fr 1fr;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fbfdfe;align-items:end}.resource-card label{font-size:.72rem}.resource-url,.resource-notes{grid-column:span 3}.resource-card .remove-resource{margin:0;min-height:2.7rem}.planning-total{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 0;color:var(--navy);font-size:1.05rem}@media(max-width:900px){.resource-card{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-name,.resource-url,.resource-notes{grid-column:1/-1}}
.active-workspace{border-color:var(--aqua);background:linear-gradient(145deg,#fff,#f1fafb)}.active-workspace-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.active-workspace-heading h2{font-family:Georgia,serif;font-size:1.45rem}.active-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.active-workspace-grid>div{display:grid;gap:.3rem;padding:.8rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}.active-workspace-grid small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.65rem;font-weight:800}.active-workspace-grid strong{font-size:.86rem;line-height:1.4}@media(max-width:700px){.active-workspace-grid{grid-template-columns:1fr}.active-workspace-heading{display:grid}}
.benchmark-list{display:grid;gap:1rem}.benchmark-card{border:1px solid var(--line);border-radius:.85rem;padding:1rem;background:#fbfdfe}.benchmark-card>div:first-child{display:flex;justify-content:space-between;gap:1rem}.benchmark-card>div:first-child span{color:var(--muted)}.benchmark-card dl{display:grid;gap:.2rem;margin:1rem 0}.benchmark-card dl>div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid #e2ebee}.benchmark-card dt{font-weight:800}.benchmark-card dd{margin:0;line-height:1.45}@media(max-width:650px){.benchmark-card dl>div{grid-template-columns:1fr;gap:.2rem}.benchmark-card>div:first-child{display:grid}}
.customer-link-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem;border:1px solid var(--aqua);border-radius:.8rem;background:var(--foam)}.customer-link-preview[hidden]{display:none}.customer-link-preview>div{display:grid;gap:.22rem}.customer-link-preview small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.65rem;font-weight:800}.customer-link-preview span{color:var(--muted);font-size:.8rem}.customer-link-preview a{color:var(--blue);font-size:.8rem;font-weight:800;margin-top:.15rem}@media(max-width:650px){.customer-link-preview{grid-template-columns:1fr}}
.preset-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.preset-card{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;color:var(--ink);text-decoration:none}.preset-card:hover,.preset-card.is-active{border-color:var(--aqua);background:var(--foam)}.preset-card strong{color:var(--navy)}.preset-card span{color:var(--muted);font-size:.86rem}.estimate-check{align-self:end;margin:.35rem 0}.estimate-defaults{margin-top:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fbfdfe}.estimate-defaults summary{cursor:pointer;padding:1rem;color:var(--blue);font-weight:800}.estimate-defaults .form-grid{padding:0 1rem 1rem}
.estimator-pl-summary{padding:1rem;border:1px solid var(--aqua);border-radius:.8rem;background:var(--foam);line-height:1.6;color:#315360}.estimator-pl-summary strong{color:var(--navy)}
.quote-discount-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(24rem,1.3fr);gap:1rem;padding:1.1rem 1.5rem;border-top:1px solid var(--line);background:#f8fcfd}.quote-discount-panel>div{display:grid;gap:.25rem}.quote-discount-panel strong{color:var(--navy)}.quote-discount-panel span,.quote-discount-panel small{color:var(--muted);line-height:1.45}.discount-form{display:grid;grid-template-columns:minmax(7rem,.55fr) minmax(13rem,1fr);gap:.55rem;align-items:end}.discount-form button{margin:0;min-height:2.25rem;padding:.45rem .65rem;font-size:.78rem;border-radius:.55rem}.discount-form label{font-size:.72rem}.discount-actions{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap}.discount-actions button{width:auto}
.internal-pl-warning{border-color:#e1b47d;background:#fff8ed}.internal-pl-warning strong{color:var(--warning)}.internal-pl-warning p{margin:.35rem 0 0;color:#60452c;line-height:1.5}.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pl-grid>div{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fbfdfe}.pl-grid small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem;font-weight:800}.pl-grid strong{font-size:1.35rem;color:var(--navy)}.internal-notes{white-space:pre-line;line-height:1.65;color:#344b59}
@media(min-width:760px){.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.quote-discount-panel,.discount-form{grid-template-columns:1fr}.discount-form button{width:100%}}
@media(max-width:650px){.site-header{align-items:flex-start}.app-nav{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem}.search-row{grid-template-columns:1fr}.activity{display:grid}.activity form{display:grid}.quote-item{grid-template-columns:1fr 1fr}.quote-item input:first-child{grid-column:1/-1}.context-grid{grid-template-columns:1fr}.quote-parties{display:grid}.quote-row{grid-template-columns:1fr .5fr 1fr}.quote-row span:nth-child(3){display:none}.quote-head span:nth-child(3){display:none}.pl-grid{grid-template-columns:1fr}}
.command-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:end;gap:2rem;margin:2.4rem 0 1.5rem}.command-intro h1{max-width:12ch}.command-intro>p{color:var(--muted);font-size:1.05rem;line-height:1.65;margin:0 0 .75rem}.engine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.engine-card{min-height:28rem;padding:1.35rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.95);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:transform .16s ease,border-color .16s ease}.engine-card:hover{transform:translateY(-3px);border-color:var(--aqua)}.engine-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.engine-number{font-family:Georgia,serif;font-size:1.6rem;color:#9ab3bd}.engine-state{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.78rem;font-weight:800}.engine-state i{width:.55rem;height:.55rem;border-radius:50%;background:#b5c3c9}.engine-state.is-live{color:var(--success)}.engine-state.is-live i{background:#26a278;box-shadow:0 0 0 4px rgba(38,162,120,.12)}.engine-card h2{font-family:Georgia,serif;font-size:1.8rem;margin:2.2rem 0 .65rem}.engine-card>p{color:var(--muted);line-height:1.55;margin:0}.engine-card ul{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.55rem}.engine-card li{padding-bottom:.5rem;border-bottom:1px solid #e5edef;color:#36515f}.engine-card>strong{margin-top:auto;color:var(--blue)}.command-note{display:flex;align-items:baseline;gap:1rem;margin:1.2rem 0;padding:1rem 1.2rem;border-radius:.8rem;background:#e8f5f7;color:#315360}.command-note p{margin:0;line-height:1.5}.command-note strong{color:var(--navy);white-space:nowrap}@media(max-width:780px){.command-intro{grid-template-columns:1fr;gap:.5rem}.engine-grid{grid-template-columns:1fr}.engine-card{min-height:auto}.engine-card h2{margin-top:1.2rem}.command-note{display:grid;gap:.35rem}}
