@font-face{font-family:Lexend Deca;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8aad2d60f83adb5a-s.2lwd160tm8ilm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:300;font-display:swap;src:url(../media/969f0adf11a48ffa-s.2qxfib5bautk7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:300;font-display:swap;src:url(../media/85ba544592656337-s.p.0ouwamd020iyx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8aad2d60f83adb5a-s.2lwd160tm8ilm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(../media/969f0adf11a48ffa-s.2qxfib5bautk7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ba544592656337-s.p.0ouwamd020iyx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8aad2d60f83adb5a-s.2lwd160tm8ilm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:500;font-display:swap;src:url(../media/969f0adf11a48ffa-s.2qxfib5bautk7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:500;font-display:swap;src:url(../media/85ba544592656337-s.p.0ouwamd020iyx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8aad2d60f83adb5a-s.2lwd160tm8ilm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:600;font-display:swap;src:url(../media/969f0adf11a48ffa-s.2qxfib5bautk7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:600;font-display:swap;src:url(../media/85ba544592656337-s.p.0ouwamd020iyx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8aad2d60f83adb5a-s.2lwd160tm8ilm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:700;font-display:swap;src:url(../media/969f0adf11a48ffa-s.2qxfib5bautk7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:700;font-display:swap;src:url(../media/85ba544592656337-s.p.0ouwamd020iyx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca Fallback;src:local(Arial);ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.0%;size-adjust:109.91%}.lexend_deca_16df531c-module__Qweysa__className{font-family:Lexend Deca,Lexend Deca Fallback;font-style:normal}.lexend_deca_16df531c-module__Qweysa__variable{--font-lexend-deca:"Lexend Deca", "Lexend Deca Fallback"}
:root{--primary:#1e2a3a;--primary-hover:#162030;--primary-light:#e8edf3;--accent:#e8a838;--accent-light:#fef3d6;--bg-page:#f4f6f9;--bg-card:#fff;--bg-nav:#1e2a3a;--text-heading:#0f1923;--text-main:#2d3a4a;--text-muted:#6b7a8d;--text-light:#9aa5b4;--text-on-dark:#fff;--text-on-dark-muted:#fff9;--border:#dde2ea;--border-light:#eef1f5;--shadow-card:0 2px 16px #0000000f;--shadow-btn:0 4px 12px #1e2a3a40;--status-complete:#16a34a;--status-complete-bg:#f0fdf4;--status-active:#1e2a3a;--status-active-bg:#e8edf3;--status-pending:#9aa5b4;--status-pending-bg:#f4f6f9;--nav-height:56px;--content-max-width:860px;--radius-card:16px;--radius-btn:10px;--radius-badge:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-lexend-deca), system-ui, -apple-system, sans-serif;color:var(--text-main);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.auth-page{background:linear-gradient(160deg,#1e2a3a 0%,#2d3a4a 50%,#1a2535 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.auth-card{background:var(--bg-card);border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.auth-logo{align-items:center;gap:.625rem;margin-bottom:2rem;display:flex}.auth-logo-mark{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.auth-logo-text{flex-direction:column;line-height:1.2;display:flex}.auth-logo-name{color:var(--text-heading);font-size:.9rem;font-weight:700}.auth-logo-sub{color:var(--text-muted);font-size:.7rem;font-weight:400}.auth-heading{color:var(--text-heading);margin-bottom:.375rem;font-size:1.375rem;font-weight:700}.auth-subheading{color:var(--text-muted);margin-bottom:1.75rem;font-size:.875rem;line-height:1.5}.form-field{flex-direction:column;gap:.375rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-heading);font-size:.8125rem;font-weight:600}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-btn);width:100%;color:var(--text-heading);background:var(--bg-card);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.form-input:focus{border-color:var(--primary)}.btn{border-radius:var(--radius-btn);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;width:100%;box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{color:var(--text-muted);background:0 0;padding:.5rem 0;font-size:.8125rem}.btn-ghost:hover{color:var(--primary)}.auth-footer{border-top:1px solid var(--border-light);text-align:center;color:var(--text-muted);margin-top:1.5rem;padding-top:1.5rem;font-size:.8rem}.auth-footer a{color:var(--primary);font-weight:600}.verify-icon{background:var(--status-complete-bg);width:60px;height:60px;color:var(--status-complete);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.verify-email-highlight{background:var(--primary-light);color:var(--primary);border-radius:4px;padding:.125rem .5rem;font-size:.875rem;font-weight:600;display:inline-block}.demo-link-row{border-top:1px dashed var(--border);justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.demo-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--accent-light);color:#92400e;border:1px solid var(--accent);border-radius:4px;padding:.15em .5em;font-size:.65rem;font-weight:700}.demo-link{color:var(--primary);font-size:.8125rem;font-weight:600}.demo-link:hover{text-decoration:underline}.portal-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.portal-body{flex:1;min-height:0;overflow-y:auto}.portal-nav{height:var(--nav-height);background:var(--bg-nav);z-index:100;flex-shrink:0;align-items:center;gap:.875rem;padding:0 1.25rem;display:flex;position:static}.portal-nav-logo{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.portal-nav-logo-mark{color:#fff;background:#ffffff26;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.875rem;font-weight:700;display:flex}.portal-nav-logo-name{color:var(--text-on-dark);font-size:.875rem;font-weight:700}.portal-nav-logo-sub{color:var(--text-on-dark-muted);font-size:.65rem;font-weight:400}.portal-nav-spacer{flex:1}.portal-nav-client{align-items:center;gap:.75rem;display:flex}.portal-nav-client-name{color:var(--text-on-dark-muted);font-size:.8125rem;display:none}@media (min-width:480px){.portal-nav-client-name{display:block}}.portal-nav-avatar{color:#fff;background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.portal-nav-signout{color:var(--text-on-dark-muted);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;padding:.375rem .875rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.portal-nav-signout:hover{color:#fff;background:#ffffff24}.portal-content{max-width:var(--content-max-width);margin:0 auto;padding:2rem 1.25rem 4rem}.project-header{margin-bottom:2rem}.project-header-eyebrow{align-items:center;gap:.625rem;margin-bottom:.5rem;display:flex}.project-code{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.type-badge{border-radius:var(--radius-badge);text-transform:uppercase;letter-spacing:.04em;padding:.2em .6em;font-size:.7rem;font-weight:600}.type-badge--mat{color:#1e40af;background:#dbeafe}.type-badge--dsn{color:#854d0e;background:#fef9c3}.type-badge--full{color:#15803d;background:#dcfce7}.project-header-title{color:var(--text-heading);margin-bottom:.25rem;font-size:1.4rem;font-weight:700;line-height:1.3}.project-header-meta{color:var(--text-muted);font-size:.875rem}.section-card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1.25rem;overflow:hidden}.section-card-header{border-bottom:1px solid var(--border-light);align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.section-card-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-card-title{color:var(--text-heading);font-size:.9375rem;font-weight:700}.section-card-body{padding:1.5rem}.stage-timeline{flex-direction:column;gap:0;display:flex}.stage-item{gap:1rem;display:flex;position:relative}.stage-connector{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.stage-dot{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stage-dot--complete{background:var(--status-complete);color:#fff}.stage-dot--active{background:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-light)}.stage-dot--pending{background:var(--bg-page);border:2px solid var(--border);color:var(--text-light)}.stage-line{flex:1;width:2px;min-height:1.5rem}.stage-line--complete{background:var(--status-complete)}.stage-line--pending{background:var(--border)}.stage-body{flex:1;min-width:0;padding-bottom:1.5rem}.stage-item:last-child .stage-body{padding-bottom:0}.stage-label-row{align-items:center;gap:.625rem;min-height:32px;display:flex}.stage-label{color:var(--text-heading);font-size:.9375rem;font-weight:600}.stage-label--pending{color:var(--text-muted)}.stage-status-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.2em .6em;font-size:.6875rem;font-weight:700}.stage-status-tag--complete{background:var(--status-complete-bg);color:var(--status-complete)}.stage-status-tag--active{background:var(--primary-light);color:var(--primary)}.stage-description{color:var(--text-muted);margin-top:.25rem;font-size:.8375rem;line-height:1.5}.stage-date{color:var(--text-light);margin-top:.25rem;font-size:.75rem}.quotation-list{flex-direction:column;gap:.75rem;display:flex}.quotation-item{border:1.5px solid var(--border-light);border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.125rem;transition:border-color .15s,box-shadow .15s;display:flex}.quotation-item:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #1e2a3a0f}.quotation-item-icon{color:#dc2626;background:#fee2e2;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.quotation-item-info{flex:1;min-width:0}.quotation-item-title{color:var(--text-heading);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.latest-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--status-complete-bg);color:var(--status-complete);border:1px solid #bbf7d0;border-radius:4px;padding:.15em .5em;font-size:.65rem;font-weight:700}.quotation-item-meta{color:var(--text-muted);margin-top:.125rem;font-size:.775rem}.download-btn{background:var(--primary);color:#fff;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8rem;font-weight:600;transition:background .15s;display:flex}.download-btn:hover{background:var(--primary-hover)}.no-quotations{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.no-quotations-icon{background:var(--primary-light);width:48px;height:48px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.no-quotations p{font-size:.875rem}.doc-list{flex-direction:column;gap:0;display:flex}.doc-item{border-bottom:1px solid var(--border-light);align-items:center;gap:.875rem;padding:.875rem 0;display:flex}.doc-item:last-child{border-bottom:none}.doc-cat-badge{letter-spacing:.06em;text-align:center;border-radius:4px;flex-shrink:0;min-width:44px;padding:.2em .5em;font-size:.65rem;font-weight:700}.doc-cat-badge--pdf{color:#dc2626;background:#fee2e2}.doc-cat-badge--xlsx{color:#16a34a;background:#dcfce7}.doc-cat-badge--dwg{color:#2563eb;background:#dbeafe}.doc-cat-badge--doc{color:#7c3aed;background:#ede9fe}.doc-cat-badge--markup{color:#ca8a04;background:#fef9c3}.doc-info{flex:1;min-width:0}.doc-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.doc-meta{color:var(--text-muted);margin-top:.1rem;font-size:.75rem}.doc-download{border:1.5px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;padding:.375rem .75rem;font-size:.775rem;font-weight:600;transition:border-color .15s,color .15s}.doc-download:hover{border-color:var(--primary);color:var(--primary)}.revision-list{flex-direction:column;gap:.75rem;display:flex}.revision-item{align-items:flex-start;gap:1rem;display:flex}.revision-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.35rem}.revision-dot--current{background:var(--primary)}.revision-dot--superseded{background:var(--border)}.revision-body{flex:1;min-width:0}.revision-label-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.revision-label{color:var(--text-heading);font-size:.875rem;font-weight:600}.revision-status-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.15em .5em;font-size:.65rem;font-weight:700}.revision-status-badge--current{background:var(--primary-light);color:var(--primary)}.revision-status-badge--superseded{background:var(--bg-page);color:var(--text-muted);border:1px solid var(--border)}.revision-note{color:var(--text-muted);margin-top:.125rem;font-size:.8125rem}.revision-date{color:var(--text-light);margin-top:.125rem;font-size:.75rem}.empty-portal-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.empty-portal-state h2{color:var(--text-heading);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.empty-portal-state p{color:var(--text-muted);font-size:.875rem}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.dashboard-greeting{color:var(--text-muted);margin-bottom:.125rem;font-size:.8125rem}.dashboard-title{color:var(--text-heading);font-size:1.5rem;font-weight:700}.btn-new-enquiry{background:var(--primary);color:#fff;border-radius:var(--radius-btn);white-space:nowrap;flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem 1.125rem;font-size:.875rem;font-weight:600;transition:background .15s;display:inline-flex}.btn-new-enquiry:hover{background:var(--primary-hover)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1.125rem;display:grid}@media (max-width:640px){.projects-grid{grid-template-columns:1fr}}.projects-list{flex-direction:column;gap:.75rem;display:flex}.project-list-card{background:var(--bg-card);border:1.5px solid var(--border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:inherit;cursor:pointer;grid-template-columns:90px 1fr auto;align-items:center;gap:1.25rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.project-list-card:hover{border-color:var(--primary);box-shadow:0 4px 20px #1e2a3a1a}.project-list-progress-wrap{flex-direction:column;gap:.3rem;display:flex}.project-list-stage-pct{color:var(--text-muted);font-size:.6875rem;font-weight:700}.project-list-pips{gap:3px;display:flex}.project-list-pip{border-radius:3px;flex:1;height:5px}.project-list-pip--complete{background:var(--status-complete)}.project-list-pip--active{background:var(--primary)}.project-list-pip--pending{background:var(--border)}.project-list-info{flex:1;min-width:0}.project-list-top{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.project-list-name{color:var(--text-heading);font-size:.9375rem;font-weight:700}.project-list-location{color:var(--text-muted);margin-top:.125rem;font-size:.775rem}.project-list-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.375rem;display:flex}.project-list-date{color:var(--text-light);font-size:.725rem}.project-list-dot{background:var(--border);border-radius:50%;width:3px;height:3px}.project-list-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.project-list-open-btn{border:1.5px solid var(--border);color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.project-list-card:hover .project-list-open-btn{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}@media (max-width:640px){.project-list-card{grid-template-columns:1fr;gap:.75rem}.project-list-right{justify-content:flex-end}}.project-card{background:var(--bg-card);border:1.5px solid var(--border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:inherit;cursor:pointer;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.project-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 20px #1e2a3a1f}.project-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.unread-badge{color:#fff;background:#dc2626;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 .35rem;font-size:.65rem;font-weight:700;display:flex}.project-card-name{color:var(--text-heading);font-size:.9375rem;font-weight:700;line-height:1.35}.project-card-location{color:var(--text-muted);font-size:.775rem}.project-card-progress{gap:3px;margin:.25rem 0;display:flex}.progress-pip{border-radius:2px;flex:1;height:4px;transition:background .2s}.progress-pip--complete{background:var(--status-complete)}.progress-pip--active{background:var(--primary)}.progress-pip--pending{background:var(--border)}.project-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.stage-pill{border-radius:20px;align-items:center;gap:.375rem;padding:.25em .625em;font-size:.75rem;font-weight:600;display:inline-flex}.stage-pill--active{background:var(--primary-light);color:var(--primary)}.stage-pill--complete{background:var(--status-complete-bg);color:var(--status-complete)}.project-card-date{color:var(--text-light);font-size:.7rem}.projects-empty{text-align:center;flex-direction:column;align-items:center;padding:4rem 1rem;display:flex}.projects-empty-icon{background:var(--primary-light);width:64px;height:64px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.projects-empty-title{color:var(--text-heading);margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.projects-empty-body{color:var(--text-muted);font-size:.875rem}.project-tab-nav{border-bottom:2px solid var(--border-light);scrollbar-width:none;margin-bottom:1.5rem;display:flex;overflow-x:auto}.project-tab-nav::-webkit-scrollbar{display:none}.project-tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-2px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.project-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.project-tab:hover:not(.project-tab--active){color:var(--text-heading)}.project-tab-badge{color:#fff;background:#dc2626;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 .25rem;font-size:.625rem;font-weight:700;display:inline-flex}.nav-bell-btn{color:var(--text-on-dark-muted);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:flex;position:relative}.nav-bell-btn:hover{color:#fff;background:#ffffff24}.nav-bell-badge{color:#fff;border:2px solid var(--bg-nav);background:#dc2626;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 .25rem;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-3px;right:-3px}.notif-overlay{z-index:999;position:fixed;inset:0}.notif-panel{top:var(--nav-height);width:360px;max-width:100vw;height:calc(100dvh - var(--nav-height));background:var(--bg-card);border-left:1px solid var(--border);z-index:1000;flex-direction:column;transition:transform .25s;display:flex;position:fixed;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.notif-panel--open{transform:translate(0)}.notif-panel-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.125rem 1.25rem;display:flex}.notif-panel-title{color:var(--text-heading);font-size:.9375rem;font-weight:700}.notif-mark-all{color:var(--primary);background:0 0;border:none;padding:0;font-size:.775rem;font-weight:600}.notif-mark-all:disabled{color:var(--text-light);cursor:default}.notif-mark-all:not(:disabled):hover{text-decoration:underline}.notif-list{flex:1;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border-light);cursor:pointer;color:inherit;border-left:3px solid #0000;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;text-decoration:none;transition:background .12s;display:flex}.notif-item--unread{border-left-color:var(--primary);background:#f8fafc}.notif-item:hover{background:var(--primary-light)}.notif-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.notif-icon--stage_change{background:var(--primary-light);color:var(--primary)}.notif-icon--quotation_ready{color:#dc2626;background:#fee2e2}.notif-icon--message{color:#2563eb;background:#dbeafe}.notif-icon--document_shared,.notif-icon--acceptance_confirmed{color:#16a34a;background:#dcfce7}.notif-content{flex:1;min-width:0}.notif-text{color:var(--text-heading);font-size:.8375rem;line-height:1.4}.notif-text--unread{font-weight:600}.notif-project{color:var(--text-muted);margin-top:.125rem;font-size:.725rem}.notif-time{color:var(--text-light);margin-top:.2rem;font-size:.7rem}.notif-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.notif-empty p{font-size:.875rem}.project-shell{height:100%;display:flex;overflow:hidden}.project-sidebar{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;background:#0f1923;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;width:276px;display:flex;overflow-y:auto}.sidebar-inner{flex-direction:column;flex:1;padding:1.125rem 1rem 2rem;display:flex}.sidebar-back-link{color:#fff6;align-items:center;gap:.375rem;margin-bottom:1.25rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.sidebar-back-link:hover{color:#fffc}.sidebar-project-info{border-bottom:1px solid #ffffff12;margin-bottom:1.375rem;padding-bottom:1.375rem}.sidebar-code-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sidebar-project-code{letter-spacing:.09em;color:#ffffff59;text-transform:uppercase;font-size:.68rem;font-weight:700}.sidebar-inner .type-badge--mat{color:#93c5fd;background:#dbeafe1f;border:0}.sidebar-inner .type-badge--dsn{color:#fde68a;background:#fef9c31f;border:0}.sidebar-inner .type-badge--full{color:#86efac;background:#dcfce71f;border:0}.sidebar-project-name{color:#fffffff2;margin-bottom:.25rem;font-size:.875rem;font-weight:700;line-height:1.35}.sidebar-project-location{color:#ffffff61;font-size:.725rem}.sidebar-section{border-bottom:1px solid #ffffff12;margin-bottom:1.25rem;padding-bottom:1.25rem}.sidebar-section:last-child{border-bottom:none;margin-bottom:0}.sidebar-section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.sidebar-section-title{letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;font-size:.625rem;font-weight:700}.sidebar-section-link{color:#fff6;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .15s}.sidebar-section-link:hover{color:#fffc}.sidebar-stage-list{flex-direction:column;display:flex}.sidebar-stage-row{align-items:flex-start;gap:.625rem;display:flex;position:relative}.sidebar-stage-row--complete .sidebar-stage-connector{background:#16a34a80}.sidebar-stage-connector-wrap{flex-direction:column;flex-shrink:0;align-items:center;width:18px;display:flex}.sidebar-stage-dot{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:relative}.sidebar-stage-dot--complete{color:#fff;background:#16a34a}.sidebar-stage-dot--active{background:var(--accent);color:#1a1a1a;box-shadow:0 0 0 3px #e8a83833}.sidebar-stage-dot--pending{background:#ffffff0f;border:1.5px solid #ffffff1f}.sidebar-stage-connector{background:#ffffff14;flex:1;width:2px;min-height:.75rem;margin:2px 0}.sidebar-stage-connector--complete{background:#16a34a73}.sidebar-stage-info{flex:1;min-width:0;padding-bottom:.875rem}.sidebar-stage-row:last-child .sidebar-stage-info{padding-bottom:0}.sidebar-stage-label{color:#ffffffd9;font-size:.8rem;font-weight:500;line-height:1.3;display:block}.sidebar-stage-label--pending{color:#ffffff4d;font-weight:400}.sidebar-stage-label--active{color:#fffffff2;font-weight:700}.sidebar-stage-meta{color:#ffffff52;margin-top:.1rem;font-size:.675rem;display:block}.sidebar-stage-meta--active{color:#e8a838b3}.sidebar-quotation-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:.875rem}.sidebar-quotation-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:#e8a8381f;border:1px solid #e8a83840;border-radius:4px;align-items:center;gap:.3rem;margin-bottom:.5rem;padding:.2em .55em;font-size:.625rem;font-weight:700;display:inline-flex}.sidebar-quotation-title{color:#fffffff2;margin-bottom:.2rem;font-size:.875rem;font-weight:700}.sidebar-quotation-meta{color:#ffffff59;margin-bottom:.75rem;font-size:.7rem}.sidebar-download-btn{width:100%;font:inherit;color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;margin-bottom:.625rem;padding:.5rem .875rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.sidebar-download-btn:hover{background:#ffffff21;border-color:#ffffff47}.sidebar-quotation-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sidebar-btn-accept{font:inherit;color:#fff;background:#16a34a;border:none;border-radius:7px;padding:.5rem .625rem;font-size:.775rem;font-weight:700;transition:background .15s}.sidebar-btn-accept:hover{background:#15803d}.sidebar-btn-changes{font:inherit;color:#ffffffa6;background:0 0;border:1px solid #ffffff2e;border-radius:7px;padding:.5rem .625rem;font-size:.775rem;font-weight:600;transition:border-color .15s,color .15s}.sidebar-btn-changes:hover{color:#fff;border-color:#ffffff61}.sidebar-status-accepted{color:#4ade80;align-items:center;gap:.375rem;font-size:.8rem;font-weight:600;display:flex}.sidebar-status-changes{color:#fbbf24;align-items:center;gap:.375rem;font-size:.8rem;font-weight:600;display:flex}.sidebar-doc-list{flex-direction:column;gap:.5rem;margin-bottom:.625rem;display:flex}.sidebar-doc-row{align-items:center;gap:.5rem;display:flex}.sidebar-doc-ext{text-transform:uppercase;letter-spacing:.04em;color:#ffffff73;background:#ffffff12;border-radius:3px;flex-shrink:0;padding:.15em .4em;font-size:.58rem;font-weight:700}.sidebar-doc-name{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.775rem;overflow:hidden}.sidebar-upload-link{color:#fff6;border:1px dashed #ffffff21;border-radius:7px;justify-content:center;align-items:center;gap:.3rem;width:100%;padding:.4rem .75rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.sidebar-upload-link:hover{color:#ffffffbf;border-color:#ffffff47}.sidebar-empty-text{color:#ffffff4d;margin-bottom:.625rem;font-size:.75rem}.sidebar-contact-list{flex-direction:column;gap:.625rem;display:flex}.sidebar-contact-row{align-items:center;gap:.625rem;display:flex}.sidebar-contact-avatar{color:#ffffffbf;background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.65rem;font-weight:700;display:flex}.sidebar-contact-name{color:#ffffffa6;font-size:.775rem;font-weight:500;display:block}.sidebar-contact-role{text-transform:uppercase;letter-spacing:.07em;border-radius:3px;padding:.1em .45em;font-size:.58rem;font-weight:700}.sidebar-contact-role--primary{color:var(--accent);background:#e8a83826}.sidebar-contact-role--additional{color:#ffffff4d;background:#ffffff0f}.project-main{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.project-main-header{background:var(--bg-card);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;padding:0 1.25rem;display:flex}.project-main-tabs{display:flex}.project-main-tab{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.8125rem 1.125rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.project-main-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.project-main-tab:hover:not(.project-main-tab--active){color:var(--text-heading)}.tab-unread-badge{color:#fff;background:#dc2626;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 .25rem;font-size:.6rem;font-weight:700;display:inline-flex}@media (max-width:768px){.project-shell{flex-direction:column}.project-sidebar{flex-shrink:0;width:100%;max-height:220px;overflow-x:hidden}.sidebar-stage-list{flex-flow:wrap;gap:.375rem}.sidebar-stage-info{padding-bottom:0}.sidebar-stage-connector,.sidebar-quotation-card,.sidebar-doc-list,.sidebar-upload-link,.sidebar-contact-list{display:none}}.message-page{height:calc(100dvh - var(--nav-height));flex-direction:column;display:flex}.message-thread-wrap{flex:1;padding:1.25rem;overflow-y:auto}.message-thread{flex-direction:column;gap:1rem;max-width:700px;margin:0 auto;display:flex}.message-bubble-row{flex-direction:column;gap:.25rem;display:flex}.message-bubble-row--client{align-items:flex-end}.message-bubble-row--eurofast{align-items:flex-start}.message-sender-label{color:var(--text-muted);padding:0 .5rem;font-size:.7rem;font-weight:600}.message-bubble{border-radius:16px;max-width:75%;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.message-bubble--client{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message-bubble--eurofast{background:var(--bg-page);color:var(--text-main);border:1px solid var(--border-light);border-bottom-left-radius:4px}.message-attachments{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.attachment-chip{color:inherit;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff40;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.72rem;font-weight:500;display:inline-flex}.message-bubble--eurofast .attachment-chip{background:var(--bg-card);color:var(--text-muted);border-color:var(--border)}.attachment-chip-remove{color:inherit;opacity:.7;background:0 0;border:none;padding:0;font-size:.8rem;line-height:1}.attachment-chip-remove:hover{opacity:1}.message-time{color:var(--text-light);padding:0 .5rem;font-size:.68rem}.message-empty{min-height:200px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.message-empty p{font-size:.875rem}.message-composer{border-top:1px solid var(--border-light);background:var(--bg-card);flex-shrink:0;padding:.875rem 1.25rem 1.25rem}.message-composer-inner{max-width:700px;margin:0 auto}.composer-pending-files{flex-wrap:wrap;gap:.375rem;margin-bottom:.625rem;display:flex}.composer-pending-chip{background:var(--primary-light);color:var(--primary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.72rem;font-weight:500;display:inline-flex}.composer-input-row{align-items:flex-end;gap:.625rem;display:flex}.composer-textarea{border:1.5px solid var(--border);min-height:44px;max-height:140px;font:inherit;color:var(--text-main);resize:none;background:var(--bg-page);border-radius:12px;outline:none;flex:1;padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s}.composer-textarea:focus{border-color:var(--primary);background:#fff}.composer-attach-btn{background:var(--bg-page);border:1.5px solid var(--border);width:40px;height:40px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.composer-attach-btn:hover{border-color:var(--primary);color:var(--primary)}.composer-send-btn{background:var(--primary);color:#fff;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,opacity .15s;display:flex}.composer-send-btn:disabled{opacity:.4}.composer-send-btn:not(:disabled):hover{background:var(--primary-hover)}.client-upload-dropzone{border:2px dashed var(--border);text-align:center;color:var(--text-muted);cursor:pointer;border-radius:12px;padding:2rem 1rem;transition:border-color .15s,background .15s}.client-upload-dropzone:hover,.client-upload-dropzone--over{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.client-upload-dropzone p{font-size:.875rem}.client-upload-dropzone em{color:var(--text-light);margin-top:.25rem;font-size:.75rem;font-style:normal;display:block}.upload-progress-bar{background:var(--border-light);border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden}.upload-progress-fill{background:var(--primary);border-radius:2px;height:100%;transition:width .1s linear}.client-doc-row{border-bottom:1px solid var(--border-light);align-items:center;gap:.875rem;padding:.875rem 0;display:flex}.client-doc-row:last-child{border-bottom:none}.client-doc-row-info{flex:1;min-width:0}.client-doc-row-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.client-doc-row-meta{color:var(--text-muted);margin-top:.1rem;font-size:.75rem}.client-doc-delete{border:1.5px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;padding:.35rem .625rem;font-size:.75rem;font-weight:600;transition:border-color .15s,color .15s}.client-doc-delete:hover{color:#dc2626;border-color:#dc2626}.quotation-actions{flex-wrap:wrap;gap:.625rem;margin-top:.875rem;display:flex}.btn-accept{font:inherit;color:#fff;background:#16a34a;border:none;border-radius:8px;flex:1;padding:.625rem 1rem;font-size:.8375rem;font-weight:700;transition:background .15s}.btn-accept:hover{background:#15803d}.btn-changes{border:1.5px solid var(--border);font:inherit;color:var(--text-muted);background:0 0;border-radius:8px;flex:1;padding:.625rem 1rem;font-size:.8375rem;font-weight:600;transition:border-color .15s,color .15s}.btn-changes:hover{border-color:var(--primary);color:var(--primary)}.quotation-status-banner{border-radius:8px;align-items:center;gap:.5rem;margin-top:.875rem;padding:.625rem .875rem;font-size:.8125rem;font-weight:600;display:flex}.quotation-status-banner--accepted{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.quotation-status-banner--changes{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.modal-backdrop{z-index:2000;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border-radius:16px;width:100%;max-width:420px;padding:1.75rem;box-shadow:0 20px 60px #00000040}.modal-title{color:var(--text-heading);margin-bottom:.625rem;font-size:1rem;font-weight:700}.modal-body{color:var(--text-muted);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:.625rem;display:flex}.modal-btn-cancel{border:1.5px solid var(--border);color:var(--text-muted);font:inherit;background:0 0;border-radius:8px;padding:.6rem 1.125rem;font-size:.875rem;font-weight:600}.modal-btn-cancel:hover{border-color:var(--primary);color:var(--primary)}.modal-btn-confirm{font:inherit;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:700}.modal-btn-confirm:hover{background:var(--primary-hover)}.modal-btn-confirm--green{background:#16a34a}.modal-btn-confirm--green:hover{background:#15803d}.modal-textarea{border:1.5px solid var(--border);width:100%;min-height:90px;font:inherit;resize:vertical;color:var(--text-main);border-radius:10px;outline:none;margin-bottom:.375rem;padding:.625rem .875rem;font-size:.875rem}.modal-textarea:focus{border-color:var(--primary)}.landing-page{flex-direction:column;min-height:100dvh;display:flex;position:relative}.landing-hero{text-align:center;color:#fff;background:linear-gradient(160deg,#1e2a3a 0%,#2d3a4a 60%,#1a2535 100%);padding:4rem 1.5rem 3rem;position:relative}.landing-hero-logo{justify-content:center;align-items:center;gap:.625rem;margin-bottom:2.5rem;display:flex}.landing-hero-logo-mark{color:#fff;background:#ffffff26;border-radius:11px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex}.landing-hero-logo-name{font-size:1.125rem;font-weight:700}.landing-hero-logo-sub{opacity:.65;font-size:.7rem;font-weight:400}.landing-sign-in{color:#ffffffb3;border:1px solid #fff3;border-radius:8px;padding:.4rem .875rem;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s;position:absolute;top:1.25rem;right:1.5rem}.landing-sign-in:hover{color:#fff;border-color:#ffffff80}.landing-hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.875rem;font-size:.75rem;font-weight:700}.landing-hero-title{margin-bottom:.875rem;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;line-height:1.2}.landing-hero-subtitle{opacity:.75;max-width:500px;margin:0 auto 2rem;font-size:1rem;line-height:1.6}.landing-hero-cta{background:var(--accent);color:#1a1a1a;border-radius:var(--radius-btn);align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.9375rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex;box-shadow:0 4px 16px #e8a83866}.landing-hero-cta:hover{background:#f0b830;transform:translateY(-1px)}.how-it-works{background:#fff;padding:3rem 1.5rem}.how-it-works-title{text-align:center;color:var(--text-heading);margin-bottom:2rem;font-size:1.25rem;font-weight:700}.steps-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:700px;margin:0 auto;display:grid}@media (max-width:580px){.steps-grid{grid-template-columns:1fr}}.step-card{text-align:center;padding:1.5rem 1rem}.step-number{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto .875rem;font-size:1.125rem;font-weight:700;display:flex}.step-title{color:var(--text-heading);margin-bottom:.375rem;font-size:.9rem;font-weight:700}.step-desc{color:var(--text-muted);font-size:.8125rem;line-height:1.5}.enquire-section{background:var(--bg-page);flex:1;padding:3rem 1.5rem}.enquire-form-wrap{max-width:640px;margin:0 auto}.enquire-form-title{color:var(--text-heading);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.enquire-form-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.875rem}.form-select{border:1.5px solid var(--border);border-radius:var(--radius-btn);width:100%;color:var(--text-heading);background:var(--bg-card);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7a8d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.form-select:focus{border-color:var(--primary)}.form-textarea{border:1.5px solid var(--border);border-radius:var(--radius-btn);width:100%;font:inherit;color:var(--text-heading);background:var(--bg-card);resize:vertical;outline:none;min-height:110px;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5;transition:border-color .15s}.form-textarea:focus{border-color:var(--primary)}.form-char-count{color:var(--text-light);text-align:right;margin-top:.25rem;font-size:.75rem}.form-char-count--ok{color:var(--status-complete)}.form-char-count--fail{color:#dc2626}.form-error{color:#dc2626;margin-top:.25rem;font-size:.8rem}.form-input--error{background:#fff8f8;border-color:#dc2626!important}.btn-submit{background:var(--primary);color:#fff;border-radius:var(--radius-btn);width:100%;font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.875rem;font-size:.9375rem;font-weight:700;transition:background .15s,opacity .15s;display:flex}.btn-submit:hover:not(:disabled){background:var(--primary-hover)}.btn-submit:disabled{opacity:.6;cursor:default}.file-attach-list{flex-wrap:wrap;gap:.5rem;margin-top:.625rem;display:flex}.file-attach-chip{background:var(--primary-light);color:var(--primary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.375rem;padding:.3rem .6rem;font-size:.775rem;font-weight:500;display:inline-flex}.file-attach-chip button{color:inherit;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.file-attach-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.file-attach-btn:hover{border-color:var(--primary);color:var(--primary)}.confirmation-page{background:linear-gradient(160deg,#1e2a3a 0%,#2d3a4a 60%,#1a2535 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.confirmation-card{background:var(--bg-card);text-align:center;border-radius:20px;width:100%;max-width:480px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.confirmation-icon{background:var(--status-complete-bg);width:64px;height:64px;color:var(--status-complete);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.confirmation-title{color:var(--text-heading);margin-bottom:.5rem;font-size:1.375rem;font-weight:700}.confirmation-ref{letter-spacing:.08em;background:var(--primary-light);color:var(--primary);border-radius:8px;margin:1rem 0;padding:.5rem 1.25rem;font-family:monospace;font-size:1.125rem;font-weight:700;display:inline-block}.confirmation-detail{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem;line-height:1.6}.confirmation-summary{background:var(--bg-page);text-align:left;border-radius:10px;margin-bottom:1.5rem;padding:1rem}.confirmation-summary-row{justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.8125rem;display:flex}.confirmation-summary-row dt{color:var(--text-muted)}.confirmation-summary-row dd{color:var(--text-heading);text-align:right;font-weight:600}.contacts-toggle{width:100%;font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:.8125rem;display:flex}.contacts-toggle:hover{color:var(--primary)}.contacts-toggle-count{font-weight:600}.contact-list{flex-direction:column;gap:.875rem;margin-top:1rem;display:flex}.contact-row{align-items:center;gap:.875rem;display:flex}.contact-avatar{background:var(--primary-light);width:38px;height:38px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.contact-avatar--you{background:var(--primary);color:#fff}.contact-info{flex:1;min-width:0}.contact-name{color:var(--text-heading);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.contact-you-label{text-transform:uppercase;letter-spacing:.06em;background:var(--primary-light);color:var(--primary);border-radius:3px;padding:.1em .4em;font-size:.65rem;font-weight:600}.contact-email{color:var(--text-muted);margin-top:.075rem;font-size:.775rem}.contact-role-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;flex-shrink:0;padding:.2em .5em;font-size:.65rem;font-weight:700}.contact-role-badge--primary{background:var(--primary-light);color:var(--primary)}.contact-role-badge--additional{background:var(--bg-page);color:var(--text-muted);border:1px solid var(--border)}.contacts-note{color:var(--text-light);border-top:1px solid var(--border-light);margin-top:1rem;padding-top:.75rem;font-size:.75rem}.stage-estimated{color:var(--text-light);margin-top:.25rem;font-size:.75rem;font-style:italic}@media (max-width:600px){.portal-content{padding:1.25rem 1rem 3rem}.section-card-body{padding:1.25rem 1rem}.section-card-header{padding:1rem}.project-header-title{font-size:1.15rem}.auth-card{padding:2rem 1.5rem}}
