@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-latin-400-normal-C81ewxNO.woff2) format("woff2"),url(./archivo-latin-400-normal-Bl602Mgc.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2"),url(./archivo-latin-600-normal-DwYieO8P.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(./archivo-latin-700-normal-D9cHMWGj.woff2) format("woff2"),url(./archivo-latin-700-normal-lT5TFe7H.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-latin-800-normal-cB6v3kRN.woff2) format("woff2"),url(./archivo-latin-800-normal-DZa_k145.woff) format("woff")}:root{color-scheme:light;font-family:Archivo,Arial Narrow,Arial,sans-serif;--navy: #142a47;--navy-deep: #0b1a2d;--off-white: #f5f4ef;--canvas: #f3f4f1;--panel: #ffffff;--panel-soft: #f7f8f6;--panel-muted: #edf1f4;--text: #142a47;--muted: #687481;--line: #cbd2d9;--line-dark: #8797a7;--green: #2f6547;--amber: #80580f;--red: #b4232d;--blue: #315c88;--slate: #5d6772;--radius: 16px;--radius-small: 10px;--shadow: 0 14px 34px rgba(20, 42, 71, .1);--max-width: 1500px}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at top right,rgba(20,42,71,.055),transparent 32%),linear-gradient(180deg,#f5f6f3,#eef0ed)}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}input,textarea,select{width:100%;border:1px solid #bfc8d1;border-radius:9px;color:var(--text);background:#fff}input,select{min-height:40px;padding:8px 10px}textarea{min-height:92px;padding:10px;resize:vertical;line-height:1.45}input:focus,textarea:focus,select:focus{outline:3px solid rgba(49,92,136,.14);border-color:var(--blue)}hr{width:100%;margin:4px 0;border:0;border-top:1px solid var(--line)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 18px;color:var(--off-white);background:var(--navy);border-right:1px solid #203b5d;box-shadow:8px 0 30px #142a471a;overflow-y:auto;z-index:10}.brand{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:64px;margin-bottom:26px;padding:0 2px}.brand-logo{flex:0 0 56px;width:56px;max-height:44px;object-fit:contain}.brand-copy{display:grid;min-width:0;gap:3px;line-height:1;white-space:nowrap}.brand-copy strong{color:var(--off-white);font-size:.76rem;font-weight:700;letter-spacing:.08em}.brand-copy span{color:#c6cfd8;font-size:.54rem;font-weight:600;letter-spacing:.04em}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:0;border-radius:10px;color:#d9e0e7;background:transparent;text-align:left;transition:.18s ease}.nav button:hover{color:#fff;background:#f5f4ef17}.nav button.active{color:#fff;background:#f5f4ef26;box-shadow:inset 3px 0 0 var(--off-white)}.nav-icon{display:inline-grid;place-items:center;width:22px;min-height:22px;font-weight:700}.sidebar-bottom{display:grid;gap:10px;margin-top:auto;padding-top:20px}.local-status{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(245,244,239,.18);border-radius:10px;background:#f5f4ef0f}.local-status strong,.local-status small{display:block}.local-status strong{color:#cde7d7;font-size:.79rem}.local-status small{margin-top:2px;color:#c6cfd8;font-size:.7rem}.status-dot{width:9px;height:9px;border-radius:50%;background:#75c896;box-shadow:0 0 0 4px #75c89621}.version-button{display:grid;width:100%;gap:3px;padding:7px 9px;border:1px solid transparent;border-radius:8px;color:#aeb9c5;background:transparent;text-align:left}.version-button strong{color:#d9e0e7;font-size:.7rem;font-weight:700}.version-button span{font-size:.64rem;line-height:1.25}.version-button:hover{color:#fff;border-color:#f5f4ef2e;background:#f5f4ef0f}.version-button:hover strong{color:#fff}.main{min-width:0;padding:24px}.topbar{max-width:var(--max-width);margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h2{margin-bottom:4px;font-size:clamp(1.55rem,2.2vw,2.15rem);letter-spacing:-.03em}.topbar>div>p:last-child{margin-bottom:0;color:var(--muted)}.eyebrow{margin-bottom:6px;color:var(--blue);font-size:.73rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.top-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.page-content{max-width:var(--max-width);margin:0 auto;animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--panel-soft)}.panel-header h3{margin:0 0 4px;font-size:1rem}.panel-header p{margin:0;color:var(--muted);font-size:.85rem}.panel-body{padding:18px}.btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:40px;padding:9px 14px;border:1px solid #bfc8d1;border-radius:10px;color:var(--navy);background:#fff;font-weight:700;transition:.15s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--line-dark);background:#f0f3f5}.btn.primary{color:#fff;border-color:var(--navy);background:var(--navy)}.btn.primary:hover:not(:disabled){border-color:var(--navy-deep);background:var(--navy-deep)}.btn.danger{color:#fff;border-color:var(--red);background:var(--red)}.btn.danger-outline{color:var(--red);border-color:#dfabb0;background:#fff7f7}.btn.danger-outline:hover:not(:disabled){color:#fff;border-color:var(--red);background:var(--red)}.btn.ghost{border-color:transparent;background:transparent}.btn.small{min-height:32px;padding:6px 9px;border-radius:8px;font-size:.74rem}.btn:disabled{cursor:wait;opacity:.65}.button-row{display:flex;flex-wrap:wrap;gap:10px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:24px;margin-bottom:16px;padding:28px;background:linear-gradient(120deg,#fff,#fff 68%,#f0f3f4)}.hero h3{margin-bottom:10px;max-width:780px;font-size:clamp(1.35rem,2vw,2rem);line-height:1.15;letter-spacing:-.025em}.hero p:last-child{max-width:800px;margin-bottom:0;color:var(--muted);line-height:1.65}.hero-wordmark{justify-self:end;width:min(100%,340px);max-height:100px;object-fit:contain}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.stat-card{position:relative;padding:18px}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card span{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stat-card strong{display:block;margin:12px 0 7px;font-size:2rem;line-height:1}.stat-card small{font-size:.75rem}.stack-list{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #d4dae0;border-radius:12px;background:#fafbfa}.list-row strong{display:block;margin-bottom:4px}.list-row p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.badge-group{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #d2d8de;border-radius:999px;color:#405064;background:#f1f3f5;font-size:.68rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.badge-now{color:#8b1e27;border-color:#e6b7bc;background:#fbeaec}.badge-next,.badge-planning{color:var(--blue);border-color:#b9cde0;background:#eaf2f8}.badge-active{color:var(--green);border-color:#bfd8c9;background:#e8f3ec}.badge-waiting{color:var(--amber);border-color:#e5d0a5;background:#fcf3df}.badge-completed{color:#496757;border-color:#cad8d0;background:#edf3ef}.badge-abandoned,.badge-later,.badge-someday{color:var(--slate);border-color:#d1d6da;background:#f0f2f3}.badge-local,.badge-foundation{color:var(--navy);border-color:#b9cde0;background:#eaf2f8}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{padding:18px}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-card-header p{margin-bottom:5px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.project-card-header h3{margin-bottom:0;font-size:1.08rem}.project-goal{min-height:48px;margin:16px 0;color:var(--muted);line-height:1.5}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.project-facts div{padding:10px;border:1px solid #d4dae0;border-radius:10px;background:#fafbfa}.project-facts dt{margin-bottom:4px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.project-facts dd{margin:0;font-size:.82rem;font-weight:600}.focus-box{margin-top:12px;padding:11px 12px;border-left:3px solid var(--navy);border-radius:6px;background:#eaf0f5}.focus-box span,.focus-box strong{display:block}.focus-box span{margin-bottom:3px;color:var(--blue);font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.focus-box strong{font-size:.82rem}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:#526172;background:var(--panel-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.045em}td{font-size:.82rem}td strong,td small{display:block}td small{margin-top:4px;color:var(--muted);text-transform:capitalize}tbody tr:hover td{background:#f7f9fa}.muted-row td{color:#747d87;background:#f0f1f2}.two-column{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:16px}.leaderboard{display:grid;gap:8px}.leaderboard div,.leaderboard button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid #d4dae0;border-radius:10px;color:var(--text);background:#fafbfa;text-align:left}.leaderboard button:hover,.leaderboard button.active{border-color:var(--blue);background:#eaf2f8}.settings-stack{display:grid;gap:16px}.database-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.database-counts div{padding:13px;border:1px solid #d4dae0;border-radius:10px;background:#fafbfa;text-align:center}.database-counts strong,.database-counts span{display:block}.database-counts strong{margin-bottom:5px;font-size:1.4rem}.database-counts span{color:var(--muted);font-size:.72rem}.action-stack{display:grid;gap:14px}.callout{margin:0;padding:12px 14px;border-left:3px solid var(--navy);border-radius:6px;color:#233d5d;background:#eaf0f5;font-size:.82rem;line-height:1.5}.report-box,.error-box{padding:14px;border-radius:10px}.report-box{border:1px solid #bfd8c9;background:#e8f3ec}.error-box{border:1px solid #e6b7bc;background:#fbeaec;color:#8b1e27}.report-box p,.error-box p{margin:8px 0 0}.report-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.report-grid span{padding:5px 8px;border-radius:999px;background:#ffffffa6;font-size:.74rem}.foundation-chip{display:inline-flex;padding:6px 9px;border:1px solid #b9cde0;border-radius:999px;color:var(--blue);background:#eaf2f8;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.jettison-panel{border-color:#e6b7bc}.fine-print{margin:10px 0 0;color:var(--muted);font-size:.75rem}.empty-state{padding:34px;border:1px dashed #bfc8d1;border-radius:var(--radius);background:#ffffff8c;text-align:center}.empty-state strong{display:block;margin-bottom:7px;font-size:1rem}.empty-state p{margin:0;color:var(--muted)}.loading{padding:30px;color:var(--muted);text-align:center}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.page-stack{display:grid;gap:16px}.subtle{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.date-label{color:var(--muted);font-size:.75rem;white-space:nowrap}.count-chip{display:inline-grid;place-items:center;min-width:30px;min-height:30px;padding:3px 8px;border-radius:999px;color:var(--navy);background:#e3eaf0;font-size:.78rem;font-weight:800}.meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px;color:var(--muted);font-size:.72rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-row{align-items:flex-start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.dashboard-row:hover,.dashboard-row:focus-within{border-color:var(--blue);background:#f0f5f8}.dashboard-row:focus-within{box-shadow:0 0 0 3px #315c881a}.dashboard-entry-link{flex:1;min-width:0;padding:0;border:0;color:var(--text);background:transparent;text-align:left}.dashboard-entry-link:focus-visible{outline:none}.dashboard-entry-controls{display:grid;justify-items:end;gap:7px}.dashboard-entry-selects{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.list-row-button{width:100%;color:var(--text);text-align:left}.list-row-button:hover{border-color:var(--blue);background:#f0f5f8}.field{display:grid;align-content:start;gap:6px}.field>span,.field>label{color:#415064;font-size:.74rem;font-weight:700}.field small{color:var(--muted);font-size:.7rem;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#081422ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;animation:modal-fade .14s ease}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,100%);max-height:calc(100vh - 48px);border:1px solid #9cabb9;border-radius:18px;background:var(--panel);box-shadow:0 30px 80px #08142259;overflow:hidden}.modal-card.modal-small{width:min(540px,100%)}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--panel-soft)}.modal-header{border-bottom:1px solid var(--line)}.modal-footer{justify-content:flex-end;border-top:1px solid var(--line)}.modal-header h3{margin:0}.modal-body{padding:18px;overflow-y:auto}.icon-btn{display:inline-grid;place-items:center;width:34px;min-width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:8px;color:var(--muted);background:transparent;font-size:1.4rem;line-height:1}.icon-btn:hover{color:var(--navy);border-color:var(--line);background:#fff}.icon-btn.compact{width:28px;min-width:28px;height:28px;font-size:1rem}.confirmation-copy{margin-bottom:16px;line-height:1.55}.danger-confirmation{margin-top:16px;padding:12px;border:1px solid #e6b7bc;border-radius:10px;background:#fbeaec}.toast{position:fixed;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 48px));padding:12px 14px;border:1px solid #62778d;border-radius:12px;color:#fff;background:var(--navy);box-shadow:0 18px 40px #08142247;z-index:1200}.toast span{line-height:1.4}.toast button{width:auto;padding:4px 7px;border:0;border-radius:6px;color:#fff;background:#ffffff24;font-size:.75rem;font-weight:800}.toast .toast-close{margin-left:-3px;background:transparent;font-size:1rem}.pwa-update{position:fixed;top:24px;right:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:min(620px,calc(100vw - 48px));padding:14px 16px;border:1px solid #62778d;border-radius:14px;color:var(--text);background:var(--off-white);box-shadow:0 20px 48px #0814224d;z-index:1250}.pwa-update-copy{display:grid;gap:4px}.pwa-update-copy strong{color:var(--navy);font-size:.92rem}.pwa-update-copy span{color:var(--muted);font-size:.78rem;line-height:1.45}.pwa-update-actions{display:flex;align-items:center;gap:8px}.action-editor{padding:14px;border:1px solid #cbd2d9;border-radius:12px;background:#f8f9f8}.disabled-section{opacity:.75}.action-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 9px}.action-heading:not(:first-child){margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.action-heading strong,.action-heading small{display:block}.action-heading small{margin-top:3px;color:var(--muted);font-size:.72rem}.action-list{display:grid;gap:8px}.action-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px}.action-position{display:grid;place-items:center;width:27px;height:27px;border-radius:999px;color:var(--muted);background:#e8ecef;font-size:.7rem;font-weight:800}.action-row-buttons{display:flex;gap:4px}.action-row-buttons button{display:grid;place-items:center;width:28px;min-width:28px;height:28px;padding:0;border:1px solid #cbd2d9;border-radius:7px;color:var(--navy);background:#fff}.action-row-buttons button:hover:not(:disabled){border-color:var(--blue);background:#eaf2f8}.action-row-buttons button:disabled{cursor:default;opacity:.35}.action-empty{margin:0;padding:10px;border:1px dashed #cbd2d9;border-radius:8px;color:var(--muted);font-size:.75rem;text-align:center}.completed-action{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-left:3px solid var(--green);border-radius:8px;background:#edf3ef}.completed-action strong,.completed-action small{display:block}.completed-action small{margin-top:4px;color:var(--muted);font-size:.68rem}.completed-action p{margin:6px 0 0;color:#4c5d53;font-size:.75rem}.filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(130px,1fr));gap:12px}.search-field{min-width:0}.compact-select{width:auto;min-width:96px;min-height:31px;padding:5px 28px 5px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:capitalize}.status-select{border-color:#c8d0d7;background-color:#f1f3f5}.status-active{color:var(--green);border-color:#bfd8c9;background-color:#e8f3ec}.status-waiting{color:var(--amber);border-color:#e5d0a5;background-color:#fcf3df}.status-completed{color:#496757;border-color:#cad8d0;background-color:#edf3ef}.status-abandoned{color:var(--slate);background-color:#f0f2f3}.priority-now{color:#8b1e27;border-color:#e6b7bc;background-color:#fbeaec}.priority-next{color:var(--blue);border-color:#b9cde0;background-color:#eaf2f8}.priority-later{color:var(--slate);background-color:#f0f2f3}.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.compact-actions{min-width:168px}.sort-button{display:inline-flex;align-items:center;gap:5px;width:auto;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:800;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}.sort-button:hover,.sort-button.active{color:var(--blue)}.sort-indicator{font-size:.68rem;line-height:1}.action-cell{display:block;min-width:130px;max-width:260px;line-height:1.4}.project-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px}.project-page-toolbar strong,.project-page-toolbar p{display:block}.project-page-toolbar p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.project-detail{scroll-margin-top:20px}.project-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;list-style:none;cursor:pointer;background:var(--panel-soft);transition:background-color .15s ease,box-shadow .15s ease}.project-summary:hover,.project-summary:focus-visible,.project-summary:focus-within{outline:none;background:#f0f5f8;box-shadow:inset 0 0 0 1px var(--blue)}.project-summary::-webkit-details-marker{display:none}.project-summary-main{display:flex;align-items:center;flex:1;gap:18px;min-width:0}.project-summary-title{display:flex;align-items:center;gap:11px;min-width:280px}.project-summary-title h3{margin:0 0 3px;font-size:1rem}.project-summary-title p{margin:0;color:var(--muted);font-size:.72rem}.project-chevron{color:var(--muted);transition:transform .16s ease}.project-detail[open] .project-chevron{transform:rotate(90deg)}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.73rem}.project-meta span{padding:5px 8px;border-radius:999px;background:#e8ecef}.project-detail-body{padding:18px;border-top:1px solid var(--line)}.project-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.project-overview-grid>div{padding:12px;border:1px solid #d4dae0;border-radius:10px;background:#fafbfa}.project-overview-grid span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.project-overview-grid p{margin:7px 0 0;font-size:.8rem;line-height:1.48;white-space:pre-wrap}.project-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;padding:12px;border:1px solid #b9cde0;border-radius:10px;background:#eef4f8}.focus-control{display:grid;gap:5px;min-width:min(420px,50%)}.focus-control span{color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.project-entry-section{border:1px solid var(--line);border-radius:11px;overflow:hidden}.project-entry-section+.project-entry-section{margin-top:14px}.project-entry-section.finished-work{background:#f5f6f5}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--panel-muted)}.section-heading h4{margin:0 0 3px;font-size:.83rem}.section-heading p{margin:0;color:var(--muted);font-size:.7rem}.project-entry-table table{min-width:1040px}.empty-table-copy{padding:18px;text-align:center}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.review-list{display:grid;gap:10px}.review-card{padding:13px;border:1px solid #d4dae0;border-radius:11px;background:#fafbfa}.review-card.historical-card{background:#f1f3f1;opacity:.9}.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-card h4{margin:0 0 5px;font-size:.88rem}.review-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.42}.review-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;color:var(--muted);font-size:.7rem}.meta-link{width:auto;padding:0;border:0;color:var(--blue);background:transparent;font-size:inherit;text-decoration:underline}.review-card-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid #dfe3e6}.accomplishment-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-card .stat-text{font-size:1.05rem;line-height:1.25}.accomplishment-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inline-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem;white-space:nowrap}.inline-toggle input{width:16px;min-height:16px}.accomplishment-row{align-items:flex-start}.archive-controls{display:grid;justify-items:end;gap:9px;color:var(--muted);font-size:.72rem;white-space:nowrap}.wants-header{flex-wrap:wrap}.compact-search{width:min(260px,100%);min-height:32px;font-size:.76rem}.settings-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:16px;align-items:start}.summary-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.summary-strip span{padding:7px 9px;border-radius:8px;color:var(--muted);background:#edf1f4;font-size:.75rem}.summary-strip strong{color:var(--navy)}.action-stack h4{margin:0 0 6px;font-size:.84rem}.import-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.import-controls .field{min-width:230px}.area-settings{display:grid;gap:14px}.area-add-row{display:flex;gap:10px;max-width:620px}.area-manager{display:grid;gap:8px}.area-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #d4dae0;border-radius:10px;background:#fafbfa}.area-row.inactive{opacity:.66;background:#f0f1f2}.area-row strong{display:block}.area-row p{margin:4px 0 0;color:var(--muted);font-size:.7rem}.changelog-intro{margin:0 0 14px;color:var(--muted);line-height:1.5}.changelog-list{display:grid;gap:10px}.changelog-release{border:1px solid var(--line);border-radius:11px;background:#fafbfa;overflow:hidden}.changelog-release>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px 14px;list-style:none;cursor:pointer}.changelog-release>summary::-webkit-details-marker{display:none}.changelog-release>summary:hover{background:#f0f4f7}.changelog-chevron{margin-top:2px;color:var(--muted);font-size:.72rem;transition:transform .16s ease}.changelog-release[open] .changelog-chevron{transform:rotate(90deg)}.changelog-heading strong,.changelog-heading span{display:block}.changelog-heading strong{margin-bottom:4px;font-size:.86rem}.changelog-heading span{color:var(--muted);font-size:.74rem;line-height:1.45}.changelog-release time{color:var(--muted);font-size:.7rem;white-space:nowrap}.changelog-detail{display:grid;gap:14px;padding:14px 18px 16px 42px;border-top:1px solid var(--line);background:#fff}.changelog-detail h4{margin:0 0 7px;color:var(--blue);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.changelog-detail ul{margin:0;padding-left:18px}.changelog-detail li{margin:0 0 6px;font-size:.78rem;line-height:1.5}.changelog-detail li:last-child{margin-bottom:0}.financial-tabs{display:flex;width:fit-content;max-width:100%;padding:5px;overflow-x:auto}.financial-tabs button{min-height:36px;padding:7px 14px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-weight:700;white-space:nowrap}.financial-tabs button:hover{color:var(--navy);background:#edf1f4}.financial-tabs button.active{color:#fff;background:var(--navy)}.financial-stats,.wants-financial-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.negative-value{color:var(--red)}.financial-readiness{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-left:5px solid var(--green)}.financial-readiness.needs-review{border-left-color:var(--amber);background:#fffdf7}.financial-readiness h3{margin:0 0 5px}.financial-readiness p{margin:0;color:var(--muted);font-size:.82rem}.financial-overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:16px;align-items:start}.recommendation-list{display:grid;gap:10px}.recommendation-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #cbd5de;border-radius:11px;background:#fafbfa}.recommendation-card h4{margin:0 0 5px;font-size:.86rem}.recommendation-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}.recommendation-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#fff;background:var(--navy);font-size:.76rem;font-weight:800}.recommendation-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.recommendation-metrics span{padding:5px 7px;border-radius:7px;color:#405064;background:#e9eef2;font-size:.68rem}.financial-warning{margin:10px 0 0!important;color:#8b4f08!important;font-size:.75rem!important;line-height:1.45}.attention-list{display:grid;gap:9px}.attention-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border-radius:9px;background:#f4f6f6}.attention-list strong{min-width:54px;color:var(--navy);font-size:1.1rem}.attention-list span{color:var(--muted);font-size:.74rem;line-height:1.35}.financial-account-list{display:grid;gap:10px}.financial-account-card{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(360px,1.5fr) auto;align-items:center;gap:18px;padding:14px;border:1px solid #d4dae0;border-radius:12px;background:#fafbfa}.financial-account-card.archived{opacity:.66;background:#f0f1f2}.financial-account-identity h4{margin:7px 0 4px}.financial-account-identity p{margin:0;color:var(--muted);font-size:.72rem}.financial-account-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.financial-account-metrics div{padding:8px;border-radius:8px;background:#fff}.financial-account-metrics span,.financial-account-metrics strong{display:block}.financial-account-metrics span{margin-bottom:4px;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.04em}.financial-account-metrics strong{font-size:.78rem}.financial-account-actions{display:grid;justify-items:end;gap:8px;color:var(--muted);font-size:.68rem}.muted-label{color:var(--muted);font-size:.72rem}.cash-flow-grid{display:grid;gap:16px}.cash-flow-list{display:grid;gap:8px}.cash-flow-list>article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr) auto;align-items:center;gap:14px;padding:11px 12px;border:1px solid #d4dae0;border-radius:10px;background:#fafbfa}.cash-flow-list strong{display:block}.cash-flow-list p{margin:4px 0 0;color:var(--muted);font-size:.7rem}.cash-flow-values{display:flex;flex-wrap:wrap;gap:6px}.cash-flow-values span{padding:5px 7px;border-radius:7px;color:var(--muted);background:#fff;font-size:.68rem}.financial-history-table{margin-top:16px;border:1px solid var(--line);border-radius:10px}.financial-history-table table{min-width:720px}.financial-review-history{display:grid;gap:12px}.financial-review-card{padding:16px;border:1px solid #d4dae0;border-radius:12px;background:#fafbfa}.financial-review-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.financial-review-card h3{margin:0 0 4px}.financial-review-card header p{margin:0;color:var(--muted);font-size:.75rem}.financial-review-totals,.financial-review-summary,.funding-assessment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.financial-review-totals>div,.financial-review-summary>div,.funding-assessment>div{padding:10px;border:1px solid #d8dee3;border-radius:9px;background:#fff}.financial-review-totals span,.financial-review-totals strong,.financial-review-totals small,.financial-review-summary span,.financial-review-summary strong,.funding-assessment span,.funding-assessment strong{display:block}.financial-review-totals span,.financial-review-summary span,.funding-assessment span{margin-bottom:5px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.financial-review-totals strong,.financial-review-summary strong,.funding-assessment strong{font-size:.88rem}.financial-review-totals small{margin-top:4px;color:var(--muted);font-size:.65rem}.financial-review-card ol{display:grid;gap:8px;margin:12px 0 0;padding-left:24px}.financial-review-card li{padding-left:5px;font-size:.76rem}.financial-review-card li strong,.financial-review-card li span{display:block}.financial-review-card li span{margin-top:3px;color:var(--muted)}.review-plan-preview{margin-top:18px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.review-plan-preview>.recommendation-list,.review-plan-preview>.error-box{margin:12px}.financial-review-controls{margin-top:14px}.segment-editor{grid-column:span 2;border:1px solid var(--line);border-radius:11px;overflow:hidden}.segment-editor .action-heading{margin:0;padding:11px 12px;background:var(--panel-muted)}.segment-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1.3fr) repeat(3,minmax(110px,.7fr)) auto;align-items:center;gap:7px;padding:9px 10px;border-top:1px solid var(--line)}.checkbox-field{grid-template-columns:auto minmax(0,1fr);align-items:center}.checkbox-field input{width:18px;min-height:18px}.funding-assessment{grid-template-columns:1.6fr .7fr .7fr;margin-top:0}.funding-assessment p{margin:6px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.financial-status{display:inline-flex;max-width:170px;padding:5px 8px;border:1px solid #d1d6da;border-radius:999px;color:var(--slate);background:#f0f2f3;font-size:.67rem;font-weight:700;line-height:1.25}.financial-status-ready-to-purchase,.financial-status-affordable-unallocated{color:var(--green);border-color:#bfd8c9;background:#e8f3ec}.financial-status-funded-but-waiting,.financial-status-projected{color:var(--blue);border-color:#b9cde0;background:#eaf2f8}.financial-status-would-require-debt,.financial-status-hold-debt-priority{color:#8b1e27;border-color:#e6b7bc;background:#fbeaec}.financial-status-review-required{color:var(--amber);border-color:#e5d0a5;background:#fcf3df}.want-control-stack{display:grid;gap:6px;min-width:188px}.want-control-stack>.btn{justify-self:start}.financial-account-table table{min-width:1080px}.financial-standard-table table{min-width:920px}.financial-account-table td,.financial-standard-table td{vertical-align:middle}.financial-source-row:focus{outline:3px solid rgba(49,92,136,.28);outline-offset:-3px}.financial-source-row:focus td{background:#eef5fa}.financial-account-table .row-actions,.financial-standard-table .row-actions{min-width:170px}.financial-history-row>td{padding:12px 18px 18px;background:#f4f7f8}.financial-history-row:hover>td{background:#f4f7f8}.nested-financial-table{border:1px solid var(--line);border-radius:10px;background:#fff}.nested-financial-table table{min-width:820px}.nested-financial-table tr:last-child td{border-bottom:0}.needs-attention-row td{background:#fffaf0}.warning-chip,.success-chip{display:inline-flex;width:fit-content;margin-top:5px;padding:4px 7px;border:1px solid #e5d0a5;border-radius:999px;color:var(--amber);background:#fcf3df;font-size:.64rem;font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:.035em}.success-chip{color:var(--green);border-color:#bfd8c9;background:#e8f3ec}.archived-financial-section>summary{list-style:none;cursor:pointer}.archived-financial-section>summary::-webkit-details-marker{display:none}.archived-financial-section>summary:hover,.archived-financial-section>summary:focus-visible{outline:none;background:#f0f5f8}.archived-record-list{display:grid;gap:8px}.archived-record-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfa}.archived-record-list strong,.archived-record-list small{display:block}.archived-record-list small{margin-top:3px;color:var(--muted);font-size:.68rem}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px}.calendar-view-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--panel-muted)}.calendar-view-tabs button{min-height:33px;padding:6px 11px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-weight:750;text-transform:capitalize}.calendar-view-tabs button:hover{color:var(--navy);background:#ffffffa6}.calendar-view-tabs button.active{color:#fff;background:var(--navy)}.calendar-period-controls{display:flex;align-items:center;justify-content:center;gap:7px}.calendar-period-controls strong{min-width:160px;text-align:center}.calendar-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px}.calendar-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--slate);background:#fff;font-size:.7rem;font-weight:800;cursor:pointer}.calendar-filter input{width:15px;min-height:15px;accent-color:var(--navy)}.month-calendar{overflow-x:auto}.month-weekdays,.month-grid{min-width:790px}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--panel-muted)}.month-weekdays strong{padding:9px 10px;color:var(--muted);font-size:.68rem;letter-spacing:.045em;text-align:right;text-transform:uppercase}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:128px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside-month{background:#f4f5f4}.calendar-day.outside-month .calendar-day-number{color:#9aa3ab}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--blue);background:#f5f9fc}.calendar-day-number{display:grid;place-items:center;width:27px;min-width:27px;min-height:27px;margin-left:auto;padding:0;border:0;border-radius:999px;color:var(--navy);background:transparent;font-size:.75rem;font-weight:800}.calendar-day-number:hover,.calendar-day.today .calendar-day-number{color:#fff;background:var(--blue)}.calendar-day-events{display:grid;gap:4px;margin-top:6px}.calendar-event-pill{width:100%;min-height:24px;padding:4px 6px;overflow:hidden;border:1px solid #b9cde0;border-radius:6px;color:var(--blue);background:#eaf2f8;font-size:.65rem;font-weight:750;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.calendar-event-pill:hover{filter:brightness(.97);box-shadow:inset 0 0 0 1px currentColor}.calendar-event-pill.completed,.completed-calendar-event{opacity:.65}.calendar-more{color:var(--muted);font-size:.63rem;text-align:right}.calendar-category{display:inline-flex;padding:4px 7px;border:1px solid #b9cde0;border-radius:999px;color:var(--blue);background:#eaf2f8;font-size:.65rem;font-weight:800;white-space:nowrap}.category-projects{color:#315c88;border-color:#b9cde0;background:#eaf2f8}.category-entries{color:#4d527f;border-color:#c6c7df;background:#efeff9}.category-financial{color:#2f6547;border-color:#bfd8c9;background:#e8f3ec}.category-paydays{color:#80580f;border-color:#e5d0a5;background:#fcf3df}.category-wants{color:#8b3f62;border-color:#e0bfd0;background:#f8eaf1}.category-personal{color:#5d6772;border-color:#d1d6da;background:#f0f2f3}.calendar-event-pill.color-navy{color:var(--navy);border-color:#9eacba;background:#e6ebf0}.calendar-event-pill.color-blue{color:var(--blue);border-color:#b9cde0;background:#eaf2f8}.calendar-event-pill.color-green{color:var(--green);border-color:#bfd8c9;background:#e8f3ec}.calendar-event-pill.color-amber{color:var(--amber);border-color:#e5d0a5;background:#fcf3df}.calendar-event-pill.color-red{color:var(--red);border-color:#e6b7bc;background:#fbeaec}.calendar-event-pill.color-slate{color:var(--slate);border-color:#d1d6da;background:#f0f2f3}.calendar-agenda-table table{min-width:760px}.cell-link{width:auto;padding:0;border:0;color:var(--blue);background:transparent;font:inherit;font-weight:800;text-align:left}.cell-link:hover{text-decoration:underline}@media(max-width:1040px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.hero{grid-template-columns:1fr}.hero-wordmark{justify-self:start;width:min(320px,100%)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid,.two-column{grid-template-columns:1fr}.database-counts,.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.search-field{grid-column:span 3}.accomplishment-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.project-overview-grid,.settings-grid,.financial-overview-grid,.financial-account-card{grid-template-columns:1fr}.financial-account-actions{justify-items:start}.segment-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom{position:static;margin-top:20px;padding-top:0}.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:flex-start}.hero{grid-template-columns:1fr}.hero-wordmark{display:none}.database-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.review-grid,.accomplishment-breakdowns{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:span 2}.project-summary-main,.project-summary,.project-toolbar{align-items:flex-start;flex-direction:column}.project-summary-title{min-width:0}.project-toolbar{align-items:stretch}.focus-control{min-width:100%}.project-page-toolbar,.area-row{align-items:flex-start;flex-direction:column}.changelog-release>summary{grid-template-columns:auto minmax(0,1fr)}.changelog-release time{grid-column:2}.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px)}.financial-readiness,.financial-section-header,.financial-review-card header{align-items:flex-start;flex-direction:column}.cash-flow-list>article{grid-template-columns:1fr}.financial-review-totals,.financial-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-assessment{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-period-controls{justify-content:flex-start}.archived-record-list>div{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.stats-grid,.nav,.project-facts,.database-counts{grid-template-columns:1fr}.list-row{align-items:flex-start;flex-direction:column}.badge-group{justify-content:flex-start}.dashboard-entry-link{width:100%}.dashboard-entry-controls{justify-items:start}.dashboard-entry-selects{justify-content:flex-start}.form-grid,.filter-grid,.accomplishment-stats{grid-template-columns:1fr}.span-2,.search-field{grid-column:span 1}.action-heading,.review-card-head,.review-card-controls{align-items:flex-start;flex-direction:column}.action-row{grid-template-columns:24px minmax(0,1fr)}.action-row-buttons{grid-column:2}.area-add-row{flex-direction:column}.toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}.pwa-update{top:12px;right:12px;grid-template-columns:1fr;width:calc(100vw - 24px)}.pwa-update-actions{justify-content:flex-start}.financial-stats,.wants-financial-stats,.financial-account-metrics,.financial-review-totals,.financial-review-summary{grid-template-columns:1fr}.financial-tabs{width:100%}.segment-editor{grid-column:span 1}.segment-row{grid-template-columns:1fr}}
