@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-display:swap}:root{color:#111827;font-synthesis:none;--red:#dc2626;--ink:#111827;background:#f6f6f4;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #dc2626}.portal-header{border-top:6px solid var(--red);background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;gap:24px;padding:18px max(5vw,20px);display:flex}.brand{letter-spacing:.03em;align-items:center;gap:12px;font-weight:850;text-decoration:none;display:flex}.brand img{object-fit:contain;width:64px;height:64px}.brand small{letter-spacing:.2em;color:#6b7280;margin-top:5px;font-size:10px;display:block}.portal-header nav{align-items:center;gap:24px;font-size:13px;display:flex}.portal-header button{background:#f3f4f6;border:0;padding:10px 15px}main{max-width:1240px;margin:auto;padding:58px 28px}.eyebrow{letter-spacing:.14em;color:#b91c1c;font-size:11px;font-weight:800}h1{letter-spacing:-.045em;margin:14px 0;font-size:clamp(32px,4.2vw,52px);line-height:1.1}h1 span{color:#69707d}h2{letter-spacing:-.025em;font-size:24px;line-height:1.2}h3{font-size:19px}.lead{color:#4b5563;max-width:850px;font-size:17px;line-height:1.6}.muted{color:#6b7280;font-size:13px;line-height:1.6}.login-card{background:#fff;border:1px solid #dfe1e4;border-radius:6px;grid-template-columns:1fr 1fr;gap:60px;margin-top:34px;padding:36px;display:grid;box-shadow:0 10px 28px #11182705}.number{letter-spacing:.12em;color:#9ca3af;font-size:11px}.login-copy p{color:#4b5563;line-height:1.7}label{margin:12px 0 8px;font-size:13px;font-weight:650;display:block}input,textarea{color:#111827;background:#fff;border:1px solid #bfc3c9;border-radius:4px;width:100%;margin-top:8px;padding:14px;display:block}#code{letter-spacing:.25em;font-size:24px}.primary,.secondary{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.primary{background:var(--red);color:#fff;border-color:var(--red)}form>.primary{width:100%;margin-top:18px}.text-button{color:#6b7280;background:0 0;border:0;padding:12px 5px;font-size:12px;text-decoration:underline}.account-bar{border-top:1px solid #ddd;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px;padding-top:18px;font-size:13px;display:flex}.account-bar a{font-weight:700}.cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.quote-card{text-align:left;background:#fff;border:1px solid #ddd;border-radius:5px;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;display:flex}.quote-card:hover,.quote-card.selected{border-color:var(--red);box-shadow:inset 0 3px var(--red)}.quote-card h2{margin:14px 0 8px;font-size:22px}.price{letter-spacing:-.04em;margin:18px 0;font-size:32px;display:block}.status{background:#f3f4f6;margin-bottom:20px;padding:6px 9px;font-size:11px;font-weight:700}.card-action{color:#b91c1c;margin-top:auto;font-size:13px;font-weight:700}#quote-detail{background:#fff;border:1px solid #ddd;border-radius:5px;margin-top:30px;padding:32px;scroll-margin-top:20px}.detail-heading{border-bottom:2px solid #111827;justify-content:space-between;align-items:center;gap:25px;padding-bottom:14px;display:flex}.detail-heading h2{font-size:29px}.actions{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.6}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#f3f4f6;font-size:11px}th,td{vertical-align:top;border-bottom:1px solid #e5e7eb;padding:14px 12px}td:first-child{min-width:130px;font-weight:700}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}tfoot th{color:#fff;background:#111827;padding:18px 12px;font-size:14px}.scope-section{border-bottom:1px solid #e5e7eb;padding:18px 0}.scope-section p,details p{color:#4b5563;font-size:14px;line-height:1.7}details{border-bottom:1px solid #ddd;padding:20px 0}summary{cursor:pointer;font-weight:700}.approval-form,.question-form,.owner-panel,.receipt{background:#f6f6f4;border-radius:5px;margin-top:24px;padding:24px}.check-label{align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;display:flex}.check-label input{flex:none;width:18px;height:18px;margin:2px 0}.question-form p,.owner-panel p{font-size:13px;line-height:1.6}.question-form button{margin-top:14px}.owner-panel{border-left:4px solid #111827}.owner-panel form{max-width:500px}.receipt{background:#edf6ef;border:1px solid #aacdb2}.budget-notice{color:#784a08;background:#fff7e7;padding:20px;line-height:1.6}#notice:empty{display:none}#notice{background:#edf6ef;border:1px solid #b7ccba;margin:20px 0;padding:15px 20px;font-size:14px;line-height:1.6}#notice.error{color:#991b1b;background:#fff1f2;border-color:#fca5a5}#mail-status{overflow-wrap:anywhere;margin-top:30px;font-size:12px}footer{text-align:center;color:#6b7280;border-top:1px solid #ddd;padding:28px;font-size:12px;line-height:1.8}.owner-panel li{overflow-wrap:anywhere}@media (width<=800px){.cards{grid-template-columns:1fr}.quote-card{padding:20px}.quote-card h2{font-size:22px}.price{margin:10px 0;font-size:29px}.login-card{grid-template-columns:1fr;gap:15px}.detail-heading{display:block}.portal-header nav{gap:12px;font-size:12px}.portal-header nav a:first-child{display:none}.brand span{font-size:12px}.brand img{width:45px;height:45px}.account-bar{flex-direction:column;align-items:flex-start}.portal-header{gap:10px;padding:15px 20px}main{padding:34px 18px}.login-card,#quote-detail{padding:22px}.approval-form,.owner-panel,.question-form{padding:18px}.table-wrap{margin:0 -8px}.detail-heading h2{font-size:26px}}@media print{.portal-header nav,#cards,#login,.approval-form,.owner-panel,.question-form,#mail-status,#notice,.actions,.account-bar,footer{display:none!important}main{padding:0}#quote-detail{border:0;margin:0;padding:0}.scope-section,tr{break-inside:avoid}}.resume-button{width:100%}.login-divider{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:22px 0 10px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#d1d5db;flex:1;height:1px}.email-pin-button{width:100%;margin-top:18px}.session-expiry{color:#4b5563;white-space:nowrap;margin-left:auto;font-size:12px}main{max-width:1480px;padding-top:38px}.register-heading{justify-content:space-between;align-items:end;gap:24px;margin:25px 0 20px;display:flex}.register-heading h2{margin:7px 0}.register-heading>p{color:#6b7280;font-size:13px}.quote-register{background:#fff;border:1px solid #ddd;border-top:4px solid #dc2626;border-radius:4px;overflow:hidden}.register-table th{color:#fff;background:#111827;padding:14px 22px}.register-table td{vertical-align:middle;padding:24px 22px}.register-table td:first-child{width:48%}.quote-title{margin:9px 0;font-size:21px;font-weight:800;text-decoration:none;display:block}.quote-title:hover{color:#b91c1c}.register-table .muted{margin:7px 0 0}.register-amount{white-space:nowrap;letter-spacing:-.03em;font-size:23px;font-weight:800}.approval-status{white-space:nowrap;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:750;line-height:1.4;display:inline-flex}.approval-status:before{content:"";background:currentColor;border-radius:100%;width:7px;height:7px}.pending{color:#b91c1c;background:#fff4f4;border-color:#efbdbd}.approved{color:#166534;background:#edf6ef;border-color:#b7d7bd}.planning{color:#68532c;background:#f8f3e9;border-color:#dfd3bb}button.approval-status:hover{box-shadow:0 0 0 2px #11182712}.register-table .secondary{white-space:nowrap;border-color:#111827;padding:11px 15px;font-size:12px}.register-table tr:last-child td{border-bottom:0}#quote-detail{background:0 0;border:0;margin-top:0;padding:0}.account-bar{margin-top:0;margin-bottom:20px;padding-top:14px}.detail-heading{border-bottom:0;align-items:center;padding-bottom:16px}.detail-heading h1{max-width:850px;font-size:clamp(28px,3vw,40px)}.detail-price{text-align:right;flex:none}.detail-price .price{margin:8px 0 12px;font-size:34px}.quote-model{background:#fff;border:1px solid #d1d5db;border-radius:5px;overflow:hidden}.model-caption{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:12px;display:flex}.model-caption>a{color:#b91c1c;white-space:nowrap;text-decoration:none}.quote-model iframe{border:0;width:100%;height:740px;display:block}.model-note{color:#6b7280;border-top:1px solid #ddd;margin:0;padding:10px 16px;font-size:12px;line-height:1.5}.written-quote{border-top:3px solid #111827;margin-top:38px;padding-top:24px}.written-quote h2{margin:8px 0}.detail-price .approval-status{font-size:11px}.scope-section{background:#fff;border:1px solid #e5e7eb;margin-top:14px;padding:20px 24px}.table-wrap{background:#fff;border:1px solid #ddd}.receipt{border-left:4px solid #166534}@media (width<=1000px){.register-table th,.register-table td{padding:18px 14px}.register-table td:first-child{width:40%}.quote-title{font-size:18px}.register-amount{font-size:20px}}@media (width<=800px){.register-heading,.register-table,.register-table tbody,.register-table tr,.register-table td{display:block}.register-table thead{display:none}.register-table tr{border-bottom:1px solid #ddd;padding:18px 20px}.register-table td{border:0;width:auto!important;padding:9px 0!important}.register-table td:not(:first-child){justify-content:space-between;align-items:center;gap:15px;display:flex}.register-table td:not(:first-child):before{content:attr(data-label);text-transform:uppercase;letter-spacing:.08em;color:#6b7280;font-size:11px;font-weight:650}.register-table tr:last-child{border-bottom:0}.register-heading>p{line-height:1.6}.quote-title{font-size:22px}.register-amount{font-size:24px}.detail-heading{display:block}.detail-heading h1{font-size:28px}.detail-price{text-align:left;justify-content:space-between;align-items:center;gap:15px;display:flex}.detail-price .price{font-size:30px}.quote-model iframe{height:840px}.model-caption{gap:7px;padding:11px 10px;font-size:10px}.model-note{padding:10px;font-size:11px}.written-quote{margin-top:26px}.scope-section{padding:20px}#quote-detail{padding:0}.account-bar{flex-direction:row;align-items:center;gap:10px;font-size:11px}.account-bar p{overflow-wrap:anywhere;min-width:0}.account-bar button{white-space:nowrap}.portal-header nav a:first-child{display:none}main{padding:26px 16px}.table-wrap{margin:0}.register-table .eyebrow{font-size:10px}}@media print{.quote-model,.model-caption,#dashboard,#welcome,#back-dashboard{display:none!important}.written-quote{margin-top:0}.scope-section{border:0;padding:12px 0}}@media (width>=801px){#welcome h1{margin:8px 0;font-size:38px}#welcome .lead{margin:10px 0 20px;font-size:15px}#welcome>.eyebrow{margin:0 0 8px}.portal-header{padding-top:12px;padding-bottom:12px}.portal-header .brand img{width:54px;height:54px}main{padding-top:24px}.account-bar{margin-bottom:10px;padding-top:8px}.register-heading{margin:18px 0 16px}.register-heading h2{font-size:22px}.register-table td{padding-top:16px;padding-bottom:16px}.quote-title{margin:7px 0;font-size:19px}.register-table .muted{margin-top:4px}.detail-heading{padding-bottom:10px}.detail-heading h1{margin:10px 0;font-size:34px}.detail-price .price{font-size:31px}.quote-model iframe{height:clamp(420px,100vh - 305px,720px)}}.quote-register{background:0 0;border:0;gap:28px;display:grid;overflow:visible}.project-register{border:1px solid #d1d5db;border-top:4px solid var(--red);background:#fff;border-radius:4px;overflow:hidden}.project-heading{justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;display:flex}.project-heading .eyebrow{margin:0 0 5px}.project-heading h3{overflow-wrap:anywhere;margin:0;font-size:23px}.project-heading>.muted{text-align:right;font-size:12px}.detail-project{color:#b91c1c;overflow-wrap:anywhere;margin:0 0 9px;font-size:15px;font-weight:750}@media (width<=800px){.project-heading{padding:18px 20px;display:block}.project-heading h3{font-size:21px}.project-heading>.muted{text-align:left;margin:10px 0 0}.detail-project{font-size:13px}}#client-activity{border-top:3px solid var(--ink);margin-top:38px;padding-top:22px}.activity-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.activity-heading h2{margin:7px 0 14px}.activity-heading .eyebrow{margin:0}.activity-table td{white-space:pre-line;overflow-wrap:anywhere}.activity-table td:first-child{min-width:190px}.activity-table td:not(:first-child){font-variant-numeric:tabular-nums}.activity-note,.activity-empty{color:#4b5563;font-size:13px;line-height:1.7}.activity-note{max-width:1000px}.activity-heading .secondary{white-space:nowrap}@media (width<=800px){.activity-heading{align-items:start}.activity-heading h2{font-size:23px}.activity-heading .secondary{padding:10px;font-size:11px}.activity-table,.activity-table tbody,.activity-table tr,.activity-table td{display:block}.activity-table thead{display:none}.activity-table tr{border-bottom:1px solid #ddd;padding:14px}.activity-table td{border:0;padding:8px 0}.activity-table td:not(:first-child){justify-content:space-between;gap:18px;font-size:12px;display:flex}.activity-table td:not(:first-child):before{content:attr(data-label);color:#6b7280;white-space:nowrap;font-weight:650}.activity-table td:first-child{font-size:13px}#client-activity>.muted{font-size:12px;line-height:1.7}}@media print{#client-activity{display:none!important}}.portal-header{color:#fff;border-top:4px solid var(--red);background:#10141d;border-bottom:1px solid #ffffff1c}.brand small{color:#b8bec9}.portal-header nav a{text-decoration:none}.portal-header nav a:hover{color:#f87171}.portal-header button{color:#fff;background:#ffffff0a;border:1px solid #ffffff3d}.portal-resources{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:15px;display:flex}.portal-resources a{font-weight:600}.signed-in #welcome h1{color:var(--ink)}body:not(.signed-in){color:#f8fafc;background:linear-gradient(115deg,#111827 0%,#1f2937 65%,#291e29 100%);min-height:100vh}body:not(.signed-in) main{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:34px 58px;max-width:1400px;min-height:calc(100vh - 215px);padding:65px 38px;display:grid}body:not(.signed-in) #welcome{grid-area:1/1}body:not(.signed-in) #welcome h1{letter-spacing:-.045em;max-width:720px;margin:20px 0 28px;font-size:clamp(44px,5vw,70px);line-height:1.06}body:not(.signed-in) #welcome h1 span{color:#ef4444;display:block}body:not(.signed-in) #welcome>.eyebrow{color:#f87171;letter-spacing:.15em}body:not(.signed-in) #welcome .lead{color:#cbd5e1;border-left:3px solid var(--red);max-width:570px;padding-left:20px;font-size:18px;line-height:1.8}body:not(.signed-in) #login{border:1px solid #ffffff24;border-top:4px solid var(--red);background:#111827d9;border-radius:0;grid-area:1/2;margin:0;padding:30px;display:block;box-shadow:0 18px 60px #00000020}body:not(.signed-in) .login-copy h2{letter-spacing:-.03em;color:#fff;font-size:26px}body:not(.signed-in) .login-copy p{color:#cbd5e1;font-size:14px;line-height:1.7}body:not(.signed-in) .login-copy .muted{color:#aeb8c8;font-size:12px}body:not(.signed-in) .login-copy .number{color:#f87171}body:not(.signed-in) #login form{margin-top:24px}body:not(.signed-in) #login label{color:#f8fafc}body:not(.signed-in) #login input{color:#fff;background:#0d1420;border:1px solid #64748b;border-radius:0}body:not(.signed-in) #login input::placeholder{color:#94a3b8}body:not(.signed-in) #login input:focus{outline-offset:2px;outline:2px solid #f87171}body:not(.signed-in) #login button.primary{background:#dc2626;border-radius:0}body:not(.signed-in) #login .text-button{color:#fca5a5}body:not(.signed-in) #notice{grid-area:2/1/auto/-1;margin:0}body:not(.signed-in) footer{color:#aeb8c8;background:#0d1119;border-color:#ffffff1c}@media (width<=800px){.portal-header nav a[href^=tel\:]{display:none}body:not(.signed-in) main{min-height:0;padding:40px 20px;display:block}body:not(.signed-in) #welcome h1{margin:18px 0 24px;font-size:44px}body:not(.signed-in) #welcome .lead{font-size:16px}body:not(.signed-in) #login{margin-top:32px;padding:25px 22px}body:not(.signed-in) #notice{margin:24px 0 0}.portal-resources{gap:12px;font-size:11px}}body:not(.signed-in) .remember-note{color:#aeb8c8;margin:18px 0 0;font-size:12px;line-height:1.7}#client-activity{scroll-margin-top:25px}#activity-shortcut{color:#b91c1c;font-weight:750}.review-model-row{background:#faf8f4}.review-amount{color:#68532c;font-size:16px;font-weight:700}.pending-model-notice{background:#fffaf0;border:1px solid #dfd3bb;border-left:4px solid #b91c1c;margin:0 0 18px;padding:16px 20px}.pending-model-notice strong{color:#7f1d1d;font-size:19px;display:block}.pending-model-notice p{margin:7px 0 0;font-size:14px;line-height:1.5}.ryan-language{justify-content:flex-end;margin:0 0 16px;display:flex}.ryan-language label{align-items:center;gap:10px;font-weight:600;display:flex}.ryan-language select{width:auto;padding:8px 12px}.ryan-draft-notice{color:#991b1b;background:#fef2f2;border:1px solid #dc2626;border-left-width:5px;padding:12px 16px;font-weight:700}.ryan-model-preview{background:#f3f4f6;text-decoration:none;display:block;position:relative;overflow:hidden}.ryan-model-preview img{width:100%;height:auto;display:block}.ryan-model-open{color:#fff;text-align:center;background:#b91c1c;padding:16px;font-size:16px;font-weight:700;display:block}.ryan-model-preview:hover .ryan-model-open{background:#991b1b}.ryan-model-preview:focus-visible{outline-offset:3px;outline:3px solid #dc2626}
