:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.4;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;color:#1f2937}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#eef4ff,#f7f9fc 45%,#f2f4f7)}.card{width:100%;max-width:980px;background:#fff;border:1px solid #d8dee7;border-radius:16px;padding:28px;box-shadow:0 14px 36px #0f172a14}.pageAuth{align-items:stretch;padding:0}.cardAuth{max-width:none;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0;border:none;box-shadow:none;padding:20px 24px 24px}h1{margin:0;font-size:2rem;color:#1a2433}.headerRow{display:flex;justify-content:space-between;align-items:center;gap:12px}.topRight{display:flex;align-items:center;gap:10px}.userLabel{color:#36475f;font-size:14px;font-weight:600;white-space:nowrap}.localeSelect{border:1px solid #c6cfdb;border-radius:8px;background:#fff;color:#1a2433;font-size:14px;font-weight:600;padding:7px 10px}.subtitle{margin:8px 0 22px;color:#5a677a}.form{display:grid;gap:14px}.field{display:grid;gap:8px;color:#24324a;font-weight:600;text-align:left}.field input{border:1px solid #c6cfdb;border-radius:10px;font-size:16px;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field textarea{border:1px solid #c6cfdb;border-radius:10px;font-size:16px;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;resize:none;font-family:inherit}.searchableDropdownInputWrap{position:relative}.searchableDropdownInputWrap input{width:100%;padding-right:38px}.searchableDropdownClearButton{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:20px;height:20px;margin-top:0;padding:0;border:none;background:transparent;color:#54647f;font-size:18px;line-height:1}.field select{border:1px solid #c6cfdb;border-radius:10px;font-size:16px;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;background:#fff;color:#1a2433}.selectWithClear{position:relative}.selectWithClear select{width:100%;padding-right:58px}.selectWithClear .searchableDropdownClearButton{right:28px}.field input:focus{border-color:#4a7fef;box-shadow:0 0 0 3px #4a7fef29}.field textarea:focus{border-color:#4a7fef;box-shadow:0 0 0 3px #4a7fef29}.tagCheckboxGrid{display:flex;flex-wrap:wrap;gap:8px}.tagCheckbox{display:inline-flex}.tagCheckboxSurface{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #c6cfdb;border-radius:999px;font-weight:500}.tagCheckbox input{margin:0}.tagInputRow{display:flex;gap:8px}.tagInputRow input{flex:1}.tagInputRow button{margin-top:0;white-space:nowrap}.tagChipList{display:flex;flex-wrap:wrap;gap:8px}.tagChip{display:inline-flex;align-items:center;gap:8px}.tagChipSurface{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #c6cfdb;border-radius:999px;font-weight:500}.tagChipRemoveButton{margin-top:0;width:20px;height:20px;padding:0;border:none;border-radius:999px;background:transparent;color:#54647f;font-size:16px;line-height:1}.tagColorBadgeList{display:flex;flex-wrap:wrap;gap:8px}.tagColorBadge{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #c6cfdb;border-radius:999px;font-weight:600;line-height:1.3}.field select:focus{border-color:#4a7fef;box-shadow:0 0 0 3px #4a7fef29}button{margin-top:4px;border:none;border-radius:10px;background:#205cc9;color:#fff;padding:11px 14px;font-size:15px;font-weight:700;cursor:pointer}button:disabled{opacity:.7;cursor:not-allowed}.logoutButton{margin-top:0;background:#205cc9;padding:9px 12px}.loginOpenButton{margin-top:0;padding:9px 12px}.tabs{display:flex;gap:8px;margin:16px 0 0}.tabButton{margin-top:0;border:1px solid #c6cfdb;background:#fff;color:#24324a;font-weight:600;padding:10px 14px}.tabButton.active{background:#205cc9;border-color:#205cc9;color:#fff}.tabContent{flex:1;display:flex;flex-direction:column;margin-top:14px;border:1px solid #d8dee7;border-radius:10px;padding:16px;min-height:0;overflow:hidden;background:#fbfcff}.adminSection{display:flex;flex-direction:column;gap:12px;height:100%}.adminTabs{display:flex;gap:8px}.adminTabContent{flex:1;min-height:0;border:1px solid #d7dfe9;border-radius:8px;background:#fff;padding:12px}.adminActions{display:flex;justify-content:flex-start;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e6ebf2}.searchableDropdown+.adminActions{margin-top:8px}.searchableDropdown{position:relative;display:grid;gap:12px;max-width:520px}.searchableDropdownList{position:absolute;max-height:260px;overflow:auto;border:1px solid #c6cfdb;border-radius:10px;background:#fff;box-shadow:0 12px 30px #0f172a26;padding:6px;z-index:5}.searchableDropdownListPortal{position:fixed;z-index:1200}.searchableDropdownOption{width:100%;margin-top:0;text-align:left;background:#fff;color:#1a2433;border:1px solid transparent;padding:8px 10px;border-radius:8px}.searchableDropdownOption:hover{background:#f3f7ff}.searchableDropdownOption.active{background:#205cc9;color:#fff}.usersTableBlock{margin-top:12px}.createTenantButton{margin-top:0;padding:8px 12px}.fundsPanel{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.goalsDashboard{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.goalWorkspace{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:auto}.goalWorkspaceHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.goalWorkspaceHeaderText{display:grid;gap:0}.goalBackButton{margin-top:0;justify-self:start;padding:8px 12px;background:#fff;border:1px solid #c6cfdb;color:#24324a}.goalWorkspaceActions{display:flex;gap:10px}.goalWorkspaceActions>button{margin-top:0;min-width:104px;height:40px;padding:0 14px}.goalWorkspaceBody{flex:1;min-height:0;overflow:auto}.goalWorkspaceCard{display:flex;flex-direction:column;gap:14px;height:auto;min-height:100%;overflow:visible;padding:16px;border:1px solid #d7dfe9;border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a0a}.goalWorkspaceDetailsCard{display:flex;flex-direction:column;gap:0;padding:16px;border:1px solid #d7dfe9;border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a0a}.goalWorkspaceDetailsGrid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:14px 16px;align-items:end}.goalWorkspaceDescriptionField{min-width:0;width:100%}.goalWorkspaceDescriptionField textarea{min-height:40px}.goalDescriptionCompact textarea{resize:vertical}.goalWorkspaceMetaRow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 16px;align-items:end;min-width:0;width:100%}.goalWorkspaceMetaRow .field{min-width:0}.goalReadonlyMetricValue{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid #d7dfe9;border-radius:10px;background:#f6f8fc;color:#24324a;font-size:16px;font-weight:600;box-sizing:border-box}.goalReadonlyMetricValueOverfunded{color:#1f6b3b;background:#eef9f1;border-color:#b9e3c4;font-weight:700}.goalReadonlyMetricValueUnderfunded{color:#8a6500;background:#fff8e6;border-color:#f0d48a;font-weight:700}.goalWorkspaceMain{min-height:100%;height:auto}.goalWorkspaceCard h3{margin:0;color:#1a2433}.goalWorkspacePlaceholder{justify-content:center;align-items:center;text-align:center;color:#5a677a}.kanbanHeader{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:44px;padding-bottom:0;border-bottom:1px solid #e6ebf2}.kanbanHeader .createTenantButton{grid-column:1;justify-self:start}.kanbanHeader h3{grid-column:2;margin:0;justify-self:center}.kanbanColumnsHeader{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;color:#2d3f5e;font-weight:700;min-height:44px;padding:0;border-bottom:1px solid #edf2f8;align-items:center}.kanbanColumnsHeader span{display:block;text-align:center;white-space:normal;padding:0 8px;border-radius:8px;line-height:1.2}.kanbanCard{gap:0}.goalWorkspacePlaceholder p{margin:0}.kanbanBoard{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;flex:1;min-height:260px}.kanbanColumn{border:1px solid #e6ebf2;border-radius:10px;background:#f8faff;padding:10px;overflow:auto;display:flex;flex-direction:column;gap:10px}.kanbanColumn p{margin:0;color:#5a677a;text-align:center}.kanbanCaseCard{border:1px solid #d7dfe9;border-radius:10px;background:#fff;padding:10px;box-shadow:0 6px 14px #0f172a0d;display:flex;flex-direction:column;gap:8px}.kanbanCaseCardBusy{opacity:.65}.kanbanCaseCard h4{margin:0;color:#1a2433;font-size:15px;line-height:1.3}.kanbanCaseTitleButton{margin-top:0;padding:0;border:none;background:transparent;color:#205cc9;font-size:15px;font-weight:700;line-height:1.3;text-align:left;text-decoration:underline;align-self:flex-start}.kanbanCaseTitleButton:hover{color:#17479b}.kanbanCaseMeta{display:flex;flex-direction:column;gap:4px;color:#5a677a;font-size:13px}.kanbanColumnApproved{background:#eaf8ee}.kanbanColumnRejected{background:#fdeaea}.goalsToolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.goalsToolbarControls{display:flex;gap:12px;flex-wrap:wrap}.goalsToolbarField{min-width:220px}.goalsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,380px));gap:16px;overflow:auto;padding-right:4px;justify-content:start;align-content:start}.goalCard{display:flex;flex-direction:column;gap:14px;min-height:0;width:100%;padding:16px;border:1px solid #d7dfe9;border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a0a}.goalCardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.goalStatusBadge{padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}.goalStatusBadgegreen{background:#eaf8ee;color:#1f7a39}.goalStatusBadgeyellow{background:#fff6df;color:#946200}.goalStatusBadgered{background:#fdeaea;color:#b42318}.goalStatusBadgeneutral{background:#eef2f8;color:#52627a}.goalOpenButton{margin-top:0;padding:8px 12px}.goalCardDescription{margin:0;color:#24324a;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.goalProgressBar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e7edf6}.goalProgressBarFill{height:100%;border-radius:999px;transition:width .2s ease}.goalProgressBarFillgreen{background:linear-gradient(90deg,#47b35e,#2f9148)}.goalProgressBarFillyellow{background:linear-gradient(90deg,#f4c542,#d6a11e)}.goalProgressBarFillred{background:linear-gradient(90deg,#e26a6a,#c73b3b)}.goalProgressBarFillneutral{background:linear-gradient(90deg,#9dafc8,#7889a2)}.goalCardMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.goalMetric{display:flex;flex-direction:column;gap:4px;min-width:0}.goalMetricValueWarning{color:#8a6500}.goalMetricValueSuccess{color:#1f6b3b}.goalMetricLabel{color:#68778f;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.fundsTableWrap{flex:1;min-height:0;overflow:auto;border:1px solid #d7dfe9;border-radius:8px;background:#fff}.fundsTable{width:100%;border-collapse:collapse;font-size:14px}.fundsTable th,.fundsTable td{padding:10px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid #e6ebf2;white-space:nowrap}.fundsTable th{position:sticky;top:0;background:#f6f8fc;color:#2d3f5e;font-weight:700;z-index:1}.resizableHeaderCell{position:sticky}.resizableHeaderContent{position:relative;display:flex;align-items:center;min-height:22px;padding-right:12px}.columnResizeHandle{position:absolute;top:-10px;right:-12px;width:16px;height:calc(100% + 20px);cursor:col-resize}.columnResizeHandle:before{content:"";position:absolute;top:12px;bottom:12px;left:7px;width:2px;border-radius:999px;background:#c9d3e1;opacity:0;transition:opacity .15s ease,background-color .15s ease}.resizableHeaderCell:hover .columnResizeHandle:before,.columnResizeHandle:hover:before{opacity:1}.columnResizeHandle:hover:before{background:#7e93b2}.tableSortButton{margin-top:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;display:inline-flex;align-items:center;gap:6px}.tableSortArrow{color:#73839b;font-size:10px;line-height:1}.fundNameCell{font-weight:600}.fundTagsCell{min-width:220px;white-space:normal}.goalDescriptionCell{white-space:normal;min-width:320px}.editFundButton{margin-top:0;width:28px;height:28px;padding:0;border:1px solid #c6cfdb;border-radius:8px;background:#fff;color:#24324a;font-size:16px;line-height:1}.rowActionsCell{width:1%;white-space:nowrap}.rowActions{display:flex;align-items:center;gap:8px}.deleteTenantButton{margin-top:0;width:28px;height:28px;padding:0;border:1px solid #c6cfdb;border-radius:8px;background:#fff;color:#24324a;font-size:18px;line-height:1}.deleteTenantButton:disabled{color:#9aa6ba;border-color:#d6dde8;background:#f3f6fa}.fundsPager{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.pagerPageButton{margin-top:0;min-width:40px;padding:8px 10px;background:#fff;border:1px solid #c6cfdb;color:#24324a}.pagerPageButton.active{background:#205cc9;border-color:#205cc9;color:#fff}.authModalBackdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a162b61;z-index:1000}.authModalCard{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border:1px solid #d8dee7;border-radius:12px;padding:20px;box-shadow:0 20px 50px #0f172a40}@media(max-width:1100px){.goalWorkspaceDetailsGrid{grid-template-columns:1fr}.goalWorkspaceMetaRow{grid-template-columns:repeat(2,minmax(0,1fr))}.goalWorkspaceCard{overflow:visible}}@media(max-width:720px){.goalWorkspaceDetailsGrid,.goalWorkspaceMetaRow{grid-template-columns:1fr}.kanbanColumnsHeader,.kanbanBoard{grid-template-columns:repeat(2,minmax(0,1fr))}.caseDetailsHeader{grid-template-columns:1fr}}.modalCloseButton{position:absolute;top:10px;right:10px;margin-top:0;width:32px;height:32px;padding:0;border-radius:999px;border:1px solid #c6cfdb;background:#fff;color:#24324a;font-size:20px;line-height:1}.fundEditModalCard{max-width:680px}.caseDetailsModalCard{max-width:1080px}.goalCaseCreateModalCard{overflow:visible}.modalScrollBody{max-height:calc(100vh - 80px);overflow-y:auto;padding-top:0}.caseDetailsHeader{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:18px}.caseDetailsHeaderBlock{display:grid;gap:6px;min-width:0}.caseDetailsHeaderBlock h3{margin:0;color:#1a2433}.caseDetailsGoalText{margin:0;color:#24324a;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caseDetailsFundName{margin:0;color:#1a2433;font-size:1.05rem;line-height:1.35}.caseDetailsActivitiesSection{display:grid;gap:12px}.caseDetailsActivitiesHeader{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.caseDetailsActivitiesSection h3{margin:0;color:#2d3f5e;font-size:1rem;font-weight:700;line-height:1.2;justify-self:center}.caseDetailsActivitiesHeader .createTenantButton{grid-column:1;justify-self:start}.caseDetailsActivitiesHeaderSpacer{grid-column:3}.activityTextCell{white-space:normal;min-width:320px}.fundEditActions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.fundEditActions>button{margin-top:0;width:104px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid transparent}.fundEditActions>.modalSecondaryButton{border-color:#c6cfdb}.modalSecondaryButton{margin-top:0;border:1px solid #c6cfdb;background:#fff;color:#24324a}.meta{margin:14px 0 0;color:#6c7b92;font-size:13px}.error{margin:14px 0 0;color:#bb2037;font-weight:600}.result{margin-top:14px;padding:12px;border:1px solid #c4decb;border-radius:10px;background:#f1fbf4;color:#1e3a24}.result p{margin:0 0 8px}.result textarea{width:100%;border:1px solid #bdd5c3;border-radius:8px;font-size:12px;padding:8px;resize:vertical;box-sizing:border-box}
