@charset "UTF-8";
:root{--ink:#23352f;--muted:#718079;--green:#235a4d;--green-dark:#193c36;--green-soft:#eaf1ed;--line:#e4e9e4;--paper:#fff;--background:#f5f7f5;--sand:#b5a17a;--radius:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--background)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #9bbbaf;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #b8d3c7;outline-offset:0;border-color:#7fa793!important}h1,h2,h3,p{margin:0}button{color:inherit}svg{display:block}.icon{width:20px;height:20px;flex-shrink:0}strong{font-weight:600}small{font-size:12px}.muted,.small-label{color:var(--muted)}.small-label{font-size:12px;line-height:1.6}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--green);color:white;padding:14px;border-radius:8px}.skip-link:focus{top:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:var(--green-dark);color:#dce6df;display:flex;flex-direction:column;padding:34px 20px 18px;position:sticky;top:0;height:100vh;min-height:640px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 14px}.logo-symbol{width:39px;height:42px;border:1px solid #748d7c;border-radius:9px;display:grid;place-items:center;color:#ded2b3}.logo-symbol .icon{width:26px;height:26px}.logo-text{display:flex;flex-direction:column;font-weight:600;font-size:25px;letter-spacing:-1.1px;color:#f4f4e9}.logo-text>span{font-size:8px;font-weight:500;letter-spacing:2.1px;color:#a6b8aa;margin-top:3px}.workspace-label{font-size:9px;letter-spacing:1.8px;color:#95aa9a;margin:55px 16px 17px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{padding:13px 16px;border-radius:8px;display:flex;align-items:center;gap:12px;color:#b8c9bd;font-weight:500;font-size:13px;transition:background .15s}.nav-item .icon{width:19px;height:19px;opacity:.85}.nav-item:hover{background:#25483e;color:#f5f5e9}.nav-item.active{background:#315346;color:#fff}.nav-mark{width:5px;height:5px;background:#d6c59d;border-radius:50%;margin-left:auto}.sidebar-note{margin:55px 14px 28px;padding:19px 0 0;border-top:1px solid #3c5749}.note-icon{color:#a6b599;margin-bottom:13px}.sidebar-note strong{font-size:12px;color:#d8e1d6;line-height:1.6}.sidebar-note p{font-size:11px;line-height:1.9;color:#9eb1a1;margin-top:7px}.sidebar-footer{margin-top:auto;border-top:1px solid #3a5447;padding-top:18px}.profile{display:flex;gap:9px;align-items:center;width:100%;border:0;background:none;text-align:left;padding:0 4px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#496756;color:#ece9d5;font-size:11px;font-weight:600;flex-shrink:0}.profile>span:nth-child(2){min-width:0;flex:1}.profile strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e1e8df;font-size:11px}.profile small{display:block;font-size:10px;color:#a0b2a5;margin-top:4px}.profile>.icon{width:16px;color:#afbeb0}.logout{background:none;border:0;display:flex;gap:9px;align-items:center;color:#a4b7a9;font-size:11px;margin-top:18px;padding:8px 5px}.logout .icon{width:15px;height:15px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:77px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.breadcrumbs{display:flex;align-items:center;gap:11px;font-size:11px;min-width:0}.breadcrumbs>span{color:var(--muted);white-space:nowrap}.breadcrumbs>strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumbs>.icon{width:12px;height:12px;color:#9ca89f}.topbar-right{display:flex;gap:23px;align-items:center}.today{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;white-space:nowrap}.today .icon{width:15px;height:15px}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:34px;height:34px;border:1px solid transparent;background:transparent;border-radius:7px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--green-soft);color:var(--green)}.mobile-menu{display:none}.demo-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;color:#7a6844;background:#faf4e7;border-bottom:1px solid #efe5ce;font-size:10px;line-height:1.5;letter-spacing:.1px}.demo-dot{width:5px;height:5px;background:#b79856;border-radius:50%;flex-shrink:0}.main-content{padding:35px 38px 30px;flex:1;max-width:1640px;width:100%;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.9px;color:#839381;margin-bottom:10px}.page-heading h1{font-size:29px;font-weight:600;line-height:1.25;letter-spacing:-.9px;overflow-wrap:anywhere}.page-heading p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce3dc;border-radius:7px;padding:10px 15px;min-height:39px;background:white;font-weight:500;font-size:11px;white-space:nowrap;transition:background .15s,border .15s}.button .icon{width:16px;height:16px}.button:hover{background:#f0f4f0;border-color:#bdcec1}.button.primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 2px 3px #173f2b0c}.button.primary:hover{background:#184638;border-color:#184638}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.text-link{border:0;background:none;color:var(--green);padding:0;font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:7px}.text-link .icon{width:15px;height:15px}.text-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:34px}.stat-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px;min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f4f6f3;color:#79907c}.stat-icon .icon{width:16px;height:16px}.stat-value{display:block;font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.5;margin-top:7px;font-variant-numeric:tabular-nums}.stat-note{color:#879188;font-size:10px;display:block;line-height:1.6;margin-top:2px}.stat-accent{background:#edf3ed;border-color:#dae5d9}.stat-accent .stat-icon{background:#dfe9dd;color:var(--green)}.stat-accent .stat-value{color:var(--green)}.section{margin-bottom:31px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.section-heading h2{font-size:17px;letter-spacing:-.3px;font-weight:600}.section-heading p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:white;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-3px);box-shadow:0 9px 20px #243c2910}.project-visual{position:relative;border-bottom:1px solid var(--line)}.architecture{width:100%;height:154px;object-fit:cover}.art-sky{fill:#eaf0e9}.art-sun{fill:#dce5cd}.art-land{fill:#d2decf}.art-front{fill:#eef0df;stroke:#aebaa4;stroke-width:1.3}.art-side{fill:#c8d2bf}.art-line{stroke:#7b907e;stroke-width:1.8;stroke-linejoin:round}.art-window{stroke:#819889;stroke-width:1.8;fill:#b6c8b8}.art-ground{stroke:#a3b49f;stroke-width:1.1}.art-tree{stroke:#889f7f;fill:#afc29d;stroke-width:1.4}.tone-1 .art-sky{fill:#f0ede4}.tone-1 .art-sun{fill:#e7d9b9}.tone-1 .art-land{fill:#e0dccb}.tone-1 .art-front{fill:#f4eee2;stroke:#c5bca4}.tone-1 .art-side{fill:#d6cdb8}.tone-1 .art-window{fill:#bdc6bd;stroke:#949d8f}.tone-2 .art-sky{fill:#e8ecee}.tone-2 .art-sun{fill:#d4e0de}.tone-2 .art-land{fill:#d1dcda}.tone-2 .art-side{fill:#c0cfca}.project-card-status{position:absolute;left:14px;top:13px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;background:#edf1ec;color:#637461;font-size:9px;font-weight:500;line-height:1.4;white-space:nowrap}.badge-dot{width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.badge.construction,.badge.developer_contract{background:#e9f1e9;color:#386345}.badge.formalities,.badge.reserved{background:#fbf1db;color:#97773b}.badge.preparation,.badge.blocked{background:#eef0ee;color:#6c7b73}.badge.sales,.badge.available{background:#e8f3ee;color:#34765b}.badge.handover{background:#ecedf8;color:#72719c}.badge.completed,.badge.ownership_transferred{background:#e9edf4;color:#546d8a}.project-card-status .badge{box-shadow:0 1px 4px #162e190b;border:1px solid #ffffff80}.project-card-body{padding:18px 18px 0}.project-developer{display:block;font-size:9px;letter-spacing:.15px;color:#8a948c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card h3{font-size:17px;font-weight:600;letter-spacing:-.4px;margin-top:7px;overflow-wrap:anywhere}.location{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);margin-top:10px;line-height:1.5}.location .icon{width:12px;height:12px}.project-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0eb;margin-top:19px;padding:13px 0}.project-card-bottom>span:first-child{display:flex;align-items:center;gap:5px;color:#7e8c80;font-size:10px}.project-card-bottom>span:first-child .icon{width:14px;height:14px;margin-right:4px}.project-card-bottom strong{color:#445b4a}.card-arrow{display:grid;place-items:center;background:#f1f5f0;color:#4e7159;border-radius:50%;width:27px;height:27px}.card-arrow .icon{width:15px;height:15px}.dashboard-bottom{display:grid;grid-template-columns:1.12fr 1fr;gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.panel-heading h2{font-size:15px;letter-spacing:-.2px}.panel-heading>.icon{width:17px;height:17px;color:#91a08f}.status-bars{display:flex;flex-direction:column;gap:17px}.status-bar-row{display:grid;grid-template-columns:154px minmax(35px,1fr) 18px;gap:10px;align-items:center;font-size:10px}.status-bar-row>span{display:flex;align-items:center;gap:8px;color:#637268}.status-bar-row>strong{text-align:right;font-variant-numeric:tabular-nums;color:#4b6050}.status-swatch{width:6px;height:6px;background:#438567;border-radius:2px}.status-swatch.blocked{background:#c6cec5}.status-swatch.reserved{background:#d9bd7e}.status-swatch.developer_contract{background:#819a6c}.status-swatch.ownership_transferred{background:#8398ad}progress{appearance:none;-webkit-appearance:none;border:0;width:100%;height:6px;border-radius:5px;overflow:hidden;background:#f0f3ed}progress::-webkit-progress-bar{background:#f0f3ed;border-radius:5px}progress::-webkit-progress-value{background:#438567;border-radius:5px}progress.blocked::-webkit-progress-value{background:#c6cec5}progress.reserved::-webkit-progress-value{background:#d9bd7e}progress.developer_contract::-webkit-progress-value{background:#819a6c}progress.ownership_transferred::-webkit-progress-value{background:#8398ad}progress::-moz-progress-bar{background:#438567}.panel-footnote{font-size:9px;line-height:1.7;color:#8c978b;border-top:1px solid #edf0e9;margin-top:23px;padding-top:13px}.activity-list{display:flex;flex-direction:column;gap:16px;max-height:229px;overflow:auto}.activity-item{display:flex;gap:12px}.activity-dot{height:7px;width:7px;border:2px solid #aac0a6;border-radius:50%;margin-top:5px;flex-shrink:0}.activity-item>div{display:flex;flex-direction:column;gap:4px;min-width:0}.activity-item strong{font-size:11px;color:#576d5a}.activity-item span{font-size:10px;color:#7b897e;overflow-wrap:anywhere}.activity-item small{font-size:9px;color:#99a393}.page-footer{display:flex;justify-content:space-between;gap:20px;color:#99a396;padding:17px 38px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.15px}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:white;border:1px solid var(--line);padding:12px 14px;border-radius:10px}.search-field{position:relative;display:flex;align-items:center;gap:8px;flex:1;min-width:150px}.search-field .icon{width:17px;height:17px;color:#92a08f;position:absolute;left:9px}.search-field input{border:0;background:transparent;width:100%;padding:9px 10px 9px 34px;font-size:11px;color:var(--ink);border-radius:6px}.filter-selects{display:flex;gap:9px;flex-wrap:wrap}.filter-selects select{font-size:10px;background:#fafbf8;border:1px solid #e4e9e1;border-radius:6px;padding:9px 27px 9px 10px;max-width:220px;color:#687a68}.results-caption{font-size:10px;color:#8a9788;margin:18px 1px}.empty-state{padding:50px 25px;border:1px dashed #d5dfd1;border-radius:12px;text-align:center;background:#ffffff80}.empty-state>.icon{width:32px;height:32px;color:#9caf98;margin:0 auto 17px}.empty-state h2{font-size:18px;line-height:1.5}.empty-state p{font-size:12px;color:var(--muted);margin:8px auto 20px;max-width:500px;line-height:1.8}.empty-state .text-link{margin:15px}.back-link{font-size:11px;color:#7e8f7b;display:inline-block;margin-bottom:23px}.back-link:hover{color:var(--green)}.project-summary{display:grid;grid-template-columns:1.2fr 1fr;background:#edf2e9;border:1px solid #dfe7da;border-radius:13px;overflow:hidden;margin-bottom:22px}.summary-content{padding:26px 28px;min-width:0}.summary-content h2{font-size:27px;font-weight:500;line-height:1.3;letter-spacing:-.8px;margin-top:17px;color:#38583d}.summary-content>p{font-size:11px;color:#7b8974;line-height:1.9;margin-top:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:430px}.summary-team{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:23px;font-size:10px;color:#73866c}.summary-team>.icon{width:15px;height:15px}.summary-team>a{color:#446447;font-weight:500;font-size:9px}.summary-art{display:flex;align-items:center;overflow:hidden}.summary-art .architecture{height:auto;min-width:410px;width:100%}.summary-art .art-sky{fill:transparent}.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:31px}.detail-stats .stat-card{padding:14px 17px}.detail-stats .stat-value{font-size:25px}.detail-stats .stat-icon{width:25px;height:25px}.table-wrap{width:100%;overflow-x:auto;background:white;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px;white-space:nowrap}th{font-size:9px;color:#879482;font-weight:500;background:#fafbf8;padding:15px 18px;border-bottom:1px solid var(--line);letter-spacing:.15px}td{padding:15px 18px;border-bottom:1px solid #edf0e9;color:#6f7e6b;max-width:340px;white-space:normal;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}tr:hover td{background:#fbfcf9}td strong{font-weight:500;color:#4a5f48}td .badge{font-size:8px}.unit-name{display:flex;align-items:center;gap:9px;white-space:nowrap}.unit-icon{width:29px;height:29px;background:#f0f5ed;border-radius:6px;display:grid;place-items:center;color:#8ca083}.unit-icon .icon{width:16px;height:16px}.upcoming-module{display:flex;align-items:center;gap:16px;background:#eef2eb;border-radius:11px;padding:19px 22px;border:1px solid #e1e8dc;margin-top:25px}.upcoming-module>.icon{color:#819476;width:27px;height:27px}.upcoming-module>div{flex:1}.upcoming-module strong{display:block;font-size:12px;font-weight:500;color:#657b5b}.upcoming-module div>span{display:block;font-size:10px;color:#8b9982;margin-top:6px;line-height:1.6}.tag{display:inline-flex;align-items:center;justify-content:center;font-size:8px;letter-spacing:.6px;padding:6px 9px;border:1px solid #d4dfcd;color:#859578;border-radius:5px;white-space:nowrap}.developer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.developer-card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.developer-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.company-avatar{display:grid;place-items:center;width:43px;height:43px;background:#eaf1e6;border-radius:10px;color:#728e65}.developer-card h2{font-size:17px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.developer-card>.small-label{margin-top:5px}.company-info{display:flex;flex-direction:column;gap:12px;margin-top:21px;font-size:11px;color:#8a9684}.company-info>span{display:flex;align-items:center;gap:9px;line-height:1.7}.company-info .icon{width:14px;height:14px;flex-shrink:0}.company-info a{color:var(--green)}.company-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:23px;padding-top:17px;font-size:11px;color:#7c8b74}.company-bottom strong{color:#4d6844}.user-cell{display:flex;align-items:center;gap:11px}.avatar.light{background:#edf2e7;color:#7a9068}.user-cell>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.user-cell small{font-size:10px;color:#8a9682}.role-label{display:flex;align-items:center;gap:6px;font-size:10px}.role-label .icon{width:14px;height:14px}.role-explainer{display:flex;gap:15px;align-items:center;padding:20px;background:#edf3e9;border:1px solid #dce7d6;border-radius:11px;margin-bottom:26px}.role-explainer-icon{background:#dfead7;border-radius:8px;padding:10px;color:#729462}.role-explainer strong{font-size:12px;font-weight:500;color:#57734b}.role-explainer p{font-size:11px;color:#7e9074;line-height:1.8;margin-top:4px}.capability-list{display:flex;flex-direction:column;gap:15px;margin-top:23px}.capability-list>span{display:flex;gap:8px;align-items:center;font-size:12px;color:#79916d}.capability-list .icon{width:16px;height:16px}.next-module .eyebrow{display:block}.next-module h2{font-size:23px;font-weight:500;margin:15px 0 11px}.next-module p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}
dialog{padding:0;border:1px solid #dce4d7;border-radius:14px;width:min(640px,calc(100% - 28px));max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:0 25px 100px #132b2250;background:white}dialog::backdrop{background:#172d255c;backdrop-filter:blur(3px)}.modal-header{padding:24px 25px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.modal-header h2{font-size:21px;letter-spacing:-.5px;font-weight:600;line-height:1.4}.modal-header p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:5px}.modal-body{padding:23px 25px;max-height:calc(100dvh - 245px);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 25px;border-top:1px solid var(--line);background:#fcfdfb;border-radius:0 0 14px 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:11px;font-weight:500;color:#58704e}.field b{color:#a5844c;font-weight:400}.wide{grid-column:1/-1}.field input,.field select,.field textarea{background:white;color:#3a5134;border:1px solid #dce4d7;border-radius:6px;min-width:0;width:100%;padding:11px 12px;font-size:12px;line-height:1.5;transition:border-color .15s}.field textarea{resize:vertical;min-height:84px}.field input::placeholder,.field textarea::placeholder{color:#a1ad99}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:#b57668}.field-hint{font-size:10px;line-height:1.6;color:#8d9b82}.field-error{font-size:10px;color:#a76152;line-height:1.6}.field-error:empty{display:none}.form-error{font-size:12px;color:#a15241;background:#fff1ec;border:1px solid #f2d8cf;border-radius:7px;padding:11px 13px;line-height:1.8;margin-bottom:18px}.inline-fieldset,.assignment-fieldset{border:1px solid #dce6d5;border-radius:8px;background:#f7faf3;padding:16px;margin:0}.inline-fieldset{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inline-fieldset legend,.assignment-fieldset legend{font-size:11px;font-weight:500;color:#748c64;padding:0 5px}.assignment-fieldset>p{font-size:10px;line-height:1.7;color:#8a9b7e;margin-bottom:12px}.checkbox-row{display:flex;gap:11px;align-items:center;padding:11px 1px;border-top:1px solid #e3eadb}.checkbox-row input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.checkbox-row>span{display:flex;flex-direction:column;gap:4px}.checkbox-row strong{font-size:11px;color:#5c7750;font-weight:500}.checkbox-row small{font-size:9px;color:#91a084}.about-copy p{font-size:12px;line-height:1.9;color:#7b8d6f;margin-bottom:14px}.account-description{display:flex;flex-direction:column;gap:9px;align-items:flex-start;padding:14px 16px;border-radius:8px;background:#f2f6ed;margin-bottom:5px}.account-description>span{font-size:11px;color:#8a9b7e}.account-description strong{font-size:13px;font-weight:500}.account-description .tag{font-size:8px}.toast{background:#224d39;color:#f4f7ed;padding:14px 21px;font-size:12px;border:1px solid #527351;border-radius:9px;box-shadow:0 10px 30px #18351e21;max-width:440px;line-height:1.7}#toasts{position:fixed;bottom:25px;right:25px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:calc(100% - 40px)}.initial-loader,.page-loading{display:flex;justify-content:center;align-items:center;gap:13px;padding:100px 30px;color:var(--muted);font-size:13px}.initial-loader{min-height:100vh}.loader{display:inline-block;width:19px;height:19px;border:2px solid #d0ddc7;border-top-color:#557f44;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.startup-error{max-width:650px;margin:12vh auto;padding:30px;line-height:1.8}.startup-error>.icon{margin-bottom:20px}.startup-error h1{font-size:25px;margin-bottom:20px}.startup-error p{font-size:13px;color:var(--muted);margin-bottom:20px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{background:var(--green-dark);color:#ebeddf;display:flex;flex-direction:column;padding:44px 48px;position:relative;overflow:hidden;min-height:700px}.login-story .brand{padding:0}.login-story-copy{margin-top:95px;z-index:1}.login-story-copy .eyebrow{color:#93ab90;font-size:9px}.login-story-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:48px;font-weight:400;line-height:1.21;letter-spacing:-1.7px;margin:23px 0}.login-story-copy p{font-size:13px;line-height:2;color:#a8bfa4}.login-story>.architecture{height:auto;width:calc(100% + 110px);align-self:center;margin-top:45px;opacity:.78}.login-story .art-sky{fill:transparent}.login-story .art-front{fill:#526f56;stroke:#8ca282}.login-story .art-side{fill:#2b513e}.login-story .art-window{fill:#79947a;stroke:#a2b69a}.login-story .art-line{stroke:#9db28f}.login-story .art-sun{fill:#a1b68a;opacity:.35}.login-story .art-land{fill:#254d38}.login-story .art-ground{stroke:#537247}.login-story .art-tree{fill:#496f42;stroke:#8eaa79}.login-story-footer{margin-top:auto;padding-top:38px;font-size:9px;letter-spacing:.5px;color:#7e9b7a}.login-main{display:grid;place-items:center;padding:60px 40px}.login-form-wrap{width:100%;max-width:350px}.login-small-logo{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:600;letter-spacing:2px;color:#8b9c7f;margin-bottom:32px}.login-small-logo .icon{width:20px;height:20px;color:#7a9570}.login-form-wrap h2{font-size:30px;font-weight:600;letter-spacing:-1px}.login-form-wrap>p{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.8}.login-form-wrap form{margin-top:32px;display:flex;flex-direction:column;gap:20px}.login-form-wrap input{padding:13px 14px}.login-submit{margin-top:5px;justify-content:space-between;padding:13px 16px;font-size:12px}.demo-login{border:1px solid #e1e8d9;background:#f7faf3;border-radius:9px;padding:18px;margin-top:28px}.demo-login .tag{font-size:7px;letter-spacing:.6px}.demo-login p{font-size:11px;line-height:1.8;color:#8a9c7c;margin:12px 0}.demo-login .button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-login .button{font-size:9px;padding:8px}.demo-login .button .icon{width:13px;height:13px}.demo-login small{display:block;font-size:9px;color:#9bab8e;margin-top:10px;line-height:1.6}.login-security{display:flex;align-items:center;gap:7px;color:#98a58d;font-size:9px;line-height:1.7;margin-top:32px}.login-security .icon{width:13px;height:13px}.login-help{font-size:11px;color:var(--muted);line-height:1.9;margin-top:25px}
@media(min-width:1600px){.main-content{padding-top:42px}.architecture{height:180px}.sidebar{padding-left:25px;padding-right:25px}.app-shell{grid-template-columns:260px minmax(0,1fr)}.stat-card{padding:21px 24px}.project-card-body{padding:21px 23px 0}.project-card-bottom{padding:17px 0}.sidebar-note{margin-top:70px}}
@media(max-width:1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:13px;padding-right:13px}.brand{padding:0 10px}.logo-text{font-size:23px}.logo-text>span{font-size:7px}.main-content{padding:28px 25px}.topbar{padding:0 25px}.stats-grid{gap:11px}.stat-card{padding:15px}.stat-top{font-size:10px}.project-grid{gap:13px}.project-card-body{padding:17px 14px 0}.project-card h3{font-size:16px}.architecture{height:135px}.dashboard-bottom{grid-template-columns:1fr 1fr;gap:15px}.panel{padding:19px}.status-bar-row{grid-template-columns:132px minmax(20px,1fr) 15px;font-size:9px;gap:8px}.panel-heading{flex-wrap:wrap}.panel-heading .small-label{font-size:9px}.detail-stats{gap:10px}.summary-content{padding:22px}.summary-content h2{font-size:25px}.summary-art .architecture{min-width:350px}.filter-bar{flex-wrap:wrap}.filter-selects{max-width:100%}.filter-selects select{max-width:210px}.login-story{padding:40px 34px}.login-story-copy h1{font-size:42px}.login-story-copy{margin-top:90px}}
@media(max-width:960px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr}.architecture{height:145px}.page-heading h1{font-size:26px}.page-heading{align-items:flex-start}.page-heading>.button{margin-top:22px}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.project-summary{grid-template-columns:1fr}.summary-art{display:none}.summary-content h2 br{display:none}.developer-grid{grid-template-columns:1fr}.login-story-copy h1{font-size:35px}.login-story{padding:35px 27px}.login-main{padding:40px 28px}.login-story-copy p{font-size:11px}.login-form-wrap h2{font-size:27px}.login-small-logo{font-size:8px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;left:-250px;top:0;width:235px;min-height:0;height:100dvh;transition:left .2s;box-shadow:8px 0 40px #12281d22;padding-top:25px}.menu-open .sidebar{left:0}.mobile-menu{display:inline-flex}.topbar{height:63px;padding:0 18px;gap:10px}.topbar-right{gap:7px}.today{font-size:9px;gap:6px}.today .icon{width:13px;height:13px}.breadcrumbs{gap:7px;font-size:10px}.breadcrumbs>span{display:none}.breadcrumbs>.icon{display:none}.main-content{padding:24px 18px}.demo-banner{font-size:9px;padding:7px 14px}.demo-banner-detail{display:none}.page-heading{gap:12px;flex-wrap:wrap;margin-bottom:23px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.page-heading>.button{margin-top:2px}.eyebrow{font-size:8px;letter-spacing:1.5px}.stats-grid{gap:10px;margin-bottom:27px}.stat-card{padding:14px}.stat-value{font-size:28px}.stat-top{font-size:10px}.stat-note{font-size:9px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.section-heading h2{font-size:16px}.section-heading p{font-size:10px}.section-heading>.text-link{font-size:10px;margin-top:3px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.architecture{height:120px}.project-card-status{left:9px;top:9px}.project-card-body{padding:14px 12px 0}.project-card h3{font-size:15px}.project-developer{font-size:8px}.project-card-bottom{margin-top:13px;padding:10px 0}.project-card-bottom>span:first-child{font-size:9px;gap:3px}.project-card-bottom>span:first-child .icon{display:none}.location{font-size:9px}.project-card .badge{font-size:8px;padding:4px 6px}.dashboard-bottom{gap:15px}.page-footer{padding:15px 18px;font-size:8px}.filter-bar{padding:10px;gap:8px}.filter-selects{width:100%;display:grid;grid-template-columns:1fr 1fr}.filter-selects select{width:100%;max-width:none;min-width:0;padding-left:8px;padding-right:20px;font-size:9px}.search-field{min-width:0;flex-basis:100%}.back-link{margin-bottom:18px}.summary-content{padding:21px}.summary-content h2{font-size:22px}.summary-content>p{font-size:11px}.summary-team{font-size:9px;gap:6px}.summary-team>a{width:100%;margin-left:21px;margin-top:3px}.detail-stats{gap:10px;margin-bottom:27px}.detail-stats .stat-card{padding:13px}.upcoming-module{padding:16px;align-items:flex-start;gap:10px;flex-wrap:wrap}.upcoming-module>div{min-width:160px}.upcoming-module>.tag{margin-left:36px}.developer-card{padding:21px}.role-explainer{padding:16px;align-items:flex-start;gap:11px}.role-explainer p{font-size:10px}.role-explainer-icon{padding:8px}.role-explainer strong{font-size:11px}.table-wrap table{min-width:620px}th,td{padding:13px 14px}.login-shell{grid-template-columns:1fr}.login-story{min-height:0;padding:25px 28px 27px}.login-story-copy{margin-top:30px}.login-story-copy h1{font-size:34px;margin:14px 0 12px;line-height:1.15}.login-story-copy h1 br{display:none}.login-story-copy p{font-size:11px}.login-story>.architecture{display:none}.login-story-footer{display:none}.login-story .brand .logo-text{font-size:22px}.login-story .brand .logo-symbol{height:34px;width:34px}.login-story .brand .logo-symbol .icon{width:22px;height:22px}.login-main{padding:35px 26px 40px}.login-form-wrap{max-width:430px}.login-small-logo{display:none}.login-form-wrap h2{font-size:26px}.login-form-wrap form{margin-top:25px}.login-security{margin-top:24px}.demo-login{margin-top:23px}.demo-login .button{font-size:11px}.demo-login .button .icon{width:16px;height:16px}.demo-login .tag{font-size:8px}.demo-login small{font-size:10px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.field input,.field select,.field textarea{font-size:16px}.inline-fieldset{grid-template-columns:1fr}.modal-header{padding:21px 20px 17px}.modal-body{padding:20px;max-height:calc(100dvh - 235px)}.modal-footer{padding:15px 20px}.modal-header h2{font-size:20px}.field>span{font-size:12px}.field-hint,.field-error{font-size:11px}.checkbox-row{min-height:50px}.checkbox-row strong{font-size:12px}.checkbox-row small{font-size:10px}.modal-footer .button{min-height:43px}.toast{font-size:12px}.icon-button{min-width:38px;min-height:38px}}
@media(max-width:390px){.project-grid{grid-template-columns:1fr}.architecture{height:155px}.project-card-body{padding:17px 18px 0}.project-card h3{font-size:18px}.project-developer{font-size:10px}.project-card-bottom>span:first-child{font-size:11px}.location{font-size:11px}.project-card-status{top:13px;left:13px}.project-card .badge{font-size:9px}.status-bar-row{grid-template-columns:124px minmax(25px,1fr) 15px;gap:7px}.main-content{padding-left:15px;padding-right:15px}.topbar{padding-left:12px;padding-right:12px}.today .icon{display:none}.stats-grid{gap:9px}.stat-card{padding:12px}.stat-top{font-size:9px}.stat-icon{height:24px;width:24px}.stat-note{font-size:8px}.stat-value{font-size:27px}.page-heading h1{font-size:25px}.summary-content{padding:18px}.upcoming-module>div{min-width:140px}.panel{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Investment list: ongoing and completed projects share the same filters. */
.project-list-section{margin-top:28px}.project-list-section+.project-list-section{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}.project-list-section .section-heading h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;padding:4px 8px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:500;letter-spacing:0;font-variant-numeric:tabular-nums}.project-section-empty{padding:22px;border:1px dashed #d5dfd1;border-radius:10px;background:#ffffff80;color:var(--muted);font-size:12px;line-height:1.8}
