@charset "UTF-8";
:root{--ink:#182923;--muted:#79817b;--green:#24634b;--green-dark:#193f32;--pale:#eaf1eb;--line:#e4e8e1;--paper:#f7f8f4;--white:#fff;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{color:#123825}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,2.5vw,38px);font-weight:650;line-height:1.15;letter-spacing:-1.4px;margin-bottom:12px}h2{font-size:20px;letter-spacing:-.45px;font-weight:600;margin-bottom:18px}h3{font-size:18px;line-height:1.35;letter-spacing:-.45px;margin-bottom:10px}p{margin-bottom:16px}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted);line-height:1.6}.eyebrow{display:block;color:var(--green);font-size:10px;font-weight:750;letter-spacing:1.7px;margin-bottom:13px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#182f26;color:#fff;padding:32px 20px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:white!important;font-size:21px;font-weight:700;letter-spacing:1px;margin-bottom:42px}.brand small{display:block;font-size:7px;letter-spacing:1.3px;color:#a5b8ad;font-weight:500;margin-top:3px}.brandmark{border:1px solid #8dab92;border-radius:9px;width:40px;height:43px;padding:5px;display:flex;align-items:center;justify-content:center;font-size:25px;color:#c9ddbd;letter-spacing:-4px}.brandmark span{font-size:18px}.navcaption{font-size:8px;letter-spacing:1.5px;color:#799589;margin:18px 10px 10px;font-weight:600}.sidebar>.navcaption{margin-top:0}.sidebar nav{flex:1}.sidebar nav a{display:flex;gap:12px;align-items:center;color:#acbfb4;padding:11px 13px;border-radius:8px;margin:3px 0;font-size:17px}.sidebar nav a span{font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{color:white;background:#304b3d}.sidebar nav a.active{box-shadow:inset 3px 0 #d4eac3}.sidebar-profile{display:flex;align-items:center;gap:10px;color:white;font-size:11px;border-top:1px solid #334b3e;padding-top:20px}.sidebar-profile small{display:block;color:#9fb5a7;margin-top:2px}.avatar{flex:none;width:32px;height:32px;border-radius:50%;background:#4a634e;color:#e6efd8;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.avatar.light{background:#edf1e7;color:#576b50}.workspace{margin-left:238px;min-height:100vh}.topbar{height:70px;background:#ffffffb3;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;font-size:12px;color:#657166}.topbar .muted{margin:0 12px}.secure{font-size:10px;color:#849085;display:flex;align-items:center;gap:6px}.secure i{width:5px;height:5px;border-radius:50%;background:#6f9874}main{padding:40px 42px;max-width:1600px;margin:auto}footer{display:flex;justify-content:space-between;margin:8px 42px 0;padding:20px 0;border-top:1px solid var(--line);font-size:10px;color:#90988f}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:4px 0 30px}.pagehead p{margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d9dfd4;background:white;color:var(--ink);border-radius:7px;padding:11px 17px;font-size:12px;font-weight:550;line-height:1.35;white-space:nowrap}.button:hover{background:#eef3e9;border-color:#b5c3ac}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:var(--green-dark)}.button.small{padding:7px 10px;font-size:11px}.button.danger{color:#914d3e}.full{width:100%;justify-content:space-between}.actions{display:flex;gap:10px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px;margin-bottom:34px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:white;min-height:151px;padding:21px 24px}.metric>span{display:block;font-size:11px;color:#778170;font-weight:500}.metric strong{display:block;font-size:41px;font-weight:500;letter-spacing:-1.4px;line-height:1.3;margin:9px 0 5px}.metric strong.money{font-size:25px;letter-spacing:-.65px;white-space:nowrap}.metric small{display:block;font-size:10px;color:#899080}.metric.accent{background:#ecf1e4;border-color:#dbe4ce}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:31px 0 16px;gap:20px}.sectionhead h2{margin:0}.sectionhead>a{font-size:11px;font-weight:550}.projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.projectcard{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 0;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.projectcard:hover{transform:translateY(-2px);border-color:#a7b39e;box-shadow:0 7px 15px #20332307}.cardtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.projecticon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #d9e3d0;background:#f2f5ed;border-radius:9px;font-size:16px;color:#729267}.badge{display:inline-flex;align-items:center;background:#f0f2ed;color:#6c766b;font-size:10px;line-height:1.3;padding:5px 9px;border-radius:5px;white-space:nowrap}.badge.green{background:#e9f2e7;color:#4f7c49}.badge.amber{background:#faf0dc;color:#937330}.projectcard p{color:#8a9184;font-size:11px;line-height:1.7;min-height:38px}.cardbottom{margin-top:auto;border-top:1px solid #edf0e9;padding:15px 0;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#7d8977}.cardbottom b{font-size:17px;color:#628458;font-weight:400}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px}.detailgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.visual-card{background:#e9efe2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.visual-card h2{font-size:29px;line-height:1.3}.visual-card p{color:#7c8775;font-size:12px}.visual-card .button{margin-top:5px}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#f1f4ed;color:#839079;font-size:9px;letter-spacing:.5px;text-transform:uppercase;font-weight:600;padding:14px 18px;white-space:nowrap}td{padding:16px 18px;border-top:1px solid #edf0e9;vertical-align:top}td strong{font-weight:550}td small{font-size:10px;line-height:1.7;max-width:430px}tr:hover td{background-color:#fbfcf8}.number{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.block{display:block}.empty{padding:38px!important;text-align:center;color:#98a18f;font-size:12px;background:white;border-radius:10px}.empty-tabs{display:flex;gap:15px;font-size:11px;color:#829177;padding-top:15px}.filterbar{display:flex;gap:10px;align-items:center;margin-bottom:22px}.filterbar input:not([type=checkbox]){max-width:380px}.filterbar select{max-width:270px}.filterbar .check{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px}.filterbar label{margin:0}input,select,textarea{border:1px solid #dfe5d7;border-radius:7px;background:#fff;color:var(--ink);padding:11px 13px;width:100%;outline:none;min-width:0;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#70956c;box-shadow:0 0 0 3px #d8e7d43b}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}select[multiple]{min-height:150px}label{display:block;font-size:12px;font-weight:550;margin-bottom:8px}label input{display:block;margin-top:8px}label.check input{margin:0}textarea{height:110px;resize:vertical}.formpanel{max-width:820px}.formpanel form p{margin-bottom:20px}.formpanel .helptext{display:block;color:#919b89;font-size:11px;margin-top:7px}.errorlist{padding:10px 15px;background:#fbeee8;color:#9f503d;border-radius:6px;list-style:none;font-size:12px}.formactions{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:12px}.back{display:inline-block;font-size:11px;color:#839076;margin-bottom:24px}.notice{padding:16px 20px;border-radius:9px;background:#eff2e9;color:#71805f;font-size:12px;line-height:1.6;margin-bottom:20px;border:1px solid #e1e7d8}.notice.success{background:#e7f2e7;color:#52764a}.notice.error{background:#fff1ea;color:#9b5844;border-color:#f1ddcf}.notice p{margin:5px 0 12px}.maxtext{max-width:740px}.personlink{display:flex;align-items:center;gap:12px}.preline{white-space:pre-line}.spaced{margin-top:24px}dl{display:grid;grid-template-columns:150px 1fr;gap:16px;margin:0;font-size:12px}dt{color:#929b88}dd{margin:0;overflow-wrap:anywhere}.panel>dl{margin:10px 0}.code{font-size:10px}.unknown{color:#a47f36}.pagination{display:flex;align-items:center;justify-content:center;gap:28px;padding:22px;font-size:11px;color:#86927b}.listrow{padding:13px 0;display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #edf0e6;font-size:12px}.listrow:last-child{border:0}.source-note{margin-top:22px}.additem{background:#edf2e7;border:1px solid #e1e8d6;border-radius:9px;padding:18px;margin-bottom:20px}.additem form{display:flex;align-items:center;gap:14px}.additem label{white-space:nowrap;font-size:11px;margin:0}.additem>a{display:inline-block;margin-top:12px;font-size:11px}.section-row td{background:#e4e8dd!important;color:#5a6850;font-size:12px;font-weight:650}.estimate-table tr.work td{background:#f7f9f3;font-weight:500}.estimate-table tr.material td:first-child{padding-left:30px;color:#7e8a71;font-style:italic}.estimate-table td:first-child{min-width:240px}.iconbutton{border:0;background:none;color:#87947c;font-size:20px}.invitelink{font-size:11px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:100px;padding:60px;background:linear-gradient(125deg,#e5eddf 0%,#f7f8f3 60%);max-width:none}.auth-intro h1{font-size:57px;line-height:1.1;letter-spacing:-2.5px;color:#244634;margin:20px 0 26px}.auth-intro p{color:#7c8e71;font-size:16px;line-height:1.7}.auth-grid{display:flex;gap:22px;font-size:10px;color:#708361;border-top:1px solid #d4decb;margin-top:60px;padding-top:20px}.auth-card{width:425px;padding:38px;background:white;border:1px solid #e0e6d8;border-radius:18px;box-shadow:0 20px 70px #33522909}.auth-card h2{font-size:28px;margin:12px 0}.auth-card form{margin-top:27px}.auth-card label{margin-top:19px}.auth-card .button{margin-top:10px}.auth-card .fine{margin:25px 0 0}.auth-card.wide{width:550px}.auth-card ul{font-size:11px;color:#8a967e}.auth-card .helptext{font-size:11px;color:#8a967e}.auth-card .muted{font-size:12px}#project-viewer iframe{width:100%;height:75vh;border:1px solid var(--line);border-radius:12px;margin-top:24px}details summary{cursor:pointer;margin:6px 0}details input{min-width:160px}details button{margin-top:8px}.messages{margin-bottom:20px}
@media(min-width:1500px){main{padding:48px 56px}.topbar{padding:0 56px}.projectgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:205px;padding:26px 14px}.workspace{margin-left:205px}main{padding:30px 26px}.topbar{padding:0 26px}.projectgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detailgrid{grid-template-columns:1fr}.filterbar{flex-wrap:wrap}.filterbar input:not([type=checkbox]){flex:1;min-width:200px}.auth-shell{gap:45px}.auth-intro h1{font-size:45px}}@media(max-width:760px){.sidebar{position:relative;width:100%;padding:15px 18px 8px;display:block}.brand{font-size:17px;margin:0 0 15px}.brandmark{width:32px;height:34px}.sidebar>.navcaption,.sidebar nav .navcaption,.sidebar-profile{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.sidebar nav a{padding:8px 11px;white-space:nowrap;font-size:13px}.sidebar nav a span{font-size:11px}.workspace{margin-left:0}.topbar{height:46px;padding:0 20px;font-size:10px}.secure{display:none}main{padding:26px 18px}.pagehead{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-bottom:24px}h1{font-size:28px;letter-spacing:-.9px}.pagehead .muted{font-size:12px}.projectgrid{grid-template-columns:1fr}.metrics{gap:10px;margin-bottom:25px}.metric{padding:16px;min-height:130px}.metric strong{font-size:31px}.metric strong.money{font-size:20px;white-space:normal}.metric>span{font-size:10px}.metric small{font-size:9px}.panel{padding:20px}.cardtop{margin-bottom:18px}.projectcard{padding:20px 20px 0}.projectcard p{min-height:0}.sectionhead h2{font-size:18px}td{padding:13px 14px}th{padding:12px 14px}.filterbar{gap:8px}.filterbar input:not([type=checkbox]),.filterbar select{max-width:none;flex:1;min-width:150px}.filterbar .check{flex:1}.auth-shell{display:block;padding:40px 20px;min-height:100vh}.auth-intro{max-width:420px;margin:0 auto 25px}.auth-intro h1{font-size:34px;letter-spacing:-1.3px}.auth-intro h1 br{display:none}.auth-intro p,.auth-grid{display:none}.auth-card,.auth-card.wide{width:100%;max-width:460px;margin:auto;padding:28px}.auth-card h2{font-size:25px}.additem form{flex-wrap:wrap}.additem label{width:100%}.additem select{flex:1;min-width:180px}dl{grid-template-columns:105px 1fr;gap:14px;font-size:11px}footer{margin:0 18px;font-size:9px;gap:15px}.actions{flex-wrap:wrap}.button{font-size:11px}.sectionhead>a{font-size:10px}}
#id_projects{max-height:320px;overflow-y:auto;border:1px solid var(--line);padding:12px;border-radius:8px}#id_projects label{display:flex;align-items:center;gap:10px;margin:9px 0}#id_projects input{flex:none;margin:0}.auth-card .errorlist{color:#9f503d}
.projectcard.illustrated{padding:0;overflow:hidden;border-radius:16px;box-shadow:0 4px 16px #18292305}.project-cover{position:relative;aspect-ratio:1.6;overflow:hidden;background:#dce5d7}.project-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-cover img[hidden]{display:none}.projectcard:hover .project-cover img{transform:scale(1.035)}.cover-status{position:absolute;right:13px;top:13px;background:#fffef7f0;color:#42523f;box-shadow:0 2px 10px #18292312}.cover-status.green{background:#e4f3e1f5;color:#315d35}.cover-type{position:absolute;left:13px;bottom:13px;border-radius:5px;background:#1d3027bf;color:#fff;padding:4px 8px;font-size:9px;letter-spacing:.5px;backdrop-filter:blur(6px)}.project-card-content{display:flex;flex:1;flex-direction:column;padding:20px 21px 0}.project-card-content h3{font-size:19px;line-height:1.3;margin:0 0 8px;letter-spacing:-.5px}.project-card-content p{font-size:11px;min-height:32px;margin-bottom:15px;color:#819078}.illustrated .cardbottom{padding:13px 0;align-items:center;font-size:10px}.card-open{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #dde6d5;border-radius:50%;font-size:15px;color:#547749;background:#f5f8ef}.cover-placeholder:not([hidden]){height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:repeating-linear-gradient(0deg,transparent,transparent 29px,#54724909 30px),repeating-linear-gradient(90deg,transparent,transparent 29px,#54724909 30px),#d7e2d1;color:#788c6d;font-size:10px}.cover-monogram{font-size:52px;font-weight:300;line-height:1.1;color:#849878}.project-cover.without-cover .cover-type{display:none}@media(prefers-reduced-motion:reduce){.project-cover img,.projectcard{transition:none}}@media(max-width:760px){.projectcard.illustrated{padding:0}.project-cover{aspect-ratio:1.75}.project-card-content{padding:18px 20px 0}.project-card-content p{min-height:0}}
