:root{--bg:#f4f7fb;--panel:#ffffff;--panel-alt:#f7f9fc;--ink:#16202b;--muted:#607082;--line:#d8e1ea;--accent:#208a3c;--accent-strong:#165a29;--danger:#9d2a1a;--success:#1e6a39;--shadow:0 20px 40px rgba(15,23,42,0.08);--radius:16px;--radius-sm:10px;--content-width:1180px;--sidebar:#11263d;--sidebar-line:rgba(255,255,255,0.08);--sidebar-ink:#dce8f5;--topbar:rgba(255,255,255,0.88);--space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:32px}*{box-sizing:border-box}html{font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef3f9 0,var(--bg) 24%,#f9fbfd 100%)}body{margin:0;min-height:100vh;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:wait}.shell{max-width:var(--content-width);margin:0 auto;padding:32px 20px 60px}.workspace-shell{min-height:100vh;display:grid;grid-template-columns:300px minmax(0,1fr);background:var(--bg)}.workspace-sidebar{background:linear-gradient(180deg,#153454 0,var(--sidebar) 100%);color:var(--sidebar-ink);padding:24px 18px;display:grid;align-content:start;grid-auto-rows:max-content;grid-gap:20px;gap:20px;border-right:1px solid rgba(10,18,28,.28)}.workspace-sidebar-top{display:grid;grid-gap:18px;gap:18px}.workspace-brand{display:flex;gap:12px;align-items:center}.workspace-brand span{display:grid}.workspace-brand small{color:rgba(220,232,245,.72)}.workspace-brand-mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#2ca650,#1f7d3b);color:white;font-weight:700;letter-spacing:.04em}.workspace-org-card{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--sidebar-line)}.workspace-org-card p,.workspace-org-card strong{margin:0}.workspace-org-card p{color:rgba(220,232,245,.72);font-size:.92rem}.workspace-org-label{color:rgba(220,232,245,.62);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.workspace-sidebar-nav{display:grid;align-content:start;grid-auto-rows:max-content;grid-gap:18px;gap:18px;min-height:0;overflow:auto}.workspace-sidebar-section{display:grid;grid-gap:10px;gap:10px}.workspace-sidebar-heading{margin:0;color:rgba(220,232,245,.62);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.workspace-sidebar-heading-button{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0;border:0;background:transparent;cursor:pointer}.workspace-sidebar-heading-button.active .workspace-sidebar-heading{color:#f8fbff}.workspace-sidebar-heading-icon{color:rgba(220,232,245,.72);font-size:1rem;line-height:1}.workspace-sidebar-links{display:grid;grid-gap:6px;gap:6px}.workspace-sidebar-links.collapsed{display:none}.workspace-sidebar-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:8px;gap:8px;padding:6px;border-radius:14px}.workspace-sidebar-link-row.active{background:rgba(255,255,255,.08)}.workspace-sidebar-link{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:12px}.workspace-sidebar-link strong{color:#f8fbff;font-size:.95rem}.workspace-sidebar-link span{color:rgba(220,232,245,.7);font-size:.82rem;line-height:1.3}.workspace-favorite-toggle{border:0;background:transparent;color:rgba(220,232,245,.66);padding:10px 8px;cursor:pointer;font-size:1rem}.workspace-favorite-toggle.active{color:#ffd979}.workspace-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.workspace-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 24px;background:var(--topbar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workspace-topbar-primary,.workspace-topbar-secondary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-content{width:100%;min-width:0;padding:clamp(16px,2vw,24px)}.workspace-search{position:relative;min-width:min(420px,100%)}.workspace-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.workspace-search input{width:100%;min-height:44px;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:white}.workspace-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;grid-gap:6px;gap:6px;padding:10px;border-radius:16px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.workspace-search-result{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:12px}.workspace-search-result:hover{background:var(--panel-alt)}.workspace-search-result span{color:var(--muted);font-size:.88rem}.workspace-create-menu{position:relative}.workspace-create-menu summary{list-style:none}.workspace-create-menu summary::-webkit-details-marker{display:none}.workspace-create-popover{position:absolute;top:calc(100% + 10px);right:0;width:320px;display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:16px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.workspace-create-link{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:12px}.workspace-create-link:hover{background:var(--panel-alt)}.workspace-create-link span{color:var(--muted);font-size:.88rem}.workspace-switcher{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workspace-switcher select{min-width:220px;border:1px solid var(--line);background:white;border-radius:12px;padding:10px 12px}.workspace-user-card{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:14px;background:white;border:1px solid var(--line)}.workspace-user-card div{display:grid;grid-gap:2px;gap:2px}.workspace-user-card span{color:var(--muted);font-size:.84rem}.workspace-page{gap:var(--space-5);min-width:0}.workspace-page>*{min-width:0}.workspace-page-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;padding:4px 0 2px}.workspace-page-header>*{min-width:0}.workspace-page-copy{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.workspace-page-copy h1,.workspace-page-copy p{margin:0}.workspace-page-copy h1{font-size:clamp(1.8rem,2.2vw,2.4rem);letter-spacing:-.03em}.workspace-page-copy p{color:var(--muted);max-width:74ch}.workspace-page-eyebrow{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(32,138,60,.1);color:var(--accent-strong);border:1px solid rgba(32,138,60,.12);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.workspace-page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.workspace-section{gap:var(--space-4);padding:clamp(18px,1.8vw,24px);min-width:0}.workspace-section-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.workspace-section-header>*{min-width:0}.workspace-section-header h2,.workspace-section-header p{margin:0}.workspace-section-actions{display:flex;flex-wrap:wrap;gap:10px}.workspace-filter-bar{border:1px solid var(--line);border-radius:14px;background:var(--panel-alt);padding:var(--space-3)}.workspace-report-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;width:100%}.workspace-metric-card{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:clamp(18px,1.6vw,22px);border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0;align-content:start}.workspace-metric-card span{color:var(--muted)}.workspace-metric-card strong{font-size:2rem;letter-spacing:-.04em}.workspace-metric-card p{margin:0;color:var(--muted);font-size:.92rem}.workspace-link-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.workspace-resource-link{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel-alt);min-width:0;align-content:start}.workspace-resource-link:hover{border-color:rgba(32,138,60,.18);background:rgba(32,138,60,.05)}.workspace-resource-link span{color:var(--muted);font-size:.9rem}.page-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;min-width:0;margin-bottom:0}.page-header h1,.page-header h2,.page-header p{margin:0}.page-header>*{min-width:0}.lead{color:var(--muted);max-width:65ch;margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,1.6vw,22px);box-shadow:var(--shadow);min-height:0}.panel,.stack{align-content:start}.grid,.panel,.stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0}.grid{align-items:start}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*,.grid>*,.panel>*,.stack>*{min-width:0}.workflow-grid{align-items:start}.workflow-grid>.panel{min-width:0}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.table{width:100%;border-collapse:collapse}.table-scroll{overflow-x:auto}.table-scroll .table{min-width:820px}.attachment-list{display:grid;grid-gap:8px;gap:8px;min-width:220px}.attachment-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.attachment-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.attachment-upload input[type=file]{max-width:220px}.table td .inline-actions{min-width:max-content}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}.table th{font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:#f8fafc}.table tr:last-child td{border-bottom:0}.form-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:8px;gap:8px;min-width:0}.field label{font-size:.92rem;color:var(--muted)}.required-indicator{margin-left:4px;color:var(--danger);font-weight:700;font-size:.9em}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--line);background:white;border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.field textarea{min-height:120px;resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(13,92,99,.14)}.field-hint{margin:0;color:var(--muted);font-size:.9rem}.actions,.inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.compact{gap:var(--space-2)}.button{border:1px solid transparent;background:var(--accent);color:white;min-height:44px;padding:10px 16px;border-radius:12px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;font-weight:600}.button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(7,54,58,.16)}.button:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(13,92,99,.14)}.button:disabled{opacity:.72;transform:none;box-shadow:none}.button.secondary{background:white;color:var(--ink);border-color:var(--line)}.button.ghost{background:transparent;color:var(--accent-strong);border-color:var(--line)}.pill{gap:6px;background:#f5f8fb;font-size:.84rem}.pill,.role-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line)}.role-badge{background:white;font-size:.88rem;font-weight:600}.role-badge.super-admin{background:rgba(7,54,58,.08);color:var(--accent-strong)}.role-badge.admin{background:rgba(13,92,99,.1);color:var(--accent)}.role-badge.bookkeeper{background:rgba(30,106,57,.1);color:var(--success)}.role-badge.treasurer{background:rgba(157,42,26,.08);color:var(--danger)}.role-badge.read-only{background:rgba(102,118,127,.12);color:var(--muted)}.muted{color:var(--muted)}.metric{display:grid;grid-gap:6px;gap:6px;min-width:0}.metric strong{font-size:1.45rem}.workspace-notification-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(17,38,61,.42)}.workspace-notification-window{width:min(100%,560px);display:grid;grid-gap:18px;gap:18px;padding:24px;border-radius:24px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,#ffffff,#f7fafc);box-shadow:0 28px 64px rgba(17,38,61,.22)}.workspace-notification-header{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.workspace-notification-body p,.workspace-notification-header h2{margin:0}.workspace-notification-body{display:grid;grid-gap:12px;gap:12px}.nav{display:flex;flex-wrap:wrap;gap:10px}.nav a{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid var(--line)}.hero{padding:64px 20px 30px}.hero-card{background:linear-gradient(160deg,#163453,#11263d);color:white;border-radius:28px;padding:36px;box-shadow:var(--shadow)}.hero-card h1,.hero-card p{margin:0}.hero-card p{color:rgba(255,255,255,.78)}.auth-workspace{min-height:100vh;display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);background:linear-gradient(180deg,#edf3f8,#f7fafc)}.auth-workspace-rail{display:grid;grid-gap:24px;gap:24px;align-content:start;padding:32px 28px;background:linear-gradient(180deg,#153454,#11263d);color:var(--sidebar-ink);border-right:1px solid rgba(10,18,28,.28)}.auth-workspace-brand{display:flex;gap:12px;align-items:center}.auth-workspace-brand div{display:grid;grid-gap:2px;gap:2px}.auth-workspace-brand small{color:rgba(220,232,245,.72)}.auth-workspace-copy{display:grid;grid-gap:12px;gap:12px}.auth-workspace-copy h1,.auth-workspace-copy p,.auth-workspace-header-copy h2,.auth-workspace-header-copy p{margin:0}.auth-workspace-copy h1{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.04em;color:#f8fbff}.auth-workspace-copy p{color:rgba(220,232,245,.78);line-height:1.5}.auth-eyebrow{background:rgba(255,255,255,.08);color:#f8fbff;border-color:rgba(255,255,255,.12)}.auth-workspace-stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.auth-workspace-stat{display:grid;grid-gap:6px;gap:6px;padding:14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.auth-workspace-stat span{color:rgba(220,232,245,.66);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.auth-workspace-stat strong{font-size:1.05rem;color:#f8fbff}.auth-workspace-features{display:grid;grid-gap:12px;gap:12px}.auth-workspace-feature{display:grid;grid-gap:6px;gap:6px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.auth-note p,.auth-note strong,.auth-workspace-feature p,.auth-workspace-feature strong{margin:0}.auth-workspace-feature p{color:rgba(220,232,245,.78);line-height:1.45}.auth-workspace-main{display:grid;align-content:center;grid-gap:22px;gap:22px;padding:40px 56px}.auth-workspace-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.auth-workspace-header-copy{display:grid;grid-gap:10px;gap:10px}.auth-workspace-header-copy h2{font-size:clamp(1.9rem,2.5vw,2.4rem);letter-spacing:-.04em}.auth-workspace-header-copy p{color:var(--muted);max-width:56ch}.auth-panel-pill{width:max-content}.auth-workspace-card{width:min(100%,540px);display:grid;grid-gap:18px;gap:18px;padding:28px;border-radius:24px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 24px 48px rgba(15,23,42,.08)}.auth-form{gap:16px}.auth-form-group{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(248,244,235,.55)}.auth-form-group-header{display:grid;grid-gap:6px;gap:6px}.auth-form-group-header h3,.auth-form-group-header p{margin:0}.auth-form-group-header p{color:var(--muted)}.auth-submit{width:100%;min-height:48px;font-weight:600}.auth-note{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:16px;background:#f7f9fc;border:1px solid var(--line)}.form-error{margin:0;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(157,42,26,.18);background:rgba(157,42,26,.08);color:var(--danger)}.journal-line-grid{display:grid;grid-template-columns:1.2fr 1fr .9fr .9fr auto;grid-gap:10px;gap:10px;align-items:end}.empty{padding:clamp(20px,2vw,28px);border:1px dashed var(--line);border-radius:var(--radius);background:rgba(255,255,255,.55);color:var(--muted);min-width:0}.filter-bar{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.filter-bar .actions{align-self:end}.organization-switcher{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.organization-switcher select{min-width:240px;border:1px solid var(--line);background:white;border-radius:var(--radius-sm);padding:10px 12px}.users-grid{align-items:start}.permission-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-row{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,.72)}.checkbox-row.inline{align-items:center;min-height:48px}.checkbox-row input{width:16px;height:16px;margin-top:2px;flex:0 0 auto}.checkbox-row span{display:grid;grid-gap:3px;gap:3px;min-width:0}.checkbox-row strong{font-size:.94rem;line-height:1.3}.checkbox-row small{color:var(--muted);font-size:.84rem;line-height:1.35}.settings-grid>.panel{min-width:0}.settings-panel{align-content:start}.settings-panel .lead{max-width:none}.settings-profile-form,.settings-profile-grid{gap:12px}.info-list{display:grid;grid-gap:12px;gap:12px;min-width:0}.info-list>div{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);grid-gap:16px;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);align-items:start}.info-list>div:last-child{border-bottom:0;padding-bottom:0}.info-list>div>:last-child{justify-self:end;text-align:right}.permission-row{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,.78);min-width:0;align-content:start}.status-dot{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.88rem;border:1px solid var(--line)}.status-dot.active{color:var(--success);background:rgba(30,106,57,.08)}.status-dot.inactive{color:var(--danger);background:rgba(157,42,26,.08)}.permission-state{max-width:720px;margin:0 auto}@media (max-width:900px){.auth-workspace-stats,.filter-bar,.form-grid.three,.form-grid.two,.grid.three,.grid.two,.journal-line-grid,.permission-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.info-list>div{grid-template-columns:1fr;gap:6px}.info-list>div>:last-child{justify-self:start;text-align:left}.auth-workspace{grid-template-columns:1fr}.auth-workspace-main{padding:24px 18px 32px}.auth-workspace-rail{padding:24px 18px;border-right:0;border-bottom:1px solid rgba(10,18,28,.28)}.auth-workspace-card{width:100%}}@media (max-width:1180px){.workspace-shell{grid-template-columns:1fr}.workspace-sidebar{border-right:0;border-bottom:1px solid rgba(10,18,28,.28)}.workspace-page-header,.workspace-section-header,.workspace-topbar{flex-direction:column}.workspace-search{min-width:100%}}@media (max-width:720px){.auth-workspace-card,.panel,.workspace-content,.workspace-metric-card,.workspace-notification-window,.workspace-section,.workspace-sidebar,.workspace-topbar{padding:16px}.workspace-create-menu,.workspace-create-popover,.workspace-report-form,.workspace-switcher,.workspace-switcher select,.workspace-topbar-primary,.workspace-topbar-secondary,.workspace-user-card{width:100%}}.print-only{display:none}.statement-print-header{border-bottom:1px solid var(--line);padding-bottom:12px}.statement-print-header h3,.statement-print-header p{margin:0}@media print{:root{--bg:white;--panel:white;--panel-alt:white;--line:#b8b1a5;--shadow:none}body,html{background:white}.shell{max-width:none;padding:0}.button,.nav,.page-header,.screen-only,form{display:none!important}.print-only{display:block!important}.panel{border:0;border-radius:0;box-shadow:none;padding:0}.statement-page-print{gap:16px}.statement-page-print .grid.two{grid-template-columns:1.3fr .7fr}.statement-page-print .table td,.statement-page-print .table th{padding-left:0;padding-right:0}}