@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--black:#000;--yellow:#ffdf00;--white:#fff;color:var(--black);background:var(--white);font-synthesis:none;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}::selection{background:var(--yellow);color:var(--black)}:focus-visible{outline:2px solid var(--black);outline-offset:3px}button{cursor:pointer}.brand{color:var(--black);letter-spacing:-.07em;align-items:center;gap:.55rem;font-size:1.3rem;font-weight:800;display:inline-flex}.brand-mark{background:var(--black);color:var(--yellow);letter-spacing:-.1em;border-radius:9px 9px 9px 2px;justify-content:center;align-items:center;width:2rem;height:2rem;font-family:Georgia,serif;font-size:1.25rem;font-style:italic;display:inline-flex}.eyebrow{color:var(--black);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .65rem;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500}.primary-button{background:var(--black);border:1px solid var(--black);color:var(--yellow);border-radius:10px;padding:.78rem 1.15rem;font-weight:700;transition:background .15s,transform .15s}.primary-button:hover{background:var(--yellow);color:var(--black);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.7;transform:none}.loading{height:100vh;color:var(--black);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;display:flex}.login-shell{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);min-height:100vh;display:grid}.login-intro{background:var(--yellow);flex-direction:column;justify-content:space-between;padding:2.75rem clamp(2rem,7vw,8rem) 3.5rem;display:flex;position:relative;overflow:hidden}.login-intro:after{border:1px solid var(--black);content:"";border-radius:50%;width:35rem;height:35rem;position:absolute;top:25%;right:-17rem}.login-intro h1{letter-spacing:-.075em;z-index:1;max-width:8ch;margin:0;font-size:clamp(2.75rem,5vw,5.2rem);line-height:.98;position:relative}.intro-copy{color:var(--black);z-index:1;max-width:33rem;font-size:1.1rem;line-height:1.7;position:relative}.intro-stat{border-left:2px solid var(--black);color:var(--black);z-index:1;gap:.2rem;padding-left:1rem;display:grid;position:relative}.intro-stat strong{color:var(--black);font-size:.92rem}.login-panel{background:var(--white);justify-content:center;align-items:center;padding:2rem;display:flex}.login-card{gap:1.25rem;width:100%;max-width:26rem;display:grid}.login-card h2{letter-spacing:-.06em;margin:0 0 .35rem;font-size:2rem}.login-card p{color:var(--black);margin:0;font-size:.9rem;line-height:1.65}.login-card label{color:var(--black);gap:.45rem;font-size:.82rem;font-weight:700;display:grid}.name-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.login-card input,.login-card select{color:var(--black);background:var(--white);border:1px solid var(--black);outline-color:var(--black);border-radius:9px;width:100%;min-width:0;padding:.78rem .85rem}.login-card input::placeholder{color:var(--black);opacity:.6}.login-card input:focus-visible,.login-card select:focus-visible{box-shadow:0 0 0 4px var(--yellow);outline-offset:0}.password-input-group{grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.password-input-group input{border-radius:9px 0 0 9px!important}.password-toggle{background:var(--white);border:1px solid var(--black);color:var(--black);cursor:pointer;border-left:0;border-radius:0 9px 9px 0;padding:0 .8rem;font-size:.75rem;font-weight:800}.password-toggle:hover,.password-toggle:focus-visible{background:var(--yellow)}.phone-input-group{grid-template-columns:minmax(9.5rem,.9fr) minmax(0,1.6fr);gap:.55rem;display:grid}.phone-input-group select,.phone-input-group input{min-width:0}.form-error{background:var(--yellow);border:1px solid var(--black);border-radius:8px;padding:.7rem .8rem;color:var(--black)!important}.login-help{text-align:center}.inline-button{color:var(--black);font-size:inherit;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.app-shell{grid-template-columns:16.5rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--white);border-right:1px solid var(--black);flex-direction:column;padding:1.5rem;display:flex}.sidebar nav{gap:.35rem;margin-top:4rem;display:grid}.nav-link{color:var(--black);border-radius:8px;align-items:center;gap:.7rem;padding:.75rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.nav-link.active{background:var(--yellow);color:var(--black)}.nav-link.disabled{opacity:.6}.nav-link em{background:var(--white);border-radius:10px;margin-left:auto;padding:.18rem .35rem;font-family:DM Mono,monospace;font-size:.55rem;font-style:normal}.sidebar-footer{color:var(--black);margin-top:auto;font-size:.75rem;line-height:1.7}.sidebar-footer a{color:var(--black)}.support-dot{background:var(--yellow);border-radius:50%;width:.42rem;height:.42rem;margin-right:.3rem;display:inline-block}.dashboard-main{width:100%;max-width:1400px;padding:1.75rem clamp(1.5rem,5vw,5rem) 4rem}.topbar{justify-content:space-between;align-items:center;display:flex}.topbar h1{letter-spacing:-.06em;margin:0;font-size:2rem}.user-menu{color:var(--black);align-items:center;gap:.55rem;font-size:.8rem;display:flex}.avatar{background:var(--yellow);color:var(--black);border:0;border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-family:DM Mono,monospace;font-size:.68rem;display:flex}.dashboard-hero{background:var(--black);color:var(--white);border-radius:16px;justify-content:space-between;align-items:end;margin-top:2.5rem;padding:clamp(1.8rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.dashboard-hero:after{border:1px solid var(--yellow);content:"";border-radius:50%;width:18rem;height:18rem;position:absolute;top:-12rem;right:-5rem}.dashboard-hero>*{z-index:1;position:relative}.dashboard-hero .eyebrow{color:var(--yellow)}.dashboard-hero h2{letter-spacing:-.06em;margin:0;font-size:clamp(1.7rem,3vw,2.55rem)}.dashboard-hero p:not(.eyebrow){color:var(--white);margin:.6rem 0 0;font-size:.9rem}.dashboard-hero .primary-button{background:var(--yellow);border-color:var(--yellow);color:var(--black);white-space:nowrap}.dashboard-hero .primary-button:hover{background:var(--white);border-color:var(--white)}.dashboard-hero :focus-visible{outline-color:var(--white)}.metrics{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.25rem 0 3.25rem;display:grid}.metrics article{background:var(--white);border:1px solid var(--black);border-radius:12px;gap:.25rem;padding:1.1rem 1.25rem;display:grid}.metrics span,.metrics small{color:var(--black);font-size:.72rem}.metrics strong{letter-spacing:-.06em;font-size:1.65rem}.section-heading{justify-content:space-between;align-items:end;margin-bottom:1.1rem;display:flex}.section-heading h2{letter-spacing:-.04em;margin:0;font-size:1.25rem}.section-heading p{color:var(--black);margin:.3rem 0 0;font-size:.8rem}.text-button{color:var(--black);background:0 0;border:0;font-size:.8rem;font-weight:700}.street-suggestion-list{flex-wrap:wrap;gap:.45rem .7rem;margin-top:.3rem;display:flex}.street-suggestion-list .text-button{background:var(--white);border:1px solid var(--black);cursor:pointer;border-radius:6px;padding:.35rem .55rem}.street-suggestion-list .text-button:hover,.street-suggestion-list .text-button[aria-selected=true]{background:var(--yellow)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.project-card{background:var(--white);border:1px solid var(--black);border-radius:12px;min-height:12.25rem;padding:1.1rem;transition:box-shadow .15s,transform .15s;display:grid}.project-card:hover{box-shadow:4px 4px 0 var(--yellow);transform:translateY(-2px)}.project-card-top,.project-card footer{justify-content:space-between;align-items:center;display:flex}.status{background:var(--white);border:1px solid var(--black);color:var(--black);border-radius:20px;padding:.27rem .48rem;font-family:DM Mono,monospace;font-size:.62rem}.status-active{background:var(--yellow);color:var(--black)}.status-completed{background:var(--black);color:var(--white)}.status-on-hold{background:var(--white);color:var(--black);border-style:dashed}.status-cancelled,.status-inactive{background:var(--white);color:var(--black)}.project-number{color:var(--black);font-family:DM Mono,monospace;font-size:.62rem}.project-card h3{letter-spacing:-.035em;align-self:end;margin:0 0 .25rem;font-size:1.05rem}.project-card>p{color:var(--black);margin:0;font-size:.75rem}.project-card footer{border-top:1px solid var(--black);color:var(--black);margin-top:.9rem;padding-top:.75rem;font-size:.67rem}.icon-button{background:var(--yellow);color:var(--black);border:0;border-radius:50%;width:1.65rem;height:1.65rem;font-size:1rem}.empty-state{background:var(--white);border:1px dashed var(--black);text-align:center;border-radius:12px;flex-direction:column;align-items:center;margin-top:.5rem;padding:3.5rem 1rem;display:flex}.empty-state>span{color:var(--black);font-size:2rem}.empty-state h3{letter-spacing:-.04em;margin:.7rem 0 .25rem}.empty-state p{color:var(--black);margin:0 0 1.2rem;font-size:.82rem}@media (width<=760px){.login-shell,.app-shell{display:block}.login-intro{min-height:42vh;padding:1.5rem}.login-intro h1{font-size:2.7rem}.intro-stat{display:none}.login-panel{min-height:58vh}.name-fields{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:1rem;padding:1rem 1.25rem}.sidebar nav{margin:0;display:flex}.sidebar-footer,.nav-link:not(.active){display:none}.dashboard-main{padding:1.5rem}.user-menu>span{display:none}.dashboard-hero{flex-direction:column;align-items:start;gap:1.5rem}.metrics{grid-template-columns:1fr;margin-bottom:2.25rem}}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.nav-link{text-align:left;background:0 0;border:0;width:100%}.full-width{grid-column:1/-1}.hero-actions,.company-actions,.filter-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-actions{flex-shrink:0}.dashboard-hero{gap:1.5rem}.secondary-button{background:var(--white);border:1px solid var(--black);color:var(--black);border-radius:10px;padding:.78rem 1.15rem;font-weight:700}.secondary-button:hover{background:var(--yellow)}.dashboard-hero .secondary-button{border-color:var(--white);color:var(--white);white-space:nowrap;background:0 0}.dashboard-hero .secondary-button:hover{background:var(--white);color:var(--black)}.company-card{border:1px solid var(--black);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:.7rem;padding:1.25rem;display:flex}.company-card h3,.company-card p{margin:0}.company-card p{font-size:.82rem;line-height:1.5}.company-card .company-count{font-weight:800}.company-actions{margin-top:auto;padding-top:.75rem}.company-actions button{font-size:.78rem}.project-toolbar{flex-wrap:wrap;align-items:center;gap:1rem}.company-filter{gap:.3rem;font-size:.72rem;font-weight:700;display:grid}.company-filter select{background:var(--white);border:1px solid var(--black);color:var(--black);border-radius:8px;max-width:18rem;padding:.6rem}.success-notice{background:var(--yellow);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.workspace-dialog{background:var(--white);border:1px solid var(--black);color:var(--black);border-radius:16px;width:calc(100% - 2rem);max-width:42rem;max-height:calc(100dvh - 2rem);padding:1.6rem}.workspace-dialog::backdrop{background:#0000008c}.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-heading h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:1.5rem}.form-intro{margin:.7rem 0 1.5rem;font-size:.85rem;line-height:1.6}.form-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;display:grid}.workspace-form label{gap:.45rem;font-size:.8rem;font-weight:700;display:grid}.workspace-form input,.workspace-form select,.workspace-form textarea{background:var(--white);border:1px solid var(--black);color:var(--black);border-radius:8px;width:100%;min-width:0;padding:.75rem}.workspace-form textarea{resize:vertical}.form-actions{justify-content:flex-end;margin-top:1.5rem}.project-details{grid-template-columns:1fr 1.5fr;gap:.75rem 1rem;margin:1.5rem 0;font-size:.85rem;display:grid}.project-details dt{font-weight:700}.project-details dd{overflow-wrap:anywhere;margin:0}.project-description{white-space:pre-wrap;font-size:.9rem;line-height:1.6}@media (width<=1100px){.dashboard-hero{flex-direction:column;align-items:flex-start}}@media (width<=420px){.phone-input-group{grid-template-columns:1fr}}@media (width<=760px){.sidebar{flex-wrap:wrap}.sidebar .nav-link:not(.active){display:flex}.sidebar nav{gap:.25rem}.sidebar .nav-link{padding:.65rem}.form-grid{grid-template-columns:1fr}.workspace-dialog{padding:1.2rem}.project-toolbar,.filter-actions{align-items:flex-start}.company-filter select{max-width:100%}.project-card h3{overflow-wrap:anywhere}}
