html{background:#f5f6f8}.project-dialog{color:#1f2937;border:1px solid #e5e7eb;border-radius:16px;width:min(820px,100vw - 32px);max-height:calc(100dvh - 40px);padding:28px;box-shadow:0 24px 80px #11182733}.project-dialog::backdrop{background:#11182799}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.dialog-heading h2{margin:0}.dialog-heading p,.form-hint{color:#6b7280;font-size:14px;line-height:1.5}.dialog-heading p{margin:8px 0 0}.project-fields{border:0;min-width:0;margin:0;padding:0}.project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-field{flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.form-field input,.form-field select{color:#1f2937;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px;font-size:16px}.form-field input:focus-visible,.form-field select:focus-visible{outline-offset:2px;outline:3px solid #254ee5}.form-field small{color:#6b7280;font-weight:400}.project-budget-total{color:#1e3a8a;background:#eef2ff;border-radius:8px;min-height:44px;padding:11px;font-size:18px;display:block}.form-field .field-error{color:#991b1b}.form-field input[aria-invalid=true]{border-color:#b91c1c}.project-fields>.section-heading{margin-top:28px}.funding-mode{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;font-size:14px;display:flex}.funding-mode label{align-items:center;gap:6px;min-height:44px;display:flex}.investor-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;align-items:start;gap:14px;margin-top:16px;display:grid}.investor-row>button{margin-top:25px}.form-actions,.dialog-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.dialog-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;padding-top:20px}.funding-summary{background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;gap:8px;margin-top:22px;padding:16px;font-size:14px;display:grid}.funding-summary span{line-height:1.5}.funding-complete,.success-message{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.success-message{border-radius:8px;margin:18px 0;padding:14px 16px}.investor-create-form{background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;margin-top:22px;padding:18px}.investor-create-form legend{margin-bottom:18px;font-weight:600}.similar-investors{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.similar-investors p{width:100%;font-size:14px}.similar-investors button{text-align:left;overflow-wrap:anywhere;max-width:100%}.primary-button:not(:disabled){cursor:pointer}.project-fields:disabled{opacity:.7}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.project-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px}.project-form-grid,.investor-row{grid-template-columns:minmax(0,1fr)}.investor-row{border:1px solid #e5e7eb;border-radius:10px;padding:16px}.investor-row>button{justify-self:start;margin-top:0}.dialog-actions>button{flex:1}}.action-dialog{color:#1f2937;border:1px solid #e5e7eb;border-radius:16px;width:min(680px,100vw - 32px);max-height:calc(100dvh - 40px);padding:28px;box-shadow:0 24px 80px #11182733}.action-dialog::backdrop{background:#11182799}.action-dialog .dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.action-dialog .dialog-heading h2{margin:0}.action-dialog .dialog-heading p,.action-dialog .form-hint{color:#6b7280;font-size:14px;line-height:1.5}.action-dialog .dialog-heading p{margin:8px 0 0}.action-dialog .project-fields{border:0;min-width:0;margin:0;padding:0}.action-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.action-form-wide{grid-column:1/-1}.action-dialog .form-field{flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.action-dialog .form-field input,.action-dialog .form-field select{color:#1f2937;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px;font-size:16px}.action-dialog .form-field textarea{color:#1f2937;width:100%;min-width:0;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px;font-size:16px}.action-dialog .form-field input:focus-visible,.action-dialog .form-field select:focus-visible,.action-dialog .form-field textarea:focus-visible{outline-offset:2px;outline:3px solid #254ee5}.action-dialog .form-field small{color:#6b7280;font-weight:400}.action-dialog .form-field input[aria-invalid=true]{border-color:#b91c1c}.action-dialog .dialog-actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px;padding-top:20px;display:flex}.composer-tabs{background:#eef3f2;border-radius:9px;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.composer-tabs button{color:#526579;background:0 0;border:0;border-radius:7px;min-height:36px;padding:7px 11px}.composer-tabs button.active{color:#fff;background:#17605b}.budget-edit-list{gap:12px;margin-bottom:14px;display:grid}.budget-edit-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.expense-tax-toggle>span{align-items:center;gap:9px;display:flex}.expense-tax-toggle input{accent-color:#254ee5;width:19px!important;min-height:19px!important}.expense-tax-preview{background:#f8fafc;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding:15px;display:grid}.expense-tax-preview span,.expense-tax-preview strong{display:block}.expense-tax-preview span{color:#617382;font-size:13px}.expense-tax-preview strong{color:#1f2937;font-variant-numeric:tabular-nums;margin-top:5px;font-size:16px}@media (width<=600px){.action-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px}.action-form-grid{grid-template-columns:minmax(0,1fr)}.action-form-wide{grid-column:auto}.expense-tax-preview{grid-template-columns:minmax(0,1fr)}.budget-edit-row{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr;padding-bottom:12px}}.concept-catalog{max-width:980px;margin:0 auto}.catalog-heading{justify-content:space-between;align-items:end;gap:20px;margin:24px 0;display:flex}.catalog-heading h2{margin:0}.catalog-heading p{color:#617382;margin:6px 0 0;font-size:14px}.catalog-heading input{border:1px solid #cbd5e1;border-radius:8px;width:min(360px,100%);min-height:44px;padding:10px 12px}.catalog-search{border:1px solid #cbd5e1;border-radius:8px;width:min(430px,100%);min-height:44px;margin-bottom:20px;padding:10px 12px}.catalog-list{background:#fff;border:1px solid #dde5ec;border-radius:12px;overflow:hidden}.catalog-record+.catalog-record{border-top:1px solid #e5e7eb}.catalog-record>summary{cursor:pointer;align-items:center;gap:14px;padding:18px 20px;list-style:none;display:flex}.catalog-record>summary::-webkit-details-marker{display:none}.catalog-record>summary:before{content:"›";color:#6b7280;font-size:22px}.catalog-record[open]>summary:before{transform:rotate(90deg)}.catalog-record summary>span:first-of-type{flex:1}.catalog-record summary strong,.catalog-record summary small{display:block}.catalog-record summary small{color:#617382;margin-top:4px;font-size:12px}.catalog-price{font-variant-numeric:tabular-nums;font-weight:700}.catalog-record-body{padding:0 20px 18px 52px}.price-change{border-top:1px solid #edf1f5;justify-content:space-between;align-items:start;gap:20px;padding:12px 0;font-size:14px;display:flex}.price-change>div:last-child{text-align:right;font-variant-numeric:tabular-nums}.price-change small{color:#617382;margin-top:4px;display:block}@media (width<=650px){.catalog-heading{flex-direction:column;align-items:stretch}.catalog-heading input{width:100%}.catalog-record>summary{padding:15px 12px}.catalog-record-body{padding:0 12px 15px 34px}.price-change{flex-direction:column;gap:7px}.price-change>div:last-child{text-align:left}}.directory-page{max-width:1050px;margin:0 auto}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:#617382;font-size:11px;font-weight:750}.directory-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.directory-metrics article,.settings-panel{background:#fff;border:1px solid #dde5ec;border-radius:12px;padding:18px}.directory-metrics span,.directory-metrics strong{display:block}.directory-metrics span{color:#617382;font-size:12px}.directory-metrics strong{margin-top:8px;font-size:21px}.directory-toolbar{margin:20px 0}.directory-toolbar input{border:1px solid #cbd5e1;border-radius:8px;width:min(420px,100%);min-height:44px;padding:10px 12px}.directory-list{background:#fff;border:1px solid #dde5ec;border-radius:12px;overflow:hidden}.directory-record+.directory-record{border-top:1px solid #e5e7eb}.directory-record>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;list-style:none;display:flex}.directory-record>summary::-webkit-details-marker{display:none}.directory-record>summary span:first-child{flex:1}.directory-record>summary span:last-child{text-align:right}.directory-record>summary strong,.directory-record>summary small{display:block}.directory-record>summary small{color:#617382;margin-top:4px;font-size:12px}.directory-body{padding:0 20px 20px}.project-investment,.provider-price{text-align:left;background:0 0;border:0;border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px;display:flex}.project-investment:hover{background:#f8fafc}.project-investment small,.provider-price small{color:#617382;margin-top:3px;display:block}.statement-list{border:1px solid #e3e9ee;border-radius:9px;overflow:hidden}.statement-row{justify-content:space-between;align-items:flex-start;gap:18px;padding:12px;display:flex}.statement-row+.statement-row{border-top:1px solid #edf1f5}.statement-row>span:last-child{text-align:right;white-space:nowrap}.statement-row strong,.statement-row small{display:block}.statement-row small{color:#617382;margin-top:4px;line-height:1.4}.statement-positive>strong{color:#176b51}.statement-negative>strong{color:#a33d36}.settings-panel{margin-bottom:18px}.settings-invite{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.settings-invite label{gap:6px;font-size:13px;display:grid}.settings-invite input:not([type=checkbox]),.settings-invite select,.settings-user select{border:1px solid #cbd5e1;border-radius:8px;min-height:42px;padding:9px}.permission-check{align-items:center;gap:8px;display:flex!important}.settings-users{gap:10px;display:grid}.settings-user{border-top:1px solid #edf1f5;grid-template-columns:minmax(170px,1.5fr) repeat(2,minmax(140px,1fr)) minmax(170px,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.settings-reminders{color:#735c22;background:#fffbeb;border:1px dashed #d3b56e;border-radius:10px;gap:5px;padding:16px;font-size:13px;display:grid}.settings-reminders strong{margin-bottom:3px}@media (width<=800px){.directory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-user,.settings-invite{grid-template-columns:1fr}.page-heading{align-items:flex-start}.directory-record>summary{padding:15px 12px}.directory-body{padding:0 12px 15px}}@media (width<=420px){.directory-metrics{grid-template-columns:1fr}.page-heading{flex-direction:column}.heading-actions{justify-content:flex-start}.project-investment,.provider-price,.statement-row{flex-direction:column;align-items:flex-start}.statement-row>span:last-child{text-align:left}}.expense-batch-dialog{width:min(1440px,100vw - 24px);overflow-x:hidden}.expense-table-wrap{border:1px solid #dbe3ea;border-radius:10px;width:100%;overflow:auto hidden}.expense-table-wrap:has(.concept-combobox input:focus){padding-bottom:310px}.expense-entry-table{border-collapse:collapse;width:100%;min-width:1630px;font-size:13px}.expense-entry-table th{color:#617382;text-align:left;background:#f8fafc;border-bottom:1px solid #dbe3ea;padding:10px;font-weight:600}.expense-entry-table td{vertical-align:top;border-bottom:1px solid #e7edf2;padding:9px}.expense-entry-table tbody tr:last-child td{border-bottom:0}.expense-entry-table input:not([type=checkbox]){width:100%;min-width:115px;min-height:42px;font:inherit;border:1px solid #cbd5e1;border-radius:7px;padding:9px}.expense-entry-table td:nth-child(2){min-width:290px}.expense-entry-table td:nth-child(3){min-width:145px}.expense-entry-table input[aria-invalid=true]{border-color:#b91c1c}.tax-check{white-space:nowrap;align-items:center;gap:8px;min-height:42px;display:flex}.tax-check input{accent-color:#254ee5;width:19px;height:19px}.expense-row-total{font-variant-numeric:tabular-nums;min-width:100px}.expense-row-total strong,.expense-row-total small{white-space:nowrap;display:block}.expense-row-total small{color:#617382;margin-top:5px}.expense-row-action{z-index:4;text-align:right;background:#fff;min-width:92px;position:sticky;right:0;box-shadow:-8px 0 12px #fffd}.expense-entry-table th:last-child{z-index:5;background:#f8fafc;min-width:92px;position:sticky;right:0}.add-expense-row{margin-top:16px}.expense-batch-summary{background:#f8fafc;border-radius:9px;flex-wrap:wrap;justify-content:flex-end;gap:20px;margin-top:18px;padding:15px;font-size:14px;display:flex}.expense-batch-summary span{gap:8px;display:flex}.expense-final-total{color:#173e3a}.expense-category{color:#526579;min-height:42px;padding:11px 4px;display:block}.concept-combobox{position:relative}.concept-options{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:min(430px,80vw);max-height:290px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 16px 35px #11182726}.concept-options button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1f5;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;display:flex}.concept-options button:hover,.concept-options button.selected{background:#f1f5f9}.concept-options strong,.concept-options small{display:block}.concept-options small,.concept-option-price,.concept-options p{color:#617382;font-size:11px}.concept-option-price{white-space:nowrap}.concept-options p{margin:0;padding:10px 12px}.concept-options .concept-create-option{color:#254ee5;font-weight:600}@media (width<=700px){.expense-batch-dialog{overflow-x:auto}.expense-table-wrap{border:0;overflow:visible}.expense-table-wrap:has(.concept-combobox input:focus){padding-bottom:0}.expense-entry-table,.expense-entry-table tbody,.expense-entry-table tr,.expense-entry-table td{width:100%;min-width:0;display:block}.expense-entry-table thead{display:none}.expense-entry-table tr{border:1px solid #dbe3ea;border-radius:10px;margin-bottom:12px;padding:12px}.expense-entry-table td{border:0;grid-template-columns:115px minmax(0,1fr);align-items:center;gap:10px;padding:7px 0;display:grid}.expense-entry-table td:before{content:attr(data-label);color:#617382;font-size:12px}.expense-entry-table input:not([type=checkbox]){min-width:0}.expense-row-action{justify-content:flex-end;display:flex!important}.expense-row-action:before{display:none}.expense-batch-summary{justify-content:stretch;gap:10px;display:grid}.expense-batch-summary span{justify-content:space-between}}.team-list{gap:10px;max-height:48vh;padding:2px;display:grid;overflow:auto}.team-member{cursor:pointer;background:#fafbfc;border:1px solid #dbe3ea;border-radius:10px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex}.team-member:has(input:checked){background:#eef2ff;border-color:#8da2fb}.team-member input{accent-color:#254ee5;flex-shrink:0;width:20px;height:20px}.team-member span{overflow-wrap:anywhere;min-width:0}.team-member strong,.team-member small{display:block}.team-member small{color:#617382;margin-top:5px}.team-empty{margin:0}.project-detail{max-width:900px;margin:0 auto}.detail-toolbar{justify-content:space-between;gap:16px;display:flex}.detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.compact-button{min-height:40px;padding:8px 13px}.detail-back{color:#526579;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.detail-back:hover:not(:disabled){color:#254ee5}.detail-heading{margin:24px 0 28px}.detail-heading h2{letter-spacing:-.6px;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,4vw,32px)}.detail-heading h2:focus{outline:none}.detail-notice{margin:-10px 0 20px}.finance-overview{background:#fff;border:1px solid #dde5ec;border-radius:14px;overflow:hidden}.project-detail summary{cursor:pointer;align-items:center;gap:12px;min-height:48px;list-style:none;display:flex}.project-detail summary::-webkit-details-marker{display:none}.project-detail summary:before{content:"›";color:#6b7280;flex-shrink:0;font-size:22px}.project-detail details[open]>summary:before{transform:rotate(90deg)}.project-detail summary>span{overflow-wrap:anywhere;flex:1;min-width:0}.project-detail summary>strong{font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.project-detail summary:focus-visible,.detail-search input:focus-visible{outline-offset:-3px;border-radius:6px;outline:3px solid #254ee5}.money-group+.money-group{border-top:1px solid #e5e7eb}.money-group>summary{padding:26px;font-size:19px}.money-group>summary>strong{letter-spacing:-.5px;font-size:clamp(20px,3vw,28px)}.gain-group>summary{background:#f8fafc}.money-content{padding:0 26px 20px}.gain-group .money-content{padding-top:8px}.detail-search{padding:4px 0 18px;display:block}.detail-search input{width:100%;min-height:44px;font:inherit;color:#1f2937;background:#fafbfc;border:1px solid #d5dde5;border-radius:8px;padding:11px 13px}.category-group{border-top:1px solid #e5e7eb}.category-group>summary{padding:16px 0;font-size:15px;font-weight:600}.concept-list{padding-left:20px}.concept-group>summary{padding:12px 0;font-size:14px}.concept-group+.concept-group{border-top:1px solid #edf1f5}.movement-list{padding:0 0 12px 18px}.movement{background:#f8fafc;border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:start;gap:16px;padding:12px;font-size:14px;display:flex}.movement>div{overflow-wrap:anywhere;min-width:0}.movement>strong{font-variant-numeric:tabular-nums;flex-shrink:0}.movement small{color:#617382;margin-top:5px;display:block}.movement-side{font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.movement-edit{min-height:32px;padding:4px 0 0;font-size:13px}.additional-details{color:#526579;margin-top:24px}.additional-details>summary{justify-content:flex-start;font-size:14px}.additional-content{color:#1f2937;background:#fff;border:1px solid #dde5ec;border-radius:12px;margin-top:12px;padding:0 24px}.additional-content>.category-group:first-child{border-top:0}.detail-values{margin:0;padding-bottom:12px}.detail-values>div{justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;display:flex}.detail-values dt{color:#617382}.detail-values dd{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.detail-note{color:#617382;font-size:13px;line-height:1.6}.scenario-tabs{background:#e6eeee;border-radius:9px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.scenario-tabs button{color:#526579;background:0 0;border:0;border-radius:7px;padding:8px 14px}.scenario-tabs button.active{color:#fff;background:#17605b}.project-warning{color:#70591d;background:#fff3d9;border-radius:8px;margin:0 0 14px;padding:11px 14px;font-size:13px}.project-readonly{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9px;margin:-10px 0 18px;padding:12px 14px;font-size:13px}.expense-color strong{color:#a33d36}.gain-color strong{color:#176b51}.budget-scenario-row{border-top:1px solid #edf1f5;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.category-budget-content{padding-bottom:14px}.category-budget-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.category-budget-list{border-top:1px solid #edf1f5}.category-budget-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:14px 0;font-size:13px;display:grid}.category-budget-row strong,.category-budget-row small{display:block}.category-budget-row small{color:#617382;margin-top:4px}.budget-progress{background:#e5e7eb;border-radius:99px;grid-column:1/-1;height:7px;overflow:hidden}.budget-progress i{background:#254ee5;height:100%;display:block}.category-budget-row .over-budget{color:#b91c1c}@media (width<=600px){.detail-toolbar{align-items:flex-start}.detail-actions{max-width:75%}.money-group>summary{padding:20px 16px;font-size:16px}.money-content{padding:0 16px 16px}.project-detail summary{gap:8px}.project-detail summary>strong{font-size:14px}.money-group>summary>strong{font-size:20px}.additional-content{padding:0 16px}.concept-list{padding-left:10px}.movement-list{padding-left:0}.movement{padding:11px 8px}.detail-values>div{flex-wrap:wrap}.detail-values dd{margin-left:auto}}*{box-sizing:border-box}body{color:#1f2937;background:#f5f6f8;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.login-page,.center-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:420px;padding:36px;box-shadow:0 10px 30px #0000000f}.brand{margin-bottom:36px}.brand h1{margin:0;font-size:26px}.brand p{color:#6b7280;margin:4px 0 0}.login-card h2{margin-bottom:24px}.login-help{color:#526579;margin:-12px 0 18px;font-size:14px;line-height:1.55}.login-card form{flex-direction:column;gap:10px;display:flex}.login-card label{margin-top:8px;font-size:14px;font-weight:600}.login-card input{border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:12px 14px}.login-card input:focus{border-color:#111827}.field-help{color:#6b7280;font-size:12px}.login-card button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:8px;margin-top:18px;padding:12px}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card .login-secondary{color:#526579;background:0 0;width:100%;margin-top:10px}.error-message{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:8px;padding:10px;font-size:14px}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.topbar h1{margin:0;font-size:22px}.topbar p{color:#6b7280;margin:4px 0 0}.user-area{align-items:center;gap:20px;display:flex}.user-area div{flex-direction:column;align-items:flex-end;display:flex}.user-area span{color:#6b7280;font-size:13px}.logout-button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 14px}.dashboard{max-width:1200px;margin:0 auto;padding:32px}.dashboard-heading{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.dashboard-heading h2{margin:0;font-size:28px}.dashboard-heading p{color:#6b7280;margin:6px 0 0}.primary-button{color:#fff;background:#111827;border:0;border-radius:8px;padding:11px 17px;font-weight:600}.primary-button:disabled{opacity:.55}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.metric-card span{color:#6b7280;margin-bottom:10px;font-size:13px;display:block}.metric-card strong{font-size:23px}.portfolio-card,.projects-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:20px;padding:22px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading h3{margin:0}.section-heading p{color:#6b7280;margin:5px 0 0;font-size:13px}.progress-track{background:#e5e7eb;border-radius:999px;width:100%;height:9px;margin-top:16px;overflow:hidden}.progress-fill{border-radius:inherit;background:#111827;height:100%}.comparison-row{color:#6b7280;justify-content:space-between;gap:16px;margin-top:9px;font-size:13px;display:flex}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.project-card{border:1px solid #e5e7eb;border-radius:12px;padding:20px}.empty-state{text-align:center;color:#6b7280;border:1px dashed #d1d5db;border-radius:10px;margin-top:22px;padding:45px 20px}.empty-state h4{color:#374151;margin:0}.empty-state p{margin:7px 0 0}.refresh-button,.secondary-button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:11px 16px;font-weight:600}button{min-height:44px}button:disabled{cursor:not-allowed}.refresh-button:disabled,.secondary-button:disabled{color:#6b7280;background:#f5f6f8}.refresh-button:hover:not(:disabled),.logout-button:hover:not(:disabled){background:#f5f6f8}button:focus-visible,.login-card input:focus-visible{outline-offset:3px;outline:3px solid #254ee5}.dashboard-heading{gap:20px}.dashboard-heading>div,.topbar>div,.user-area>div,.project-card-top>div{min-width:0}.primary-button,.refresh-button,.logout-button{flex-shrink:0}.dashboard-error{margin-bottom:20px}.metric-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:block}.project-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-card-top h3{margin:0;font-size:18px}.project-card-top p{color:#6b7280;margin:6px 0 0;font-size:14px}.project-card-top h3,.project-card-top p,.user-area strong{overflow-wrap:anywhere}.project-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.project-values span,.project-values strong{overflow-wrap:anywhere;display:block}.project-values span{color:#6b7280;margin-bottom:6px;font-size:13px}.project-values strong{font-variant-numeric:tabular-nums;font-size:18px}.second-progress{margin-top:20px}.secondary-button{width:100%;margin-top:24px}.status-badge{color:#4b5563;background:#f3f4f6;border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:12px;font-weight:600}.status-planning{color:#4338ca;background:#eef2ff}.status-active{color:#166534;background:#dcfce7}.status-for_sale{color:#9a3412;background:#fff7ed}.status-sold{color:#1e40af;background:#eff6ff}.status-closed{color:#4b5563;background:#f3f4f6}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{flex-wrap:wrap;gap:24px}}@media (width<=700px){.topbar,.dashboard{padding:20px 16px}.topbar,.dashboard-heading{flex-direction:column;align-items:stretch}.topbar h1{font-size:20px}.user-area{justify-content:space-between;gap:12px}.user-area div{align-items:flex-start}.user-area strong{font-size:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:16px}.metric-card strong{font-size:21px}.projects-grid{grid-template-columns:minmax(0,1fr)}.portfolio-card,.projects-section,.project-card{padding:16px}.section-heading,.comparison-row,.project-card-top{flex-wrap:wrap}.login-card{padding:24px}}@media (width<=360px){.metric-grid{grid-template-columns:minmax(0,1fr)}.user-area{flex-wrap:wrap}}.shell{background:#f3f6f6;min-height:100vh}.sidebar{z-index:30;color:#fff;background:#113c39;flex-direction:column;width:220px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{color:#fff;text-align:left;letter-spacing:3px;background:0 0;border:0;min-height:0;padding:0 8px;font-size:30px;font-weight:800}.sidebar-brand span{color:#a3d2c6}.sidebar nav{gap:7px;margin-top:38px;display:grid}.sidebar nav button{color:#bed2cf;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;min-height:43px;padding:10px 12px;display:flex}.sidebar nav button i{text-align:center;width:20px;font-style:normal}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#28534f}.sidebar-user{overflow-wrap:anywhere;border-top:1px solid #ffffff26;gap:4px;margin-top:auto;padding:14px 8px 0;display:grid}.sidebar-user strong{font-size:12px}.sidebar-user span{color:#a9c5c1;font-size:11px}.sidebar-user button{color:#d4e3e1;text-align:left;background:0 0;border:0;margin-top:9px;padding:7px 0}.shell-content{min-height:100vh;margin-left:220px}.app-header{background:#fff;border-bottom:1px solid #dde5ec;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:18px 34px;display:flex}.app-header>div:first-child{display:grid}.app-header>div:first-child>strong{margin-top:3px;font-size:18px}.shell-main{max-width:1280px;margin:0 auto;padding:30px 34px 60px}.quick-create{position:relative}.quick-add{min-width:100px}.quick-menu{z-index:40;background:#fff;border:1px solid #d8e1df;border-radius:11px;width:210px;padding:6px;position:absolute;top:50px;right:0;box-shadow:0 16px 40px #18363122}.quick-menu button{text-align:left;background:#fff;border:0;border-radius:7px;width:100%;padding:10px 12px;display:block}.quick-menu button:hover{background:#edf5f3}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-heading h2{margin:4px 0;font-size:30px}.page-heading p{color:#617382;margin:0}.home-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.home-metric{background:#fff;border:1px solid #dde5ec;border-radius:12px;padding:19px}.home-metric span,.home-metric strong{display:block}.home-metric span{color:#617382;font-size:12px}.home-metric strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:22px}.home-metric.expense strong,.project-values .expense strong{color:#a33d36}.home-metric.gain strong,.project-values .gain strong{color:#176b51}.projects-toolbar{justify-content:space-between;gap:12px;margin:12px 0 18px;display:flex}.projects-toolbar select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:42px;padding:8px 11px}.progress-fill.over{background:#b84c46}.overrun{color:#a33d36;margin-top:6px;display:block}.card-warning{background:#fff3d9;border-radius:7px;padding:7px 9px;color:#70591d!important;font-size:12px!important}@media (width<=900px){.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.sidebar{width:100%;padding:14px 12px;position:static}.sidebar-brand{font-size:24px}.sidebar nav{gap:4px;margin-top:12px;display:flex;overflow-x:auto}.sidebar nav button{flex:none;min-height:38px;padding:8px 10px}.sidebar-user{display:none}.shell-content{margin-left:0}.app-header{min-height:64px;padding:12px 16px}.shell-main{padding:22px 16px 45px}.page-heading{flex-direction:column;align-items:flex-start}.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-metric{padding:14px}.home-metric strong{font-size:18px}}@media (width<=390px){.home-metrics{grid-template-columns:1fr}.sidebar nav button i{display:none}}
